热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

定制音库成本骤降98%,PaddleSpeech小样本语音合成方案重磅来袭!

随着以语音为交互渠道的产业不断升级,企业对语音合成有着越来越多的需求,比如智能语

随着以语音为交互渠道的产业不断升级,企业对语音合成有着越来越多的需求,比如智能语音助手、手机地图导航、有声书播报等场景都需要用到语音合成技术。通过语音合成技术想要得到一个新的音色,需要定制音库,但是定制音库所耗费的人力成本和时间成本巨大,成为产业升级的屏障。

面对音库成本难题,PaddleSpeech语音合成技术再升级,开源多种降低定制音库成本方案。

  • 多种小样本合成方案:支持一句话合成和小数据集微调。一句话合成方案即通过用户输入的一句话即可模仿用户的音色进行语音合成任务;小数据集微调方案针对少量数据学习用户音色,训练所需数据量降低98%以上。

  • 跨语言学习方案:支持多发音人多语种训练,让发音人实现同音色跨语言语音合成任务,可有效降低音库对发音人多语种发音能力要求。

  • 语音-语言跨模态大模型文心ERNIE-SAT:采用语音-文本联合训练的方式在多语言的数据集上训练,合成声音更加自然,可以承接多种下游任务,支持个性化合成、跨语言合成、语音编辑,可有效降低定制化音库所需数据量。

  • 项目传送门:

https://github.com/PaddlePaddle/PaddleSpeech

  • AIStudio 在线体验:

【PaddleSpeech进阶】PaddleSpeech小样本合成方案体验

https://aistudio.baidu.com/aistudio/projectdetail/4573549?sUid=2470186&shared=1&ts=1663753541400

方案技术解读

小样本合成方案

在语音合成任务中,想要学习一个发音人的音色需要大量的专业录音数据。以中文标准女声音库(Chinese Standard Mandarin Speech Copus)为例,其包含10000句,共计约12小时的干音数据。想要录制一个这样的标准音库,从音库设计,录制干音,到标注完成,涉及录音员、监听师、数据标注员等多种工作人员的参与,全套的工期至少需要两到三个月,消耗的人力成本和时间成本高。

图片
标准音库录制流程

定制音色需求在业务中也较为常见,例如,在智能客服行业中,服务提供商在提供语音合成服务时,用户想要使用自己话务员的声音,采用录制标准音库方案耗时长,成本高,此时可以考虑使用小样本合成方案,通过录制少量发音人的音色,快速使用发音人的音色进行发音。

对于小样本合成问题,业界有两种主流方案:一句话合成方案小数据集微调方案

一句话合成方案

在一句话合成方案中,将发音人的音色信息进行编码后,输入到多说话人语音合成模型中,使用发音人的音色进行合成任务。如SV2TTS模型结构所示,通过Speaker Encoder模块将说话人的音频转换成speaker embedding输入到Synthesizer中,得到具有说话人音色的梅尔频谱,再通过Vocoder将其转换成音频。

图片
SV2TTS模型结构

非常热门的一句话合成项目Real-Time Voice Cloning Toolbox和Mocking Bird,也是采用类似的方案。在Speaker Encoder、Synthesizer和Vocoder阶段,都可以尝试不同的说话人编码器、合成器以及声码器组合。

针对一句话合成场景,PaddleSpeech提供了多种模型的组合方案。

图片

一句话合成的效果受多说话人数据集和Speaker Encoder模型的影响较大,新发音人的声音会跟提取的speaker embedding在整个发音人向量空间中的最接近的那几个人的音色会比较像,因此一句话合成整体音色的效果因人而异,音色学习效果并不稳定。在能获取一定量的数据情况下,可以考虑小数据集微调方案。

小数据集微调方案

近年来,手机助手、地图导航、有声阅读等产品陆续开始支持用户自定义音色播报,常见流程是用户先阅读指定文本,在等待一段时间后(需要等待十几分钟到数个小时不等),APP可以使用用户的音色完成播报任务。这类应用多使用微调方案,在预训练模型的基础上进行微调,得到用户专属音色的相关模型。相比于一句话合成方案,该方案耗时更长,但具有更高的音色相似度和更好的音频质量。

PaddleSpeech开源小样本微调方案,基于aishell3开源多说话人数据集得到预训练模型,通过少量音频数据,同样可以学习新发音人的音色。

图片

基于FastSpeech2的小样本微调方案

以FastSpeech2模型为例,数据量特别小的情况下,我们可以选择固定模型结构中一些层,如Encoder和Duration Predictor等,让其不参与训练过程,以此来提高微调效果的稳定性。当数据的量级逐步增加,可以逐渐放开一部分网络层参与到训练的过程中来。不同的声学模型结构,有着不同微调方案。以FastSpeech2模型为例,从中文标准女声音库(Chinese Standard Mandarin Speech Copus)选择200句就可以很好的学习到原发音人的音色了,相较于原版10000句的量级,训练所需的数据量降低了98%以上。

