torchaudio.pipelines
torchaudio.pipelines
模块将预训练模型与支持函数和元数据打包成简单的 API,专门用于执行特定任务。
在使用预训练模型执行任务时,除了使用预训练权重实例化模型外,客户端代码还需要以与训练时相同的方式构建特征提取和后处理流程。这需要携带训练期间使用的信息,例如变换类型及其参数(例如采样率、FFT 频段数量)。
为了使这些信息与预训练模型绑定并易于访问,torchaudio.pipelines
模块使用了 Bundle 类的概念。Bundle 类定义了一组 API 来实例化流程,并定义了这些流程的接口。
下图展示了这一概念。
预训练模型及其关联的流程表示为 Bundle
的一个实例。相同 Bundle
的不同实例共享接口,但它们的实现类型并不受限制。例如,SourceSeparationBundle
定义了执行源分离的接口,但其实例 CONVTASNET_BASE_LIBRI2MIX
实例化了 ConvTasNet
模型,而 HDEMUCS_HIGH_MUSDB
实例化了 HDemucs
模型。尽管如此,由于它们共享相同的接口,使用方式是一致的。
在底层,
Bundle
的实现使用了其他torchaudio
模块中的组件,例如torchaudio.models
和torchaudio.transforms
,甚至还包括第三方库如 SentencPiece 和 DeepPhonemizer。但这些实现细节对库用户是透明的。
RNN-T 流式/非流式自动语音识别
接口
RNNTBundle
定义了自动语音识别(ASR)流程,并包含三个步骤:特征提取、推理和去标记化。
RNNTBundle |
用于执行自动语音识别(ASR,语音转文本)推理的组件的数据类,这些组件与 RNN-T 模型一起使用。 |
RNNTBundle.FeatureExtractor |
RNN-T 管道中特征提取部分的接口 |
RNNTBundle.TokenProcessor |
RNN-T 管道中令牌处理器的接口 |
使用 RNNTBundle
的教程
预训练模型
EMFORMER_RNNT_BASE_LIBRISPEECH |
基于 Emformer-RNNT 的 ASR 流水线,预训练于LibriSpeech数据集 [Panayotov等人, 2015能够执行流式和非流式推理。 |
wav2vec 2.0 / HuBERT / WavLM - 自监督学习
接口
Wav2Vec2Bundle
实例化生成的模型可以生成用于下游推理和微调的声学特征。
Wav2Vec2Bundle |
用于使用预训练模型的相关信息的数据类Wav2Vec2Model . |
预训练模型
WAV2VEC2_BASE |
Wav2vec 2.0 模型("base" 架构),基于 960 小时未标注音频进行预训练LibriSpeech数据集 [Panayotovet al., 2015]("train-clean-100"、"train-clean-360" 和 "train-other-500" 的组合),未进行微调。 |
WAV2VEC2_LARGE |
Wav2vec 2.0 模型("large" 架构),在 960 小时未标记的音频数据上进行预训练LibriSpeech数据集 [Panayotov等人,2015("train-clean-100"、"train-clean-360" 和 "train-other-500" 的组合),未经过微调。 |
WAV2VEC2_LARGE_LV60K |
Wav2vec 2.0 模型("large-lv60k" 架构),在 60,000 小时的无标签音频数据上进行预训练Libri-Light数据集 [Kahn等人,2020], 未经微调。 |
WAV2VEC2_XLSR53 |
Wav2vec 2.0 模型("基础"架构),在来自多个数据集的 56,000 小时未标记音频上进行了预训练多语言 LibriSpeech[Pratap等人, 2020],CommonVoice[ |
```[Ardila*等*, 2020](references.html#id10)] 以及*BABEL*\[[Gales*等人*,2014](references.html#id9)]), 未进行微调。 |
| [`WAV2VEC2_XLSR_300M`](generated/torchaudio.pipelines.WAV2VEC2_XLSR_300M.html#torchaudio.pipelines.WAV2VEC2_XLSR_300M) | 拥有3亿参数的XLS-R模型,基于来自多个数据集的43.6万小时未标记音频进行预训练。*多语言 LibriSpeech*\[[Pratap*等人*,2020](references.html#id11)],*CommonVoice*\[[Ardila*et al.*, 2020](references.html#id10)],*VoxLingua107*\[[Valk 和 Alumäe, 2021](references.html#id61)],*BABEL*\[[Gales*et al.*, 2014](references.html#id9)], 以及*VoxPopuli*\[[Wang*等人*, 2021](references.html#id5)支持 128 种语言,未经过微调。 |
| [`WAV2VEC2_XLSR_1B`](generated/torchaudio.pipelines.WAV2VEC2_XLSR_1B.html#torchaudio.pipelines.WAV2VEC2_XLSR_1B) | 具有 10 亿参数的 XLS-R 模型,基于来自多个数据集的 43.6 万小时无标注音频进行预训练*多语言 LibriSpeech*\[[Pratap*等人*, 2020](references.html#id11)],*CommonVoice*\[[Ardila*等人*,2020](references.html#id10)],*VoxLingua107*\[[Valk 和 Alumäe, 2021](references.html#id61)],*BABEL*\[[Gales*et al.*, 2014](references.html#id9)], 以及*VoxPopuli*\[[Wang*et al. (以及其他人)*,2021](references.html#id5)支持 128 种语言,未经微调。 |
| [`WAV2VEC2_XLSR_2B`](generated/torchaudio.pipelines.WAV2VEC2_XLSR_2B.html#torchaudio.pipelines.WAV2VEC2_XLSR_2B) | 拥有 20 亿参数的 XLS-R 模型,基于来自多个数据集的 436,000 小时未标记音频进行预训练。*多语言 LibriSpeech*\[[Pratap*等人*,2020](references.html#id11)],*CommonVoice*\[[Ardila*et al.*,2020](references.html#id10)],*VoxLingua107*\[[Valk 和 Alumäe, 2021](references.html#id61)],*BABEL*\[[Gales*et al.*, 2014](references.html#id9)], 以及*VoxPopuli*\[[Wang*et al.*, 2021](references.html#id5)支持128种语言,未经微调。 |
| [`HUBERT_BASE`](generated/torchaudio.pipelines.HUBERT_BASE.html#torchaudio.pipelines.HUBERT_BASE) | HuBERT 模型("base" 架构),在 960 小时的无标签音频数据上进行预训练*LibriSpeech*数据集 \[[Panayotov*et al.*, 2015](references.html#id13)]("train-clean-100"、"train-clean-360" 和 "train-other-500" 的组合),未进行微调。 |
| [`HUBERT_LARGE`](generated/torchaudio.pipelines.HUBERT_LARGE.html#torchaudio.pipelines.HUBERT_LARGE) | HuBERT 模型("large" 架构),基于 60,000 小时未标记音频进行预训练*Libri-Light*数据集 \[[Kahn*等人*, 2020](references.html#id12)], 未进行微调。 |
| [`HUBERT_XLARGE`](generated/torchaudio.pipelines.HUBERT_XLARGE.html#torchaudio.pipelines.HUBERT_XLARGE) | HuBERT 模型("超大"架构),在 60,000 小时的无标签音频上进行预训练*Libri-Light
(注:Libri-Light 是一个专有名词,通常指代一个公开的语音数据集,因此保持英文不变。)*数据集 \[[Kahn*et al.*,2020](references.html#id12)], 未进行微调。 |
| [`WAVLM_BASE`](generated/torchaudio.pipelines.WAVLM_BASE.html#torchaudio.pipelines.WAVLM_BASE) | WavLM Base 模型("base" 架构),基于 960 小时未标记音频进行预训练*LibriSpeech*数据集 \[[Panayotov*等人*, 2015](references.html#id13)], 未进行微调。 |
| [`WAVLM_BASE_PLUS`](generated/torchaudio.pipelines.WAVLM_BASE_PLUS.html#torchaudio.pipelines.WAVLM_BASE_PLUS) | WavLM Base+ 模型("base" 架构),在 60,000 小时的 Libri-Light 数据集上进行预训练 \[[Kahn*et al.*, 2020](references.html#id12)], 10,000 小时的 GigaSpeech \[[Chen*等人*,2021](references.html#id56)],以及 24,000 小时的*VoxPopuli*\[[Wang*et al.*, 2021](references.html#id5)], 未进行微调。 |
| [`WAVLM_LARGE`](generated/torchaudio.pipelines.WAVLM_LARGE.html#torchaudio.pipelines.WAVLM_LARGE) | WavLM 大型模型("large" 架构),基于 60,000 小时的 Libri-Light 数据集进行预训练[Kahn*等人*, 2020](references.html#id12)10,000 小时的 GigaSpeech 数据[Chen*等人*, 2021](references.html#id56)],以及 24,000 小时的*VoxPopuli*\[[Wang*et al.*, 2021](references.html#id5)], 未进行微调。 |
## wav2vec 2.0 / HuBERT - 微调的自动语音识别
### 接口
\[SYSTEM:DELETE\_ME]
`Wav2Vec2ASRBundle` 实例化生成预定义标签概率分布的模型,这些模型可用于自动语音识别(ASR)。

| | |
| ------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| [`Wav2Vec2ASRBundle`](generated/torchaudio.pipelines.Wav2Vec2ASRBundle.html#torchaudio.pipelines.Wav2Vec2ASRBundle) | 用于捆绑相关信息以使用预训练模型的数据类[`Wav2Vec2Model`](generated/torchaudio.models.Wav2Vec2Model.html#torchaudio.models.Wav2Vec2Model). |
使用 `Wav2Vec2ASRBundle` 的教程
<!--div class='modoc-hide-sphx-glr-thumbnails'-->
<!--div class='modoc-hide-sphx-glr-thumbcontainer'-->
\[SYSTEM:DELETE\_ME]

[使用 Wav2Vec2 进行语音识别](tutorials/speech_recognition_pipeline_tutorial.html#sphx-glr-tutorials-speech-recognition-pipeline-tutorial-py)
<!--div class='modoc-hide-sphx-glr-thumbnail-title'-->
使用 Wav2Vec2 进行语音识别
<!--/div-->
<!--/div--><!--div class='modoc-hide-sphx-glr-thumbcontainer'-->
\[SYSTEM:DELETE\_ME]

[使用 CTC 解码器进行 ASR 推理](tutorials/asr_inference_with_ctc_decoder_tutorial.html#sphx-glr-tutorials-asr-inference-with-ctc-decoder-tutorial-py)
<!--div class='modoc-hide-sphx-glr-thumbnail-title'-->
使用 CTC 解码器进行 ASR 推理
<!--/div-->
<!--/div--><!--div class='modoc-hide-sphx-glr-thumbcontainer'-->
\[SYSTEM:DELETE\_ME]

[使用 Wav2Vec2 进行强制对齐](tutorials/forced_alignment_tutorial.html#sphx-glr-tutorials-forced-alignment-tutorial-py)
<!--div class='modoc-hide-sphx-glr-thumbnail-title'-->
使用 Wav2Vec2 进行强制对齐
<!--/div-->
<!--/div-->
<!--/div-->
### 预训练模型
| | |
| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`WAV2VEC2_ASR_BASE_10M`](generated/torchaudio.pipelines.WAV2VEC2_ASR_BASE_10M.html#torchaudio.pipelines.WAV2VEC2_ASR_BASE_10M) | Wav2vec 2.0 模型(“base”架构,带有一个额外的线性模块),基于 960 小时未标记音频数据进行预训练*LibriSpeech*数据集 \[[Panayotov*等*, 2015](references.html#id13)("train-clean-100"、"train-clean-360" 和 "train-other-500" 的组合),并在 10 分钟的转录音频上进行了 ASR 微调。*Libri-Light*数据集 \[[Kahn*等*, 2020](references.html#id12)] ("train-10min" 子集). |
| [`WAV2VEC2_ASR_BASE_100H`](generated/torchaudio.pipelines.WAV2VEC2_ASR_BASE_100H.html#torchaudio.pipelines.WAV2VEC2_ASR_BASE_100H) | Wav2vec 2.0 模型("base" 架构带有一个额外的线性模块),基于 960 小时的无标签音频进行预训练*LibriSpeech*数据集 \[[Panayotov*等人*, 2015](references.html#id13)](由 "train-clean-100"、"train-clean-360" 和 "train-other-500" 组合而成),并在 "train-clean-100" 子集的 100 小时转录音频上进行了 ASR 微调。 |
| [`WAV2VEC2_ASR_BASE_960H`](generated/torchaudio.pipelines.WAV2VEC2_ASR_BASE_960H.html#torchaudio.pipelines.WAV2VEC2_ASR_BASE_960H) | Wav2vec 2.0 模型(“base”架构,带有一个额外的线性模块),在 960 小时的无标签音频数据上进行预训练*LibriSpeech*数据集 \[[Panayotov*等人*, 2015](references.html#id13)(结合了 "train-clean-100"、"train-clean-360" 和 "train-other-500"),并在相同音频及其对应文本上进行了 ASR 微调。 |
| [`WAV2VEC2_ASR_LARGE_10M`](generated/torchaudio.pipelines.WAV2VEC2_ASR_LARGE_10M.html#torchaudio.pipelines.WAV2VEC2_ASR_LARGE_10M) | Wav2vec 2.0 模型(“large”架构,带有一个额外的线性模块),在 960 小时的无标签音频数据上进行预训练*LibriSpeech*数据集 \[[Panayotov*等人*, 2015](references.html#id13)(结合了 "train-clean-100"、"train-clean-360" 和 "train-other-500"),并在 10 分钟的转录音频上进行了 ASR(自动语音识别)微调*Libri-Light*数据集 \[[Kahn*等人*, 2020](references.html#id12)] ("train-10min" 子集). |
| [`WAV2VEC2_ASR_LARGE_100H`](generated/torchaudio.pipelines.WAV2VEC2_ASR_LARGE_100H.html#torchaudio.pipelines.WAV2VEC2_ASR_LARGE_100H) | Wav2vec 2.0 模型(“large”架构,带有一个额外的线性模块),在 960 小时的无标签音频数据上进行了预训练*LibriSpeech*数据集 \[[Panayotov*等人*, 2015](references.html#id13)](结合了“train-clean-100”、“train-clean-360”和“train-other-500”),并在同一数据集的100小时转录音频(“train-clean-100”子集)上进行了自动语音识别(ASR)的微调。 |
| [`WAV2VEC2_ASR_LARGE_960H`](generated/torchaudio.pipelines.WAV2VEC2_ASR_LARGE_960H.html#torchaudio.pipelines.WAV2VEC2_ASR_LARGE_960H) | Wav2vec 2.0 模型(“large”架构,带有一个额外的线性模块),基于 960 小时的无标签音频进行预训练*LibriSpeech*数据集 \[[Panayotov*等人*, 2015](references.html#id13)(结合了 "train-clean-100"、"train-clean-360" 和 "train-other-500"),并在相同音频及其对应文本上进行了 ASR 微调。 |
| [`WAV2VEC2_ASR_LARGE_LV60K_10M`](generated/torchaudio.pipelines.WAV2VEC2_ASR_LARGE_LV60K_10M.html#torchaudio.pipelines.WAV2VEC2_ASR_LARGE_LV60K_10M) | Wav2vec 2.0 模型(采用 "large-lv60k" 架构并包含一个额外的线性模块),在 60,000 小时的无标签音频数据上进行了预训练。*Libri-Light*数据集 \[[Kahn*et al.*, 2020](references.html#id12)],并在同一数据集的10分钟转录音频(“train-10min”子集)上针对ASR进行了微调。 |
| [`WAV2VEC2_ASR_LARGE_LV60K_100H`](generated/torchaudio.pipelines.WAV2VEC2_ASR_LARGE_LV60K_100H.html#torchaudio.pipelines.WAV2VEC2_ASR_LARGE_LV60K_100H) | Wav2vec 2.0 模型(采用 "large-lv60k" 架构并包含一个额外的线性模块),在 60,000 小时的无标签音频数据上进行了预训练。*Libri-Light*数据集 \[[Kahn*等人*, 2020](references.html#id12)],并在100小时的转录音频上针对ASR进行了微调*LibriSpeech*数据集 \[[Panayotov*等人*, 2015](references.html#id13)] ("train-clean-100" 子集). |
| [`WAV2VEC2_ASR_LARGE_LV60K_960H`](generated/torchaudio.pipelines.WAV2VEC2_ASR_LARGE_LV60K_960H.html#torchaudio.pipelines.WAV2VEC2_ASR_LARGE_LV60K_960H) | Wav2vec 2.0 模型("large-lv60k" 架构,带有一个额外的线性模块),在 60,000 小时的无标签音频数据上进行了预训练。*Libri-Light*\[[Kahn*等人*, 2020](references.html#id12)] 数据集,并在 960 小时的转录音频上进行自动语音识别(ASR)的微调*LibriSpeech*数据集 \[[Panayotov*等人*, 2015](references.html#id13)]("train-clean-100"、"train-clean-360" 和 "train-other-500" 的组合)。 |
| [`VOXPOPULI_ASR_BASE_10K_DE`](generated/torchaudio.pipelines.VOXPOPULI_ASR_BASE_10K_DE.html#torchaudio.pipelines.VOXPOPULI_ASR_BASE_10K_DE) | wav2vec 2.0 模型("base" 架构),在 10,000 小时未标注的音频数据上进行预训练*VoxPopuli*数据集 \[[Wang*等人*, 2021](references.html#id5)]("10k" 子集,包含 23 种语言),并在 "de" 子集的 282 小时转录音频上针对 ASR 进行了微调。 |
| [`VOXPOPULI_ASR_BASE_10K_EN`](generated/torchaudio.pipelines.VOXPOPULI_ASR_BASE_10K_EN.html#torchaudio.pipelines.VOXPOPULI_ASR_BASE_10K_EN) | wav2vec 2.0 模型("base"架构),基于10千小时的未标注音频进行预训练*VoxPopuli*数据集 \[[Wang*等人*, 2021](references.html#id5)]("10k" 子集,包含 23 种语言),并在 "en" 子集的 543 小时转录音频上针对 ASR 进行了微调。 |
| [`VOXPOPULI_ASR_BASE_10K_ES`](generated/torchaudio.pipelines.VOXPOPULI_ASR_BASE_10K_ES.html#torchaudio.pipelines.VOXPOPULI_ASR_BASE_10K_ES) | wav2vec 2.0 模型("base" 架构),在 10,000 小时的无标签音频数据上进行预训练*VoxPopuli*数据集 \[[Wang*et al.*, 2021](references.html#id5)("10k" 子集,包含 23 种语言),并在 "es" 子集的 166 小时转录音频上针对 ASR 进行了微调。 |
| [`VOXPOPULI_ASR_BASE_10K_FR`](generated/torchaudio.pipelines.VOXPOPULI_ASR_BASE_10K_FR.html#torchaudio.pipelines.VOXPOPULI_ASR_BASE_10K_FR) | wav2vec 2.0 模型("base" 架构),在 10,000 小时的无标签音频数据上进行预训练*VoxPopuli*数据集 \[[Wang*et al.*, 2021](references.html#id5)]("10k" 子集,包含 23 种语言),并在 "fr" 子集的 211 小时转录音频上进行了 ASR 微调。 |
| [`VOXPOPULI_ASR_BASE_10K_IT`](generated/torchaudio.pipelines.VOXPOPULI_ASR_BASE_10K_IT.html#torchaudio.pipelines.VOXPOPULI_ASR_BASE_10K_IT) | wav2vec 2.0 模型("base" 架构),在 10,000 小时的无标签音频数据上进行预训练*VoxPopuli*数据集 \[[Wang*et al.*,2021](references.html#id5)("10k" 子集,包含 23 种语言),并在 "it" 子集的 91 小时转录音频上针对 ASR 进行了微调。 |
| [`HUBERT_ASR_LARGE`](generated/torchaudio.pipelines.HUBERT_ASR_LARGE.html#torchaudio.pipelines.HUBERT_ASR_LARGE) | HuBERT 模型("large" 架构),在 60,000 小时的无标签音频数据上进行预训练*Libri-Light*数据集 \[[Kahn*et al.*, 2020](references.html#id12)], 并在 960 小时的转录音频上针对 ASR 进行了微调*LibriSpeech*数据集 \[[Panayotov*et al.*, 2015](references.html#id13)]("train-clean-100"、"train-clean-360" 和 "train-other-500" 的组合)。 |
| [`HUBERT_ASR_XLARGE`](generated/torchaudio.pipelines.HUBERT_ASR_XLARGE.html#torchaudio.pipelines.HUBERT_ASR_XLARGE) | HuBERT 模型("超大"架构),在 60,000 小时的无标签音频数据上进行预训练*Libri-Light*数据集 \[[Kahn*等人*, 2020](references.html#id12)],并在 960 小时的转录音频上针对 ASR 进行了微调*LibriSpeech*数据集 \[[Panayotov*同上*, 2015](references.html#id13)("train-clean-100"、"train-clean-360" 和 "train-other-500" 的组合)。 |
## wav2vec 2.0 / HuBERT - 强制对齐
### 接口
\[SYSTEM:DELETE\_ME]
`Wav2Vec2FABundle` 捆绑了预训练模型及其相关的字典。此外,它还支持附加 `star` 标记维度。

| | |
| ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| [`Wav2Vec2FABundle`](generated/torchaudio.pipelines.Wav2Vec2FABundle.html#torchaudio.pipelines.Wav2Vec2FABundle) | 数据类,用于捆绑使用预训练模型的相关信息[`Wav2Vec2Model`](generated/torchaudio.models.Wav2Vec2Model.html#torchaudio.models.Wav2Vec2Model)用于强制对齐。 |
| [`Wav2Vec2FABundle.Tokenizer`](generated/torchaudio.pipelines.Wav2Vec2FABundle.Tokenizer.html#torchaudio.pipelines.Wav2Vec2FABundle.Tokenizer) | 分词器的接口 |
| [`Wav2Vec2FABundle.Aligner`](generated/torchaudio.pipelines.Wav2Vec2FABundle.Aligner.html#torchaudio.pipelines.Wav2Vec2FABundle.Aligner) | 对齐器的接口 |
使用 `Wav2Vec2FABundle` 的教程
<!--div class='modoc-hide-sphx-glr-thumbnails'-->
<!--div class='modoc-hide-sphx-glr-thumbcontainer'-->
\[SYSTEM:DELETE\_ME]

[CTC 强制对齐 API 教程](tutorials/ctc_forced_alignment_api_tutorial.html#sphx-glr-tutorials-ctc-forced-alignment-api-tutorial-py)
<!--div class='modoc-hide-sphx-glr-thumbnail-title'-->
CTC 强制对齐 API 教程
<!--/div-->
<!--/div--><!--div class='modoc-hide-sphx-glr-thumbcontainer'-->
\[SYSTEM:DELETE\_ME]

[多语言数据的强制对齐](tutorials/forced_alignment_for_multilingual_data_tutorial.html#sphx-glr-tutorials-forced-alignment-for-multilingual-data-tutorial-py)
<!--div class='modoc-hide-sphx-glr-thumbnail-title'-->
多语言数据的强制对齐
<!--/div-->
<!--/div--><!--div class='modoc-hide-sphx-glr-thumbcontainer'-->
\[SYSTEM:DELETE\_ME]

[使用 Wav2Vec2 进行强制对齐](tutorials/forced_alignment_tutorial.html#sphx-glr-tutorials-forced-alignment-tutorial-py)
<!--div class='modoc-hide-sphx-glr-thumbnail-title'-->
使用 Wav2Vec2 进行强制对齐
<!--/div-->
<!--/div-->
<!--/div-->
### 预训练模型
| | |
| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| [`MMS_FA`](generated/torchaudio.pipelines.MMS_FA.html#torchaudio.pipelines.MMS_FA) | 基于 1,130 种语言的 31,000 小时数据进行训练*将语音技术扩展到 1,000 多种语言*\[[Pratap*等人*, 2023](references.html#id71)]. |
## Tacotron2 文本转语音
\[SYSTEM:DELETE\_ME]
\[SYSTEM:DELETE\_ME]
\[SYSTEM:DELETE\_ME]
`Tacotron2TTSBundle` 定义了文本到语音的流程,包含三个步骤:分词、频谱图生成和声码器。频谱图生成基于 [`Tacotron2`](generated/torchaudio.models.Tacotron2.html#torchaudio.models.Tacotron2) 模型。

`TextProcessor` 可以是基于规则的分词(如字符分词),也可以是基于神经网络的 G2P 模型,用于从输入文本生成音素序列。
同样,`Vocoder` 可以是不需要学习参数的算法(如 Griffin-Lim),也可以是基于神经网络的模型(如 Waveglow)。
### 接口
| | |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------- |
| [`Tacotron2TTSBundle`](generated/torchaudio.pipelines.Tacotron2TTSBundle.html#torchaudio.pipelines.Tacotron2TTSBundle) | 用于封装与使用预训练 Tacotron2 和声码器相关信息的 Data 类。 |
| [`Tacotron2TTSBundle.TextProcessor`](generated/torchaudio.pipelines.Tacotron2TTSBundle.TextProcessor.html#torchaudio.pipelines.Tacotron2TTSBundle.TextProcessor) | Tacotron2 TTS 流程中文本处理部分的接口 |
| [`Tacotron2TTSBundle.Vocoder`](generated/torchaudio.pipelines.Tacotron2TTSBundle.Vocoder.html#torchaudio.pipelines.Tacotron2TTSBundle.Vocoder) | Tacotron2 TTS 管道中声码器部分的接口 |
使用 `Tacotron2TTSBundle` 的教程
<!--div class='modoc-hide-sphx-glr-thumbnails'-->
<!--div class='modoc-hide-sphx-glr-thumbcontainer'-->
\[SYSTEM:DELETE\_ME]

[Tacotron2 实现的文本转语音](tutorials/tacotron2_pipeline_tutorial.html#sphx-glr-tutorials-tacotron2-pipeline-tutorial-py)
<!--div class='modoc-hide-sphx-glr-thumbnail-title'-->
使用 Tacotron2 进行文本转语音
<!--/div-->
<!--/div-->
<!--/div-->
### 预训练模型
| | |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`TACOTRON2_WAVERNN_PHONE_LJSPEECH`](generated/torchaudio.pipelines.TACOTRON2_WAVERNN_PHONE_LJSPEECH.html#torchaudio.pipelines.TACOTRON2_WAVERNN_PHONE_LJSPEECH) | 基于音素的文本转语音(TTS)流程[`Tacotron2`](generated/torchaudio.models.Tacotron2.html#torchaudio.models.Tacotron2)在以下数据集上训练:*LJSpeech*\[[Ito and Johnson, 2017](references.html#id7)在 1,500 个训练周期后,以及[`WaveRNN`](generated/torchaudio.models.WaveRNN.html#torchaudio.models.WaveRNN)基于8位深度波形训练的声码器*LJSpeech*\[[Ito 和 Johnson, 2017](references.html#id7)训练了 10,000 个周期 |
| [`TACOTRON2_WAVERNN_CHAR_LJSPEECH`](generated/torchaudio.pipelines.TACOTRON2_WAVERNN_CHAR_LJSPEECH.html#torchaudio.pipelines.TACOTRON2_WAVERNN_CHAR_LJSPEECH) | 基于字符的文本转语音(TTS)流水线[`Tacotron2`](generated/torchaudio.models.Tacotron2.html#torchaudio.models.Tacotron2)在以下数据集上进行训练:*LJSpeech*\[[Ito 和 Johnson, 2017](references.html#id7)在 1,500 个 epoch 上训练[`WaveRNN`](generated/torchaudio.models.WaveRNN.html#torchaudio.models.WaveRNN)基于8位深度波形训练的声码器*LJSpeech*\[[Ito 和 Johnson, 2017](references.html#id7)] 训练了 10,000 个周期。 |
| [`TACOTRON2_GRIFFINLIM_PHONE_LJSPEECH`](generated/torchaudio.pipelines.TACOTRON2_GRIFFINLIM_PHONE_LJSPEECH.html#torchaudio.pipelines.TACOTRON2_GRIFFINLIM_PHONE_LJSPEECH) | 基于音素的TTS流水线[`Tacotron2`](generated/torchaudio.models.Tacotron2.html#torchaudio.models.Tacotron2)在以下数据集上训练:*LJSpeech*\[[Ito and Johnson, 2017](references.html#id7)在 1,500 个训练周期后,[`GriffinLim`](generated/torchaudio.transforms.GriffinLim.html#torchaudio.transforms.GriffinLim)作为声码器。 |
| [`TACOTRON2_GRIFFINLIM_CHAR_LJSPEECH`](generated/torchaudio.pipelines.TACOTRON2_GRIFFINLIM_CHAR_LJSPEECH.html#torchaudio.pipelines.TACOTRON2_GRIFFINLIM_CHAR_LJSPEECH) | 基于字符的 TTS 管道[`Tacotron2`](generated/torchaudio.models.Tacotron2.html#torchaudio.models.Tacotron2)训练于*LJSpeech*\[[Ito and Johnson, 2017](references.html#id7)在 1,500 个训练周期后,并且[`GriffinLim`](generated/torchaudio.transforms.GriffinLim.html#torchaudio.transforms.GriffinLim)作为声码器。 |
## 源分离
### 接口
\[SYSTEM:DELETE\_ME]
`SourceSeparationBundle` 实例化了源分离模型,这些模型接收单声道音频并生成多声道音频。

| | |
| ---------------------------------------------------------------------------------------------------------------------------------- | --------------- |
| [`SourceSeparationBundle`](generated/torchaudio.pipelines.SourceSeparationBundle.html#torchaudio.pipelines.SourceSeparationBundle) | 用于执行源分离的组件的数据类。 |
使用 `SourceSeparationBundle` 的教程
<!--div class='modoc-hide-sphx-glr-thumbnails'-->
<!--div class='modoc-hide-sphx-glr-thumbcontainer'-->
\[SYSTEM:DELETE\_ME]

[使用 Hybrid Demucs 进行音乐源分离](tutorials/hybrid_demucs_tutorial.html#sphx-glr-tutorials-hybrid-demucs-tutorial-py)
<!--div class='modoc-hide-sphx-glr-thumbnail-title'-->
使用 Hybrid Demucs 进行音乐源分离
<!--/div-->
<!--/div-->
<!--/div-->
### 预训练模型
| | |
| ------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`CONVTASNET_BASE_LIBRI2MIX`](generated/torchaudio.pipelines.CONVTASNET_BASE_LIBRI2MIX.html#torchaudio.pipelines.CONVTASNET_BASE_LIBRI2MIX) | 预训练的源分离管道*ConvTasNet*\[[Luo 和 Mesgarani, 2019](references.html#id22)] 训练于*Libri2Mix 数据集*\[[Cosentino*等人*, 2020](references.html#id37)]. |
| [`HDEMUCS_HIGH_MUSDB_PLUS`](generated/torchaudio.pipelines.HDEMUCS_HIGH_MUSDB_PLUS.html#torchaudio.pipelines.HDEMUCS_HIGH_MUSDB_PLUS) | 预训练的音乐源分离管道*Hybrid Demucs*\[[Défossez, 2021](references.html#id50)在 MUSDB-HQ 的训练集和测试集上进行了训练[Rafii*等人*, 2019](references.html#id47)以及来自一个专门为 Meta 制作的内置数据库的额外 150 首歌曲。 |
| [`HDEMUCS_HIGH_MUSDB`](generated/torchaudio.pipelines.HDEMUCS_HIGH_MUSDB.html#torchaudio.pipelines.HDEMUCS_HIGH_MUSDB) | 预训练的音乐音源分离管道*混合式 Demucs*\[[Défossez, 2021](references.html#id50)在 MUSDB-HQ 的训练集上进行训练[Rafii*et al.*,2019](references.html#id47)]. |
## Squim 目标评估
### 接口
[`SquimObjectiveBundle`](generated/torchaudio.pipelines.SquimObjectiveBundle.html#torchaudio.pipelines.SquimObjectiveBundle) 定义了语音质量和清晰度测量(SQUIM)管道,可以根据输入的波形预测**客观**指标分数。
| | |
| ---------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| [`SquimObjectiveBundle`](generated/torchaudio.pipelines.SquimObjectiveBundle.html#torchaudio.pipelines.SquimObjectiveBundle) | 用于使用预训练模型的相关信息的数据类[`SquimObjective`](generated/torchaudio.models.SquimObjective.html#torchaudio.models.SquimObjective)模型。 |
### 预训练模型
| | |
| ------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| [`SQUIM_OBJECTIVE`](generated/torchaudio.pipelines.SQUIM_OBJECTIVE.html#torchaudio.pipelines.SQUIM_OBJECTIVE) | SquimObjective 管道使用 \[ 中描述的方法进行训练[Kumar*et al.*, 2023](references.html#id69)] 在*DNS 2020 数据集*\[[Reddy*et al.*, 2020](references.html#id65)]. |
## Squim 主观评估
### 接口
[`SquimSubjectiveBundle`](generated/torchaudio.pipelines.SquimSubjectiveBundle.html#torchaudio.pipelines.SquimSubjectiveBundle) 定义了语音质量和清晰度测量(SQUIM)管道,能够根据输入的波形预测**主观**指标分数。
| | |
| ------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| [`SquimSubjectiveBundle`](generated/torchaudio.pipelines.SquimSubjectiveBundle.html#torchaudio.pipelines.SquimSubjectiveBundle) | 用于使用预训练模型的相关信息的数据类[`SquimSubjective`](generated/torchaudio.models.SquimSubjective.html#torchaudio.models.SquimSubjective)模型。 |
### 预训练模型
| | |
| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`SQUIM_SUBJECTIVE`](generated/torchaudio.pipelines.SQUIM_SUBJECTIVE.html#torchaudio.pipelines.SQUIM_SUBJECTIVE) | SquimSubjective 管道按照\[中描述的方式进行训练[Manocha 和 Kumar, 2022](references.html#id66)] 和 \[[Kumar*等*, 2023](references.html#id69)] 关于*BVCC*\[[Cooper 和 Yamagishi, 2021](references.html#id67)] 以及*DAPS*\[[迈索尔, 2014](references.html#id68)] 数据集。 |