模型:

facebook/mms-lid-126

英文

大规模多语言语音(MMS)-经过微调的LID

此检查点是经过语音语言识别(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代码的更多详细信息。

点击以切换
  • ara
  • cmn
  • eng
  • spa
  • fra
  • mlg
  • swe
  • por
  • vie
  • ful
  • sun
  • asm
  • ben
  • zlm
  • kor
  • ind
  • hin
  • tuk
  • urd
  • aze
  • slv
  • mon
  • hau
  • tel
  • swh
  • bod
  • rus
  • tur
  • heb
  • mar
  • som
  • tgl
  • tat
  • tha
  • cat
  • ron
  • mal
  • bel
  • pol
  • yor
  • nld
  • bul
  • hat
  • afr
  • isl
  • amh
  • tam
  • hun
  • hrv
  • lit
  • cym
  • fas
  • mkd
  • ell
  • bos
  • deu
  • sqi
  • jav
  • nob
  • uzb
  • snd
  • lat
  • nya
  • grn
  • mya
  • orm
  • lin
  • hye
  • yue
  • pan
  • jpn
  • kaz
  • npi
  • kat
  • guj
  • kan
  • tgk
  • ukr
  • ces
  • lav
  • bak
  • khm
  • fao
  • glg
  • ltz
  • lao
  • mlt
  • sin
  • sna
  • ita
  • srp
  • mri
  • nno
  • pus
  • eus
  • ory
  • lug
  • bre
  • luo
  • slk
  • fin
  • dan
  • yid
  • est
  • ceb
  • war
  • san
  • kir
  • oci
  • wol
  • haw
  • kam
  • umb
  • xho
  • epo
  • zul
  • ibo
  • abk
  • ckb
  • nso
  • gle
  • kea
  • ast
  • sco
  • glv
  • ina

模型详情

  • 开发者: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}
    }
    

附加链接