🚀 VoxLingua107 ECAPA - TDNN 口语语言识别模型
本模型是一个基于语音的语言识别模型,使用 SpeechBrain 在 VoxLingua107 数据集 上训练得到。它能够根据语音识别出对应的语言,为语音处理和多语言应用提供了强大支持。
🚀 快速开始
本模型有两种主要用途:
- 直接用于口语语言识别。
- 作为话语级特征(嵌入)提取器,用于在您自己的数据上创建专用的语言识别模型。
✨ 主要特性
- 多语言覆盖:能够对 107 种不同语言进行分类,包括但不限于英语、中文、日语、法语等。
- 架构优势:采用了之前用于说话人识别的 ECAPA - TDNN 架构。
📦 安装指南
文档未提及安装步骤,暂无法提供。
💻 使用示例
基础用法
import torchaudio
from speechbrain.pretrained import EncoderClassifier
language_id = EncoderClassifier.from_hparams(source="TalTechNLP/voxlingua107-epaca-tdnn", savedir="tmp")
signal = language_id.load_audio("https://omniglot.com/soundfiles/udhr/udhr_th.mp3")
prediction = language_id.classify_batch(signal)
print(prediction)
(tensor([[0.3210, 0.3751, 0.3680, 0.3939, 0.4026, 0.3644, 0.3689, 0.3597, 0.3508,
0.3666, 0.3895, 0.3978, 0.3848, 0.3957, 0.3949, 0.3586, 0.4360, 0.3997,
0.4106, 0.3886, 0.4177, 0.3870, 0.3764, 0.3763, 0.3672, 0.4000, 0.4256,
0.4091, 0.3563, 0.3695, 0.3320, 0.3838, 0.3850, 0.3867, 0.3878, 0.3944,
0.3924, 0.4063, 0.3803, 0.3830, 0.2996, 0.4187, 0.3976, 0.3651, 0.3950,
0.3744, 0.4295, 0.3807, 0.3613, 0.4710, 0.3530, 0.4156, 0.3651, 0.3777,
0.3813, 0.6063, 0.3708, 0.3886, 0.3766, 0.4023, 0.3785, 0.3612, 0.4193,
0.3720, 0.4406, 0.3243, 0.3866, 0.3866, 0.4104, 0.4294, 0.4175, 0.3364,
0.3595, 0.3443, 0.3565, 0.3776, 0.3985, 0.3778, 0.2382, 0.4115, 0.4017,
0.4070, 0.3266, 0.3648, 0.3888, 0.3907, 0.3755, 0.3631, 0.4460, 0.3464,
0.3898, 0.3661, 0.3883, 0.3772, 0.9289, 0.3687, 0.4298, 0.4211, 0.3838,
0.3521, 0.3515, 0.3465, 0.4772, 0.4043, 0.3844, 0.3973, 0.4343]]), tensor([0.9289]), tensor([94]), ['th'])
print(prediction[3])
['th']
emb = language_id.encode_batch(signal)
print(emb.shape)
torch.Size([1, 1, 256])
高级用法
文档未提及高级用法代码示例,暂无法提供。
📚 详细文档
模型描述
这是一个使用 SpeechBrain 在 VoxLingua107 数据集 上训练的口语语言识别模型。该模型使用了之前用于说话人识别的 ECAPA - TDNN 架构,能够根据所说的语言对语音进行分类,覆盖了 107 种不同的语言,包括阿布哈兹语、南非荷兰语、阿姆哈拉语等。
预期用途和局限性
用途
- 直接用于口语语言识别。
- 作为话语级特征(嵌入)提取器,用于在您自己的数据上创建专用的语言识别模型。
局限性和偏差
由于该模型是在 VoxLingua107 上训练的,因此存在许多局限性和偏差,其中一些如下:
- 对小语种的识别准确率可能相当有限。
- 对女性语音的识别效果可能比男性语音差(因为 YouTube 数据中男性语音更多)。
- 根据主观实验,对带有外国口音的语音识别效果不佳。
- 对儿童语音和有语言障碍的人的语音识别效果可能不佳。
训练数据
该模型在 VoxLingua107 上进行训练。VoxLingua107 是一个用于训练口语语言识别模型的语音数据集,由从 YouTube 视频中自动提取的短语音片段组成,并根据视频标题和描述的语言进行标注,经过一些后处理步骤以过滤掉误报。该数据集包含 107 种语言的数据,训练集中语音的总时长为 6628 小时,每种语言的平均数据量为 62 小时,但每种语言的实际数据量差异很大。此外,还有一个单独的开发集,包含来自 33 种语言的 1609 个语音片段,由至少两名志愿者验证确实包含给定的语言。
训练过程
使用 SpeechBrain 训练该模型,训练配方将很快发布。
评估结果
在开发数据集上的错误率为 7%。
🔧 技术细节
文档未提及详细技术细节,暂无法提供。
📄 许可证
本项目采用 Apache - 2.0 许可证。
BibTeX 引用和引用信息
@inproceedings{valk2021slt,
title={{VoxLingua107}: a Dataset for Spoken Language Recognition},
author={J{\"o}rgen Valk and Tanel Alum{\"a}e},
booktitle={Proc. IEEE SLT Workshop},
year={2021},
}