以只冻结Encoder网络为例,大家可以体验一下不同量级微调的合成效果。

图片

10_finetune 音频: 进度条 00:00 00:03 后退15秒 倍速 快进15秒

200_finetune 音频: 进度条 00:00 00:03 后退15秒 倍速 快进15秒

1w_no_finetune 音频: 进度条 00:00 00:03 后退15秒 倍速 快进15秒

根据自己场景和业务的需要,也可以加大参与微调部分的数据量,进一步提高音色的稳定性和发音效果。相较于从零开始构建音库,通过微调方案制作定制化发音人音色所需的人力成本、时间成本以及模型的训练成本都显著降低。

跨语言学习方案

多语言发音一直是语音合成场景中的强需求,在日常沟通过程中,很多句子会包含中英混合的词汇,比如GPS导航和JAVA工程师等等。针对中英双语场景,在制作音库时,通常会寻找能够进行中英双语播报的发音人录制音库,但是跟业务需求匹配同时能够双语播音的发音人筛选难度大,在录制过程中有时也会出现发音人英文口语表述不佳以及录音状态难以稳定等情况,导致最终合成的效果不佳。

PaddleSpeech这次发布的跨语言学习方案可以让0英文样本的中文发音人(Chinese Standard Mandarin Speech Copus)实现同音色双语播报。

图片

跨语言学习方案

在音素集层面上使用多语言音素集,模型结构中增加多说话人Speaker Embedding,在数据集构造方面,预训练中英混合模型使用标准女声数据集(CSMSC)、开源英文女声数据集(LJ Speech)以及开源多说话人数据集aishell3和vctk共同训练,可以实现CSMSC音色和LJ Speech音色同时支持中英双语播报,实现跨语言学习。

这套方案同样可以用于其它语言,比如在训练的音库中加入普通话、粤语、英文、日语等其它语种,可实现多发音人、多语言播报。在制作音库过程中,可以降低对发音人的语种能力条件要求,提高音库制作的稳定性,降低成本。

语音-语言跨模态大模型

文心ERNIE-SAT

在这次的更新中,由文心大模型团队推出的语言-语音跨模态大模型文心ERNIE-SAT在飞桨语音套件PaddleSpeech中成功上线。文心ERNIE-SAT采用语音-语言联合训练的方式在中文和英文的数据集上进行预训练,可以使模型学到语音和文本之间的对齐关系,生成频谱的精度更高,生成声音更加自然。

图片

文心ERNIE-SAT模型结构图

文心ERNIE-SAT将语音和语言同时作为输入,通过MASK的方式对合成任务中部分区域掩盖,让模型自主学习前后的信息,并推断被Mask的部分的内容。相对于单模态的输入任务而言,文心ERNIE-SAT可以更好的学习上下文关键信息,能够支持语音编辑、个性化语音合成与跨语言语音合成等多种语音下游任务。

例如在智能语音客服场景中,与用户交互通常有TTS合成音频和以人工提前录音两种方式。早期TTS合成的音频辨识度高,自然度不足,用户难以与机器人进行多轮对话。客服机器人会采用人工录音的方式进行补充,以提高对话流畅度。但是人工录音需要提前准备大量话术,且难以应用于具有变量插槽的话术,如催收场景中播报用户姓名,欠款,预期信息等。此时,会采用人工录音+TTS合成变量拼接的方式,但是存在人工录音音色与TTS合成变量音色不一致,拼接不自然的问题,使用文心ERNIE-SAT的语音编辑功能,可以很自然的拼接人工录音和合成变量,流畅度相较于原先的方案更高。

PaddleSpeech自2022年5月20日发布1.0版本以来,已经接收到30+来自活跃开发者的代码贡献提交,其中有很多用户为我们提供了重大feature。

例如:

  • GitHub用户@BarryKCL

