🚀 Wav2Vec2-XLS-R-1B-EN-15
Facebook的Wav2Vec2 XLS - R模型針對語音翻譯進行了微調,能夠將英語語音翻譯成多種書面語言。

這是一個SpeechEncoderDecoderModel模型。編碼器從facebook/wav2vec2-xls-r-1b
檢查點進行預熱啟動,解碼器從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-1b-en-to-15", feature_extractor="facebook/wav2vec2-xls-r-1b-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-1b-en-to-15")
processor = Speech2Text2Processor.from_pretrained("facebook/wav2vec2-xls-r-1b-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 (1B) 這一行。

更多用於{lang}
-> en
語音翻譯的XLS - R模型
📄 許可證
該項目採用Apache - 2.0許可證。
📦 相關信息
屬性 |
詳情 |
支持語言 |
英語、德語、土耳其語、波斯語、瑞典語、蒙古語、中文、威爾士語、加泰羅尼亞語、斯洛文尼亞語、愛沙尼亞語、印尼語、阿拉伯語、泰米爾語、拉脫維亞語、日語 |
數據集 |
Common Voice、Multilingual Librispeech、Covost2 |
標籤 |
語音、XLS - R、自動語音識別、XLS - R翻譯 |
管道標籤 |
自動語音識別 |