高性能な文字起こしAI「Whisper」をローカルで使おう!~バッチファイルで簡単構築~

AI

今回は非常に高性能な文字起こしAI、WhisperをWindowsのローカルで使用する方法を解説します。

バッチファイルを使用することで比較的簡単に導入できると思います。
CPUでも動きますが遅いのでNvidiaのGPUが推奨です。

目安は以下のようになります。

使用モデル必要なGPUメモリ(目安)生成スピード
超高精度(Largeモデル)~10GB~1x
高精度 (Mediumモデル)~5GB~2x
中精度 (Smallモデル)~2GB~6x
低精度 (Baseモデル)~1GB~16x
最低精度 (Tinyモデル)~1GB~32x
おおよその目安(GPUはnvidiaのみ

Anaconda・Gitのインストール

まずはAnacondaをインストールします。

Anacondaのインストール

Anaconda | The World's Most Popular Data Science Platform
Anaconda is the birthplace of Python data science. We are a movement of data scientists, data-driven enterprises, and open source communities.

基本的に標準設定のままインストールして下さい。
ただ、下記の部分だけチェックを忘れずに入れて下さい。

PATHを通すため

Gitをダウンロード

以下のサイトからGitをダウンロードします。

Git - Downloading Package
オレンジ色の部分

特に何も弄らずそのままインストールして下さい。

バッチファイルを使用して環境を構築

下記バッチファイルをダウンロードしてお好きな場所に解凍して下さい。

一応GitHubに公開しています。

GitHub - GoLaboRat/whisper_batch_file
Contribute to GoLaboRat/whisper_batch_file development by creating an account on GitHub.

解凍すると以下のようなファイルが入っているので、「0.whisper作成.bat」をクリックして起動して下さい。

ReadMeも読んで下さい

暫く待つと以下のような表記になるので、コマンドプロンプトを閉じて下さい。

今回作成にあたって以下のサイトを非常に参考にさせて頂きました。

場合によっては実行に許可が必要になる場合はあります。
予めご了承下さい。

使い方

ソフトの特徴と注意点

特徴

様々なモデルがありますが、日本語で実用的なのは高精度(Medium)以上だと思います。

変換元のファイルはビデオ通話やインタビューの文字起こしなどはそのままで大丈夫だと思いますが、音楽の歌詞起こしや雑音が酷い動画に使用したい場合事前に声を分けたほうが精度が上がると思います。

よければこのソフトも使用してみて下さい。

注意点

このソフトは非常に大量のGPUメモリを使用します。
特に超高精度(Large)モデルをローカルで動かせる方は少ないと思います。

所有するRTX3060Tiでは高精度(Medium)までは動きますが、超高精度(Large)ではメモリが足らずエラーになります。

その為、妥協案として速度を犠牲にCPUで動かせる手段を用意しました。

CPUの場合でもメモリはそれなりに必要ですが、動かない場合は一度試して下さい。

GPUを使用する場合

作成したいモデルのバッチファイルに変換したいファイルをドロップします。

基本的に動画/音声ファイルは何でもいけると思います。

この場合は高精度(Medium)を作成する

コマンドプロンプトが開いて変換が始まります。

以前作った曲を読み込ませた

作成完了の文字が出てきたら生成完了です。
プロンプトは閉じて下さい。

生成されたテキストファイルやPremire Proに読み込めるファイルは同名フォルダに纏められます。

生成元のファイル名と同名のフォルダが生成される

フォルダは同名のファイルだと上書きされるので、保存したい場合は別の場所に必ず移動させて下さい。

フォルダに生成されたファイルが入る

CPUを使用する場合

「CPUバージョン」のフォルダを開くと以下のようになっているので、ファイルをバッチファイルにドロップします。

GPU版同様、動画/音声ファイルは何でもいけると思います。

CPUを使用するバッチファイル

生成されたファイルは「CPUバージョン」フォルダ内に生成されるので注意して下さい。

追加コマンドについて

使用したいバッチファイルに書き加えると他の機能を追加することができます。

バッチファイルを右クリックして「編集」からテキストを開く

青色の部分に変更を書き加えます。

言語指定

Whisperは自動で言語を判定しますが、上手くいかない場合があります。

その時は言語を指定する事で特定の言語で翻訳できます。

whisper %content% --output_dir %your_directory%\%name% --model medium --device cuda --language Japanese

cudaの後に半角スペースを開ける事を忘れないで下さい。

また、言語を指定すると少しだけ処理が早くなる場合があります。

使用できる言語

-- Chinese -- French -- Japanese --English など

書き起こしを英語へ翻訳

書き起こした文章を英語へ翻訳します

whisper %content% --output_dir %your_directory%\%name% --model medium --device cuda --language Japanese --task translate
--task translate

を付与すると書き起こされた文章を英語へ翻訳できます。

現状は英語を日本語へ翻訳する機能はありません。

Q&A

condaコマンドが不明だと言われる場合

AnacondaのPATHが通ってないと思われます。

下記記事を参考にPATHを通して下さい。

同じ文が連続で表示される

コマンドプロンプトには文字起こし中の文が表示されますが、たまに同じ文章が連続で表示される場合があります。

その場合、一度コマンドプロンプトを閉じて再度やり直す事で正常に動作する場合があります。

エラーが出て生成されない

内容によりますが、一番多いのはGPUメモリが足りない場合だと思われます。

上記のようなエラー

その場合、使用しているモデルより下のバージョンを試すか、CPUバージョンを利用してみて下さい。

それでもエラーが治らない場合

Anaconda、Gitをアンインストールして再び最初からやってみて下さい。

終わりに

今回はOpenAIが作成した文字起こしソフトを紹介しました。

無料とは思えない高精度で生成されるので驚きました。

バッチファイルで比較的簡単に構築できると思います。

皆さんも試してみて下さい。

それでは!

コメント