英文

Wav2Vec2-XLS-R-300M-21-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)

结果{lang}->en

有关此模型在 Covost2 上的性能,请参见XLS-R(0.3B)的行。

更多适用于{lang}->en语音翻译的XLS-R模型