🚀 CRDNN with CTC/Attention trained on CommonVoice French (No LM)
このリポジトリは、SpeechBrain内でCommonVoice(フランス語)で事前学習されたエンドツーエンドシステムを使用して自動音声認識を実行するために必要なすべてのツールを提供します。より良い体験を得るために、SpeechBrainについてもっと学ぶことをおすすめします。
このモデルのパフォーマンスは以下の通りです。
リリース |
テストCER |
テストWER |
GPU |
07-03-21 |
6.54 |
17.70 |
2xV100 16GB |
🚀 クイックスタート
パイプラインの説明
この自動音声認識(ASR)システムは、2つの異なるが関連するブロックで構成されています。
- トークナイザー(ユニグラム):単語をサブワードユニットに変換し、CommonVoice(フランス語)のトレーニング用の文字起こしデータ(train.tsv)を使って学習されます。
- 音響モデル(CRDNN + CTC/Attention):CRDNNアーキテクチャは、周波数領域で正規化とプーリングを行う畳み込みニューラルネットワークのN個のブロックで構成されています。その後、双方向LSTMが最終的なDNNに接続され、最終的な音響表現が得られ、これがCTCとアテンションデコーダーに与えられます。
このシステムは、16kHzでサンプリングされた録音(単一チャンネル)で学習されています。コードは、transcribe_file を呼び出す際に必要に応じて自動的にオーディオを正規化します(リサンプリング + モノチャンネル選択)。
SpeechBrainのインストール
まず、以下のコマンドでSpeechBrainをインストールしてください。
pip install speechbrain
SpeechBrainのチュートリアルを読み、もっと学ぶことをおすすめします。
自分のオーディオファイル(フランス語)の文字起こし
from speechbrain.inference.ASR import EncoderDecoderASR
asr_model = EncoderDecoderASR.from_hparams(source="speechbrain/asr-crdnn-commonvoice-fr", savedir="pretrained_models/asr-crdnn-commonvoice-fr")
asr_model.transcribe_file("speechbrain/asr-crdnn-commonvoice-fr/example-fr.wav")
GPUでの推論
GPUで推論を行うには、from_hparams
メソッドを呼び出す際に run_opts={"device":"cuda"}
を追加してください。
バッチでの並列推論
事前学習済みモデルを使用して入力文のバッチを並列に文字起こしする方法については、このColabノートブックを参照してください。
トレーニング
このモデルはSpeechBrain(986a2175)で学習されました。最初から学習するには、以下の手順に従ってください。
- SpeechBrainをクローンします。
git clone https://github.com/speechbrain/speechbrain/
- インストールします。
cd speechbrain
pip install -r requirements.txt
pip install -e .
- 学習を実行します。
cd recipes/CommonVoice/ASR/seq2seq
python train.py hparams/train_fr.yaml --data_folder=your_data_folder
学習結果(モデル、ログなど)はこちらで確認できます。
制限事項
SpeechBrainチームは、このモデルを他のデータセットで使用した場合のパフォーマンスについて、いかなる保証も提供しません。
✨ 主な機能
- 自動音声認識システムを提供し、CommonVoice(フランス語)で事前学習されています。
- オーディオの自動正規化機能があり、リサンプリングとモノチャンネル選択を自動で行います。
- GPUでの推論やバッチでの並列推論が可能です。
📦 インストール
pip install speechbrain
💻 使用例
基本的な使用法
from speechbrain.inference.ASR import EncoderDecoderASR
asr_model = EncoderDecoderASR.from_hparams(source="speechbrain/asr-crdnn-commonvoice-fr", savedir="pretrained_models/asr-crdnn-commonvoice-fr")
asr_model.transcribe_file("speechbrain/asr-crdnn-commonvoice-fr/example-fr.wav")
高度な使用法
GPUでの推論
from speechbrain.inference.ASR import EncoderDecoderASR
asr_model = EncoderDecoderASR.from_hparams(source="speechbrain/asr-crdnn-commonvoice-fr", savedir="pretrained_models/asr-crdnn-commonvoice-fr", run_opts={"device":"cuda"})
asr_model.transcribe_file("speechbrain/asr-crdnn-commonvoice-fr/example-fr.wav")
📚 ドキュメント
- パイプラインの詳細な説明があり、システムの構成要素や学習方法が解説されています。
- インストール手順、使用例、トレーニング方法、制限事項などが記載されています。
🔧 技術詳細
- トークナイザーはユニグラムを使用し、CommonVoice(フランス語)のトレーニング用の文字起こしデータで学習されます。
- 音響モデルはCRDNN + CTC/Attentionアーキテクチャを使用しています。CRDNNは畳み込みニューラルネットワークのブロックと双方向LSTM、DNNで構成されています。
- システムは16kHzでサンプリングされた単一チャンネルの録音で学習されています。
📄 ライセンス
このプロジェクトは、Apache 2.0ライセンスの下で公開されています。
📚 参考情報
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}
}