目录

torchaudio.pipelines 中

该模块将具有支持函数和元数据的预训练模型打包到为执行特定任务而量身定制的简单 API 中。torchaudio.pipelines

当使用预先训练的模型执行任务时,除了使用预先训练的权重实例化模型外,客户端代码还需要构建用于特征提取和后处理的管道,就像在训练期间一样。这需要携带训练期间使用的信息,例如转换类型及其参数(例如,采样率、FFT 箱的数量)。

为了使此信息与预先训练的模型相关联并易于访问,module 使用了 Bundle 类的概念,该类定义了一组 API 来实例化管道以及管道的接口。torchaudio.pipelines

下图对此进行了说明。

https://download.pytorch.org/torchaudio/doc-assets/pipelines-intro.png

预先训练的模型和关联的管道表示为 .同一实例的不同实例共享接口,但它们的实现不受相同类型的限制。例如,定义用于执行源分离的接口,但其实例实例化 while 的模型实例化 的模型尽管如此,由于它们共享相同的接口,因此用法是相同的。BundleBundle

注意

在后台,的实现使用来自其他模块的组件,例如 ,甚至是第三方库,如 SentencPieceDeepPhonemizer。但是这个实现细节对库用户来说是抽象出来的。Bundletorchaudio

RNN-T 流/非流 ASR

接口

RNNTBundle定义 ASR 管道,包括三个步骤:特征提取、推理和去标记化。

https://download.pytorch.org/torchaudio/doc-assets/pipelines-rnntbundle.png

RNNTBundle

将用于执行自动语音识别(ASR,语音转文本)推理的组件与 RNN-T 模型捆绑在一起的数据类。

RNNTBundle.FeatureExtractor

RNN-T 流水线特征提取部分的接口

RNNTBundle.TokenProcessor

RNN-T 流水线的令牌处理器部分的接口

使用RNNTBundle

使用 Emformer RNN-T 的在线 ASR

使用 Emformer RNN-T 的在线 ASR

使用 Emformer RNN-T 的在线 ASR
使用 Emformer RNN-T 的设备 ASR

使用 Emformer RNN-T 的设备 ASR

使用 Emformer RNN-T 的设备 ASR

预训练模型

EMFORMER_RNNT_BASE_LIBRISPEECH

基于 Emformer-RNNT 的 ASR 管道,在 LibriSpeech 数据集 [Panayotov et al., 2015] 上进行预训练,能够执行流式和非流式推理。

wav2vec 2.0 / HuBERT / WavLM - SSL

接口

Wav2Vec2Bundle实例化生成可用于下游推理和微调的声学特征的模型。

https://download.pytorch.org/torchaudio/doc-assets/pipelines-wav2vec2bundle.png

Wav2Vec2Bundle

捆绑相关信息以使用 pretrained 的数据类。

预训练模型

WAV2VEC2_BASE

Wav2vec 2.0 模型(“基础”架构),根据 LibriSpeech 数据集 [Panayotov et al., 2015](“train-clean-100”、“train-clean-360”和“train-other-500”的组合)中 960 小时的未标记音频进行预训练,未进行微调。

WAV2VEC2_LARGE

Wav2vec 2.0 模型(“大型”架构),使用 LibriSpeech 数据集 [Panayotov et al., 2015](“train-clean-100”、“train-clean-360”和“train-other-500”的组合)中 960 小时的未标记音频进行预训练,未进行微调。

WAV2VEC2_LARGE_LV60K

Wav2vec 2.0 模型(“large-lv60k”架构),使用 Libri-Light 数据集 [Kahn et al., 2020] 中 60,000 小时的未标记音频进行预训练,未进行微调。

WAV2VEC2_XLSR53

Wav2vec 2.0 模型(“基础”架构),基于来自多个数据集(多语言 LibriSpeech [Pratap et al., 2020]CommonVoice [Ardila et al., 2020]BABEL [Gales et al., 2014])的 56000 小时未标记音频进行预训练,未进行微调。

WAV2VEC2_XLSR_300M

具有 3 亿个参数的 XLS-R 模型,对来自多个数据集的 436,000 小时未标记音频进行预训练(多语言 LibriSpeech [Pratap et al., 2020]CommonVoice [Ardila et al., 2020]VoxLingua107 [Valk and Alumäe, 2021]BABEL [Gales et al., 2014]VoxPopuli [Wang et al., 2021]) 的 128 种语言版本,未进行微调。

WAV2VEC2_XLSR_1B

具有 10 亿个参数的 XLS-R 模型,在来自多个数据集的 436,000 小时未标记音频上进行预训练(多语言 LibriSpeech [Pratap et al., 2020]CommonVoice [Ardila et al., 2020]VoxLingua107 [Valk and Alumäe, 2021]BABEL [Gales et al., 2014]VoxPopuli [Wang et al., 2021]) 的 128 种语言版本,未进行微调。

WAV2VEC2_XLSR_2B

具有 20 亿个参数的 XLS-R 模型,在来自多个数据集的 436,000 小时未标记音频上进行预训练(多语言 LibriSpeech [Pratap et al., 2020]CommonVoice [Ardila et al., 2020]VoxLingua107 [Valk and Alumäe, 2021]BABEL [Gales et al., 2014]VoxPopuli [Wang et al., 2021]) 的 128 种语言版本,未进行微调。

HUBERT_BASE

HuBERT 模型(“基础”架构),根据 LibriSpeech 数据集 [Panayotov et al., 2015] 中的 960 小时未标记音频进行预训练(“train-clean-100”、“train-clean-360”和“train-other-500”的组合),未微调。

HUBERT_LARGE

HuBERT 模型(“大型”架构),在 Libri-Light 数据集 [Kahn et al., 2020] 中 60,000 小时的未标记音频上进行了预训练,未进行微调。

HUBERT_XLARGE

HuBERT 模型(“超大”架构),使用 Libri-Light 数据集 [Kahn et al., 2020] 中 60,000 小时的未标记音频进行预训练,未进行微调。

WAVLM_BASE

WavLM 基础模型(“基础”架构),基于 LibriSpeech 数据集 [Panayotov et al., 2015] 中 960 小时的未标记音频进行预训练,未进行微调。

WAVLM_BASE_PLUS

WavLM Base+ 模型(“基础”架构),在 60,000 小时的 Libri-Light 数据集 [Kahn et al., 2020]、10,000 小时的 GigaSpeech [Chen et al., 2021] 和 24,000 小时的 VoxPopuli [Wang et al., 2021] 上进行预训练,未进行微调。

WAVLM_LARGE

WavLM 大型模型(“大型”架构),在 60,000 小时的 Libri-Light 数据集 [Kahn et al., 2020]、10,000 小时的 GigaSpeech [Chen et al., 2021] 和 24,000 小时的 VoxPopuli [Wang et al., 2021] 上进行了预训练,未进行微调。

wav2vec 2.0 / HuBERT - 微调的 ASR

接口

Wav2Vec2ASRBundle实例化在预定义标签上生成概率分布的模型,这些标签可用于 ASR。

https://download.pytorch.org/torchaudio/doc-assets/pipelines-wav2vec2asrbundle.png

Wav2Vec2ASRBundle

捆绑相关信息以使用 pretrained 的数据类。

使用Wav2Vec2ASRBundle

使用 Wav2Vec2 进行语音识别

使用 Wav2Vec2 进行语音识别

使用 Wav2Vec2 进行语音识别
使用 CTC 解码器进行 ASR 推理

使用 CTC 解码器进行 ASR 推理

使用 CTC 解码器进行 ASR 推理
使用 Wav2Vec2 强制对齐

使用 Wav2Vec2 强制对齐

使用 Wav2Vec2 强制对齐

预训练模型

WAV2VEC2_ASR_BASE_10M

