今回は,音声認識 Whisperです.
通常のWhisperと違い,Whisper.cppはCPUで動くという話を耳にしました.
それは動かしてみるしかないでしょ!!
(whisper.cppの導入にはLinux環境が必要)
Whisper.cppを動かす手順
1.ビルドする
git clone https://github.com/ggerganov/whisper.cpp.git
cd whisper.cpp
make
makeを実行すると,様々なオプションが確認できる
- -otxt:テキストファイルとして出力
- -ovtt:vttファイルとして出力
- -m FNAME:使用モデルの選択
- -f FNAME:入力ファイル選択
- -l:言語の選択
などたくさんのオプションが存在する
2.使用するモデルをダウンロードする
./models/download-ggml-model.sh ”モデル名”
3.ffmpegのインストール
snap install ffmpeg
4.ffmpegにより16kHzのWAVファイルに変換する
ffmpeg -i ”変換したい音声の名前” -ar 16000 -ac 1 -c:a pcm_s16le ”変換後の音声の名”
Whisperはmp4など他のファイルにも対応していたが、Whisper.cppは16kHzのWAVファイルにのみ対応している
5.ダウンロードしたモデルを使用して,文字起こし
./main -m models/ggml-”使用モデル名” -f ”認識する音声” -l ja -otxt
モデルは tiny < base < small < medium < large の順で性能が良い
文字起こし結果
[00:00:00.000 --> 00:00:04.000] これを持ちまして公園を終了させていただきます。
[00:00:04.000 --> 00:00:07.000] どなたさまもお忘れもののございませんよ。
[00:00:07.000 --> 00:00:11.000] 今一度お手回り品を確かめください。
[00:00:11.000 --> 00:00:16.000] 本日はご来場いただきまして誠にありがとうございました。
モデルはsmallを使用してみましたが,まだ間違いが目立ちますね.
smallの代わりにmediumやlargeを使用すると間違いは見られなくなりました.
いやーそれにしても 発音が片言の Japanese English もしっかりと認識するのが whisper のすごさですよね!これからもお世話になります