前提・実現したいこと
ラズパイを使用して録音をしたいです。
実際にスクリプトを動かすとwavファイルとしてアウトプットはされますが音の再生ができない状態です。
再生できないのと直接関係があるか分かりませんが下記エラーが発生してスクリプトとしては終わっていない状態です。
python初心者ですのでご教授いただけると幸いです。
発生している問題・エラーメッセージ
{エラーメッセージ}
AttributeError : 'tuple' object has no attribute 'setnchannels'
該当のソースコード
ネットから引っ張ってきたスクリプトを基に変数名のみ変更してあとはほぼ同じ中身を実行させました。
{スクリプト}
mport pyaudio
import wave
form_1 = pyaudio.paInt16
chans = 1
samp_rate = 16000
chunk = 1024
record_secs = 10
dev_index = 2
wav_output_filename = 'test.wav'
audio = pyaudio.PyAudio()
stream = audio.open(format = form_1,rate = samp_rate,channels = chans,
input_device_index = dev_index,input = True,
frames_per_buffer=chunk)
print("recording")
frames = []
for i in range(0,int((samp_rate/chunk)*record_secs)):
data = stream.read(chunk)
frames.append(data)
print("finished recording")
stream.stop_stream()
stream.close()
audio.terminate()
wavefile = wave.open(wav_output_filename,'wb')
wavefile.setnchannels(chans)
wavefile.setsampwidth(audio.get_sample_size(form_1))
wavefile.setframerate(samp_rate)
wavefile.writeframes(b''.join(frames))
wavefile.close()
エラー
wavefile.setnchannels(chans)
↑ここでエラーが発生しています。
補足情報(FW/ツールのバージョンなど)
使用しているマイクは jabra GN speak 510 になります。