goo blog サービス終了のお知らせ 

Ekrino書簡

頭の整理&ひまつぶしに適当なことを書く

whisper-webUI導入とTIPS

2024年02月17日 | PC

超高性能の音声文字起こしをローカル環境で実現する"whisper"。
Chat GPTStable Diffusionが世界に衝撃を与えるなか、SDと同時期の2022年9月にOpenAIがリリースしていたOSSである。

SDのおかげで、Python環境のハードルも下がった頃合いだと思うので、
whisper版のwebuiである、whisper-webUIの導入手順を備忘録的にまとめる。

【導入編】
①Python,Gitの導入
 SD webuiと同じなので、説明は省略する。Python3.10.6を前提とする。

②フォルダの作成
 git clone https://huggingface [dot] co/spaces/aadnk/whisper-webui ⇐goo blogの制限のため、URLを直接貼れません。
 …で、whisper webUIのリポジトリを引っ張ってくる。

③venv環境の構築と実行
 説明を省略してもよかったが、whisper用のvenv環境を作る。サブフォルダに作る流派。
 python -m venv venv
 venv\scripts\activate.bat

④pipでwhisperをいれる
 pip install -r requirements.txt torchまわりが割と問題のある記載なのだがCPUなら問題ないかもしれない。

⑤ffmpegのライブラリを入れる
 この辺を参考にされたいが、俺はPATH通すの面倒なのでBINの中のDLLをwhisper-webuiと同階層に置いた。

⑥webuiを起動する
 python app.py --input_audio_max_duration -1 --auto_parallel True

 ブラウザでhttp://127.0.0.1:7860にアクセスすると、SD webuiで見慣れた感じのUIが出てくるぞ

【実行編】
①ModelとLanguageを設定する
 Modelはlarge-v2かlarge-v3。Languageはjapaneseを設定する。

②文字起こししたい音声ファイル・動画ファイルをUpload FilesにD&Dする。

③その他設定

  • TaskのTranscribeが文字起こし。基本これを使う。
  • VADはVoice Activity Detectorという発話部分検出モデルの設定。silero-vadかsilero-vad-skip-gapsでいい。音声セクションのギャップの取り扱いが違うらしい。

④送信を押すと処理が始まる。

【応用編】
・遅い。早くならんの??
 faster whisperという処理の早いやつがある。
 pip install -r requirements-fasterWhisper.txt でインストールされるが、追加設定がいる。

  1. torch+cu118の指定
    上のrequirementだと、cudaじゃないやつが入ったかもしれない。あと、12系だと動かないので指定が必要。
    pip install torch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 --index-url https://download.pytorch.org/whl/cu118

  2. config.json5を書き換える
    "whisper_implementation": "whisper", ⇒  "whisper_implementation": "faster-whisper",

・実行時の引数やwebui上でのモデル・言語選択がだるい
 config.json5を書き換えよう。

"input_audio_max_duration": 600, "input_audio_max_duration": -1,
"auto_parallel": false, "auto_parallel": true,
"default_model_name": "medium", "default_model_name": "large-v3",
"language": null, "language": "japanese",
     

・ワンクリックで起動したい

call .\venv\scripts\activate.bat
app.py

…あたりをbatファイルにしましょう。

先日、PCの入れ替えでやったことを書いてるが、上記の流れを再検証したわけではないので、そこらへんは要注意。


コメントを投稿