将基于BERT的多音字预测模型g2pw(https://github.com/GitYCC/g2pW)转为onnx格式模型引入了PaddleSpeech的文本前端,使g2p wer大幅度下降(0.0260 -> 0.0240)

pr链接:

https://github.com/PaddlePaddle/PaddleSpeech/pull/2230

  • GitHub用户@HighCWu

为我们贡献了多说话人的VITS模型和基于VITS的Voice Cloning和Voice Conversion代码示例

pr链接:

https://github.com/PaddlePaddle/PaddleSpeech/pull/2268

  • GitHub用户@david-95

为我们贡献多个修复文本前端badcase的代码。

篇幅有限,热情的开发者们的代码贡献我们无法一一列举,但仓库中都留下了他们活跃的足迹,社区开发者们是PaddleSpeech的重要力量,欢迎更多开发者参与到PaddleSpeech的开发中!感谢各位开发者们的分享与贡献!

图片

欢迎大家在GitHub中Star收藏,及时追踪最新发布!

项目传送门

https://github.com/PaddlePaddle/PaddleSpeech

https://gitee.com/paddlepaddle/PaddleSpeech

关注【飞桨PaddlePaddle】公众号
获取更多技术内容~


推荐阅读
  • 移动传感器扫描覆盖摘要:关于传感器网络中的地址覆盖问题,已经做过很多尝试。他们通常归为两类,全覆盖和栅栏覆盖,统称为静态覆盖 ... [详细]
  • 校园表白墙微信小程序,校园小情书、告白墙、论坛,大学表白墙搭建教程
    小程序的名字必须和你微信注册的名称一模一样在后台注册好小程序。mp.wx-union.cn后台域名https。mp.wx-union.cn ... [详细]
  • Ubuntu18.04 安装ROS Melodic && Ros2 Dashing
    https:blog.csdn.netqq_44717317articledetails104547474一、Ubuntu18.04的安装ubuntu2go的制作关于Ubuntu2 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 统一知识图谱学习和建议:更好地理解用户偏好
    本文介绍了一种将知识图谱纳入推荐系统的方法,以提高推荐的准确性和可解释性。与现有方法不同的是,本方法考虑了知识图谱的不完整性,并在知识图谱中传输关系信息,以更好地理解用户的偏好。通过大量实验,验证了本方法在推荐任务和知识图谱完成任务上的优势。 ... [详细]
  • GPT-3发布,动动手指就能自动生成代码的神器来了!
    近日,OpenAI发布了最新的NLP模型GPT-3,该模型在GitHub趋势榜上名列前茅。GPT-3使用的数据集容量达到45TB,参数个数高达1750亿,训练好的模型需要700G的硬盘空间来存储。一位开发者根据GPT-3模型上线了一个名为debuid的网站,用户只需用英语描述需求,前端代码就能自动生成。这个神奇的功能让许多程序员感到惊讶。去年,OpenAI在与世界冠军OG战队的表演赛中展示了他们的强化学习模型,在限定条件下以2:0完胜人类冠军。 ... [详细]
  • 十大经典排序算法动图演示+Python实现
    本文介绍了十大经典排序算法的原理、演示和Python实现。排序算法分为内部排序和外部排序,常见的内部排序算法有插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。文章还解释了时间复杂度和稳定性的概念,并提供了相关的名词解释。 ... [详细]
  • Python脚本编写创建输出数据库并添加模型和场数据的方法
    本文介绍了使用Python脚本编写创建输出数据库并添加模型数据和场数据的方法。首先导入相应模块,然后创建输出数据库并添加材料属性、截面、部件实例、分析步和帧、节点和单元等对象。接着向输出数据库中添加场数据和历程数据,本例中只添加了节点位移。最后保存数据库文件并关闭文件。文章还提供了部分代码和Abaqus操作步骤。另外,作者还建立了关于Abaqus的学习交流群,欢迎加入并提问。 ... [详细]
  • Python15行代码实现免费发送手机短信,推送消息「建议收藏」
    Python15行代码实现免费发 ... [详细]
  • Shodan简单用法Shodan简介Shodan是互联网上最可怕的搜索引擎,与谷歌不同的是,Shodan不是在网上搜索网址,而是直接进入互联网的背后通道。Shodan可以说是一款“ ... [详细]
  • 3年半巨亏242亿!商汤高估了深度学习,下错了棋?
    转自:新智元三年半研发开支近70亿,累计亏损242亿。AI这门生意好像越来越不好做了。近日,商汤科技已向港交所递交IPO申请。招股书显示& ... [详细]
  • ICRA2019最佳论文  Making Sense of Vision and Touch: SelfSupervised Learning of Multimodal Representatio
    文章目录摘要模型架构模态编码器自监督预测控制器设计策略学习控制器设计实验结论和展望会议:ICRA2019标题:《MakingSenseofVision ... [详细]
  • 题目描述http:acm.nyist.netJudgeOnlineproblem.php?pid306Dr.Kong设计的机器人卡多非常爱玩,它常常偷偷跑出实验室,在某个游乐场 ... [详细]
  • 第五周课堂实践之改进
    PP7.4的编程过程:分析思路修改RationalNumber类,使其实现Comparable接口。为了实现比较,首先计算两个RationalNumber对象(分子和分母)的 ... [详细]
  • 用c语言实现线画、填充图元生成算法多边形_【游戏场景剔除】剔除算法综述...
    之前在做场景优化的过程中,看了不少论文和博客阐述不同剔除算法的原理和过程,自己参照着算法去实现了Hiz和软件剔除。一直想写一篇关于剔除算法的综述 ... [详细]
author-avatar
LF猫咪
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有