音声認識モデルのrinna nekomata-14bのインストールに引き続きReazonSpeech v2(NeMo版)を動かしてみたのでインストールメモを書きます。
huggingfaceからのモデルダウンロード時にリモートホスト切断[WinError 10054]される人向けの方法です。
実行環境は下記ですが、VRAMは3GB程度の消費量でした。
windows 11
RAM 64GB
VRAM 16GB (RXT4090 laptop)
インストール
公式 : Pythonから音声認識モデルを利用する
Hugging Face : reazonspeech-nemo-v2
- 先ずはffmpegが要るそうなのでffmpegをダウンロード。
- 次はCythonをインストール
- torchは2.2.1+cu118が既にインストールされている前提で進めます
pip install Cython
- githubからプロジェクトをclone
git clone https://github.com/reazon-research/ReazonSpeech
- transcribe.pyの修正(windows用のホスト切断対策)
- モデルのダウンロード
- Hugging Faceからモデルを直接ダウンロード(モデル名 : reazonspeech-nemo-v2.nemo)します。
- ファイルの書き換え
- ReazonSpeech\pkg\nemo-asr\srcの中にあるtranscribe.pyの27行目を下記に修正します。ダウンロードしたモデルのパスを記入する。
- モデルのダウンロード
#line27 修正前
return EncDecRNNTBPEModel.from_pretrained('reazon-research/reazonspeech-nemo-v2',
#line27 修正後
return EncDecRNNTBPEModel.restore_from(restore_path='Pass to Model .nemo',
これにより元々はNeMo toolsのfrom_pretraindメソッドでモデルを落としていたのに対して、restore_fromメソッドで直接ダウンロードしたモデルを指定して展開するようになります。
(参考 : https://docs.nvidia.com/deeplearning/nemo/user-guide/docs/en/main/asr/results.html)
- プロジェクトのインストール
transcribe.pyを修正したら最初にgit cloneをしたディレクトリに戻って下記のコマンドを実行します
pip install ReazonSpeech/pkg/nemo-asr
サンプルコードを動かす
インストール後に公式のサンプルコードが動作したら成功です。
from reazonspeech.nemo.asr import load_model, transcribe, audio_from_path
# 実行時にHugging Faceからモデルを取得します (2.3GB)
model = load_model(device='cuda')
# ローカルの音声ファイルを読み込む
audio = audio_from_path('speech-001.wav')
# 音声認識を適用する
ret = transcribe(model, audio)
print(ret.text)