【Python】音声の録音と再生をするsounddeviceを使ってみる記事。(サンプルプログラムあり)
`sounddevice` モジュールはオーディオの録音と再生に使用されるライブラリです。以下に、`sounddevice` を使った簡単なプログラムの例を示します。この例では、マイクから数秒間のオーディオを録音し、その後すぐに再生するプログラムを作成します。
オーディオ録音と再生の基本的なプログラム
import sounddevice as sd
import numpy as np
# 録音設定
fs = 44100 # サンプリングレート(Hz)
duration = 5 # 録音時間(秒)
print("録音を開始します...")
myrecording = sd.rec(int(duration * fs), samplerate=fs, channels=2)
sd.wait() # 録音が終了するまで待機
print("録音が完了しました。再生を開始します...")
# 録音データの再生
sd.play(myrecording, fs)
sd.wait() # 再生が終了するまで待機
このプログラムは、次の手順で動作します:
`sounddevice` モジュールをインポートします。
サンプリングレート(一秒あたりのサンプル数)と録音時間を設定します。
`sd.rec` 関数を使ってオーディオを録音します。この関数は NumPy 配列にオーディオデータを保存します。
`sd.wait` 関数を使って録音が終了するまでプログラムの実行を待機します。
録音されたオーディオデータを `sd.play` 関数で再生します。
再生が終了するまで再び待機します。
注意点
このプログラムを実行するには、`sounddevice` モジュールがインストールされている必要があります。これは `pip install sounddevice` コマンドでインストールできます。
オーディオインターフェイスやマイクの設定によっては、追加の設定が必要になる場合があります。
録音と再生には、コンピュータにマイクとスピーカーが接続されている必要があります。
(プログラムを実行すると最初にprint関数が実行されて「録音を開始します...」と出力されます。そこから5秒間、録音されるので、なにか喋ってみます。それから録音終了後に、再度、print関数が実行されます「録音が完了しました。再生を開始します...」。その後に、さきほど喋った音声が同じ品質(音声のスピードとピッチが同じ)で、再生されます。すごい! 便利! なんか、すごいっすね、sounddevice!!)
よろしくお願いしますッ!