record_with_vad¶
Voice Activity Detection(VAD)による無音スキップ録音機能。
- class mike.record_with_vad.RecordWithVAD(config)¶
Bases:
objectVoice Activity Detection(VAD)による録音を提供するクラス。
AudioStreamManager と連携して、無音スキップ録音を行います。 シングルトンパターンを実装しており、全体でインスタンスは1つだけ作成されます。
- handle_sigint(sig, frame)¶
Ctrl+C シグナルハンドラ。
録音を停止するためのフラグを設定します。
- Parameters:
sig (int) – シグナル番号
frame (types.FrameType) – フレーム情報
- record()¶
VAD(音声活動検出)を使用して音声を録音します。
音声が検出されたら録音を開始し、無音が一定時間続いたら終了します。 Ctrl+Cで中断できます。
- Returns:
保存されたWAVファイルのパス、失敗時は None
- Return type:
str or None
- static rms(data: bytes) float¶
バイナリ音声データからRMS(二乗平均平方根)を計算します。
音声の音量レベルを表す値を返します。
- Parameters:
data (bytes) – 音声データ(16ビット)
- Returns:
RMS値
- Return type:
float
- save_wav(frames, rate, channels, sample_width)¶
録音フレームをWAVファイルに保存します。
- Parameters:
frames (list) – 音声フレームのリスト
rate (int) – サンプルレート
channels (int) – チャンネル数
sample_width (int) – サンプル幅(バイト数)
- Returns:
保存されたWAVファイルのパス、保存失敗時は None
- Return type:
str or None