始める無料で始める

PyDub でステレオ音声をモノラルに分割する

電話の通話録音を文字起こしするとき、ステレオ形式で録音され、左右のチャンネルに話者がそれぞれ割り当てられている可能性があります。

ご覧のとおり、複数の話者がいる音声ファイルをそのまま文字起こしするのは難しいです。解決策の一つは、複数話者の音声ファイルを、話者ごとの単一ファイルに分割することです。

PyDubsplit_to_mono() 関数が役立ちます。ステレオで録音された AudioSegment に対して呼び出すと、各チャンネルに対応する 2 つのモノラルの AudioSegment のリストを返します。

この演習では、ステレオの通話音声stereo_phone_call.wav)を チャンネル1チャンネル2 に分割します。これにより話者を分離でき、文字起こしが容易になります。

この演習はコースの一部です

Pythonで学ぶ音声言語処理

コースを見る

演習の手順

  • pydub から AudioSegment をインポートします。
  • stereo_phone_call.wav を使って、AudioSegment インスタンス stereo_phone_call を作成します。
  • split_to_mono() を使って stereo_phone_callchannels に分割し、結果のチャンネルを確認します。
  • 各チャンネルを新しい変数 phone_call_channel_1phone_call_channel_2 に保存します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Import AudioSegment
from ____ import ____

# Import stereo audio file and check channels
stereo_phone_call = AudioSegment.from_file(____)
print(f"Stereo number channels: {stereo_phone_call.channels}")

# Split stereo phone call and check channels
channels = stereo_phone_call.____
print(f"Split number channels: {channels[0].____}, {channels[1].____}")

# Save new channels separately
phone_call_channel_1 = channels[0]
phone_call_channel_2 = ____
コードを編集して実行