Python开发
点击右侧关注,探讨技术话题!
作者丨世超
来源丨差评(chaping321)
https://mp.weixin.qq.com/s/Tafx0f4BZutFMl9o3GYK_Q
在开始之前,世超想先给大家听几段语音,然后大家感受一下,觉得哪段最像是真人在说话呢?
语音合成引擎效果测试
世超也在前面的视频里标出来了,这几段语音其实都是用各家研发的语音转文字引擎生成出来的。而这项又被称为语音合成的技术,其实已经发展了有一些年头了。
像我们日常用的智能助理、导航语音、甚至听到的一些新闻播报,用到的都是机器合成的语音。
AI 主播每天自动合成语音和视频生产新闻内容
来源:澎湃新闻 App
如何合成一段语音
语音合成看起来很复杂,但其实合成语音我们自己在家就能做:
比如把「 支付宝到账 」、「 元 」和「 一二三四五六 」一类的词都录好,以特定的拼接组合方式播放出来,你就收获了中国 8 亿支付宝用户都听过的报账声。
当然了你自己录的声音既不甜美,也收不到钱
这种通过「 拼接 」一段段音频,最终获得一份语音的方式,就叫做拼接法。
拼接法制作的合成音,在日常生活中其实最早可以追溯到 你家街边拐角当年放学以后必去的小卖部里那位收银阿姨在结账时手里按着的那个 超大号计算器的语音播报声。
“ 加一,加一,加二,等于,归零!”
最原始的拼接法录制的样本就是那么几个固定短语句子,给导航录的音就只能用于导航,你要是问它今天天气怎么样,它哪怕知道答案也没法用语音播报出来。
后来,有个聪明人一拍脑袋,想出来一个绝招:要是我把每个中文字都录一遍,不就什么话都能拼起来了么。
不过,拼接法合成的语句还有一个重大缺陷:语气和停顿。
给支付宝配音的展妍小姐姐就曾自曝,在录「 四 」的音时录了好几个发音,才保证了不同场景下的合成效果。
来源:小时视频24
并且拼接法也不知道该怎么给「 小明找不到 / 爸爸妈妈很着急 」,「 小明找不到爸爸妈妈 / 很着急 」断句。
拼接法能解决每一个字怎么念的问题,但是读出来肯定不像一个正常人。
所以怎么让合成语音听起来更逼真,成了大家优化的重中之重。
如何让语音更逼真
这个时候,除了增加样本量,我们还必须引入另外一样关键的技术:算法。
有了算法的合成音就仿佛被注入了灵魂。说的直白点,就是「 聪明的算法,知道怎么处理一句话的语气和停顿 」。
而这种使用算法辅助生成合成音的方式,叫做参数法。
参数法对音源的要求自然更高,「 消除静音片段 」、「 专业录音环境 」这些都是常规操作,最关键的是,需要录制的声音不再是字的发音了。
小学语文教会了我们,每个字的发音其实都可以通过类似「波( b )破( p )么( m )佛( f )」这类的声母和韵母的两两组合出来。
因此只要录下了这些声母和韵母的发音,再通过算法进行合成,任何声音、任何语调就都能被生成出来。
连那些只闻其声不见其形的那些字儿也不在话下。。
你饿了吗?
不过合成音每逼真一分,背后需要考虑到的情况都要增加数倍,很多时候,简易的算法都不能正确计算出一句话应有的语调、语气。
而一旦算法变得复杂了,运算量也就增加了,合成音的生成速度也就变慢了。( 电费也增加了 )
来源:DeepMind 博客
以现在这些大企业的能力来说,只要肯烧性能,逼真的合成音大家都能做出来,但要使用什么复杂程度的算法,就要在 “ 效果 ” 和 “ 效率 ” 之间做权衡了。
像我们平常在翻译 App 里听到的合成音都比较粗糙,毕竟不能赚钱嘛,能听个响就得了。
而在能有钱进账的项目上,合成语音却做得栩栩如生、惟妙惟肖。
譬如不差钱的广告商们,就很喜欢买这种服务,毕竟只要量上来了,肯定比雇真人打电话便宜不是。
说起来,大家肯定猜不到,走在合成语音技术应用最前沿的场景是什么。。
是诈骗!
为了骗倒更多人,骗子们是真肯下血本儿啊。。。
就算是这样,我们也不能只盯着语音合成不好的地方。
像语音助理和智能音箱,平时方便了不少人。
再比如编辑部里经常看小说的实习生告诉世超,现在的合成音越来越有「 说书人 」的味道了,自从开始「 闭眼听书 」之后,他感觉眼睛都焕发了新生。
起点阅读 App 内集成的百度合成语音阅读模块
说不定以后,我们也能把自己年轻时候的声音永远保存下来,到时候让年老的自己和年轻的自己来一段对话,想想好像也挺有意思的~
特别鸣谢:感谢出门问问的技术人员支持~
参考资料:
黄钊,语音合成 TTS
Aaron Zhuang,端到端语音合成-从入门到放弃
小时视频,支付宝声优:靠一句话刷屏,来自台湾颜值爆表
S King,A beginners’ Guide to Statistical Parametric Speech Synthesis
Dr. E Chandra,A Akila,An Overview of Speech Recognition and Speech Synthesis Algorithms
“ 如果给你一个语音合成引擎,你会让它说些什么呢?”
推荐↓↓↓
长
按
关
注
?【16个技术公众号】都在这里!
涵盖:程序员大咖、源码共读、程序员共读、数据结构与算法、黑客技术和网络安全、大数据科技、编程前端、Java、Python、Web编程开发、Android、iOS开发、Linux、数据库研发、幽默程序员等。
万水千山总是情,点个 “ 在看” 行不行