一石二鷹三枚舌

英語と中国語を同時に学ぶ! 潘吉Jenny告诉你とCCTV Growing up with Chineseで聞き取り書き取り

Introduction | Episodes |

OpenAI Whisper roars!

前回の記事を書いたあと、IBM WatsonのSpeech-to-Textデモ版が終了してしまいました。趣味に多少のお金を払うくらい構わないので、引き続き有料サービスを使おうとしたものの、クレジットカードの認証が通らず断念しました。

そんなわけでいくつかのSpeech-to-Textサービスを物色していたところ、OpenAIのWhisperに落ち着きました。IBM WatsonのSpeech-to-Textデモ版終了とちょうど入れ替わるように、2022年9月下旬に登場していたようです。

Whisperはオンライン文字起こしサービスではなく、PCにインストールして使う(こともできる)ライブラリです。インストールの方法はweb上あちこちにあるのでここでは触れませんが、うちのMacが古いせいかpythonpython3と明示したり~/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のこの精度の高さに、翻訳までできるとなると、生身で語学をやる意志が揺るぎますね。