FASTSPEECH 2论文阅读

news2024/11/17 13:31:01

FASTSPEECH 2: FAST AND HIGH-QUALITY END-TOEND TEXT TO SPEECH

现状

非自回归模型可以在质量相当的情况下显著快于先前的自回归模型合成模型。但FastSpeech模型训练依赖与自回归教师模型进行时长预测(提供更多的信息作为输入)和知识蒸馏(简化输出中的数据分布),可以缓解一对多的映射问题
1、存在问题
因为由于语音的变化,如音高、时长、音量和韵律等,多个可能的语音序列可以对应一个文本序列。在非自回归TTS中,仅有的输入信息是文本,不足以完全预测语音的方差。在这种情况下,模型容易对训练集中目标语音的变化产生过拟合,导致泛化能力较差。归根结底还是一对多的映射问题。

提出问题

1)师生蒸馏管道复杂耗时
2)从教师模型中提取的持续时间不够准确,以及从教师模型中提取的目标mel-谱图由于数据简化导致信息丢失,这些都限制了语音质量。

解决问题

(以下以加快训练速度为目标)
(1)直接用真实目标训练模型而不是简化的教师输出
(2)引入更多的语音(例如,音高、能量和更精确的时长)的变化信息作为条件输入,更好地解决了TTS中的一对多映射问题。具体来说,我们从语音波形中提取时长、音高和能量,并直接将它们作为训练中的条件输入,并在推理中使用预测值。
(3)进一步设计 FASTSPEECH 2s模型。首次尝试直接并行地从文本中生成语音波形,实现了完全端到端推理。

现有的研究方式

1、自回归
以往的研究是从文本中自回归生成mel谱图,然后使用单独训练的声码器从生成的mel谱图中合成语音。但这种推理速度慢,并且在单词跳读和重复时存在鲁棒性问题。
2、非自回归
以极快的速度生成mel谱图,避免鲁棒性问题,同时实现以自回归相当的语音质量。

FastSpeech到FastSpeech 2的过程

FastSpeech设计了两种方式来缓解一对多映射问题:1 )通过使用自回归教师模型生成的梅尔频谱图作为训练目标(即,知识蒸馏)来减少目标侧的数据方差。2 )引入时长信息(从教师模型的注意力图中提取)对文本序列进行扩展,使其与梅尔频谱序列的长度相匹配。FastSpeech中的这些设计虽然缓解了TTS中一对多映射问题的学习,但也带来了一些弊端:1 )两阶段的师生训练流水线使得训练过程变得复杂。2 )教师模型生成的目标梅尔谱与真实梅尔谱相比存在一定的信息损失,因为生成的梅尔谱合成的音频质量通常比真实梅尔谱合成的音频质量差。3 )从教师模型的注意力图中提取的时长不够准确。
》》》》》》》》提出》》》》》》》》》FastSpeech 2》》》》》》》》》》
FastSpeech 2来解决FastSpeech中存在的问题,更好地处理非自回归TTS中一对多的映射问题。为了简化训练管道,避免师生蒸馏过程中因数据简化而造成的信息损失,我们直接用真实目标来训练FastSpeech 2模型,而不用教师的简化输出。为了减少输入(文本序列)和目标输出( mel -谱图)之间的信息差距(输入并不包含预测目标的全部信息),缓解非自回归TTS模型训练中一对多的映射问题,我们在FastSpeech2中引入了语音的一些变化信息,包括基音、能量和更精确的时长:在训练中,我们从目标语音波形中提取时长、基音和能量,并直接将它们作为条件输入;在推断中,我们使用与FastSpeech 2模型联合训练的预测器预测的值。考虑到基音对语音韵律的重要性,以及基音随时间波动较大而难以预测的特点,我们利用连续小波变换将基音轮廓转换为基音频谱图,并在频域进行基音预测,提高了基音预测的准确性。

FastSpeech2模型结构

在这里插入图片描述

变量预测

除了文本之外,语音音频通常还包含许多其他的变量信息,包括(1)音素持续时间,它代表了语音发声的速度;(2)音高,音高是传达情感的重要特征,对感知有重要影响;(3)能量,能量表示熔体谱图的帧级量级,直接影响熔体谱图计算的损耗;(4)情感,风格,演讲者等等。变量信息不完全由文本决定,由于一对多映射问题,不利于非自回归TTS模型的训练。在这段中,我们描述了如何在方差适配器中使用音高,能量和持续时间的细节。

