Mms Lid 256
这是一个基于Wav2Vec2架构的语音语言识别模型,能够识别256种语言,属于Facebook大规模多语言语音(MMS)项目的一部分。
下载量 48.38k
发布时间 : 6/13/2023
模型简介
该模型用于语音语言识别任务,可将输入的音频分类为256种语言中的一种。基于10亿参数的Wav2Vec2架构,在256种语言上进行了微调。
模型特点
多语言支持
支持256种语言的语音识别,覆盖全球大多数主要语言和许多少数民族语言
大规模预训练
基于10亿参数的Wav2Vec2架构,具有强大的语音特征提取能力
高准确率
在多种语言上表现出色,能够准确识别语音的语言类别
模型能力
语音语言识别
多语言音频分类
实时语言检测
使用案例
语音技术
多语言语音助手
自动检测用户语音的语言,为多语言语音助手提供支持
可准确识别256种语言,提高语音助手的语言适应能力
语音内容分析
分析音频内容中的语言分布
可用于媒体监测、内容审核等场景
教育技术
语言学习应用
识别学习者发音的语言背景
帮助个性化语言学习体验
🚀 大规模多语言语音 (MMS) - 微调后的语言识别模型
本模型是一个经过微调的语音语言识别 (LID) 模型,是 Facebook 大规模多语言语音项目 的一部分。该模型基于 Wav2Vec2 架构,可将原始音频输入分类为 256 个输出类别的概率分布(每个类别代表一种语言)。此模型包含 10 亿个参数,是在 256 种语言上对 facebook/mms-1b 进行微调得到的。
🚀 快速开始
安装依赖
首先,我们需要安装 transformers
和其他一些必要的库:
pip install torch accelerate torchaudio datasets
pip install --upgrade transformers
注意:为了使用 MMS,你需要安装至少 transformers >= 4.30
版本。如果 4.30
版本尚未在 PyPI 上发布,请确保从源代码安装 transformers
:
pip install git+https://github.com/huggingface/transformers.git
加载音频样本
接下来,我们通过 datasets
加载一些音频样本。请确保音频数据的采样率为 16000 kHz。
from datasets import load_dataset, Audio
# 英语样本
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"]
# 阿拉伯语样本
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-256"
processor = AutoFeatureExtractor.from_pretrained(model_id)
model = Wav2Vec2ForSequenceClassification.from_pretrained(model_id)
音频分类
现在我们处理音频数据,并将处理后的音频数据传递给模型,以将其分类为某种语言,就像我们通常对 Wav2Vec2 音频分类模型(如 ehcalabres/wav2vec2-lg-xlsr-en-speech-emotion-recognition)所做的那样。
# 英语音频分类
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'
# 阿拉伯语音频分类
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()
有关该架构的更多详细信息,请查看 官方文档。
✨ 主要特性
- 多语言支持:该模型支持 256 种语言,能够准确识别多种语言的语音。
- 基于先进架构:基于 Wav2Vec2 架构,具有良好的性能和泛化能力。
📦 安装指南
安装所需的库,具体安装命令如下:
pip install torch accelerate torchaudio datasets
pip install --upgrade transformers
若 transformers
版本未达到要求,可从源代码安装:
pip install git+https://github.com/huggingface/transformers.git
💻 使用示例
基础用法
from datasets import load_dataset, Audio
from transformers import Wav2Vec2ForSequenceClassification, AutoFeatureExtractor
import torch
# 加载英语音频样本
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"]
# 加载模型和处理器
model_id = "facebook/mms-lid-256"
processor = AutoFeatureExtractor.from_pretrained(model_id)
model = Wav2Vec2ForSequenceClassification.from_pretrained(model_id)
# 处理音频数据
inputs = processor(en_sample, sampling_rate=16_000, return_tensors="pt")
# 进行推理
with torch.no_grad():
outputs = model(**inputs).logits
# 获取预测的语言 ID
lang_id = torch.argmax(outputs, dim=-1)[0].item()
detected_lang = model.config.id2label[lang_id]
print(detected_lang)
高级用法
# 可以通过循环处理多个音频样本
from datasets import load_dataset, Audio
from transformers import Wav2Vec2ForSequenceClassification, AutoFeatureExtractor
import torch
model_id = "facebook/mms-lid-256"
processor = AutoFeatureExtractor.from_pretrained(model_id)
model = Wav2Vec2ForSequenceClassification.from_pretrained(model_id)
languages = ["en", "ar"] # 要处理的语言列表
for lang in languages:
stream_data = load_dataset("mozilla-foundation/common_voice_13_0", lang, split="test", streaming=True)
stream_data = stream_data.cast_column("audio", Audio(sampling_rate=16000))
sample = next(iter(stream_data))["audio"]["array"]
inputs = processor(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]
print(f"Detected language for {lang}: {detected_lang}")
📚 详细文档
支持的语言
本模型支持 256 种语言。点击下面的按钮展开查看此模型支持的所有语言的 ISO 639-3 代码。你可以在 MMS 语言覆盖概述 中找到有关这些语言及其 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
- kmr
- nob
- uzb
- snd
- lat
- nya
- grn
- mya
- orm
- lin
- hye
- yue
- pan
- jpn
- kaz
- npi
- kik
- kat
- guj
- kan
- tgk
- ukr
- ces
- lav
- bak
- khm
- fao
- glg
- ltz
- xog
- lao
- mlt
- sin
- aka
- sna
- ita
- srp
- mri
- nno
- pus
- eus
- ory
- lug
- bre
- luo
- slk
- ewe
- fin
- rif
- dan
- yid
- yao
- mos
- hne
- est
- dyu
- bam
- uig
- sck
- tso
- mup
- ctg
- ceb
- war
- bbc
- vmw
- sid
- tpi
- mag
- san
- kri
- lon
- kir
- run
- ubl
- kin
- rkt
- xmm
- tir
- mai
- nan
- nyn
- bcc
- hak
- suk
- bem
- rmy
- awa
- pcm
- bgc
- shn
- oci
- wol
- bci
- kab
- ilo
- bcl
- haw
- mad
- nod
- sag
- sas
- jam
- mey
- shi
- hil
- ace
- kam
- min
- umb
- hno
- ban
- syl
- bxg
- xho
- mww
- epo
- tzm
- zul
- ibo
- abk
- guz
- ckb
- knc
- nso
- bho
- dje
- tiv
- gle
- lua
- skr
- bto
- kea
- glk
- ast
- sat
- ktu
- bhb
- emk
- kng
- kmb
- tsn
- gom
- ven
- sco
- glv
- sot
- sou
- gno
- nde
- bjn
- ina
- fmu
- esg
- wes
- pnb
- phr
- mui
- bug
- mrr
- kas
- lir
- vah
- ssw
- rwr
- pcc
- hms
- wbr
- swv
- mtr
- haz
- aii
- bns
- msi
- wuu
- hsn
- bgp
- tts
- lmn
- dcc
- bew
- bjj
- ibb
- tji
- hoj
- cpx
- cdo
- daq
- mut
- nap
- czh
- gdx
- sdh
- scn
- mnp
- bar
- mzn
- gsw
模型详情
属性 | 详情 |
---|---|
开发者 | Vineel Pratap 等人 |
模型类型 | 多语言自动语音识别模型 |
支持语言 | 256 种语言,详见 支持的语言 |
许可证 | 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} } |
额外链接
📄 许可证
本模型使用 CC-BY-NC 4.0 许可证。
Mms Lid 126
基于Facebook大规模多语言语音项目微调的语言识别模型,支持126种语言的音频分类
音频分类
Transformers 支持多种语言

