公式はこちら。
Powershellを起動、
wsl
と入力、Ubuntuに切り替え。
ffmpegのインストール
Whisper.cppでは現状、wavファイルしか扱えないので、ffmpegをインストール。
sudo apt install ffmpeg
ビルド
git clone https://github.com/ggerganov/whisper.cpp.git
cd whisper.cpp
make
使用するモデルをダウンロード
./models/download-ggml-model.sh ”モデル名”
利用可能なモデルはこちら。 largeが一番性能がいいが、メモリ等の性能が必要。
large-v3の場合は以下のように。
./models/download-ggml-model.sh large-v3
以下でインストールを確認。
./main -h
PATHを通す
whispers.cppフォルダの場所を確認し、PATHを通す。下は一例。
sudo nano ~/.profile
で ~/.profile ファイルが開いたら、最後の行に、whispers.cppフォルダの場所を追加。ユーザー名のところは適宜変更を。
PATH=$PATH:/mnt/c/Users/ユーザー名/whispers.cpp
追加しただけでは反映されないので、以下を実行。
source ~/.profile
以下で、PATHが通ったことを確認。
echo $PATH | grep whisper.cpp
これでわざわざwhispers.cppフォルダに移動してから、./mainをしなくても、音声ファイルがあるフォルダ内で右クリック>ターミナルで開く>Powershell起動>「wsl」でUbuntu起動 で main で走る。
音声をwavに変換
Whisper.cppはwavファイルにしか対応していないので。
ffmpeg -i input.mp3 -ar 16000 -ac 1 -c:a pcm_s16le output.wav
音声を分割
音声が長いとエラーが出たときに、エラーループになってしまい、それ以降認識してくれなくなるようなので、短い音声に分割する。以下は音声を1分ごとに分割。
ffmpeg -i input.wav -f segment -segment_time 60 -c copy output_%03d.wav
実行(音声を文字起こし)
例えば、large-v3(WSLからだとマウントしたC:の下の、Users/ユーザー名/whisper.cpp/models/にあるので、/mnt/c/~が必要になる。「ユーザー名」のところは適宜変更のこと)を使って、wavファイルを文字起こしする場合。
wavファイルのあるフォルダ内で右クリック>ターミナルで開く>Powershell起動>「wsl」でUbuntu起動して
main -m "/mnt/c/Users/ユーザー名/whisper.cpp/models/ggml-large-v3.bin" -f output.wav -l ja -otxt
上記は「large」モデルを使用している場合なので、他のモデルを使うとは適宜変更を。
テキスト結合
ディレクトリ内のテキストファイルをすべて結合して、テープ起こし.txtへ。
cat *.txt > テープ起こし.txt