DR;TL
Rebuild.fmのエピソード348で紹介されていた、whisper.cppがとてもよかったので、使用法をメモしておきます。
インストール
本家はこちら(GitHub - openai/whisper)。今回はwhisper.cppをインストールするので、スキップしてよいです。
まずはGitHubからクローンします。
$ git clone https://github.com/ggerganov/whisper.cpp.git
モデルをダウンロードします(たとえばmedium)。.en
付きは、英語に特化しています。日本語を想定するときは、.en
無しを選びます。
$ bash ./models/download-ggml-model.sh medium
コンパイルします。
$ cd whisper.cpp
$ make
サンプルを変換(テスト)
サンプルフォルダに入っているサンプルデータを変換し、うまく動いていることを確かめます。
$ ./main -m models/ggml-medium.bin -f samples/jfk.wav
実際のファイルを変換
「現在のところ16-bitのWAVファイルのみ対応」とのことですので、ffmpegで変換します。
$ ffmpeg -i input.m4a -ar 16000 -ac 1 -c:a pcm_s16le output.wav
変換した.wav
をwhisper.cppにかけ、テキスト化します。
$ ./main -m models/ggml-medium.bin -f ../data/output.wav -l ja > output.txt
参考文献(リンク)
- Rebuild: 348: Stop Digging Up The Past (higepon) で紹介されていました。
- GitHub - openai/whisper: Robust Speech Recognition via Large-Scale Weak Supervision 本家。Python。
- GitHub - ggerganov/whisper.cpp: Port of OpenAI's Whisper model in C/C++ C/C++ポート。速い。
- 汎用音声認識モデル Whisper の紹介 - Qiita
環境
- macOS Ventura 13.1
- MacBook Pro (14-inch, 2021)
すでにインストール済みなので意識しませんでしたが、下記が使えることが前提とおもわれます。
ちなみに、モデルでMediumを使用した場合、MacBook Pro(Apple M1 Pro、8コア、32GBメモリ)で、音声の実際の時間に対し、だいたい3分の1ぐらいの時間で変換が完了しています。この環境では、実用的にはMediumがバランスがいい気がしています。変換精度も、他のツールより良いです(たとえばYouTubeのトランスクリプト、TeamsやWordなどを用いたMicrosoftのトランスクリプトと比べて)。