语言: "英语"
缩略图:
任务标签: 自动语音识别
标签:
- CTC
- PyTorch
- SpeechBrain
- Transformer
许可证: "Apache-2.0"
数据集:
- CommonVoice
评估指标:
- 词错误率(WER)
- 字错误率(CER)
基于CommonVoice英语训练的wav2vec 2.0与CTC模型(无语言模型)
本仓库提供了一套完整的工具,用于在SpeechBrain框架下执行基于CommonVoice(英语)预训练的端到端自动语音识别系统。为了获得更好的体验,我们建议您深入了解SpeechBrain。
该模型的性能如下:
发布日期 |
测试集词错误率 |
使用GPU |
2021-03-06 |
15.69% |
2块V100 32GB |
系统流程说明
该ASR系统由两个相互关联的模块组成:
- 分词器(unigram):将单词转换为子词单元,基于CommonVoice英文训练集(train.tsv)训练。
- 声学模型(wav2vec2.0 + CTC):结合预训练的wav2vec 2.0模型(wav2vec2-lv60-large)与两个DNN层,并在CommonVoice英文数据上微调。最终声学表征输入CTC解码器。
系统训练采用16kHz采样率(单声道)的录音。调用transcribe_file时,代码会自动对音频进行标准化处理(如重采样和单声道选择)。
安装SpeechBrain
首先安装transformers和SpeechBrain:
pip install speechbrain transformers
建议阅读我们的教程以了解更多。
转录自定义音频文件(英文)
from speechbrain.inference.ASR import EncoderDecoderASR
asr_model = EncoderDecoderASR.from_hparams(source="speechbrain/asr-wav2vec2-commonvoice-en", savedir="pretrained_models/asr-wav2vec2-commonvoice-en")
asr_model.transcribe_file("speechbrain/asr-wav2vec2-commonvoice-en/example.wav")
GPU推理
在调用from_hparams
时添加run_opts={"device":"cuda"}
以启用GPU推理。
批量并行推理
参考此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.py hparams/train_en_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}
}