SpeechT5:统一模态编码器-解码器用于语音处理

概述

SpeechT5 是一种统一模态的编码器-解码器模型,旨在在单一架构中处理多种口语语言处理任务。通过在文本到语音、语音到文本、文本到文本以及语音到语音数据的混合上进行预训练,模型形成了一个文本和语音共享的统一隐藏表示空间。

核心架构

SpeechT5 为所有任务使用标准的 Transformer 编码器-解码器主干。为实现对多样化数据类型的处理,模型采用模块化的 Pre-netsPost-nets

  • Pre-nets: 将输入的文本或语音转换为 Transformer 编码器所需的隐藏表示。
  • Post-nets: 将 Transformer 的输出隐藏表示转换回文本或语音。

虽然模型在预训练阶段同时使用所有的 Pre-nets 和 Post-nets,但在微调时会针对特定任务进行。微调完成后,模型仅使用与该任务相关的 Pre-nets 和 Post-nets。由于微调过程会改变权重,针对某一任务(例如 ASR)微调的模型不能仅通过替换 Pre-nets 和 Post-nets 就转换为另一任务(例如 TTS)。

文本转语音(TTS)能力

SpeechT5 作为一个多功能的文本转语音系统,能够使用说话人嵌入为多个说话人合成音频。

技术实现

针对 TTS 任务,SpeechT5 使用以下特定模块:

  • Text encoder pre-net: 将文本标记映射到隐藏表示的文本嵌入层。
  • Speech decoder pre-net: 一系列线性层,将对数梅尔频谱压缩为隐藏表示(基于 Tacotron 2)。
  • Speech decoder post-net: 预测残差以细化输出频谱的模块(基于 Tacotron 2)。

音频生成工作流

为了生成最终的波形,模型首先生成对数梅尔频谱,然后需要通过声码器进行处理。Hugging Face 提供了基于 HiFi-GAN 的声码器 (SpeechT5HifiGan) 用于此目的。系统以恒定的 16 kHz 采样率运行。

语音到语音与声线转换

SpeechT5 可以执行语音到语音任务,例如声线转换,只需将文本编码器 Pre-net 替换为语音编码器 Pre-net。

技术实现

  • Speech encoder pre-net: 该模块使用卷积层将输入波形下采样为音频帧表示,采用 wav2vec 2.0 中相同的特征编码模块。

声线转换通过向模型提供输入语音波形和目标说话人嵌入实现,使模型能够将原始声音转换为目标说话人的特征。

自动语音识别(ASR)

SpeechT5 提供语音转文本功能,可用于转录和说话人识别。

技术实现

针对 ASR,模型使用:

  • Speech encoder pre-net: 与语音到语音模型相同的 CNN 特征编码器(wav2vec 2.0)。
  • Text decoder pre-net: 将文本标记映射到隐藏表示的嵌入层。
  • Text decoder post-net: 将隐藏表示投射到词汇表概率上的单层线性层。

由于分词器在字符层面工作,生成的 ASR 转录不包含标点或大小写。

多功能性概述

除了集成的 ASR、TTS 和声线转换检查点外,原始研究表明 SpeechT5 架构还能够实现语音翻译、语音增强和说话人识别等任务。

Sources