语言: "卢旺达语"
缩略图:
管道标签: 自动语音识别
标签:
- CTC
- 注意力机制
- PyTorch
- SpeechBrain
- Transformer
- hf-asr排行榜
许可证: "Apache-2.0"
数据集:
- CommonVoice
评估指标:
- 词错误率(WER)
- 字错误率(CER)
基于CommonVoice卢旺达语训练的wav2vec 2.0结合CTC/注意力模型(无语言模型)
本仓库提供了一套完整的端到端工具,用于在SpeechBrain框架下执行基于CommonVoice(卢旺达语)预训练的自动语音识别。为了获得更好的体验,我们建议您深入了解SpeechBrain。
模型性能如下:
发布日期 |
测试集词错误率 |
使用GPU |
2021-03-06 |
18.91% |
2块V100 32GB |
流程说明
该ASR系统由两个相互关联的模块组成:
- 分词器(基于unigram算法):将单词转换为子词单元,使用CommonVoice卢旺达语训练集的文本(train.tsv)进行训练。
- 声学模型(wav2vec2.0 + CTC/注意力机制):预训练的wav2vec 2.0模型(wav2vec2-large-xlsr-53)结合两个DNN层,并在CommonVoice卢旺达语上微调。最终声学表征输入至CTC和注意力解码器。
系统训练采用16kHz采样率(单声道)的录音。当调用transcribe_file时,代码会自动对音频进行标准化处理(如重采样和单声道选择)。
安装SpeechBrain
首先,请通过以下命令安装transformers和SpeechBrain:
pip install speechbrain transformers
建议您阅读我们的教程以深入了解SpeechBrain。
转录自定义音频文件(卢旺达语)
from speechbrain.pretrained import EncoderDecoderASR
asr_model = EncoderDecoderASR.from_hparams(source="speechbrain/asr-wav2vec2-commonvoice-rw", savedir="pretrained_models/asr-wav2vec2-commonvoice-rw")
asr_model.transcribe_file("speechbrain/asr-wav2vec2-commonvoice-rw/example.mp3")
GPU推理
若需使用GPU推理,在调用from_hparams
方法时添加参数run_opts={"device":"cuda"}
。
批量并行推理
请参考此Colab笔记本了解如何使用预训练模型并行转录批量语句。
训练流程
该模型基于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_with_wav2vec.py hparams/train_rw_with_wav2vec.yaml --data_folder=您的数据目录
训练结果(模型、日志等)可在此处获取。
局限性
SpeechBrain团队不对该模型在其他数据集上的表现提供任何保证。
关于SpeechBrain
- 官网: https://speechbrain.github.io/
- 代码库: https://github.com/speechbrain/speechbrain/
- HuggingFace主页: https://huggingface.co/speechbrain/
引用SpeechBrain
如果您在研究中使用了SpeechBrain,请引用以下文献:
@misc{speechbrain,
title={{SpeechBrain}: 通用语音工具包},
author={Mirco Ravanelli等},
year={2021},
eprint={2106.04624},
archivePrefix={arXiv},
primaryClass={eess.AS},
note={arXiv:2106.04624}
}