🚀 用于25000小时LargeScaleASR数据集的Conformer模型
该模型由三星人工智能剑桥中心贡献。
本仓库提供了在SpeechBrain中基于LargeScaleASR(英文)数据集预训练的端到端自动语音识别系统所需的所有工具。为获得更好的使用体验,建议您进一步了解SpeechBrain。
该模型的性能如下:
参数数量 |
验证集WER |
测试集WER |
LibriSpeech测试集-其他 |
CommonVoice 18测试集 |
Voxpopuli测试集 |
GPU数量 |
480M |
6.8 |
7.5 |
4.6 |
12.0 |
6.9 |
8xV100 32GB |
如果您想在该数据集上训练自己的模型,请参考SpeechBrain工具包。
🚀 快速开始
安装SpeechBrain
首先,请使用以下命令安装SpeechBrain:
pip install speechbrain
建议您阅读我们的教程,进一步了解SpeechBrain。
转录您自己的音频文件(英文)
from speechbrain.inference.ASR import EncoderDecoderASR
asr_model = EncoderDecoderASR.from_hparams(source="speechbrain/asr-conformer-largescaleasr", savedir="pretrained_models/asr-conformer-largescaleasr")
asr_model = EncoderDecoderASR.from_hparams(source="speechbrain/asr-conformer-largescaleasr", savedir="pretrained_models/asr-conformer-largescaleasr", overrides={"test_beam_size":"1"})
asr_model = EncoderDecoderASR.from_hparams(source="speechbrain/asr-conformer-largescaleasr", savedir="pretrained_models/asr-conformer-largescaleasr", overrides={"scorer":None, "ctc_weight_decode":0.0})
asr_model.transcribe_file("speechbrain/asr-conformer-largescaleasr/example.wav")
在GPU上进行推理
若要在GPU上进行推理,在调用from_hparams
方法时添加 run_opts={"device":"cuda"}
。
批量并行推理
请参考此Colab笔记本,了解如何使用预训练模型并行转录一批输入语句。
✨ 主要特性
- 多技术融合:结合了自动语音识别、CTC、注意力机制、Transformer和Conformer等多种技术。
- 高效解码:支持多种解码方式,包括大束搜索全解码、贪心解码和仅注意力解码。
- 自动音频处理:代码会在调用
transcribe_file
时自动对音频进行归一化处理(重采样+单声道选择)。
📦 安装指南
请使用以下命令安装SpeechBrain:
pip install speechbrain
💻 使用示例
基础用法
from speechbrain.inference.ASR import EncoderDecoderASR
asr_model = EncoderDecoderASR.from_hparams(source="speechbrain/asr-conformer-largescaleasr", savedir="pretrained_models/asr-conformer-largescaleasr")
asr_model = EncoderDecoderASR.from_hparams(source="speechbrain/asr-conformer-largescaleasr", savedir="pretrained_models/asr-conformer-largescaleasr", overrides={"test_beam_size":"1"})
asr_model = EncoderDecoderASR.from_hparams(source="speechbrain/asr-conformer-largescaleasr", savedir="pretrained_models/asr-conformer-largescaleasr", overrides={"scorer":None, "ctc_weight_decode":0.0})
asr_model.transcribe_file("speechbrain/asr-conformer-largescaleasr/example.wav")
高级用法
在GPU上进行推理:
from speechbrain.inference.ASR import EncoderDecoderASR
asr_model = EncoderDecoderASR.from_hparams(source="speechbrain/asr-conformer-largescaleasr", savedir="pretrained_models/asr-conformer-largescaleasr", run_opts={"device":"cuda"})
📚 详细文档
管道描述
此自动语音识别(ASR)系统由两个不同但相互关联的模块组成:
- 分词器(unigram):将单词转换为子词单元,并使用LargeScaleASR数据集的训练转录进行训练。
- 声学模型:由Conformer编码器和联合解码器(结合CTC + Transformer)组成。因此,解码过程也会结合CTC概率。
该系统使用采样率为16kHz(单声道)的录音进行训练。当调用transcribe_file
时,代码会自动对音频进行归一化处理(即重采样+单声道选择)。
🔧 技术细节
该ASR系统主要由分词器和声学模型两部分组成:
- 分词器:采用unigram算法,将单词转换为子词单元,使用LargeScaleASR数据集的训练转录进行训练。这种方法可以更有效地处理未登录词和语言的多样性。
- 声学模型:由Conformer编码器和联合解码器组成。Conformer编码器结合了卷积神经网络(CNN)和Transformer的优点,能够更好地捕捉语音信号的局部和全局特征。联合解码器使用CTC + Transformer架构,在解码过程中结合了CTC概率,提高了识别的准确性。
系统训练使用的录音采样率为16kHz(单声道),代码会在推理时自动对输入音频进行归一化处理,确保系统的稳定性和兼容性。
📄 许可证
本项目采用Apache-2.0许可证。
关于SpeechBrain
- 官网:https://speechbrain.github.io/
- 代码仓库:https://github.com/speechbrain/speechbrain/
- HuggingFace页面:https://huggingface.co/speechbrain/
引用SpeechBrain
如果您在研究或业务中使用了SpeechBrain,请引用以下文献:
@article{speechbrainV1,
author = {Mirco Ravanelli and Titouan Parcollet and Adel Moumen and Sylvain de Langen and Cem Subakan and Peter Plantinga and Yingzhi Wang and Pooneh Mousavi and Luca Della Libera and Artem Ploujnikov and Francesco Paissan and Davide Borra and Salah Zaiem and Zeyu Zhao and Shucong Zhang and Georgios Karakasidis and Sung-Lin Yeh and Pierre Champion and Aku Rouhe and Rudolf Braun and Florian Mai and Juan Zuluaga-Gomez and Seyed Mahed Mousavi and Andreas Nautsch and Ha Nguyen and Xuechen Liu and Sangeet Sagar and Jarod Duret and Salima Mdhaffar and Ga{{\"e}}lle Laperri{{\`e}}re and Mickael Rouvier and Renato De Mori and Yannick Est{{\`e}}ve},
title = {Open-Source Conversational AI with SpeechBrain 1.0},
journal = {Journal of Machine Learning Research},
year = {2024},
volume = {25},
number = {333},
pages = {1--11},
url = {http://jmlr.org/papers/v25/24-0991.html}
}