🚀 wav2vec 2.0 with CTC trained on LibriSpeech
このリポジトリは、SpeechBrain内でLibriSpeech(英語)で事前学習されたエンドツーエンドシステムから自動音声認識を実行するために必要なすべてのツールを提供します。より良い体験のために、SpeechBrainについてもっと学ぶことをおすすめします。
モデルの性能は以下の通りです。
リリース |
テストクリーンWER |
テストその他WER |
GPU |
24-03-22 |
1.90 |
3.96 |
1xA100 40GB |
✨ 主な機能
このASRシステムは、2つの異なるが関連するブロックで構成されています。
- トークナイザー(ユニグラム):単語を文字に変換し、トレーニング用の転写データ(英語)で学習します。
- 音響モデル(wav2vec2.0 + CTC):事前学習されたwav2vec 2.0モデル(wav2vec2-large-960h-lv60-self)を2つのDNNレイヤーと組み合わせ、LibriSpeechで微調整します。得られた最終的な音響表現はCTCに入力されます。
システムは、16kHzでサンプリングされた録音(単チャンネル)で学習されています。コードは、transcribe_fileを呼び出す際に必要に応じて自動的に音声を正規化します(リサンプリング + モノチャンネル選択)。
📦 インストール
まず、以下のコマンドでtranformersとSpeechBrainをインストールしてください。
pip install speechbrain transformers
SpeechBrainのチュートリアルを読み、もっと学ぶことをおすすめします。
💻 使用例
基本的な使用法
from speechbrain.inference.ASR import EncoderASR
asr_model = EncoderASR.from_hparams(source="speechbrain/asr-wav2vec2-librispeech", savedir="pretrained_models/asr-wav2vec2-librispeech")
asr_model.transcribe_file("speechbrain/asr-wav2vec2-commonvoice-en/example.wav")
高度な使用法
GPUで推論を行うには、from_hparams
メソッドを呼び出す際にrun_opts={"device":"cuda"}
を追加します。
バッチでの並列推論
事前学習されたモデルを使用して入力文のバッチを並列に転写する方法については、このColabノートブックを参照してください。
トレーニング
このモデルはSpeechBrainでトレーニングされています。最初からトレーニングするには、以下の手順に従ってください。
- SpeechBrainをクローンします。
git clone https://github.com/speechbrain/speechbrain/
- インストールします。
cd speechbrain
pip install -r requirements.txt
pip install -e .
- トレーニングを実行します。
cd recipes/LibriSpeech/ASR/CTC
python train_with_wav2vec.py hparams/train_en_with_wav2vec.yaml --data_folder=your_data_folder
トレーニング結果(モデル、ログなど)はここで見ることができます。
制限事項
SpeechBrainチームは、このモデルを他のデータセットで使用した場合の性能について、いかなる保証も提供しません。
📚 ドキュメント
SpeechBrainについて
- ウェブサイト: https://speechbrain.github.io/
- コード: https://github.com/speechbrain/speechbrain/
- HuggingFace: https://huggingface.co/speechbrain/
SpeechBrainを引用する場合
研究やビジネスでSpeechBrainを使用する場合は、必ず引用してください。
@misc{speechbrain,
title={{SpeechBrain}: A General-Purpose Speech Toolkit},
author={Mirco Ravanelli and Titouan Parcollet and Peter Plantinga and Aku Rouhe and Samuele Cornell and Loren Lugosch and Cem Subakan and Nauman Dawalatabad and Abdelwahab Heba and Jianyuan Zhong and Ju-Chieh Chou and Sung-Lin Yeh and Szu-Wei Fu and Chien-Feng Liao and Elena Rastorgueva and François Grondin and William Aris and Hwidong Na and Yan Gao and Renato De Mori and Yoshua Bengio},
year={2021},
eprint={2106.04624},
archivePrefix={arXiv},
primaryClass={eess.AS},
note={arXiv:2106.04624}
}
📄 ライセンス
このプロジェクトは、Apache 2.0ライセンスの下で提供されています。