🚀 使用ECAPA嵌入在通用语言上从语音记录进行语言识别
本项目提供了使用SpeechBrain从语音记录中进行语言识别所需的所有工具。该系统使用在CommonLanguage数据集(45种语言)上预训练的模型,可从短语音记录中识别45种语言。
🚀 快速开始
本仓库提供了使用SpeechBrain从语音记录中进行语言识别的必要工具。系统采用了在CommonLanguage数据集(涵盖45种语言)上预训练的模型。你可以在此下载该数据集。
此系统能够从短语音记录中识别以下45种语言:
阿拉伯语、巴斯克语、布列塔尼语、加泰罗尼亚语、中国大陆中文、中国香港中文、中国台湾中文、楚瓦什语、捷克语、迪维希语、荷兰语、英语、世界语、爱沙尼亚语、法语、弗里西语、格鲁吉亚语、德语、希腊语、钦族哈卡方言、印尼语、国际语、意大利语、日语、卡拜尔语、卢旺达语、吉尔吉斯语、拉脱维亚语、马耳他语、蒙古语、波斯语、波兰语、葡萄牙语、罗马尼亚语、罗曼什语 - 苏尔西尔万方言、俄语、萨哈语、斯洛文尼亚语、西班牙语、瑞典语、泰米尔语、鞑靼语、土耳其语、乌克兰语、威尔士语
为获得更好的体验,建议你进一步了解SpeechBrain。该模型在测试集上的表现如下:
版本发布日期 |
准确率 (%) |
2021-06-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)
高级用法
classifier = EncoderClassifier.from_hparams(source="speechbrain/lang-id-commonlanguage_ecapa", savedir="pretrained_models/lang-id-commonlanguage_ecapa", 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}
}
信息表格
属性 |
详情 |
支持语言 |
阿拉伯语、巴斯克语、布列塔尼语等45种语言 |
模型类型 |
使用在CommonLanguage数据集上预训练的ECAPA模型 |
训练数据 |
CommonLanguage数据集、Urbansound8k |
评估指标 |
准确率 |
许可证 |
Apache 2.0 |