WhisperをWindowsにインストールして使ってみる

Whisperは、OpenAIがMITライセンスで公開した汎用音声認識モデル。機械学習の訓練済みのモデルなので、そのまま使うことができる。

https://openai.com/blog/whisper/
https://github.com/openai/whisper

これを試すために、ほぼまっさらなWindows11 Proの上に、インストールして、実際に使ってみた。そのときの手順は下記。

Pythonをインストール

Pythonの公式サイトから、Windows用のインストーラーをダウンロードしてインストールする。

Windowsでインストールするときは、ユーザ環境ではなく、ALLユーザの環境を選択して、インストール先をCドライブの下にフォルダを作成して、そこにインストールするのがよい。ユーザ環境にインストールする場合、ユーザ名で日本語が使われていたりして、実行時にエラーになるので。

PyTorchをインストール

インストールするコマンドを下記のpytorchのサイトで確認して実行する。

https://pytorch.org/get-started/locally/

NVIDIAのGPUがない普通のPC(とりあえずSurface Pro7)なので、PytorchもCPU版を選択した(CUDAなしの環境)。インストールは、Python標準についてくるpip3で。そのときのコマンドは下記。

pip3 install torch torchvision torchaudio

もし、pip3が見つからない場合は、Windowsを再起動してみる。パスが認識されていない可能性があるため。

FFMPEGをインストール

いろいろと検討したが、Windows用のパッケージ管理ツールのchocolateyを使うのが楽だった。

まずは、chocolateyをインストールする。Powershellを管理者権限で開いて下記を実行する。

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

インストール後、パスが正常に読み込まれていないようだったので、Windowsを再起動した。

Powershellを管理者権限で開いて、下記のコマンドを実行してffmpegをインストールする。

choco install ffmpeg

Rustをインストール

Whisperのページによると、念のため、 rustもインストールしておくとのこと。

pip install setuptools-rust

Gitをインストール

下記のサイトからWindows用のGitをダウンロードしてインストールする。

https://gitforwindows.org/

インストールしたら、Windowsを再起動する。

Whisperのインストール

Powershellを開いて、下記のコマンドを実行する

pip install git+https://github.com/openai/whisper.git

やっとインストールが完了。

Whisperで動画ファイルの音声起こしをやってみる

Powershellを起動して、下記の書式でWhisperを利用する。実際に動作するのは、Pythonのコードだが、使うだけならPythonを起動させなくてもいい。

whisper ファイル名 --language Japanese --model small

「–model xxx」のxxxには「tiny」「base」「small」「medium」「large」を選択して、指定する。モデルは、処理速度と精度のトレードオフになる。モデルがmedium、largeと大きくなるほど、処理負荷が増える。

利用するモデルの初回実行時には、モデルのダウンロードが行われるため、処理が始まるまでに時間がかかる。

実際に、1時間程度のMP4の動画の文字起こしを、モデルsmallでさせてみたところ、第10世代のCore i5での処理で、5時間かかって、30分弱しか処理できていない。認識の精度としては、漢字への変換も含めて、かなり読める精度だ。「xxx代」が「xxx台」になっているとか、コンテキストを読まないと変換できないものは、違っているけれど、おおむね文字起こしできている。

NVIDIAのGPUを入れて、CUDAで、Pytorchの処理をさせないと、高速化はできないということもわかった。CPUだけだと、向き不向きの不向きな処理なので、実用に耐えられる速度はだせないのかもしれない。「base」や「tiny」も試してみないことには結論はだせないけれども。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする