模型:
facebook/mms-lid-126
此检查点是经过语音语言识别(LID)微调的模型,是Facebook的 Massive Multilingual Speech project 的一部分。该检查点基于 Wav2Vec2 architecture ,并将原始音频输入分类到一个表示语言的126个输出类的概率分布中。该检查点包含10亿个参数,并且已经经过从 facebook/mms-1b 开始的126种语言的微调。
可以将此MMS检查点与 Transformers 一起使用,以识别音频的使用语言。它可以识别以下126种语言。
让我们来看一个简单的例子。
首先,我们安装transformers和其他一些库
pip install torch accelerate torchaudio datasets pip install --upgrade transformers
注意:为了使用MMS,您需要安装至少transformers >= 4.30。如果尚未提供4.30版本,请确保从源代码安装transformers:
pip install git+https://github.com/huggingface/transformers.git
接下来,我们通过datasets加载一些音频样本。确保音频数据采样为16000 kHz。
from datasets import load_dataset, Audio # English stream_data = load_dataset("mozilla-foundation/common_voice_13_0", "en", split="test", streaming=True) stream_data = stream_data.cast_column("audio", Audio(sampling_rate=16000)) en_sample = next(iter(stream_data))["audio"]["array"] # Arabic stream_data = load_dataset("mozilla-foundation/common_voice_13_0", "ar", split="test", streaming=True) stream_data = stream_data.cast_column("audio", Audio(sampling_rate=16000)) ar_sample = next(iter(stream_data))["audio"]["array"]
接下来,我们加载模型和处理器
from transformers import Wav2Vec2ForSequenceClassification, AutoFeatureExtractor import torch model_id = "facebook/mms-lid-126" processor = AutoFeatureExtractor.from_pretrained(model_id) model = Wav2Vec2ForSequenceClassification.from_pretrained(model_id)
现在我们处理音频数据,将处理后的音频数据传递给模型进行分类,就像我们通常对Wav2Vec2音频分类模型 ehcalabres/wav2vec2-lg-xlsr-en-speech-emotion-recognition 做的那样
# English inputs = processor(en_sample, sampling_rate=16_000, return_tensors="pt") with torch.no_grad(): outputs = model(**inputs).logits lang_id = torch.argmax(outputs, dim=-1)[0].item() detected_lang = model.config.id2label[lang_id] # 'eng' # Arabic inputs = processor(ar_sample, sampling_rate=16_000, return_tensors="pt") with torch.no_grad(): outputs = model(**inputs).logits lang_id = torch.argmax(outputs, dim=-1)[0].item() detected_lang = model.config.id2label[lang_id] # 'ara'
要查看检查点支持的所有语言,请按如下方式打印语言ID:
processor.id2label.values()
有关架构的更多详情,请参阅 the official docs 。
该模型支持126种语言。点击以打开 ISO 639-3 code 中该检查点支持的所有语言的详细信息。您可以在 MMS Language Coverage Overview 中找到有关语言及其ISO 649-3代码的更多详细信息。
点击以切换开发者:Vineel Pratap等人
模型类型:多语种自动语音识别模型
语言:126种语言,请参阅支持的语言
许可证:CC-BY-NC 4.0许可
参数数量:10亿个
音频采样率:16000 kHz
引用方式:
@article{pratap2023mms, title={Scaling Speech Technology to 1,000+ Languages}, author={Vineel Pratap and Andros Tjandra and Bowen Shi and Paden Tomasello and Arun Babu and Sayani Kundu and Ali Elkahky and Zhaoheng Ni and Apoorv Vyas and Maryam Fazel-Zarandi and Alexei Baevski and Yossi Adi and Xiaohui Zhang and Wei-Ning Hsu and Alexis Conneau and Michael Auli}, journal={arXiv}, year={2023} }