模型:
facebook/wav2vec2-xls-r-300m-21-to-en
Facebook的Wav2Vec2 XLS-R通过微调用于语音翻译。
这是一个 SpeechEncoderDecoderModel 模型。编码器从 facebook/wav2vec2-xls-r-300m 检查点热启动,解码器从 facebook/mbart-large-50 检查点热启动。因此,编码器-解码器模型在21个{lang}->en的翻译配对上进行了微调。
该模型可以翻译以下口语语言{lang}->en(英语):
{fr, de, es, ca, it, ru, zh-CN, pt, fa, et, mn, nl, tr, ar, sv-SE, lv, sl, ta, ja, id, cy}->en
更多信息,请参考 official XLS-R paper 的5.1.2节。
可以直接在此模型卡片的语音识别小工具上测试该模型!只需记录一些可能的口语语言的音频或选择一个示例音频文件,以查看检查点在翻译输入时的表现。
由于这是一个标准的序列到序列转换器模型,您可以使用generate方法通过将语音特征传递给模型来生成转录。
您可以通过ASR管道直接使用该模型
from datasets import load_dataset from transformers import pipeline # replace following lines to load an audio file of your choice librispeech_en = load_dataset("patrickvonplaten/librispeech_asr_dummy", "clean", split="validation") audio_file = librispeech_en[0]["file"] asr = pipeline("automatic-speech-recognition", model="facebook/wav2vec2-xls-r-300m-21-to-en", feature_extractor="facebook/wav2vec2-xls-r-300m-21-to-en") translation = asr(audio_file)
或按照以下步骤逐步使用:
import torch from transformers import Speech2Text2Processor, SpeechEncoderDecoderModel from datasets import load_dataset model = SpeechEncoderDecoderModel.from_pretrained("facebook/wav2vec2-xls-r-300m-21-to-en") processor = Speech2Text2Processor.from_pretrained("facebook/wav2vec2-xls-r-300m-21-to-en") ds = load_dataset("patrickvonplaten/librispeech_asr_dummy", "clean", split="validation") inputs = processor(ds[0]["audio"]["array"], sampling_rate=ds[0]["audio"]["array"]["sampling_rate"], return_tensors="pt") generated_ids = model.generate(input_ids=inputs["input_features"], attention_mask=inputs["attention_mask"]) transcription = processor.batch_decode(generated_ids)
有关此模型在 Covost2 上的性能,请参见XLS-R(0.3B)的行。