Python将数组转换为Wav

时间:2015-10-19 11:38:08

标签: python arrays audio fft

在Python中,我有一组代表模拟信号电压的浮点数。

任何人都可以解释我如何将数组更改为.wav格式吗?我看过this 在添加标题之前,我是否首先需要将数据格式从[1.23,1.24,1.25,1.26](例如)更改为1.231.241.251.26以便正确读取? 我最终计划在值上使用FFT来推导基本频率是否有更好的方法来存储这种情况下的值?

谢谢

1 个答案:

答案 0 :(得分:0)

如果您知道信号的采样频率和数据已经max(abs(data))已经适当缩放,那么您可以使用scipy轻松完成:

from __future__ import print_function
import scipy.io.wavfile as wavf
import numpy as np

if __name__ == "__main__":

    samples = np.random.randn(44100)
    fs = 44100
    out_f = 'out.wav'

    wavf.write(out_f, fs, samples)

您还可以使用标准wave模块。