Python入門トップページ


目次


WhisperX で音声認識と話者分離をしてみよう

macOS 編

CPU による音声認識と話者分離

CPU による音声認識

WhisperX のインストールができたら,CPU を利用した音声認識を行います.音声データは任意のデータを利用してください.ここでは,iPhone のボイスメモで録音した10分間のテレビのニュース番組音声 (voice.m4a) を利用します.この音声ファイル (voice.m4a) を保存したディレクトリに移動します.

whisperx を利用した音声認識の基本的なコマンドは次のとおりです.

whisperx --model [モデル名] --language [言語コード] [音声ファイルパス]

モデル名には medium, large, turbo などが利用できます.日本語を認識させたい場合は言語コードに ja を指定してください.

モデルに turbo を指定して音声認識を実行します.このとき,-o オプションを利用すると出力先のディレクトリ(フォルダ)を指定できます.

whisperx --model turbo --language ja -o output_turbo ./voice.m4a

M1 Max を搭載した Mac Studio で実行したところ,およそ 2分40秒 で処理することができました.Windows 版も含めた処理時間の比較はこちらを参照してください.

出力された結果の見方などは Windows 版のページを参照してください.

Hugging Face トークンを取得する

話者分離を行うためには,Hugging Face トークンが必要です.トークンを取得するまでの手順についても,Windows 版のページを参照してください.

音声認識と話者分離を行う

話者分離を実行するには hugginface_hub にログインした状態で,whisperx の実行時に --diarize オプションを付与するだけです.まず,turbo モデルで音声認識した後,話者分離を行います.

whisperx --model turbo --language ja -o output_turbo_diarize ./voice.m4a --diarize

出力結果を参照します.

output_turbo_diarize.srt
1
00:00:02,209 --> 00:00:20,488
[SPEAKER_01]: 日銀は今月15日から2日間、金融政策決定会合を開きます。会合を前に都内で講演した日銀の上田総裁は、仮に中東情勢が不透明な状況が続くとしても、利上げに踏み切る可能性があるとの考えを示しました。

2
00:00:22,849 --> 00:00:51,995
[SPEAKER_01]: 先行き経済の下振れリスクに比べて物価の上振れリスクが高まると判断される場合には利上げの是非についてしっかりと議論する必要があると考えています日銀は去年12月の金融政策決定会合で政策金利を0.75%に引き上げていますが上田総裁はこれまでの利上げによっても金融経済活動は抑制されていない

...(中略)...

23
00:09:45,485 --> 00:09:58,878
[SPEAKER_01]: きょうの日経平均株価の終わり値は1667円高い68402円で、初めて終わり値ベースで68000円台をつけ、市場最高値を更新しました。

出力結果の見方などの詳細についてもやはり Windows 版のページを参照してください.残念ながら macOS + CPU の組合せについては,話者分離は苦手のようです.さらに GPU で話者分離を行うことも現時点ではできそうもありません.

目次に戻る