1、时长预测器
以音素作为输入,预测每个音素的时长,表示音素对应的帧数,并转换成对数域方便预测。以提取的时间作为训练目标,以均方误差损失优化预测器。如下图所示。其中MFA是蒙特利尔强制对齐 Tool3工具提取音素时长,提高对其精度,减少模型输入和输出之间的信息差距。在训练过程中输入的是b1,在测试阶段输入的是a1

2、音高和能量预测器
由于预测的音高和真实音高分布有很大的不同,使用连续小波变换(CWT)将连续的pitch序列分解为pitch谱图,并将pitch谱图作为预测器的训练目标,使用MSE损失优化。能量预测器我们计算每个短时傅里叶变换( STFT )框架的振幅的L2范数作为能量。流程类似上图。
在这里插入图片描述

我们从目标梅尔频谱图相同跳数的原始波形中提取F0,得到每一帧的pitch,并计算每一帧STFT幅值的l2 -范数作为能量。然后我们将每一帧的F0和能量量化为256个可能的值,并将它们分别编码为one-hot向量序列( p和 e)。在训练过程中,我们查找 p 和 e 嵌入的音高和能量,并将它们添加到隐藏序列中。音高和能量预测器直接预测F0和能量的值,而不是one-hot向量,并采用均方误差进行优化。在推断过程中,我们使用变量预测器预测F0和能量。

FastSpeech2s模型结构

为了实现完全端到端的文本到波形的生成,在这一部分中,我们将FastSpeech 2扩展到FastSpeech 2s,它直接从文本生成波形,而不需要级联的梅尔频谱生成(声学模型)和波形生成(声码器)。FastSpeech 2s在中间隐藏层产生波形调理,通过丢弃梅尔频谱解码器使其在推理上更加紧凑,并达到与级联系统相当的性能。
文本到波形面临的挑战:
1 )由于波形包含了比梅尔频谱图更多的方差信息,因此输入和输出之间的信息差距比文本到频谱图生成时更大。2 )由于极长的波形样本和有限的GPU内存,很难在与全文序列相对应的音频片段上进行训练。
解决方法:
1 )考虑到使用方差预测器难以预测相位信息,我们在波形解码器中引入对抗训练,迫使其通过自身隐式恢复相位信息。2 )我们使用FastSpeech 2的梅尔谱图解码器,该解码器在全文序列上进行训练,以帮助文本特征提取。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2046472.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【开端】Java中判断一个对象是否是空内容

一、绪论 在Java中,我们常常使用的到的就是封装,为什么要封装,封装有什么好处。首先在系统开发过程中,其实很多功能和场景都共性的。那么为了避免重复造轮子,我们这时就使用到了封装。封装可以一次造轮子,无…

数据集搜索

1. 数据集和数据集的分类 数据集是一组数据的集合,通常用于机器学习、统计分析、数据挖掘等领域,帮助算法训练、模型验证和评估。可以是各种形式的数据,如表格、图像、机器学习相关的文件等。 根据在机器学习中的应用,数据集可以…

1. MongoDB概念解析

1. 概念解析 在 MongoDB 中基本的概念是文档、集合、数据库。 SQL 术语/概念MongoDB 术语/概念解释/说明databasedatabase数据库tablecollection数据库表/集合rowdocument数据记录行/文档columnfield数据字段/域indexindex索引table joins表连接,MongoDB不支持primary keypri…

1.3 数据库的发展历史与演变

欢迎来到我的博客,很高兴能够在这里和您见面!欢迎订阅相关专栏: 工💗重💗hao💗:野老杂谈 ⭐️ 全网最全IT互联网公司面试宝典:收集整理全网各大IT互联网公司技术、项目、HR面试真题.…

鸿萌数据恢复服务: 如何修复 SQL Server 数据库错误 829?

天津鸿萌科贸发展有限公司从事数据安全服务二十余年,致力于为各领域客户提供专业的数据恢复、数据备份、网络及终端数据安全等解决方案与服务。 同时,鸿萌是众多国际主流数据恢复软件(Stellar、UFS、R-Studio、ReclaiMe Pro 等)的授权代理商&#xff0c…

pandas 笔记crosstab

