wavファイルを保存しようとしています。data は、データ型が の 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 形式で保存します。