RTX3070でfaster-whisperを途中の環境構築からやってみた
はじめに
せっかくRTX3070があって、Whisperは6GくらいGPUメモリがあれば動くと聞き、
faster-whisperがLarge_v2を使えてしかも処理速度が速いと聞いたのでやってみた
C++は入っているので、CUDA周りの導入から始めました。
※なんも考えずにPython走らせたらcuDNNが無いよエラーで気付かされました
PC環境
- i5-12400F
- NVIDIA RTX3070(GPUメモリ8GB)
- メモリ DDR4 32GB
- Python 3.10
- Windows 11
CUDA関連の導入
CUDA・cuDNNのダウンロードとインストール
ここのサイトがとても詳しく書いており非常に参考になりました!!
CUDA Toolkitはv11.8を選ぶこと
※PyTorchがCUDA 11.8かCUDA 12.1に対応しているため(2023/10/22現在)
みんな11.8でやってるからそこに合わせるのが無難
cuDNNはここを見てcuDNNの推奨バージョンを確認
今回はcuDNN 8.9.5を選択
パッケージの導入
faster-whisperのインストール
pip install faster-whisper
コード
GPT4君にfaster-whisperのREADMEの文章を全て食わせてコードを書いてと指示しました。
結果をテキストに出力したかったのと経過時間と終了時間が見たかったのでコードは以下となります。
import time
from faster_whisper import WhisperModel
start_time = time.time() # 処理開始時間
# モデルの初期化
model_size = "large-v2"
model = WhisperModel(model_size, device="cuda", compute_type="float16")
# 音声ファイルから文字起こし
segments, info = model.transcribe("audio.mp3", beam_size=10)
print(f"Detected language '{info.language}' with probability {info.language_probability}")
# 結果をテキストファイルに保存
with open("transcription.txt", "w") as f:
for segment in segments:
f.write(f"[{segment.start:.2f}s -> {segment.end:.2f}s] {segment.text}\n")
laptime = time.time() - start_time
print(f"{laptime:.2f}秒経過_[{segment.start:.2f}s -> {segment.end:.2f}s] {segment.text}")
end_time = time.time() # 処理終了時間
# 処理時間の計測
elapsed_time = end_time - start_time
print(f"Total time taken: {elapsed_time:.2f} seconds")
実行結果
同じ階層にaudio.mp3
(自分は.m4aファイルでやりました)を入れて実行
transcription.txt
に文字起こしの結果が出力されます。
beam_size=10でも
3683秒(1時間01分23秒)の音声ファイルが448.54秒(7分28秒)で処理されました
beam_size=5ならもっと早く処理が完了します。
使用GPUメモリは6GBぐらいで推移していました。
出力
[148.00s -> 177.00s] はい じゃあトップバッターで テーマをさせていただきます
[178.00s -> 181.00s] レミオと申します よろしくお願いします
[181.00s -> 183.00s] 今回発表するのは
[183.00s -> 188.00s] 未経験のエンジニアが 先生を使って初号Aラインアンテナを
[188.00s -> 190.00s] 作りましたというところでございます
[190.00s -> 196.00s] よろしくお願いします
[196.00s -> 200.00s] 私なんですけども 非エンジニアというところで
[200.00s -> 202.00s] もともと何をしていたかといいますと
[202.00s -> 207.00s] 携帯地域の鉄塔とかアンテナを この感じで作っていました
[207.00s -> 211.00s] 鉄塔は田舎の方に行けば よく見ると思いますけども
[211.00s -> 215.00s] 結構ビルの上で 多分静岡の上とかもよく見たら
[215.00s -> 222.00s] こういう細いアンテナが チラホラと立ったりしていて
[222.00s -> 225.00s] この茶色いやつとかは まさに全色で
[225.00s -> 230.00s] 僕が最初から設計だったり 積算だったりというところを
まとめ
RTX3070でfaster-whisperの環境構築から実行までを行いました。
CUDAの構築関係で最初にCUDA12.3を入れてしまってアンインストールしたなど手違いがあり
時間がかかってしまいましたが、構築後はとてもスムーズに文字起こしができて
しかも処理がめちゃくちゃ早く感動モノです!
ゲーミングPCを持ってる型はGPUメモリ8GB以上の場合が多いので文字起こし無料でしたいなーと思ったら迷わずに試してみましょう!!
Discussion