WhisperをMacでローカルに動かす
MacでWhisperを使ったときの準備と待ち時間について書きます。モデルの選び方と、音声の扱い。
Whisperは、OpenAIが2022年に公開した音声認識モデルです。公開されているので、自分のMacで動かせます。ゆびでは二つ目の音声認識エンジンとして使っていて、音声をどこにも送らずに文字にします。
何が必要か
Apple Silicon搭載Macと、whisper.cppという軽量な実装です。whisper.cppはC++で書かれていて、Macのニューラルエンジンを使います。いまのゆびは、Macにインストールされたwhisper.cppのコマンドラインツールと、あなたが一度ダウンロードしたモデルファイルを使います。ゆび自体に同梱しているわけではありません。ここは今後変えたいところです。
モデルの選び方
Whisperにはサイズの違うモデルが複数あります。小さいほど速く、大きいほど正確です。私の環境では、小さいモデルは日本語の助詞や語尾を落とすことが多く、日本語には大きめのモデルが向いていました。ゆびで使っているのはlarge-v3-turboの量子化版です。大きいモデルの精度をおおむね保ったまま、ファイルを小さくして速くしたものです。
待ち時間
SpeechAnalyzerと違って、Whisperは話し終えてから処理を始めます。短い一言ならほとんど待ちません。長いメモだと、話し終えてから一呼吸置く感じです。この待ち時間が気になる人はSpeechAnalyzerを使えばいいので、ゆびはその両方に対応しています。
私の環境で向いていたこと
カフェや駅で取ったメモは、私のMacではWhisperのほうが崩れにくいことがあります。言い直しの多い長い説明も、まとまった文になりやすい印象です。これは私の使い方での観察で、一般的な性能の話ではありません。短い一言を素早く入れたいときは、待ちのないSpeechAnalyzerを使っています。
費用
モデルは公開されていて、処理はあなたのMacで行われるので、文字起こしサービスの利用料はかかりません。クラウド型のサービスは、時間あたりの料金か月額を取ります。Whisperを手元で動かすなら、その支払いはありません。
音声の扱い
Whisperで文字にするとき、ゆびは音声を一時ファイルに保存してMacの中で処理し、文字起こしが終わったら削除します。ネットワークには送りません。設定に「クラウドに送る」という項目はありません。送る先がないからです。
Mac App Storeに出さない理由
いまのゆびはMacにインストールされたwhisper-cliを呼び出す作りで、App Storeのサンドボックスではそれができません。だから直接ダウンロードで配ります。私が調べた限り、主要な音声入力アプリも直接配布でした。