英文

NVIDIA TitaNet-Large (en-US)

| | |

该模型从给定的语音中提取说话者嵌入,这是说话者验证和日志划分任务的基础。它是 TitaNet 的“大”版本(约 23M 参数)。有关完整的架构详细信息,请参见模型架构部分和 NeMo documentation

NVIDIA NeMo: 训练

要训练、微调或使用该模型,您需要安装 NVIDIA NeMo 。我们建议在安装最新的 Pytorch 版本之后安装它。

pip install nemo_toolkit['all']

如何使用此模型

该模型可用于 NeMo 工具包 [3] 中,并可用作预训练的检查点,用于推理或在其他数据集上进行微调。

自动实例化模型

import nemo.collections.asr as nemo_asr
speaker_model = nemo_asr.models.EncDecSpeakerLabelModel.from_pretrained("nvidia/speakerverification_en_titanet_large")

嵌入提取

使用

emb = speaker_model.get_embedding("an255-fash-b.wav")

验证两个语音段(说话者验证)

现在,要检查两个音频文件是否来自同一位说话者,只需执行以下操作:

speaker_model.verify_speakers("an255-fash-b.wav","cen7-fash-b.wav")

提取更多音频文件的嵌入

要从一组音频文件中提取嵌入,请执行以下操作:

将音频文件写入 manifest.json 文件中,每行格式如下:

{"audio_filepath": "<absolute path to dataset>/audio_file.wav", "duration": "duration of file in sec", "label": "speaker_id"}

然后运行以下脚本将提取的嵌入写入当前工作目录:

python <NeMo_root>/examples/speaker_tasks/recognition/extract_speaker_embeddings.py --manifest=manifest.json

输入

该模型接受 16000 KHz 单声道音频(wav 文件)作为输入。

输出

该模型为音频文件提供说话者嵌入。

模型架构

TitaNet 模型是用于说话者验证和日志划分任务的深度分离 conv1D 模型 [1]。有关此模型详细信息,请参见此处: TitaNet-Model

训练

采用 NeMo 工具包 [3] 对模型进行多次训练。这些模型是使用此 example script 和此 base config 进行训练的。

数据集

该系列中的所有模型都是在包含数千小时英语语音的综合数据集上进行训练的:

  • Voxceleb-1
  • Voxceleb-2
  • Fisher
  • Switchboard
  • Librispeech
  • SRE(2004-2010年)

性能

这些模型的性能以等错误率(EER%)在说话者验证评估试验文件上和以日志化测试会话中的日志化错误率(DER%)进行报告。

  • 说话者验证(EER%)

    Version Model Model Size VoxCeleb1 (Cleaned trial file)
    1.10.0 TitaNet-Large 23M 0.66
  • 说话者日志化(DER%)

    Version Model Model Size Evaluation Condition NIST SRE 2000 AMI (Lapel) AMI (MixHeadset) CH109
    1.10.0 TitaNet-Large 23M Oracle VAD KNOWN # of Speakers 6.73 2.03 1.73 1.19
    1.10.0 TitaNet-Large 23M Oracle VAD UNKNOWN # of Speakers 5.38 2.03 1.89 1.63

限制

该模型是在 voxceleb 数据集、Fisher 和 switch board 的电话和非电话性语音上进行训练的。如果您的数据领域与训练数据不同或性能不太好,请考虑针对该语音领域进行微调。

NVIDIA Riva: 部署

Riva 是一款经过加速的语音 AI SDK,可在本地、所有云、多云、混合云、边缘和嵌入式设备上部署。此外,Riva 还提供:

  • 基于专有数据训练的模型检查点,为最常见的语言提供世界一流的即用即得准确性,使用数十万 GPU 计算小时进行训练
  • 具备最佳准确性的运行时词提升(如品牌和产品名称)以及对声学模型、语言模型和逆文本归一化的定制化支持
  • 流式语音识别、兼容 Kubernetes 的扩展性和企业级支持

尽管该模型当前尚未获得 Riva 的支持,但您可以查看 list of supported models is here 了解更多详情。

引用

[1] TitaNet: Neural Model for Speaker Representation with 1D Depth-wise Separable convolutions and global context [2] NVIDIA NeMo Toolkit

许可

使用此模型的许可受到 CC-BY-4.0 的约束。通过下载公共和发布版的模型,您接受 CC-BY-4.0 许可的条款和条件。

.hf-sanitized.hf-sanitized-_7M-MeRwfrws7p0oSnamV img {display: inline;}