はじめに
こちらの記事は「EC2(AmazonLinux2023)インスタンスにReazonSpeech v2をインストールする手順」の「Debian」版です!
詳しくはそちらの記事をご参照ください。
では早速、はじめていきましょう!
使用技術
文字起こし:reazonspeech-nemo-v2
実行環境サーバー:AWS EC2(Debian)
前提条件
・HuggingFaceのアカウントが取得済みであること
目次
1.事前準備
2.環境構築
3.ソースのデプロイ
4.コード実行
5.まとめ
それでは、実際の環境構築に進んでいきましょう!
1.事前準備
利用モデルの利用規約を許諾する
- 「reazon-research/reazonspeech」のページへアクセスし、ユーザー利用条件の受け入れ(Accept)を実施
2.環境構築
EC2インスタンスの起動
- AWSコンソールから「EC2」サービスへアクセス
- 下図を参考にインスタンス起動
- AMI:「Debian 12(HVM), SSD Volume Type」を選択
- インスタンスタイプ:t2.large(メモリ8GBほしいので)
- ボリューム:70GiB(諸々のインストールで結構容量食う)
作成したインスタンスを選択し「インスタンスを開始」
SSHクライアントからインスタンスへ接続し下記のコマンドを実行
# aptのアップグレード
sudo apt update
sudo apt upgrade
# python関連およびgitのインストール
sudo apt install python3
sudo apt install python3-pip
sudo apt install python3.11-venv
sudo apt install git
# Pythonのvenv環境作成
python3 -m venv venv
source venv/bin/activate
# Cythonをインストール
pip install Cython
# 依存関係のあるパッケージのインストール
pip install numpy==1.23.5
pip install huggingface_hub==0.23.2
pip install nemo_toolkit
# ReazonSpeechをインストール
cd /tmp
git clone https://github.com/reazon-research/ReazonSpeech
pip install ReazonSpeech/pkg/nemo-asr
ソースのデプロイ
「app.py」ファイルを任意のディレクトリにデプロイする
from reazonspeech.nemo.asr import load_model, transcribe, audio_from_path
# 実行時にHugging Faceからモデルを取得します (2.3GB)
model = load_model(device='cpu')
# ローカルの音声ファイルを読み込む
audio = audio_from_path('test.wav')
# 音声認識を適用する
ret = transcribe(model, audio)
print(ret.text)
※「音声ファイル(test.wav)」は別途用意し、app.pyと同一のディレクトリにおいてください。
4.コード実行
デプロイしたディレクトリに移動して、app.pyの実行
python app.py
音声ファイルの文字起こし結果が、標準出力されたら成功です。
5.まとめ
今回はEC2インスタンスに音声認識モデル「ReazonSpeech v2(nemo)」をインストールして、実際に文字起こしを行うという手順でした。
パッケージの依存関係で数日ハマりましたが、何とか動作するパターンを見つけました。
改めて下記にまとめます。
numpy==1.23.5
huggingface_hub==0.23.2
nemo_toolkit
それではまた別の記事でお目にかかります。
ありがとうございました。
6.参考記事
[参考サイト]
https://research.reazon.jp/projects/ReazonSpeech/howto.html#python
https://github.com/NVIDIA/NeMo/issues/9793