未绑定的方法 get_sample_size() : 保存 wav 文件时
我正在尝试保存一个wav文件。
数据是一个numpy数组,数据类型是int16
。
当我运行我的代码时,出现了一个我不理解的错误。
wf.setsampwidth(p.get_sample_size(pyaudio.paInt16))
TypeError: unbound method get_sample_size() must be called with PyAudio instance as first argument (got int instance instead)
Exception wave.Error: Error('sample width not specified',) in <bound method Wave_write.__del__ of <wave.Wave_write instance at 0x02B777D8>> ignored
我的代码:
p = pyaudio.PyAudio
wf = wave.open(Config.WAVE_FORMATTED_OUTPUT_FILENAME, 'wb')
wf.setnchannels(Config.CHANNELS)
wf.setsampwidth(p.get_sample_size(Config.FORMAT))
wf.setframerate(Config.RATE)
wf.writeframes(b''.join(data))
wf.close()
我的配置:
class Config():
CHUNK = 1024
FORMAT = pyaudio.paInt16
CHANNELS = 1
RATE = 44100
RECORD_SECONDS = 5
WAVE_OUTPUT_FILENAME = "output.wav"
WAVE_FORMATTED_OUTPUT_FILENAME = "new_output.wav"
整体情况是:
我从wav文件中提取了数据。我在数据数组的末尾添加了一些图像位。现在我想把这些数据保存回wav格式。
1 个回答
0
也许你想说的是:
p = pyaudio.PyAudio()
而不是
p = pyaudio.PyAudio