Wav2vec 2.0 模型(带有额外线性模块的“基础”架构),对 LibriSpeech 数据集 [Panayotov et al., 2015](“train-clean-100”、“train-clean-360”和“train-other-500”的组合)中 960 小时的未标记音频进行了预训练,并在 Libri-Light 数据集 [Kahn et al., 2020](“train-10min”子集)的 10 分钟转录音频上针对 ASR 进行了微调。

WAV2VEC2_ASR_BASE_100H

Wav2vec 2.0 模型(带有额外线性模块的“基础”架构),对来自 LibriSpeech 数据集 [Panayotov et al., 2015](“train-clean-100”、“train-clean-360”和“train-other-500”的组合)的 960 小时未标记音频进行了预训练,并在“train-clean-100”子集的 100 小时转录音频上针对 ASR 进行了微调。

WAV2VEC2_ASR_BASE_960H

Wav2vec 2.0 模型(带有额外线性模块的“基础”架构),对来自 LibriSpeech 数据集 [Panayotov et al., 2015](“train-clean-100”、“train-clean-360”和“train-other-500”的组合)的 960 小时未标记音频进行了预训练,并针对具有相应转录本的相同音频的 ASR 进行了微调。

WAV2VEC2_ASR_LARGE_10M

Wav2vec 2.0 模型(带有额外线性模块的“大型”架构),对 LibriSpeech 数据集 [Panayotov et al., 2015](“train-clean-100”、“train-clean-360”和“train-other-500”的组合)中 960 小时的未标记音频进行了预训练,并在 Libri-Light 数据集 [Kahn et al., 2020](“train-10min”子集)的 10 分钟转录音频上针对 ASR 进行了微调。

WAV2VEC2_ASR_LARGE_100H

Wav2vec 2.0 模型(带有额外线性模块的“大型”架构),对 LibriSpeech 数据集 [Panayotov et al., 2015](“train-clean-100”、“train-clean-360”和“train-other-500”的组合)中的 960 小时未标记音频进行了预训练,并在来自同一数据集(“train-clean-100”子集)的 100 小时转录音频上针对 ASR 进行了微调。

WAV2VEC2_ASR_LARGE_960H

Wav2vec 2.0 模型(带有额外线性模块的“大型”架构),对来自 LibriSpeech 数据集 [Panayotov et al., 2015](“train-clean-100”、“train-clean-360”和“train-other-500”的组合)的 960 小时未标记音频进行了预训练,并针对具有相应转录的相同音频的 ASR 进行了微调。

WAV2VEC2_ASR_LARGE_LV60K_10M

Wav2vec 2.0 模型(“大型 lv60k”架构,带有额外的线性模块),使用 Libri-Light 数据集 [Kahn et al., 2020] 中 60,000 小时的未标记音频进行预训练,并在来自同一数据集的 10 分钟转录音频(“train-10min”子集)上针对 ASR 进行了微调。

WAV2VEC2_ASR_LARGE_LV60K_100H

Wav2vec 2.0 模型(“large-lv60k”架构,带有一个额外的线性模块),在 Libri-Light 数据集 [Kahn et al., 2020] 中 60,000 小时的未标记音频上进行了预训练,并在 LibriSpeech 数据集 [Panayotov et al., 2015](“train-clean-100”子集)中 100 小时的转录音频上进行了 ASR 微调。

WAV2VEC2_ASR_LARGE_LV60K_960H

Wav2vec 2.0 模型(“large-lv60k”架构,带有额外的线性模块),对 Libri-Light [Kahn et al., 2020] 数据集中 60,000 小时的未标记音频进行了预训练,并在 LibriSpeech 数据集 [Panayotov et al., 2015](“train-clean-100”、“train-clean-360”和“train-other-500”的组合)中对 960 小时的转录音频进行了 ASR 微调。

VOXPOPULI_ASR_BASE_10K_DE

wav2vec 2.0 模型(“基础”架构),对来自 VoxPopuli 数据集 [Wang et al., 2021](“10k”子集,由 23 种语言组成)的 10k 小时未标记音频进行预训练,并针对 “de” 子集的 282 小时转录音频的 ASR 进行了微调。

VOXPOPULI_ASR_BASE_10K_EN

wav2vec 2.0 模型(“基础”架构),在 VoxPopuli 数据集 [Wang et al., 2021](“10k”子集,由 23 种语言组成)的 10k 小时未标记音频上进行预训练,并在“en”子集的 543 小时转录音频上针对 ASR 进行了微调。

VOXPOPULI_ASR_BASE_10K_ES

wav2vec 2.0 模型(“基础”架构),对 VoxPopuli 数据集 [Wang et al., 2021](“10k”子集,由 23 种语言组成)的 10k 小时未标记音频进行了预训练,并针对 “es” 子集的 166 小时转录音频的 ASR 进行了微调。

VOXPOPULI_ASR_BASE_10K_FR

wav2vec 2.0 模型(“基础”架构),对来自 VoxPopuli 数据集 [Wang et al., 2021](“10k”子集,由 23 种语言组成)的 10k 小时未标记音频进行了预训练,并针对来自“fr”子集的 211 小时转录音频的 ASR 进行了微调。

VOXPOPULI_ASR_BASE_10K_IT

wav2vec 2.0 模型(“基础”架构),对来自 VoxPopuli 数据集 [Wang et al., 2021](“10k”子集,由 23 种语言组成)的 10k 小时未标记音频进行了预训练,并针对 ASR 对来自“it”子集的 91 小时转录音频进行了微调。

HUBERT_ASR_LARGE

HuBERT 模型(“大型”架构),在 Libri-Light 数据集 [Kahn et al., 2020] 的 60,000 小时未标记音频上进行预训练,并在 LibriSpeech 数据集 [Panayotov et al., 2015](“train-clean-100”、“train-clean-360”和“train-other-500”的组合)的 960 小时转录音频上针对 ASR 进行了微调。

HUBERT_ASR_XLARGE

HuBERT 模型(“超大”架构),在 Libri-Light 数据集 [Kahn et al., 2020] 中 60,000 小时的未标记音频上进行了预训练,并在 LibriSpeech 数据集 [Panayotov et al., 2015](“train-clean-100”、“train-clean-360”和“train-other-500”的组合)中对 960 小时的转录音频进行了 ASR 微调。

wav2vec 2.0 / HuBERT - 强制对齐

接口

Wav2Vec2FABundle捆绑预先训练的模型及其关联的字典。此外,它还支持追加标记维度。star

https://download.pytorch.org/torchaudio/doc-assets/pipelines-wav2vec2fabundle.png

Wav2Vec2FABundle

Data 类,该类捆绑了相关信息以使用预训练进行强制对齐。

Wav2Vec2FABundle.Tokenizer

分词器的接口

Wav2Vec2FABundle.Aligner

对准器的接口

使用Wav2Vec2FABundle

CTC 强制对齐 API 教程

CTC 强制对齐 API 教程

CTC 强制对齐 API 教程
多语言数据的强制对齐

多语言数据的强制对齐

多语言数据的强制对齐
使用 Wav2Vec2 强制对齐

使用 Wav2Vec2 强制对齐

使用 Wav2Vec2 强制对齐

已训练模型

MMS_FA

将语音技术扩展到 1,000+ 种语言,以 1,130 种语言的 31K 小时数据进行训练 [Pratap et al., 2023]。

Tacotron2 文本转语音

Tacotron2TTSBundle定义文本转语音管道,包括三个步骤:分词化、频谱图生成和声码器。频谱图的生成基于模型。

https://download.pytorch.org/torchaudio/doc-assets/pipelines-tacotron2bundle.png

TextProcessor在字符的情况下,可以是基于规则的标记化,也可以是基于 neural-netowrk 的 G2P 模型,从输入文本生成音素序列。

同样,可以是没有学习参数的算法,如 Griffin-Lim,或基于神经网络的模型,如 WaveglowVocoder

接口

Tacotron2TTSBundle

