🚀 一般言語におけるECAPA埋め込みを用いた音声録音からの言語識別
このリポジトリでは、SpeechBrainを使用して音声録音から言語識別を行うために必要なすべてのツールを提供しています。
このシステムは、CommonLanguageデータセット(45言語)で事前学習されたモデルを使用しています。
データセットはこちらからダウンロードできます。
提供されるシステムは、短い音声録音から以下の45言語を認識することができます。
アラビア語、バスク語、ブルトン語、カタルーニャ語、中国語(中国)、中国語(香港)、中国語(台湾)、チュワシ語、チェコ語、ディベヒ語、オランダ語、英語、エスペラント語、エストニア語、フランス語、フリジア語、グルジア語、ドイツ語、ギリシャ語、ハカ・チン語、インドネシア語、インターリングア、イタリア語、日本語、カビレ語、キニヤルワンダ語、キルギス語、ラトビア語、マルタ語、モンゴル語、ペルシャ語、ポーランド語、ポルトガル語、ルーマニア語、ロマンシュ語(サールシルヴァン方言)、ロシア語、サハ語、スロベニア語、スペイン語、スウェーデン語、タミル語、タタール語、トルコ語、ウクライナ語、ウェールズ語
より良い体験のために、SpeechBrainについてもっと学ぶことをおすすめします。与えられたモデルのテストセットでの性能は以下の通りです。
リリース日 |
正解率 (%) |
21年6月30日 |
85.0 |
🚀 クイックスタート
このシステムは、統計的プーリングと組み合わされたECAPAモデルで構成されています。その上に、カテゴリカル交差エントロピー損失で訓練された分類器が適用されます。
システムは、16kHzでサンプリングされた録音(単チャンネル)で訓練されています。
コードは、必要に応じてclassify_fileを呼び出すときに自動的にオーディオを正規化します(すなわち、リサンプリング + モノチャンネル選択)。encode_batchやclassify_batchを使用する場合は、入力テンソルが期待されるサンプリングレートに準拠していることを確認してください。
📦 インストール
まず、以下のコマンドでSpeechBrainをインストールしてください。
pip install speechbrain
SpeechBrainについてのチュートリアルを読み、もっと学ぶことをおすすめします。
💻 使用例
基本的な使用法
音声録音から言語識別を行うには、以下のコードを使用します。
import torchaudio
from speechbrain.inference.classifiers import EncoderClassifier
classifier = EncoderClassifier.from_hparams(source="speechbrain/lang-id-commonlanguage_ecapa", savedir="pretrained_models/lang-id-commonlanguage_ecapa")
out_prob, score, index, text_lab = classifier.classify_file('speechbrain/lang-id-commonlanguage_ecapa/example-it.wav')
print(text_lab)
out_prob, score, index, text_lab = classifier.classify_file('speechbrain/lang-id-commonlanguage_ecapa/example-fr.wav')
print(text_lab)
高度な使用法
GPUで推論を行うには、from_hparams
メソッドを呼び出すときにrun_opts={"device":"cuda"}
を追加します。
訓練
このモデルはSpeechBrain (a02f860e)で訓練されました。
最初から訓練するには、以下の手順に従ってください。
- SpeechBrainをクローンします。
git clone https://github.com/speechbrain/speechbrain/
- インストールします。
cd speechbrain
pip install -r requirements.txt
pip install -e .
- 訓練を実行します。
cd recipes/CommonLanguage/lang_id
python train.py hparams/train_ecapa_tdnn.yaml --data_folder=your_data_folder
訓練結果(モデル、ログなど)はこちらで確認できます。
制限事項
SpeechBrainチームは、このモデルを他のデータセットで使用した場合の性能について、いかなる保証も提供しません。
ECAPAの引用
author = {Brecht Desplanques and
Jenthe Thienpondt and
Kris Demuynck},
editor = {Helen Meng and
Bo Xu and
Thomas Fang Zheng},
title = {{ECAPA-TDNN:} Emphasized Channel Attention, Propagation and Aggregation
in {TDNN} Based Speaker Verification},
booktitle = {Interspeech 2020},
pages = {3830--3834},
publisher = {{ISCA}},
year = {2020},
}
📄 ライセンス
このプロジェクトは、Apache-2.0ライセンスの下で提供されています。
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}
}