🚀 Wav2Vec2-XLS-R-300M-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 |
標籤 |
語音、xls_r、xls_r_translation、自動語音識別 |
管道標籤 |
自動語音識別 |
許可證 |
Apache - 2.0 |
這是一個SpeechEncoderDecoderModel模型。編碼器從facebook/wav2vec2-xls-r-300m
檢查點進行預熱啟動,解碼器從facebook/mbart-large-50
檢查點啟動。因此,該編碼器 - 解碼器模型在Covost2數據集的15個en
-> {lang}
翻譯對上進行了微調。
該模型可以將英語口語en
翻譯成以下書面語言{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-300m-en-to-15", feature_extractor="facebook/wav2vec2-xls-r-300m-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-300m-en-to-15")
processor = Speech2Text2Processor.from_pretrained("facebook/wav2vec2-xls-r-300m-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 (0.3B) 行。

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