概要
Python でwavファイルを再生する方法をメモしておきます。
PyAudio などを使用する方法もありますが、今回は sounddevice モジュールを使用します。
ファイルの読み込み・再生
今回は wave モジュールではなく、 scipy.io.wavfile
を使用し、ファイルを読み込みます。
sd.play(data, sampling_rate)
でファイルを再生します。
test.ipynb
import scipy.io.wavfile as wav # 今回はwaveモジュールではなくこれを用いる
import sounddevice as sd
wav_file_path = "./wav/test_sound.wav" # ファイルのPath
fs, data = wav.read(wav_file_path) # サンプリング周波数(fs)とデータを取得
sd.play(data, fs)
sd.play(data, fs)
中の fs
は省略できるっぽいんですが、音声が速すぎたり遅すぎたりして再生される場合があるらしいので、実装ではこの通りに記述しておきましょう。(参考:sounddeviceドキュメント)
再生を停止
再生中に以下を実行すると、再生を停止することができます。
test.ipynb
sd.stop() # 再生を停止