OpenAI Whisper roars!
前回の記事を書いたあと、IBM WatsonのSpeech-to-Textデモ版が終了してしまいました。趣味に多少のお金を払うくらい構わないので、引き続き有料サービスを使おうとしたものの、クレジットカードの認証が通らず断念しました。
そんなわけでいくつかのSpeech-to-Textサービスを物色していたところ、OpenAIのWhisperに落ち着きました。IBM WatsonのSpeech-to-Textデモ版終了とちょうど入れ替わるように、2022年9月下旬に登場していたようです。
Whisperはオンライン文字起こしサービスではなく、PCにインストールして使う(こともできる)ライブラリです。インストールの方法はweb上あちこちにあるのでここでは触れませんが、うちのMacが古いせいかpython
をpython3
と明示したり~/Library/Python/3.8/bin
にPATHを通したりと多少の工夫を要した末、無事に使えるようになりました。
てゆーかすごいです。
潘吉Jenny告诉你のような英語中国語交じりの会話も、普通に聞き分けて文字起こししてくれます。精度もかなり良く、固有名詞が一部出ないくらいです。あとなぜかたまに英語が中国語に翻訳されてたりします。翻訳もできるんだ!?でも今はしないでいいから。
そのまま使うと繁体字で出力されるので、--initial_prompt="说汉语"
を入れると簡体字になります。「说汉语」の文字列はどうでもよく、簡体字であることに意味があります。
インストール後、Terminalで
whisper xxx.mp3 --model=small --initial_prompt="说汉语"
あるいはPythonファイルmain.py
にまとめて
import sys import whisper model = whisper.load_model("small") result = model.transcribe(sys.argv[1], verbose=True, initial_prompt="说汉语") print(result["text"])
python3 main.py xxx.mp3
とやるとxxx.mp3
が文字起こしされ出力されます。
Detected language: Chinese [00:00.000 --> 00:08.440] Hello 大家好 我是Jenny 今天看言语要带你一起看世界杯 [00:08.440 --> 00:11.140] Hey World Cup Fans, this is Adam
load_model
で精度(と処理時間)を変えられる(tiny
<base
<small
<medium
<large
の順)のですが、small
でも充分なくらいです。さすがにtiny
ではおかしな結果となりました。
しばらくこれでやってみます。しっかしWhisperのこの精度の高さに、翻訳までできるとなると、生身で語学をやる意志が揺るぎますね。