语言:
- 多语言
- 法语
- 德语
- 西班牙语
- 加泰罗尼亚语
- 意大利语
- 俄语
- 中文
- 葡萄牙语
- 波斯语
- 爱沙尼亚语
- 蒙古语
- 荷兰语
- 土耳其语
- 阿拉伯语
- 瑞典语
- 拉脱维亚语
- 斯洛文尼亚语
- 泰米尔语
- 日语
- 印尼语
- 威尔士语
- 英语
数据集:
- 通用语音
- 多语言LibriSpeech
- Covost2
标签:
管道标签: 自动语音识别
许可证: Apache-2.0
小部件:
- 示例标题: 瑞典语
来源: https://cdn-media.huggingface.co/speech_samples/cv_swedish_1.mp3
- 示例标题: 阿拉伯语
来源: https://cdn-media.huggingface.co/speech_samples/common_voice_ar_19058308.mp3
- 示例标题: 俄语
来源: https://cdn-media.huggingface.co/speech_samples/common_voice_ru_18849022.mp3
- 示例标题: 德语
来源: https://cdn-media.huggingface.co/speech_samples/common_voice_de_17284683.mp3
- 示例标题: 法语
来源: https://cdn-media.huggingface.co/speech_samples/common_voice_fr_17299386.mp3
- 示例标题: 印尼语
来源: https://cdn-media.huggingface.co/speech_samples/common_voice_id_19051309.mp3
- 示例标题: 意大利语
来源: https://cdn-media.huggingface.co/speech_samples/common_voice_it_17415776.mp3
- 示例标题: 日语
来源: https://cdn-media.huggingface.co/speech_samples/common_voice_ja_19482488.mp3
- 示例标题: 蒙古语
来源: https://cdn-media.huggingface.co/speech_samples/common_voice_mn_18565396.mp3
- 示例标题: 荷兰语
来源: https://cdn-media.huggingface.co/speech_samples/common_voice_nl_17691471.mp3
- 示例标题: 俄语
来源: https://cdn-media.huggingface.co/speech_samples/common_voice_ru_18849022.mp3
- 示例标题: 土耳其语
来源: https://cdn-media.huggingface.co/speech_samples/common_voice_tr_17341280.mp3
- 示例标题: 加泰罗尼亚语
来源: https://cdn-media.huggingface.co/speech_samples/common_voice_ca_17367522.mp3
- 示例标题: 英语
来源: https://cdn-media.huggingface.co/speech_samples/common_voice_en_18301577.mp3
- 示例标题: 荷兰语
来源: https://cdn-media.huggingface.co/speech_samples/common_voice_nl_17691471.mp3
Wav2Vec2-XLS-R-2B-22-16 (XLS-R-任意到任意)
Facebook的Wav2Vec2 XLS-R微调用于语音翻译。

这是一个SpeechEncoderDecoderModel模型。
编码器是从facebook/wav2vec2-xls-r-2b
检查点热启动的,
解码器是从facebook/mbart-large-50
检查点热启动的。
因此,编码器-解码器模型在Covost2数据集的{input_lang}
-> {output_lang}
翻译对上进行了微调。
该模型可以将以下口语语言{input_lang}
翻译为以下书面语言{output_lang}
:
{input_lang}
-> {output_lang}
其中{input_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
}
而{output_lang}
为:
{en
, de
, tr
, fa
, sv-SE
, mn
, zh-CN
, cy
, ca
, sl
, et
, id
, ar
, ta
, lv
, ja
}
使用方法
演示
可以在这个空间测试模型。
你可以选择目标语言,录制上述输入语言中的任何一种音频,然后坐下来看看检查点翻译输入的效果如何。
示例
由于这是一个标准的序列到序列变换器模型,你可以使用generate
方法通过将语音特征传递给模型来生成转录。
你可以直接通过ASR管道使用模型。默认情况下,检查点会将口语英语翻译为书面德语。要更改书面目标语言,你需要将正确的forced_bos_token_id
传递给generate(...)
,以便解码器针对正确的目标语言进行条件设置。
要根据你选择的语言ID选择正确的forced_bos_token_id
,请使用以下映射:
MAPPING = {
"en": 250004,
"de": 250003,
"tr": 250023,
"fa": 250029,
"sv": 250042,
"mn": 250037,
"zh": 250025,
"cy": 250007,
"ca": 250005,
"sl": 250052,
"et": 250006,
"id": 250032,
"ar": 250001,
"ta": 250044,
"lv": 250017,
"ja": 250012,
}
例如,如果你想翻译成瑞典语,可以这样做:
from datasets import load_dataset
from transformers import pipeline
forced_bos_token_id = MAPPING["sv"]
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-2b-22-to-16", feature_extractor="facebook/wav2vec2-xls-r-2b-22-to-16")
translation = asr(audio_file, forced_bos_token_id=forced_bos_token_id)
或者逐步进行如下:
import torch
from transformers import Speech2Text2Processor, SpeechEncoderDecoderModel
from datasets import load_dataset
model = SpeechEncoderDecoderModel.from_pretrained("facebook/wav2vec2-xls-r-2b-22-to-16")
processor = Speech2Text2Processor.from_pretrained("facebook/wav2vec2-xls-r-2b-22-to-16")
ds = load_dataset("patrickvonplaten/librispeech_asr_dummy", "clean", split="validation")
forced_bos_token_id = MAPPING["sv"]
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"], forced_bos_token_id=forced_bos_token)
transcription = processor.batch_decode(generated_ids)
更多用于{lang}
-> en
语音翻译的XLS-R模型