音声認識モデルの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)
sam

sam

流山おおたかの森Techブログの管理人です。 お仕事のご依頼などはmail or Twitter[https://twitter.com/sam_sumario]で連絡頂けると反応出来ます。
Previous post Silero VADの使い方 | 音声区間認識
Next post Anime-Segmentation・Rembg・FastSAMのアニメ絵切り抜き精度比較 | @pythonコード

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です