私はから音を取得しています:
それをWAVファイルに書き込んで、ファイルをダブルクリックするとサウンドは正常に再生されますが、PythonのWAVEモジュールを使用して開くと、次のエラーが表示されます。
wave.Error: ファイルが RIFF ID で始まっていません
このファイルを開く方法があるかどうか、または事前に書き込まずにサウンドを再生できるかどうかを知りたいです。
関連するコードは次のとおりです。
url = "http://translate.google.com/translate_tts?tl=%s&q=%s" % (lang, text)
hrs = {"User-Agent":
"Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7"}
request = urllib.request.Request(url, headers = hrs)
page = urllib.request.urlopen(request)
fname = "Play"+str(int(time.time()))+".wav"
file = open(fname, 'wb')
file.write(page.read())
file.close()
このファイルを読み取るコードは次のとおりです。
INPUT_FRAMES_PER_BLOCK = 1024
wf = wave.open(fname, 'r')
pa = pyaudio.PyAudio()
stream = pa.open(format=pa.get_format_from_width(wf.getsampwidth()),
channels=wf.getnchannels(),
rate=wf.getframerate(),
output=True)
data = wf.readframes(INPUT_FRAMES_PER_BLOCK)
while data != '':
stream.write(data)
data = wf.readframes(INPUT_FRAMES_PER_BLOCK)
stream.stop_stream()
stream.close()
pa.terminate()
前もって感謝します!私はPython 3 BTWを使用しています。