如何使用 Python 将 numpy 数组(wav 数据)转换为 int16?
How can I convert a numpy array (wav data) to int16 with Python?
我有一些数据,我认为是 wav
数据。如果我使用:
soundfile.write(filepath, my_data, samplerate)
,然后它正确地写入一个 wav
文件。但我想以某种方式将该 wav 数据转换为 int16
,因为目前它是某种 float
:
[0.0018415 0.00730521 0.01155283 ... 0.10048427 0.09344029 0.08903081]
和
max 0.3002103
min -0.33075073
它来自 https://github.com/santi-pdp/segan_pytorch
中的一个进程
有没有什么方法可以让我转换为 int16
而无需保存然后读取文件?
答案很简单:
my_data = (my_data * 32767).astype(np.int16)
我有一些数据,我认为是 wav
数据。如果我使用:
soundfile.write(filepath, my_data, samplerate)
,然后它正确地写入一个 wav
文件。但我想以某种方式将该 wav 数据转换为 int16
,因为目前它是某种 float
:
[0.0018415 0.00730521 0.01155283 ... 0.10048427 0.09344029 0.08903081]
和
max 0.3002103
min -0.33075073
它来自 https://github.com/santi-pdp/segan_pytorch
中的一个进程有没有什么方法可以让我转换为 int16
而无需保存然后读取文件?
答案很简单:
my_data = (my_data * 32767).astype(np.int16)