语音合成(TTS)技术在有道词典笔中的应用实践
youdao
背景介绍
ydtech
自 2017 年 10 月推出有道翻译蛋开始,网易有道已先后推出了二十余款智能学习硬件产品,包括有道翻译王、有道口袋打印机、有道超级词典、有道词典笔、有道听力宝等。
其中,有道词典笔开创了智能词典笔品类,连续两年获天猫、京东销量第一,并广受用户好评。
在近期有道词典笔的全新软件升级中(关联阅读:全新软件升级!真的很有料),有两个重要的优化,分别是:
发音接近真人,告别机械式
发音准确度提升,正确朗读多音词
>>>应用效果:
首先,我们进一步升级了发音系统,使中英发音尽可能接近真人。
为了给用户带来更好的体验,有道 AI 团队选取了多种真人发音素材,从来自公司内部、真实用户和 native speakers 等人群中选取足够大的样本发放调查问卷,从发音准确度、音色喜爱度等方面进行打分,并和专业的发音进行比较,最终选取了目前版本中的音色。
一个彩蛋
在我们选取的发音中,不乏一些明星语音,小伙伴们可以猜猜她是谁?
(答案在文末揭晓)
>>英文:
同时,通过有道 AI 团队对语言模型的不断训练,有道词典笔的发音准确度再一次得到突破,在扫描句子的过程中,有道词典笔可以快速预判语义,轻松读对一些英语学习者和 AI 都非常容易读错的单词,比如「多音词」。
以包含“read过去式”的句子为例,我们来听听有道词典笔的发音和传统机械式发音:
She picked up the letter and read it.
她拿起信读了起来。
这些能力的背后,是有道 TTS 语音合成技术的加持。本文将会详细介绍有道 TTS 技术的相关思考和实践。
youdao
有道TTS语音合成技术
ydtech
有道 TTS 语音合成技术建模流程包括文本分析模块、声学模型模块和声码器模块。
2.1
基于开源BERT多任务的统一TTS文本分析前端
文本分析前端的主要作用是将语句转换为语言学特征,主要是音素序列和韵律特征, 其中音素序列决定 TTS 是否正确读对了文本;韵律特征决定 TTS 的停顿位置、自然度等,这也是有道 TTS 技术能够实现接近真人发音和正确朗读多音词的关键所在。
传统的文本分析模块会单独建模每个任务,并且串行处理效率较低,这种做法在嵌入式场景中难以实现性能和质量的平衡,多个任务分离也会提高系统的维护成本。
相比于传统方案,有道 AI 团队基于 BERT 预训练模型进行了多任务建模,将多个任务进行统一建模,大大提高了效率。
这些优化能够支持 TTS 前端的文本正则化、多音字判别、韵律预测等任务,使有道系统能够在设备端合成低发音错误、韵律自然和感情丰富的高质量语音。
有道词典笔场景 TTS 前端也面临一些挑战:
满足接近100%发音准确率要求;在中文、英文里,大量的多音字、多音词是影响发音准确率的关键所在,而且对于有道词典笔教育场景,古诗词、文言文正确读法也需要全量覆盖.
韵律特征建模,满足TTS合成停顿自然、语义清晰需求。
词典笔设备资源有限,在满足上述两点质量的同时,还需要达到性能需求。
基于这些问题,我们主要做了以下几个方面的工作,分别是资源收集、模型实验、系统集成:
资源收集:在资源收集阶段,借助有道独有教研资源,搜集整理多音字表, 结合词性、词义等细化多音字模型标签,使得建模更高效;在中文古诗词、文言文发音上,通过 ssml 技术将词典笔海量权威发音词典资源应用到 TTS 发音中;
模型实验:在模型实验阶段,前端包含有多音字、韵律预测、分词、词性预测等这些任务, 通过构建bert多任务模型,联合预测多音字、韵律、分词、词性任务,多个任务之互相促进不仅了提升多音字模型和韵律模型的准确率,同时也节省了参数量;最后通过蒸馏技术,小参数量多任务模型在保证质量的同时,也达到嵌入式性能要求;
系统集成:在系统集成阶段,工程化团队通过自研bert pipeline技术,更进一步优化了内存和推理时间;
通过这些方面的工作,最终推出了基于预训练模型的多任务架构 TTS 中英混前端,保证了 TTS 合成的发音正确性和韵律停顿。
2.2
非自回归的 VAE 声学模型
一是自回归声学模型:比如 Tacotron、Tacotron2,优点是高自然度,缺点是性能较差;基于 attention 的自回归声学模型难以建模长语音,更容易出现丢字、重复的现象。
二是非自回归声学模型:比如Fastspeech、Fastspeech2,优点是并行生成声学特征,性能好,对长句建模足够鲁棒;缺点是韵律建模略差于自回归声学模型。
综合质量和性能,有道 AI 团队最终选择了基于 VAE 的非自回归声学模型。原因在于它有以下优势:
在鲁棒性方面:好于 Tacotron2;
在性能方面:和 Fastspeech 一样快,快于 Tacotron2;
在质量方面:接近 Tacotron2,相比 Fastspeech 更易于训练。
另外,还对模型进行了量化,降低了模型的内存。
2.3
基于 GAN 的声码器
在有道智能硬件产品实际落地开发中,声码器技术的研发面临着几大难点问题:
一是音质问题。声码器模型的建模能力不足,会直接导致合成语音产生底噪或者电音。但如果仅仅只是单纯地加大模型的参数,则会影响系统的推理速度。
二是性能问题。声码器的计算量在语音合成的整个框架中占比较大。要在嵌入式场景中合成高质量的语音,需要一个足够大、建模能力足够强的声码器模型。
但由于设备芯片的算力弱、内存小,大的声码器会导致体验延时明显上升。从用户的角度出发,延时过长,用户等待时间过久,自然不会有好的体验效果。
为了解决以上难题,通过大量实验和综合比对,最终有道 AI 团队选择了基于 GAN 方案的声码器。
任何学术上的方案要实现成工业界的产品,都需要进行大量的实验和打磨。
首先是针对不同场景使用不同的模型配置,有道 AI 团队对 GAN 声码器中的生成器模块进行了参数的细致调整,让它能够成功应用在嵌入式场景下,不同于传统参数声码器的机械感与模糊感,基于 GAN 的神经网络声码器可以合成高自然度、高清晰度的音频,缩短了离线 TTS 和在线 TTS 质量上的差距。
此外,我们还在模型的量化、压缩方面做了大量的工作,大大提升了语音合成的速度,明显降低了系统的资源占用。
youdao
总结
ydtech
在智能硬件产品人机交互中,语音合成技术扮演着非常重要的角色,但在落地中面临着很多挑战,其核心是硬件计算资源与合成语音质量之间的矛盾。
如何更快地、更稳定地在有限资源下提供高质量的语音合成技术是有道 AI 团队的目标和关注的重点。
目前,有道 TTS 语音合成技术已应用在许多内部和外部的在线场景和嵌入式场景,并表现出了相对传统方案更加稳定、更加鲁棒的合成效果。
- END -
彩蛋答案
本文分享自微信公众号 - 有道技术团队(youdaotech)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Kotlin 声明式 UI 框架 Compose Multiplatform 1.0 正式上线!
JetBrains 的 Kotlin 声明式 UI 框架 Compose Multiplatform 已更新至 1.0 版,可供生产使用! 我们将介绍一些亮点,希望您能和我们一样期待框架的发布: 在桌面上,您可以快速高效地创建具有精美用户界面的 Kotlin 应用。 在 Web 上,您可以使用 Compose for Web 的稳定 DOM API 构建生产级动态 Web 体验,并实现与所有浏览器 API 的完全互操作。未来版本将提供对 Material UI 微件的支持。 总体而言,现在各平台间(包括 Android,使用与 Google 的 Jetpack Compose 的兼容)的专业知识和代码共享都得到了大幅简化。 接下来我们将逐一介绍这些亮点。 扫码访问 Compose Multiplatform网站 桌面版 Kotlin UI 在很长一段时间内,如果您想为 Kotlin 桌面应用程序构建用户界面,您都必须使用传统的 Java UI 框架,因为没有任何 Kotlin 库支持桌面的现代化 UI 开发风格。这一状况将被 Compose Multiplatform 改变。我们这就来...
- 下一篇
【紧急】Log4j又发新版2.17.0,只有彻底搞懂漏洞原因,才能以不变应万变,小白也能看懂
1 事件背景 经过一周时间的Log4j2 RCE事件的发酵,事情也变也越来越复杂和有趣,就连 Log4j 官方紧急发布了 2.15.0 版本之后没有过多久,又发声明说 2.15.0 版本也没有完全解决问题,然后进而继续发布了 2.16.0 版本。大家都以为2.16.0是最终终结版本了,没想到才过多久又爆雷,Log4j 2.17.0横空出世。 相信各位小伙伴都在加班加点熬夜紧急修复和改正Apache Log4j爆出的安全漏洞,各企业都瑟瑟发抖,连网警都通知各位站长,包括我也收到了湖南长沙高新区网警的通知。 我也紧急发布了两篇教程,给各位小伙伴支招,我之前发布的教程依然有效。 【紧急】Apache Log4j任意代码执行漏洞安全风险升级修复教程 【紧急】继续折腾,Log4j再发2.16.0,强烈建议升级 虽然,各位小伙伴按照教程一步一步操作能快速解决问题,但是很多小伙伴依旧有很多疑惑,不知其所以然。在这里我给大家详细分析并复现一下Log4j2漏洞产生的原因,纯粹是以学习为目的。 Log4j2漏洞总体来说是通过JNDI注入恶意代码来完成攻击,具体的操作方式有RMI和LDAP等。 2 JNDI...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- 设置Eclipse缩进为4个空格,增强代码规范