Hero img
Windows PCでwhisperが高速になったfaster Whisperのためのローカル環境を構築する

文字起こしのfaster whisperをwindowsで使ってみる

OpenAIの文字起こし「Whisper」が高速になった「faster-whisper」をWindowsに導入して動画の文字起こしを行います。


目次

  • faster-whisper
  • 環境
  • anaconda
  • whisperの環境を作る
  • 使ってみる
  • GPUの設定
  • ライブラリーをダウンロードする
  • cuBLAS
  • cuDNNのインストール
  • フォルダーを移動させる。
  • GPUで起動してみる
  • GPUで起動ができない
  • まとめ

faster-whisper

OpenAIの文字起こしWhisperを「CTranslate2」というものを使用することで高速処理が可能になっています。
とにかく、通常のWHisperより高速で文字起こしをしてくれます。

環境

  • windows10
  • miniconda
  • gtx 1060 6g
  • rtx 3060も使ってみた

anaconda

Pythonのバージョンによる互換性の問題を避けるために、仮想環境のminicondaを使用します。 minicondaのダウンロードはここを参照ください。

whisperの環境を作る

miniconda3を起動し、whisperの環境を構築します。

  1. 1.whisperという環境を作成し、Python3.10のバージョンをインストールします。
conda create -n whisper python=3.10

y keyを押してインストールをします。

whisper-local-install-python
  1. 2.環境の切替 先ほど作ったwhisperという環境に切り替えます。
conda activate whisper
whisper-local-install-activate-whisper
  1. 3.whisperをインストール 環境を切り替えた後にfaster-whisperをインストールします。
pip install faster-whisper

使ってみる

faster-whisperを使用するためにはPythonのコードと音声ファイルが必要です。
PythonコードはgitにあるものをCPUで使用するように設定して使ってみます。

ただし、CPU処理のため正直に遅いです。GPUで起動したい場合はNVIDIAのグラボが必要です。

  1. 1.適当なフォルダーを用意して、「main.py」と「audio.mp3」ファイルを用意する。 whisper-local-pythonfolder
main.py
from faster_whisper import WhisperModel

model_size = "large-v3"
model = WhisperModel(model_size, device="cpu", compute_type="int8")


segments, info = model.transcribe("audio.mp3", beam_size=5)

print("Detected language '%s' with probability %f" % (info.language, info.language_probability))

for segment in segments:
    print("[%.2fs -> %.2fs] %s" % (segment.start, segment.end, segment.text))

出力結果

whisper-local-cpu-result

CPU処理なので正直遅い...GPUで起動したい。

GPUの設定

NvidiaのGPUが必要

GPUで起動するためにはNvidiaのグラボが必要です。

faster-whisperをGPUで使うためには、NVIDIAのページから次の2つをインストールする必要があります。

  • cuBLAS
  • cuDNN

cuBLASのライブラリーはWindows版が存在しないため、CUDA Toolkitをインストールします。
また、WhisperはCUDA Toolkitのバージョン12では動作しないため、11バージョンをインストールしてください。

ライブラリーをダウンロードする

cuBLASとcuDNNの二つが必要になるのでインストールします。

cuBLAS

cuda toolkit11.8のダウンロード

cuda-toolkitのインストールには特別な設定が必要ないので普通に進めて行っても問題ありません。 whisper-local-cuda-toolkit

whisper-local-toolkit-install1 whisper-local-toolkit-install2
whisper-local-toolkit-install3 whisper-local-toolkit-install4
whisper-local-toolkit-install5 whisper-local-toolkit-install6

確認してみる

CUDAが正常にインストールされたか確認します。

nvcc -V

このように表示されていれば問題ありません。 whisper-local-check-cuda

cuDNNのインストール

次にcudnnをダウンロードします。

  1. 1.cuDNNをインストールするには、NVIDIAのアカウントが必要となります。メールアドレスを入力し、登録してください。
whisper-local-cudnn-download whisper-local-nvidia-account

登録が完了したら、cuDNN11.xをダウンロードします。
ここでも11.xを選びます。

whisper-local-cudnn-download-page
  1. 2.ダウンロードしたcuDNNのパスを通す必要があります。パスが通ていればどこでもいいらしいが、環境設定を変更するのもあれなので今回はただフォルダーを移動させます。

フォルダーを移動させる。

cuDNNの中にある3つのフォルダーを移動させます。

  • bin
  • include
  • lib

移動先はcuda toolkitをインストールされた所と同じ所に移動させます。

移動先の確認方法

cuda toolkitがインストールされたところはwhereコマンドを使って確認します。

where nvcc 
移動先の場所
C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.8
whisper-local-toolkit-space

ここで表示されたv11.8のフォルダーに3つのファイルを移動させます。

whisper-local-move-cudnn

これでGPUで起動できるようになりました。

GPUで起動してみる

設定が終わったらGPUでfaster-whisperを起動してみます。
そのまま公式のものをコピペするだけで起動できます。

main.py
from faster_whisper import WhisperModel

model_size = "large-v3"
model = WhisperModel(model_size, device="cuda", compute_type="float16")

segments, info = model.transcribe("audio.mp3", beam_size=5)

print("Detected language '%s' with probability %f" % (info.language, info.language_probability))

for segment in segments:
    print("[%.2fs -> %.2fs] %s" % (segment.start, segment.end, segment.text))

GPUで起動ができない

起動ができない場合はNVIDAドライバーをダウンロードして、バージョンアップをしてください。古かったりすると、cuda、cuDNNのインストールできない可能性があります。

まとめ

faster-whisperを使用すると非常に高い精度で文字起こしができたのでびっくりしました。
処理も早いので、GPUを使用することでリアルタイムでの文字起こしも可能になります。ffmpegやVB-CABLEを使用することでさまざまな可能性が広がります。GPUの性能は機器に依存するため、高速な変換を求める場合は15万円程度のグラボを購入することをお勧めします。

vb-cableを使用したリアルタイム文字起こしはこちら

関連記事

コメント

コメントを書く

質問や、間違いがありましたら、お気軽にどうぞ

※お名前とコメントの内容を入力してください。
※全てこのブログ上に公表されます。
※許可なく管理者によって修正・削除する場合がございます。 詳しくはプライバシーポリシーを参照ください