python波形到WAV文件转换器
我正在寻找一种方法,将由x轴上的时间和y轴上的振幅组成的波形转换为wav或任何其他音频文件。代码或python库非常受欢迎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
您可以使用标准的
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')我想你应该提到我的振幅,他指的是位移,因为固定位移的声音听起来不像什么