许可协议: mit
支持语言:
- 南非荷兰语
- 阿姆哈拉语
- 阿拉伯语
- 阿萨姆语
- 阿塞拜疆语
- 白俄罗斯语
- 孟加拉语
- 波斯尼亚语
- 保加利亚语
- 加泰罗尼亚语
- 捷克语
- 中文
- 威尔士语
- 丹麦语
- 德语
- 希腊语
- 英语
- 爱沙尼亚语
- 芬兰语
- 法语
- 奥里亚语
- 奥罗莫语
- 爱尔兰语
- 加利西亚语
- 古吉拉特语
- 豪萨语
- 希伯来语
- 印地语
- 克罗地亚语
- 匈牙利语
- 亚美尼亚语
- 伊博语
- 印尼语
- 冰岛语
- 意大利语
- 爪哇语
- 日语
- 卡纳达语
- 格鲁吉亚语
- 哈萨克语
- 蒙古语
- 高棉语
- 吉尔吉斯语
- 韩语
- 老挝语
- 林加拉语
- 立陶宛语
- 卢森堡语
- 卢干达语
- 拉脱维亚语
- 马拉雅拉姆语
- 马拉地语
- 马其顿语
- 马耳他语
- 毛利语
- 缅甸语
- 荷兰语
- 挪威书面语
- 尼泊尔语
- 齐切瓦语
- 奥克语
- 旁遮普语
- 普什图语
- 波斯语
- 波兰语
- 葡萄牙语
- 罗马尼亚语
- 俄语
- 斯洛伐克语
- 斯洛文尼亚语
- 绍纳语
- 信德语
- 索马里语
- 西班牙语
- 塞尔维亚语
- 瑞典语
- 斯瓦希里语
- 泰米尔语
- 泰卢固语
- 塔吉克语
- 他加禄语
- 泰语
- 土耳其语
- 乌克兰语
- 乌尔都语
- 乌兹别克语
- 越南语
- 沃洛夫语
- 科萨语
- 约鲁巴语
- 马来语
- 祖鲁语
- 摩洛哥阿拉伯语
- 埃及阿拉伯语
- 粤语
- 佛得角克里奥尔语
推理功能: false
W2v-BERT 2.0语音编码器
我们开源了基于Conformer架构的W2v-BERT 2.0语音编码器,该模型是我们Seamless系列模型的核心组件,技术细节详见论文第3.2.1节。
该模型在450万小时无标注音频数据上进行了预训练,覆盖143种以上语言。需经过微调才能用于自动语音识别(ASR)或音频分类等下游任务。
模型名称 |
参数量 |
检查点 |
W2v-BERT 2.0 |
6亿 |
检查点 |
本模型及其训练由🤗 Transformers支持,详见文档。
🤗 Transformers使用指南
这是未包含任何建模头的原始检查点,需微调后方可用于ASR等下游任务。但您可通过以下代码片段提取顶层音频嵌入特征:
from transformers import AutoFeatureExtractor, Wav2Vec2BertModel
import torch
from datasets import load_dataset
dataset = load_dataset("hf-internal-testing/librispeech_asr_demo", "clean", split="validation")
dataset = dataset.sort("id")
sampling_rate = dataset.features["audio"].sampling_rate
processor = AutoProcessor.from_pretrained("facebook/w2v-bert-2.0")
model = Wav2Vec2BertModel.from_pretrained("facebook/w2v-bert-2.0")
inputs = processor(dataset[0]["audio"]["array"], sampling_rate=sampling_rate, return_tensors="pt")
with torch.no_grad():
outputs = model(**inputs)
了解更多模型使用方法,请参考:
Seamless Communication使用指南
本模型可用于其原生框架Seamless Communication。完成安装步骤后,可通过以下代码进行语音编码前向传播:
import torch
from fairseq2.data.audio import AudioDecoder, WaveformToFbankConverter
from fairseq2.memory import MemoryBlock
from fairseq2.nn.padding import get_seqs_and_padding_mask
from pathlib import Path
from seamless_communication.models.conformer_shaw import load_conformer_shaw_model
audio_wav_path, device, dtype = ...
audio_decoder = AudioDecoder(dtype=torch.float32, device=device)
fbank_converter = WaveformToFbankConverter(
num_mel_bins=80,
waveform_scale=2**15,
channel_last=True,
standardize=True,
device=device,
dtype=dtype,
)
collater = Collater(pad_value=1)
model = load_conformer_shaw_model("conformer_shaw", device=device, dtype=dtype)
model.eval()
with Path(audio_wav_path).open("rb") as fb:
block = MemoryBlock(fb.read())
decoded_audio = audio_decoder(block)
src = collater(fbank_converter(decoded_audio))["fbank"]
seqs, padding_mask = get_seqs_and_padding_mask(src)
with torch.inference_mode():
seqs, padding_mask = model.encoder_frontend(seqs, padding_mask)
seqs, padding_mask = model.encoder(seqs, padding_mask)