用来计算两个(或更多)因子的交叉表(即频率表、列联表或透视表)。这个功能特别适用于统计分析和数据探索阶段,帮助理解不同变量之间的关系 1 基本用法 pd.crosstab(index, columns, valuesNone, rownamesNone, colnam…

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(二)---ROS2与UE5进行图像数据传输

前言 本系列教程旨在使用UE5配置一个具备激光雷达深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博…

HarmonyOS-MPChart以X轴或y轴为区间设置不同颜色

本文是基于鸿蒙三方库mpchart OpenHarmony-SIG/ohos-MPChart 的使用,以X轴为区间设置不同的曲线颜色。 mpchart本身的绘制功能是不支持不同区间颜色不同的曲线的,那么当我们的需求曲线根据x轴的刻度区间绘制不同颜色,就需要自定义绘制方法了。…

LVS (Linux virual server)

LVS简介 LVS(Linux Virtual Server)是一个基于Linux平台的开源负载均衡系统。它通过将多个服务器组成一个虚拟服务器集群,实现了高效的负载均衡和流量分发。 LVS的核心思想是利用IP负载均衡技术和内容请求分发机制&a…

传知代码-【CLIP】文本也能和图像配对

代码以及视频讲解 本文所涉及所有资源均在传知代码平台可获取 概述 模态:数据的一种形式,如图像、文本、声音、点云等。 多模态学习,就是利用模型同时处理多个模态数据,有助于提高模型的准确性和泛化能力。在自动驾驶场景中&am…

利用住宅代理应对机器人流量挑战:识别、使用与检验指南

引言 什么是机器人流量?其工作原理是什么? 机器人流量来自哪里? 合法使用机器人时如何避免被拦截? 如何检验恶意机器人流量? 总结 引言 你是否曾经遇到过访问某个网站时,被要求输入验证码或完成一些其…

源代码加密的意义和办法?

一、源代码加密的意义1、防止恶意修改:未加密的源代码容易被恶意用户或竞争对手获取并修改,以植入恶意代码或病毒,损害软件的功能性和安全性。加密后的源代码即使被非法获取,也无法修改或理解,从而防止了被破坏的风险。…

品味白酒的四大步骤,体验不一样的美酒人生

在华夏千年的文化传承中,白酒如同一部厚重的历史长卷,每一滴都蕴含着丰富的故事与智慧。豪迈白酒(HOMANLISM),作为这长卷中的璀璨篇章,更是以其不同的魅力,吸引着无数品鉴者去探寻其中的奥秘。今…

android13 禁用wifi

总纲 android13 rom 开发总纲说明 目录 1.前言 2.情况分析 3.代码分析 3.1 代码位置1 3.2 代码位置2 3.3 代码位置3 4.代码修改 5. 彩蛋 1.前言 这个文章讲的是,在frameworks里面禁止打开wifi。 2.情况分析 我们打开wifi一般是 public static void turnOnWifi(Co…

Linux修改ssh默认端口22为其他端口2024

一、修改配置文件 修改ssh服务的配置文件: /etc/ssh/sshd_config 将Port 22放开注释,并将22修改为2024,并保存 二、重启sshd服务 systemctl restart sshd 三、重启服务失败 如果重启服务失败,可以执行以下命令: …

web 自动化测试,一定得掌握的 8 个核心知识点

使用 cypress 进行端对端测试,和其他的一些框架有一个显著不同的地方,它使用 javascript 作为编程语言。传统主流的 selenium 框架是支持多语言的,大多数 QA 会的python 和 java 语言都可以编写 selenium 代码,遇到需要编写 js 代…

HoloLens 和 Unity 空间坐标系统 Coordinate systems

坐标系统 Spatial coordinate systems 所有的 3D 图形应用程序都使用笛卡尔坐标系统来推理虚拟物体的位置和朝向。 这些坐标系建立三个垂直轴:X、Y 和 Z。 添加到场景的每个对象在其坐标系中都有一个 XYZ 位置。 Windows 调用在物理世界中具有实际意义的坐标系统…

Win10系统配置JDK和Maven环境变量

目录 一、Win10系统配置JDK和Maven环境变量 二、测试 配置环境变量可以不用cd到应用程序的bin目录,就可以运行。配置环境变量可以方便IDE开发工具识别JDK和Maven 省去了手动选择。 一、Win10系统配置JDK和Maven环境变量 1、右键我的电脑>属性,弹出…

【Java 并发编程】(二) 从对象内存布局开始聊 synchronized

对象的内存布局 首先抛出一个经典面试题: 一个 Object 对象占多大? 这里我用工具打印了出来, 发现是 “16bytes”, 也就是 16B; 为什么? 请继续往下看; 普通对象(除了数组), 由markword, 类型指针, 实例数据(就是对象里的成员), 对齐填充(整个对象大小要能被8B整数, 方便6…

谷歌前CEO施密特放飞自我:斯坦福课堂上的AI洞见

谷歌前CEO施密特放飞自我:斯坦福课堂上的AI洞见 曾经担任谷歌CEO长达10年之久的Eric Schmidt,近日在斯坦福大学计算机学院的会议上发表了一场引人深思的演讲。在这场讲座中,他全程“放飞自我”,甚至在讲话中提醒台下学生&#xf…