全方面了解s系统知识 s系统的五个主要组成部分

编者按:在电影《Her》中,男主凭着一个小巧的真无线耳机,就解锁了一个温柔又风趣的「女朋友」萨曼萨 。不过,在现实生活中,和语音助手谈恋爱还是一件十分遥远的事情——刨去现阶段的语音助手们双商水平还有限,语音助手的语言表达能力还远远达不到我们理想状态 。
为啥你的机器人女友说话不像萨曼萨?本文中,Rokid A-Lab 语音合成算法工程师郑杰文将从语音合成技术谈起,给大家分析其中原因 。
作者介绍:郑杰文,爱丁堡大学人工智能硕士,师从国际著名语音合成专家Simon King教授 。现任职Rokid ALab 语音合成算法工程师,负责语音合成引擎架构设计,后端声学模型开发等工作 。
TTS背后的技术原理——前端和后端系统
让语音助手说话的技术叫 TTS(text-to-speech),也就是语音合成 。
打造自然、真实、悦耳的 TTS,是 AI 领域的科学家和工程师一直努力的方向 。但前进过程中总会碰到各种「拦路虎」,它们究竟是什么? 我们先从 TTS 的基础原理讲起 。
TTS 技术本质上解决的是「从文本转化为语音的问题」,通过这种方式让机器开口说话 。
图 1 语音合成,一个从文本转化为语音的问题
但这个过程并不容易,为了降低机器理解的难度,科学家们将这个转化过程拆分成了两个部分——前端系统和后端系统 。
图 2 前端和后端一起组成的TTS
前端负责把输入的文本转化为一个中间结果,然后把这个中间结果送给后端,由后端生成声音 。
接下来,我们先来了解一下前端和后端系统是如何分工协作的?
生成「语言学规格书」的前端系统
小时候我们在认字之前需要先学习拼音,有了拼音,我们就可以用它去拼读我们不认识的字 。对于 TTS 来说,前端系统从文本转化出的中间结果就好像是拼音 。
不过,光有拼音还不行,因为我们要朗读的不是一个字,而是一句一句的话 。如果一个人说话的时候不能正确的使用抑扬顿挫的语调来控制自己说话的节奏,就会让人听着不舒服,甚至误解说话人想要传达的意思 。所以前端还需要加上这种抑扬顿挫的信息来告诉后端怎么正确的「说话」 。
我们将这种抑扬顿挫的信息称之为韵律(Prosody) 。韵律是一个非常综合的信息,为了简化问题,韵律又被分解成了如停顿,重读等信息 。停顿就是告诉后端在句子的朗读中应该怎么停,重读就是在朗读的时候应该着重强调那一部分 。这些所有的信息综合到一起,我们可以叫」语言学规格书」 。
图 3.前端通过生成「语言书规格书」来告诉后端我们想要合成什么样的内容 。
前端就像一个语言学家,把给它的纯文本做各种各样的分析,然后给后端开出一份规格书,告诉后端应该合成什么样的声音 。
在实际的系统中,为了让机器能正确的说话,这份儿「规格书」远远比我们这里描述的要复杂 。
扮演「发音人」的后端系统
当后端系统拿到「语言学规格书」后,目标是生成尽量符合这个规格书里描述的声音 。
当然,机器是不能凭空直接生成一个声音的 。在这之前,我们还需要在录音棚里录上几个到几十个小时不等的音频数据(根据技术不同,使用的数据量会不同),然后用这些数据来做后端系统 。
目前主流的后端系统有两种方法:一种是基于波形拼接的方法,一种是基于参数生成的方法 。
波形拼接的方法思路很简单:那就是把事先录制好的音频存储在电脑上,当我们要合成声音的时候,我们就可以根据前端开出的「规格书」,来从这些音频里去寻找那些最适合规格书的音频片段,然后把片段一个一个的拼接起来,最后就形成了最终的合成语音 。