見出し画像

【Python】sounddeviceの録音のためのrec関数について知りたいときのための記事

`sounddevice` ライブラリをimport sounddevice as sdとして、sdで使えるようにしたとき、rec関数は、`sd.rec` 関数として、使います。
`sd.rec`関数は、オーディオデータの録音に使用されます。この関数は、指定された時間と設定でオーディオを録音し、そのデータをNumPy配列として返します。主な用途はマイクロフォンや他のオーディオ入力デバイスからのサウンドキャプチャです。

`sd.rec` 関数の基本的な使用法

`sd.rec` 関数は以下のように使用されます:

import sounddevice as sd
import numpy as np

# 録音パラメータ
fs = 44100  # サンプリングレート(Hz)
duration = 5  # 録音時間(秒)
channels = 2  # チャンネル数

# 録音実行
recording = sd.rec(int(duration * fs), samplerate=fs, channels=channels)
sd.wait()  # 録音終了まで待機

パラメータ

  • `frames`: 録音するフレーム数を指定します。フレーム数は、サンプリングレートと録音時間を乗じた値です(例:`fs * duration`)。

  • `samplerate`: サンプリングレートをHz単位で指定します。一般的に44100Hz(CD品質)が使用されますが、用途によって異なる値を選ぶことができます。

  • `channels`: 録音するチャンネル数。1はモノラル、2はステレオです。

追加オプション

  • `dtype`: 録音データのデータ型を指定します。デフォルトは `float32` です。

  • `device`: 録音デバイスを指定します。デフォルトではデフォルトの入力デバイスが使用されます。

  • `blocking`: 録音が非同期で行われるかどうかを指定します。`True` に設定すると、録音が完了するまで関数呼び出しがブロックされます。

注意点

  • `sd.wait()`: 録音が完了するまでプログラムの実行を停止します。`blocking=False` の場合に特に重要です。

  • `sounddevice` ライブラリはNumPyに依存しているため、使用する前にNumPyをインストールする必要があります。

  • 録音デバイスや環境によっては、適切な録音設定を見つけるためにいくつかの試行錯誤が必要になる場合があります。

この関数は、音声データの録音に非常に便利ですが、使用する際は環境や設定に注意してください。

(sounddeviceは初めて触って、rec関数について知っときたいと思って、メモした記事です!)


よろしくお願いしますッ!