Pythonでお手軽に自動文字起こしをする方法

Python

今回はPythonで文字起こしを簡単にする方法を紹介します

手順

openai-whisperをインストール

文字起こしをするライブラリとしてopenai-whisperをインストールします

pip install openai-whisper

↓がライブラリのgithubです

GitHub - openai/whisper: Robust Speech Recognition via Large-Scale Weak Supervision
Robust Speech Recognition via Large-Scale Weak Supervision - openai/whisper

コードを書く

適当なpythonファイルを作成し、以下のコードを追加します

import whisper

model = whisper.load_model("tiny")
result = model.transcribe("sample.mp3")
print(result["text"])
 

3行目のload_modelで使用するモデルを選択します

モデルは「tiny」「base」「small」「medium」「large」から選び文字列で指定します

tinyから右に行くほど文字起こしの精度が上がりますが、処理時間や処理負荷が大きくなります

4行目で実際に文字起こししたい音声ファイルや動画ファイルのパスを入力します

これで実行をし、文字起こしされた値が表示されれば成功です

実際にやってみた

今回は以下の動画で試してみます

モデルは「tiny」「small」「large」でテストをして、それぞれの結果です

tinyの結果

おはようございます。4月2日開用日全国の天気を集まっています。日本服金は広く合計発に終わり、お大会な天気となります。なぜひ、ショットは、クモが多く雨の古事があります。一時的に、神なりやトップを止まなって強まる恐れもあるため、空の変化にお気をつけください。また、全然が近さえてくる九州地方や中国四国地方の政府ほどよるおそういじかも雨が降り出します。お替えに備えて、甘く思っておれかきください。その他のエリアは広く日座しが届きます。お替えとは、雪が降っているところも、ここになれた時代に降りにくくなり、日座しも届きそうです。まだ、新開服装が必要な北海道に比べ、東日本や西日本では、日座しの新開さを感じられそうです。ただ、朝との金融者が大きくなりますので、復想で上手に調節をしてお過ごしください。また、カフンションの方は引き続き、番前の対策を行ってください。最新の記者を情報は、お天気アプリレザーニュースカラモンを伸びます。

smallの結果

おはようございます。4月2日火曜日全国の天気をお伝えします。日本付近は広く高気圧に応われ、穏やかな天気となります。南西諸島は雲が多く雨の降ることがあります。一時的に雷やトップを伴って強まる恐れもあるため、空の変化におきをつけください。また、前線が近づいてくる九州地方や中国四国地方の西部ほど夜遅い時間は雨が降り出します。お帰りに備えて雨具を持ってお出かけください。その他のエリアは広く日差しが届けます。北海道は雪が降っているところも午後になると次第に降りにくくなり日差しも届きそうです。まだ、暖かい服装が必要な北海道に比べ、江賀市日本や西日本では日差しの暖かさを感じられそうです。ただ、朝との気温差が大きくなりますので、服装で上手に調節をしてお過ごしください。また、花粉症の方は引き続き万全な対策を行ってください。最新の気象情報はお天気アプリレザーニュースからもご確認いただけます。

largeの結果

おはようございます。4月2日火曜日、全国の天気をお伝えします。日本付近は広く高気圧に覆われ、穏やかな天気となります。南西諸島は雲が多く、雨の降ることがあります。一時的に雷や突風を伴って強まる恐れもあるため、空の変化にお気を付けください。また、前線が近づいてくる九州地方や中国四国地方の西部ほど、夜遅い時間は雨が降り出します。お帰りに備えて雨具を持ってお出かけください。その他のエリアは広く日差しが届きます。北海道は雪が降っているところも午後になると次第に降りにくくなり、日差しも届きそうです。まだ暖かい服装が必要な北海道に比べ、東日本や西日本では日差しの暖かさを感じられそうです。ただ、朝との気温差が大きくなりますので、服装で上手に調節をしてお過ごしください。また、花粉症の方は引き続き万全な対策を行ってください。最新の気象情報は、お天気アプリウェザーニュースからもご確認いただけます。

モデル実行秒数
tiny5秒
small13秒
large64秒

tinyもsmallも大方の文章はあっていますが漢字にできていないところや誤字が目立ちますね

一方largeは処理に時間はかかるものの完璧に出力できています

実用的なモデルはlargeとなりそうです

まとめ

今回はWhisperを使って文字起こしする方法を紹介しました

簡単に文字起こしができるのでアプリに組み込めばいろいろな機能ができそうです

感想や不具合等あればコメントで教えてください!

コメント

タイトルとURLをコピーしました