M
facebook
2.1M
26
Wav2vec2 Base Finetuned Speech Commands V0.02
Apache-2.0
该模型是基于facebook/wav2vec2-base在speech_commands数据集上微调的语音命令识别模型,准确率达97.59%。
音频分类
Transformers

W
0xb1
1.2M
0
Whisper Medium Fleurs Lang Id
Apache-2.0
基于OpenAI Whisper-medium微调的语音语种识别模型,在FLEURS数据集上达到88.05%准确率
音频分类
Transformers

W
sanchit-gandhi
590.30k
14
Wav2vec2 Large Robust 12 Ft Emotion Msp Dim
该模型通过对Wav2Vec2-Large-Robust进行微调训练,用于语音情感识别,输出唤醒度、支配度和效价三个维度的预测值。
音频分类
Transformers 英语

W
audeering
394.51k
109
Lang Id Voxlingua107 Ecapa
Apache-2.0
基于SpeechBrain框架和ECAPA-TDNN架构的语音语言识别模型,支持107种语言的识别和语音嵌入向量提取。
音频分类
PyTorch 支持多种语言
L
speechbrain
330.01k
112
Ast Finetuned Audioset 10 10 0.4593
Bsd-3-clause
音频频谱图变换器(AST)是基于AudioSet微调的模型,将音频转换为频谱图后应用视觉变换器进行音频分类。
音频分类
Transformers

A
MIT
308.88k
311
Whisper Small Ft Common Language Id
Apache-2.0
基于openai/whisper-small微调的通用语言识别模型,在评估集上准确率达88.6%
音频分类
Transformers

W
sanchit-gandhi
256.20k
2
Emotion Recognition Wav2vec2 IEMOCAP
Apache-2.0
使用微调的wav2vec2模型进行语音情感识别,在IEMOCAP数据集上训练
音频分类
PyTorch 英语
E
speechbrain
237.65k
131
Ast Finetuned Audioset 14 14 0.443
Bsd-3-clause
基于AudioSet数据集微调的音频频谱图变换器,将音频转换为频谱图后使用视觉变换器架构处理,在音频分类任务中表现优异。
音频分类
Transformers

A
MIT
194.20k
5
Wav2vec2 Large Xlsr 53 Gender Recognition Librispeech
Apache-2.0
基于Librispeech-clean-100数据集微调的性别识别模型,在测试集上F1分数达0.9993
音频分类
Transformers

W
alefiury
182.33k
42
精选推荐AI模型
Llama 3 Typhoon V1.5x 8b Instruct
专为泰语设计的80亿参数指令模型,性能媲美GPT-3.5-turbo,优化了应用场景、检索增强生成、受限生成和推理任务
大型语言模型
Transformers 支持多种语言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一个基于SODA数据集训练的超小型对话模型,专为边缘设备推理设计,体积仅为Cosmo-3B模型的2%左右。
对话系统
Transformers 英语

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基于RoBERTa架构的中文抽取式问答模型,适用于从给定文本中提取答案的任务。
问答系统 中文
R
uer
2,694
98