捆绑相关信息以使用预训练的 Tacotron2 和声码器的数据类。

Tacotron2TTSBundle.TextProcessor

Tacotron2TTS 流水线的文本处理部分的接口

Tacotron2TTSBundle.Vocoder

Tacotron2TTS 管道的声码器部分的接口

使用Tacotron2TTSBundle

使用 Tacotron2 的文本转语音

使用 Tacotron2 的文本转语音

使用 Tacotron2 的文本转语音

预训练模型

TACOTRON2_WAVERNN_PHONE_LJSPEECH

基于音素的 TTS 管道,LJSpeech [Ito 和 Johnson,2017] 上训练了 1,500 个时期,声码器在 LJSpeech [Ito 和 Johnson,2017] 的 8 位深度波形上训练了 10,000 个时期。

TACOTRON2_WAVERNN_CHAR_LJSPEECH

基于字符的 TTS 管道,LJSpeech [Ito 和 Johnson,2017] 上训练了 1,500 个时期,声码器在 LJSpeech [Ito 和 Johnson,2017] 的 8 位深度波形上训练了 10,000 个时期。

TACOTRON2_GRIFFINLIM_PHONE_LJSPEECH

基于音素的 TTS 管道,LJSpeech [Ito 和 Johnson,2017] 上训练了 1,500 个时期,并作为声码器。

TACOTRON2_GRIFFINLIM_CHAR_LJSPEECH

基于字符的 TTS 管道,LJSpeech [Ito 和 Johnson,2017] 上训练了 1,500 个时期,并作为声码器。

源分离

接口

SourceSeparationBundle实例化采用单声道音频并生成多声道音频的源分离模型。

https://download.pytorch.org/torchaudio/doc-assets/pipelines-sourceseparationbundle.png

SourceSeparationBundle

捆绑组件以执行源分离的 Data类。

使用SourceSeparationBundle

使用 Hybrid Demucs 进行音乐源分离

使用 Hybrid Demucs 进行音乐源分离

使用 Hybrid Demucs 进行音乐源分离

预训练模型

CONVTASNET_BASE_LIBRI2MIX

使用 ConvTasNet 的预训练源分离管道 [Luo 和 Mesgarani,2019]Libri2Mix 数据集 [Cosentino et al., 2020] 上训练。

HDEMUCS_HIGH_MUSDB_PLUS

使用 Hybrid Demucs [Défossez, 2021] 的预训练音乐源分离管道在 MUSDB-HQ 的训练集和测试集上进行了训练 [Rafii et al., 2019] 以及来自专门为 Meta 制作的内部数据库的额外 150 首歌曲。

HDEMUCS_HIGH_MUSDB

使用 Hybrid Demucs [Défossez, 2021] 在 MUSDB-HQ 的训练集 [Rafii et al., 2019] 上训练的预训练音乐源分离管道。

Squim 物镜

接口

定义语音质量和清晰度测量 (SQUIM) 管道,该管道可以预测给定输入波形的客观指标分数。

SquimObjectiveBundle

捆绑相关信息以使用预训练模型的数据类。

预训练模型

SQUIM_OBJECTIVE

SquimObjective 管道使用 DNS 2020 数据集 [Reddy et al., 2020] 上 [Kumar et al., 2023] 中描述的方法进行训练。

Squim 主观

接口

定义语音质量和清晰度测量 (SQUIM) 管道,该管道可以预测给定输入波形的主指标分数。

SquimSubjectiveBundle

捆绑相关信息以使用预训练模型的数据类。

预训练模型

SQUIM_SUBJECTIVE

SquimSubjective 管道按照 [Manocha 和 Kumar,2022] 和 [Kumar et al., 2023]BVCC [Cooper 和 Yamagishi,2021]DAPS [Mysore,2014] 数据集上的描述进行训练。

文档

访问 PyTorch 的全面开发人员文档

查看文档

教程

获取面向初学者和高级开发人员的深入教程

查看教程

资源

查找开发资源并解答您的问题

查看资源