模型:
speechbrain/m-ctc-t-large
Meta AI提供的面向多语种的大规模语音识别器。该模型是一个具有10亿参数的Transformer编码器,其中带有8065个字符标签的CTC头部和60个语言ID标签的语言识别头部。它是在Common Voice(版本6.1,2020年12月发布)和VoxPopuli上进行训练的。在Common Voice和VoxPopuli上训练之后,该模型仅在Common Voice上进行训练。标签是未归一化的字符级转录(不移除标点符号和大写字母)。该模型接收16kHz音频信号的Mel滤波器组特征作为输入。
原始的Flashlight代码、模型检查点和Colab笔记本可在此处找到。
作者:Loren Lugosch, Tatiana Likhomanenko, Gabriel Synnaeve, Ronan Collobert
@article{lugosch2021pseudo,
title={Pseudo-Labeling for Massively Multilingual Speech Recognition},
author={Lugosch, Loren and Likhomanenko, Tatiana and Synnaeve, Gabriel and Collobert, Ronan},
journal={ICASSP},
year={2022}
}
特别感谢 Chan Woo Kim 将该模型从Flashlight C++转换为PyTorch。
可以将该模型用作独立的声学模型来转录音频文件,方法如下:
import torch
import torchaudio
from datasets import load_dataset
from transformers import MCTCTForCTC, MCTCTProcessor
model = MCTCTForCTC.from_pretrained("speechbrain/m-ctc-t-large")
processor = MCTCTProcessor.from_pretrained("speechbrain/m-ctc-t-large")
# load dummy dataset and read soundfiles
ds = load_dataset("patrickvonplaten/librispeech_asr_dummy", "clean", split="validation")
# feature extraction
input_features = processor(ds[0]["audio"]["array"], sampling_rate=ds[0]["audio"]["sampling_rate"], return_tensors="pt").input_features
# retrieve logits
with torch.no_grad():
logits = model(input_features).logits
# take argmax and decode
predicted_ids = torch.argmax(logits, dim=-1)
transcription = processor.batch_decode(predicted_ids)
在所有语言上的Common Voice结果的平均值:
字符错误率(CER):
| "Valid" | "Test" |
|---|---|
| 21.4 | 23.3 |
如果您对此模型有疑问或需要帮助,请考虑在该存储库上开启讨论或拉取请求,并标记@lorenlugosch、@cwkeam或@patrickvonplaten