让机器具有知识(什么机器能让他想出多少是多少)

如果有一天,机器合成的声音不再顿挫、冰冷,甚至有了语气和情感,你愿意和它多聊一聊吗?在语音交互领域,语音合成作为重要环节,其技术一直在不断演进 。而近些年大家对情感合成以及个性化合成的兴趣与需求越来越高 。今天就来聊一聊正不断突破难点的情感语音合成技术以及未来愿景 。


让机器具有知识(什么机器能让他想出多少是多少)

文章插图
什么是情感合成?在语音交互中语音识别、语音合成、语音理解是必不可少的环节 。其中语音合成即把文字变成声音,声音是文字内容的一个信息载体 。历史悠久的语音合成从80年代到90年代再到现阶段,技术的迭代更新也越来越快 。但一般来说合成的数据我们都会考虑追求平稳,因此在情感和表达方面也就不会太丰富 。但近些年大家对情感合成以及个性化合成的兴趣与需求越来越高 。

试想一下,假如我们在和机器交流时能够像和一个真正的人交谈一样,它可以用平淡的声音、高兴的声音、悲伤的声音,甚至不同的情感有不同的强度 。这也就是所谓情感合成想实现的 。
情感合成作为一项技术,当然也离不开神经网络的三要素:算法、算力和数据 。


让机器具有知识(什么机器能让他想出多少是多少)

文章插图
而对于语音合成领域来说,算力实际上是不太重要的,可以通过一些GPU 的卡来解决算力的问题,因此需要重点关注的是算法和数据的问题 。
情感合成的实现技术情感标签

让机器具有知识(什么机器能让他想出多少是多少)

文章插图
用情感做标签(在原有网络基础上增加一个情感标签),通过一个prenet 把这些信息引入到Attention的decoder中 。这样情感的信息自然会通过网络得到一定的学习,在合成的时候,如果能赋予合适的情感标签,也就能合成出有一定情感表达力的声音 。
说话人嵌入

让机器具有知识(什么机器能让他想出多少是多少)

文章插图
用说话人入嵌Encoder 的方式 。也就是将说话人的声音特征,通过编码器得到speaker embedding,并将其结合到Attention的网络中,实现不同说话人声音合成的效果 。
风格嵌入

让机器具有知识(什么机器能让他想出多少是多少)

文章插图
通过一个稍微复杂些的子网络实现风格的嵌入,其整体核心框架也同样是Tacotron系列 。方法是在子网络中构建一个风格的分类,在进行风格分类embedding之后,与之前文本的encoder 结果一同加入到网络当中去 。在推理的时候,通过风格的控制来改变整体合成的效果 。
声学特征&说话人嵌入

让机器具有知识(什么机器能让他想出多少是多少)

文章插图
除文本特征之外,再通过look up table 来做说话人的嵌入,通过谱的片段进行韵律的嵌入,最后将三种嵌入合成起来,作为影响整个系统的控制因素 。
使用 VAE

让机器具有知识(什么机器能让他想出多少是多少)

文章插图
除了上述提到的情感嵌入、说话人嵌入、风格嵌入之外,还有一种VAE的方法 。它将谱的特征通过一个唯一的网络 — 子网,在学习到特征之后,与文本特征一同输入到Attention的网络(在这里选择的是Tacotron2的网络) 。
【让机器具有知识(什么机器能让他想出多少是多少)】综上可知,网络主体基本上是一个Attention 机制的网络(如Tacotron或Tacotron2),在这个主体之上,加入一些特征,这个特征可以是各种各样的标签作为输入 。也就相当于把风格、情感等变量单一或者组合使用,引入到整个系统当中 。
下篇我们的关注重点就是情感合成的数据问题,应用场景以及技术展望 。
文章部分素材来源:LiveVideoStack