🚀 Wav2Vec2-XLS-R-2B-EN-15
這是Facebook基於Wav2Vec2 XLS - R微調的用於語音翻譯的模型,能將英語語音翻譯成多種書面語言。
支持語言和數據集
屬性 |
詳情 |
支持語言 |
多語言,包括英語(en)、德語(de)、土耳其語(tr)、波斯語(fa)、瑞典語(sv)、蒙古語(mn)、中文(zh)、威爾士語(cy)、加泰羅尼亞語(ca)、斯洛文尼亞語(sl)、愛沙尼亞語(et)、印尼語(id)、阿拉伯語(ar)、泰米爾語(ta)、拉脫維亞語(lv)、日語(ja) |
數據集 |
common_voice、multilingual_librispeech、covost2 |
標籤 |
speech、xls_r、automatic - speech - recognition、xls_r_translation |
任務類型 |
自動語音識別 |
許可證 |
apache - 2.0 |
模型架構

這是一個SpeechEncoderDecoderModel模型。編碼器從facebook/wav2vec2-xls-r-2b
檢查點進行熱啟動,解碼器從facebook/mbart-large-50
檢查點進行熱啟動。因此,該編碼器 - 解碼器模型在Covost2數據集的15個en
-> {lang}
翻譯對上進行了微調。
該模型可以將英語口語翻譯成以下書面語言{lang}
:
en
-> {de
, tr
, fa
, sv - SE
, mn
, zh - CN
, cy
, ca
, sl
, et
, id
, ar
, ta
, lv
, ja
}
更多信息,請參考官方XLS - R論文的5.1.1節。
🚀 快速開始
演示
你可以在此空間測試該模型。你可以選擇目標語言,錄製一些英語音頻,然後坐等檢查點對輸入的翻譯效果。
示例
由於這是一個標準的序列到序列的Transformer模型,你可以使用generate
方法,將語音特徵傳遞給模型來生成轉錄內容。
你可以通過ASR管道直接使用該模型。默認情況下,檢查點將把英語口語翻譯成書面德語。要更改書面目標語言,你需要將正確的forced_bos_token_id
傳遞給generate(...)
,以使解碼器針對正確的目標語言進行條件設置。
要根據你選擇的語言ID選擇正確的forced_bos_token_id
,請使用以下映射:
MAPPING = {
"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-en-to-15", feature_extractor="facebook/wav2vec2-xls-r-2b-en-to-15")
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-en-to-15")
processor = Speech2Text2Processor.from_pretrained("facebook/wav2vec2-xls-r-2b-en-to-15")
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)
🔍 結果 en
-> {lang}
查看此模型在Covost2上的性能,請參考**XLS - R (2B)**行。

更多用於{lang}
-> en
語音翻譯的XLS - R模型