python波形到WAV文件转换器

python波形到WAV文件转换器,python,wav,waveform,Python,Wav,Waveform,我正在寻找一种方法,将由x轴上的时间和y轴上的振幅组成的波形转换为wav或任何其他音频文件。代码或python库非常受欢迎 您可以使用标准的wave库。这是我使用的一个函数。如果需要更多通道或不同的采样宽度,可以进一步修改 import wave import struct def signal_to_wav(signal, fname, Fs): """Convert a numpy array into a wav file. Args ---- s

我正在寻找一种方法,将由x轴上的时间和y轴上的振幅组成的波形转换为wav或任何其他音频文件。代码或python库非常受欢迎


您可以使用标准的
wave
库。这是我使用的一个函数。如果需要更多通道或不同的采样宽度,可以进一步修改

import wave
import struct

def signal_to_wav(signal, fname, Fs):
    """Convert a numpy array into a wav file.

     Args
     ----
     signal : 1-D numpy array
         An array containing the audio signal.
     fname : str
         Name of the audio file where the signal will be saved.
     Fs: int
        Sampling rate of the signal.

    """
    data = struct.pack('<' + ('h'*len(signal)), *signal)
    wav_file = wave.open(fname, 'wb')
    wav_file.setnchannels(1)
    wav_file.setsampwidth(2)
    wav_file.setframerate(Fs)
    wav_file.writeframes(data)
    wav_file.close()
导入波
导入结构
def信号至波形(信号、fname、Fs):
“”“将numpy数组转换为wav文件。
Args
----
信号:1-D numpy阵列
包含音频信号的数组。
fname:str
将保存信号的音频文件的名称。
Fs:int
信号的采样率。
"""

data=struct.pack(“您可以使用标准的
wave
库。这是我使用的一个函数。如果需要更多通道或不同的采样宽度,您可以进一步修改它

import wave
import struct

def signal_to_wav(signal, fname, Fs):
    """Convert a numpy array into a wav file.

     Args
     ----
     signal : 1-D numpy array
         An array containing the audio signal.
     fname : str
         Name of the audio file where the signal will be saved.
     Fs: int
        Sampling rate of the signal.

    """
    data = struct.pack('<' + ('h'*len(signal)), *signal)
    wav_file = wave.open(fname, 'wb')
    wav_file.setnchannels(1)
    wav_file.setsampwidth(2)
    wav_file.setframerate(Fs)
    wav_file.writeframes(data)
    wav_file.close()
导入波
导入结构
def信号至波形(信号、fname、Fs):
“”“将numpy数组转换为wav文件。
Args
----
信号:1-D numpy阵列
包含音频信号的数组。
fname:str
将保存信号的音频文件的名称。
Fs:int
信号的采样率。
"""
data=struct.pack('(str(len(signal))+'h')也可以工作+我认为这更节省内存。+我想你应该提到我的振幅,他指的是位移,因为固定位移的声音听起来不像任何东西(str(len(signal))+'h')我想你应该提到我的振幅,他指的是位移,因为固定位移的声音听起来不像什么