当前位置: 代码迷 >> python >> Python 将数组转换为 Wav
  详细解决方案

Python 将数组转换为 Wav

热度:72   发布时间:2023-06-13 13:31:29.0

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

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

谢谢

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

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)

您也可以使用标准模块。