① 语音合成技术
一, 语音合成技术原理
语音合成(test to speech),简称TTS。将文字转化为语音的一种技术,类似于人类的嘴巴,通过不同的音色说出想表达的内容。
在语音合成技术中,主要分为 语言分析部分 和 声学系统部分 ,也称为 前端部分 和 后端部分, 语言分析部分主要是根据输入的文字信息进行分析,生成对应的语言学规格书,想好该怎么读;声学系统部分主要是根据语音分析部分提供的语音学规格书,生成对应的音频,实现发声的功能。
1. 语言分析部分
语言分析部分的流程图具体如下,可以简单的描述出语言分析部分主要的工作。
文本结构与语种判断: 当需要合成的文本输入后,先要判断是什么语种,例如中文,英文,藏语,维语等,再根据对应语种的语法规则,把整段文字切分为单个的句子,并将切分好的句子传到后面的处理模块。
文本标准化: 在输入需要合成的文本中,有阿拉伯数字或字母,需要转化为文字。根据设置好的规则,使合成文本标举渗准化。例如, “请问您是尾号为8967的机主吗?“8967”为阿拉伯数字,需要转化为汉字“八九六七”,这样便于进行文字标音等后续的工作;再唯扮如,对于数字的读法,刚才的“8967“为什么没有转化为”八千九百六十七“呢?因为在文本标准化的规则中,设定了”尾号为+数字“的格式规则,这种情况下数字按照这种方式播报。这就是文本标准化中设置的规则。
文本转音素: 在汉语的语音合成中,基本上是以拼音对文字标注的,所以我们需要把文字转化为相对应的拼音,但是有些字是多音字,怎么区分当前是哪个读音,就需要通过分词,词性句法分析,判断当前是哪个读音,并且是几声的音调。
例如,“南京市长 江大桥”为“”或者“南京市 长江大桥”“”。
句读韵律预测: 人类在语言表达的时候总是附带着语气与感情,TTS合成的音频是为了模仿真实的人声,所以需要对文本进行韵律预测,什么地方需要停顿,停顿多久,哪个字或者词语需要重读,哪个词需要轻读等,实现声音的高低曲折,抑扬顿挫。
2 .声学系统部分
声学系统部分目前主要有三种技术实现方式,分别为:波形拼接,参数合成以及端到端的语音合成技术。
1) 波形拼接语音合成
通过前期录制大量的音频,尽可能全的覆盖所有的音节音素,基于统计规则的大语料库拼接成对应的文本音频,所以波形拼接技术通过已有库中的音节进行拼接,实现语音合成的功能。一般此技术需要大量的录音,录音量越大,效果越好,一般做的好的音库,录音量在50小时以上。
优点:音质好,情感真实。
缺点:需要的录音量大,覆盖要求高,字间协同过渡生硬,不平滑,不是很自然。
2) 参数语音合成技指答灶术
参数合成技术主要是通过数学方法对已有录音进行频谱特性参数建模,构建文本序列映射到语音特征的映射关系,生成参数合成器。所以当输入一个文本时,先将文本序列映射出对应的音频特征,再通过声学模型(声码器)将音频特征转化为我们听得懂的声音。
优点:录音量小,可多个音色共同训练,字间协同过渡平滑,自然等。
缺点:音质没有波形拼接的好,机械感强,有杂音等。
3) 端到端语音合成技术
端到端语音合成技术是目前比较火的技术,通过神经网络学习的方法,实现直接输入文本或者注音字符
,中间为黑盒部分,然后输出合成音频,对复杂的语言分析部分得到了极大的简化。所以端到端的语音合成技术,大大降低了对语言学知识的要求,且可以实现多种语言的语音合成,不再受语言学知识的限制。通过端到端合成的音频,效果得到的进一步的优化,声音更加贴近真人。
优点:对语言学知识要求降低,合成的音频拟人化程度更高,效果好,录音量小。
缺点:性能大大降低,合成的音频不能人为调优。
以上主要是对语音合成技术原理的简单介绍,也是目前语音合成主流应用的技术。当前的技术也再迭代更新,像端到端技术目前比较火的wavenet,Tacotron,Tacotron2以及deepvoice3等技术,感兴趣的朋友可以自己了解学习。
二, 技术边界
目前语音合成技术落地是比较成熟的,比如前面说到的各种播报场景,读小说,读新闻以及现在比较火的人机交互。但是目前的TTS还是存在着一些解决不掉的问题。
1. 拟人化
其实当前的TTS拟人化程度已经很高了,但是行业内的人一般都能听出来是否是合成的音频,因为合成音的整体韵律还是比真人要差很多,真人的声音是带有气息感和情感的,TTS合成的音频声音很逼近真人,但是在整体的韵律方面会显得很平稳,不会随着文本内容有大的起伏变化,单个字词可能还会有机械感。
2. 情绪化
真人在说话的时候,可以察觉到当前情绪状态,在语言表达时,通过声音就可以知道这个人是否开心,或者沮丧,也会结合表达的内容传达具体的情绪状态。单个TTS音库是做不到,例如在读小说的时候,小说中会有很多的场景,不同的情绪,但是用TTS合成的音频,整体感情和情绪是比较平稳的,没有很大的起伏。目前优化的方式有两种,一是加上背景音乐,不同的场景用不同的背景音乐,淡化合成音的感情情绪,让背景音烘托氛围。二是制作多种情绪下的合成音库,可以在不同的场景调用不同的音库来合成音频。
3. 定制化
当前我们听到语音合成厂商合成的音频时,整体效果还是不错的,很多客户会有定制化的需求,例如用自己企业职员的声音制作一个音库,想要达到和语音合成厂商一样的效果,这个是比较难的,目前语音合成厂商的录音员基本上都是专业的播音员,不是任何一个人就可以满足制作音库的标准,如果技术可以达到每一个人的声音都可以到达85%以上的还原,这将应用于更多的场景中。
三, 效果指标和技术指标
随着语音合成技术的发展,语音合成(TTS)已经应用于生活中的各个场景,实现了语音合成技术的应用落地。例如,在高铁,机场的语音播报工作,医院的叫号业务,以及现在比较火热的语音交互产品。语音合成的各种应用说明它不仅仅是一项技术,更是一款产品,作为产品,可以用哪些指标来衡量这款产品呢?
下面将介绍两种衡量TTS产品的指标,效果指标和性能指标。
1. 效果指标
1) MOS 值
目前关于TTS合成效果的评判标准,行业内一致认可的是mos值测试 ,找一些业内专家,对合成的音频效果进行打分,分值在1-5分之间,通过平均得到最后的分数,这就是mos值测试。 很显然这是一个主观的评分,没有具体的评分标准,这和个人对音色的喜好,对合成音频内容场景的掌握情况,以及对语音合成的了解程度是强相关的,所以算是仁者见仁,智者见智的测试方式。
由于TTS合成效果的评判主观性,导致在一些项目的验收中,不能明确出具体的验收标准,例如在定制音库的项目中,客户想做一个独有的定制音库,最后验收肯定是客户对合成音频效果满意,则成功验收,这是一个很主观的标准,怎么样才算满意呢?对于TTS厂商而言,这是不公平的。所以需要找一些可以量化的标准使得项目可以更好的验收,双方也不会因为合成效果出分歧。这里推荐一条验收标准,可以将语音合成效果量化, 分别对原始录音和合成音频进行盲测打分(mos值测试) , 合成音频的mos值能达到原始录音的85% (数值可以根据项目情况来定) 以上 , 就可验收 ,这样就可以把验收标准确定下来,且进行了量化。当然打分团队可以是客户和TTS厂商的人,也可以请第三方的人来打分,确保公平。
虽然mos值是一个比较主观的测试方式,但也有一些可评判的标准。例如在合成的音频中,多音字的读法,当前场景下数字的播报方式,英语的播报方式,以及在韵律方面,词语是否连在一起播报,应该重读的地方是否有重读,停顿的地方是否合理,音色是否符合应用于当前的这个场景,都可以在打分的时候做为得分失分的依据。
分享一个简单的评分标准,可作为参考依据。
2) ABX 测评
合成效果对比性测试,选择相同的文本以及相同场景下的音色,用不同的TTS系统合成来对比哪个的合成效果较好,也是人为的主观判断,但是具有一定的对比性,哪一个TTS更适合当前的场景,以及合成的效果更好。
2. 性能指标
1) 实时率
在语音合成中,合成方式分为 非流式合成 和 流失合成 , 非流失合成指的是一次性传入文本,一次性返回合成的文本音频;流式合成指的是文本传输给TTS时,TTS会分段传回合成的音频, 这样可以减少语音合成的等待时间,在播报的同时也在合成,不用等到整段音频合成完再进行播报,所以对于语音合成时间的一个指标就是实时率。实时率等于文字合成所需时长除以文字合成的音频总时长,下面是实时率的计算公式:
为什么讲实时率会说到非流失合成和流式合成,因为在流式合成场景中,开始合成的时候也就已经开始播报了,音频合成完成也就播报完成了,不会产生等待的过程,这种过程主要用于语音交互的场景,智能机器人收到语音信号之后,马上就可以给予答复,不会让用户等太久。所以为了确保用户的最佳体验, 要求“文字合成所需时长”≤“文字合成出的音频时长”,也就是实时率要小于等于1 。
2) 首包响应时间
在流式合成中,分段合成的音频会传输给客户端或者播放系统,在合成首段音频时,也会耗费时间,这个耗时称为“首包响应时间”。为什么会统计这个时间呢,因为在语音交互中,根据项目经验以及人的容忍程度,当用户说完话时,在1200ms之内,机器人就要开始播报回复,这样就不会感觉有空白时间或者停顿点,如果时间超过1200ms,明显感觉会有一个等待的时间,用户体验不佳,性子急的用户可能就终止了聊天。1200ms的时间不只是TTS语音合成的首包时间,还有ASR(语音识别)和NLU(自然语言理解)所消耗的时间,所以TTS首包响应时间要控制在500ms以内,确保给ASR,NLU留有更多的时间。
3) 并发数
人工智能的发展主要有三个方面,分别为算法,算力,数据,其实讲的性能指标相当于是算力的部分,目前承载算力的服务器有CPU服务器和GPU服务器。前面说到实时率的指标是要小于等于1,那如果实时率远小于1,是不是会对服务器造成浪费呢,因为只要实时率小于等于1,就可以满足用户的需求,让用户体验良好。 所以上面说的实时率是针对CPU服务器单核单线程时,或者GPU单卡单线程时, 那实时率的公式可以为:
为了资源的最大利用化,我们只需确保实时率接近1,或者等于1就行,没必要远小于1,所以当在单核单线程实时率远小于1时,则可以实现一核二线,一核三线的线程数,使得实时率为1,这个一核“二线”,“三线”,这个“几线”说的就是几 并发数 ,准确说是 单核并发数。 那这个并发数怎计算呢,举个例子,如果单核单线程的并发数是0.1,则一核10线程的并发就是1,也是满足需求的,就可以按照这个并发数给客户提供。所以并发数的计算公式如下:
所以当用户需要200线程的语音合成并发数使,按0.1的实时率,一核十线,只需要20核的cpu服务器,则可以跟客户要求24核的cpu服务器即可满足客户的需求,也为客户节省了成本。
再说一下这个线程和并发的概念,线程,并发算是同一个概念,例如200线并发,指的是需要同时支持200线的语音合成,200线是同时合成音频的,合成内容可以相同也可以不同。
4) 合成100个字需要多少时间(1s能合成多少个字)
有些客户对于实时率,响应时间这些概念是比较模糊的,他会问你们的 TTS合成100个字需要多少时间 或者 1s能合成多少个字 ,所以这个时候为了方便和客户沟通,我们需要知道合成100个字TTS消耗的时间。这个数据是可以大概算出来的,当然也可以直接让测试测出一百字消耗的时间。这里主要讲一下计算的方法。
按照正常的播报速度,1秒可以播报4个字左右,我们就按照四个字计算,100个字的音频,音频时长大概就是25s(100除以4),假如实时率为0.1,再根据当前的实时率计算公式,算出合成时间为2.5s,也可以计算出1s合成的字数(100/2.5)为40个字。
简单介绍了语音合成产品会涉及到的一些参数指标,还有一些测试时需要了解的指标数据,例如cpu占用,内存占用,DPS(单位时间合成的音频总时长),TPS(单位时间合成的音频任务数)以及TP99,感兴趣的朋友可以查询研究一下,这些数据也主要用于项目poc的测试中,或者TTS产品整体的测试中,可以算是对于TTS产品的一个整体的了解。
四, 语音合成厂商
有很多厂商拥有语音合成技术,有互联网大厂,也有一些只专注于人工智能的企业。
科大讯飞 科大讯飞的语音合成技术在全球范围内也是数一数二的,合成的音频效果自然度高,讯飞官网挂接的音库是最多的,且涉及很多的场景,以及很多的外语音库。
阿里巴巴 在阿里云官网的音库,有几个音库的合成效果非常棒,例如艾夏,合成的音频播报时感觉带有气息感,拟人化程度相当高。
网络 网络的语音合成技术还是很强的,但是官网给的合成音库较少,具体不太好评判。
灵伴科技 这家公司在语音合成领域是不在忽略的。灵伴的音库合成音效果也是非常的棒,有一个东北大叔的音库,主要是偏东北话,整体的韵律,停顿,重读等掌握的很好,很到位。
标贝科技 标贝科技和灵伴科技一样,是语音合成领域不可小觑的两个企业,是因为他们TTS合成的音频效果拟人化程度很高,每个场景的风格也很逼真。
捷通华声 捷通华声是一家老牌的人工智能企业,合成的音频效果整体还是不错的,且支持多种语种的音库。
还有些企业没有一一列出来,是因为上面这些企业是在平时项目中,或者TTS技术落地应用上比较多的企业。
五, 小结
目前的语音合成已经应用于各种场景,是较成熟可落地的产品,对于合成音的要求,当前的技术已经可以做很好了,满足了市场上绝大部分需求,语音合成技术主要是合成类似于人声的音频,其实当前的技术已完全满足。目前的问题在于不同场景的具体需求的实现,例如不同的数字读法,如何智能的判断当前场景应该是哪种播报方式,以及什么样的语气和情绪更适合当下的场景,多音字如何更好地区分,确保合成的音频尽可能的不出错。当然错误有时候是不可避免的,但是如何在容错范围之内,或者读错之后是否有很好的自学机制,下次播报时就可以读对,具有自我纠错的能力,这些可能是当前产品化时遇到的更多更实际的问题,在产品整体设计的时候,这些是需要考虑的主要问题。
后续会讲述在实际场景中主要遇到的问题以及解决的方案。
② TTS是什么意思呢
TTS是指一项语音合成技术。
语音合成是将人类语音用人工的方式所产生。若是将电脑系统用在语音合成上,则称为语音合成器,而语音合成器可以用软/硬件所实现。
文字转语音系统则是将一般语言的文字转换为语音,其他的系统可以描绘语言符号的表示方式,就像音标转换至语音一样。
(2)语音合成包括哪些技术扩展阅读:
发展历史
1、17世纪法国人研发机械式的说话装置,直到19世纪,贝尔实验室对于电子语音合成技术的研究,才开启近代语音合成技术的发展。
2、贝尔实验室在1939年制作出第一个电子语音合成器VODER,是一种利用共振峰原理所制作的合成器。
3、1960年,瑞典语言学家G. Fant则提出利用线性预测编码技术(LPC)来作为语音合成分析技术,并推动了日后的发展。
4、1980年代Moulines E和Charpentier F提出新的语音合成算法PSOLA,此技术可以合成比较自然的语音。
③ 语音合成的合成方法
一种语音合成系统,其包括:分割单元,其被配置成将对应于目标语音的音位串分割为多个节段,来产生第一节段序列;
选择单元,其被配置成基于第一节段序列通过组合多个语音单元产生对应于第一节段序列的多个第一语音单元串,并从所述多个第一语音单元串中选择一个语音单元串;和连接单元,其被配置成连接包含在所选择语音单元串中的多个语音单元,以产生合成语音,选择单元包括检索单元,其被配置成反复实施第一处理和第二处理,该第一处理基于对应于第二节段序列的最多W个(W为预定值)第二语音单元串产生对应于第三节段序列的多个第三语音单元串,所述第二节段序列作为第一节段序列中的部分序列,所述第三节段序列作为通过将节段添加给第二节段序列而获得的部分序列,第二处理从所述多个第三语音单元串中选择最多W个第三语音单元串,第一计算单元,其被配置成计算所述多个第三语音单元串中每个的总成本,第二计算单元,其被配置成基于涉渗春及语音单元数据获取速度的限制来为所述多个第三语音单元串中的每个计算对应于总成本的惩罚系数,其中惩罚系数依赖于接近所述限制的程度,和第三计算单元,其被配置成通过使用惩罚系数修正总成本来计算所述多个第三语音单元串中每个的估计值,其中检索单元基于所述多个第三语音单元串中每个的估计值从所述多个第三语音单元宴喊芦串中选择最多W个第三语音单元串。 “未来的十年是语音技术的时代”。随着语音技术研究的突破,其对计算机发展和社会生活的重要性日益凸现出来。语音合成技术是语音技术中十分实用的一项重要技术,它能解决人民大众的实际需求晌带,能够深入到社会的各行各业中去。
语音合成技术经历了一个逐步发展的过程,从参数合成到拼接合成,再到两者的逐步结合,其不断发展的动力是人们认知水平和需求的提高。它们各有优缺点,人们在应用过程中往往将多种技术有机地结合在一起,或将一种技术的优点运用到另一种技术上,以克服另一种技术的不足。
④ 语音合成的合成技术
波形拼接技术的发展与语音岁橘的编、解码技术的发展密不可分,其中LPC技术(线性预测编码技术)的发展对波形拼接技术产生了巨大的影响。LPC合成技术本质上是一种时间波形的编码技术,目的是为了降低时间域信号的传输速率。
LPC合成技术的优点是简单直观。其合成过程实质上只是一种简单的解码和拼接过程。另外,由于波形拼接技术的合成基元是语音的波形数据,保存了语音的全部信息,因而对于单个合成基元来说能够获得很高的自然度。
但是,由于自然语流中的语音和孤立状况下的语音有着极大的区别,如果只是简单地把各个孤立的语音生硬地拼接在一起,其整个语流的质量势必是不太理想的。而LPC技术从本质上来说只是一种录音+重放,对于合成整个连续语流LPC合成技术的效果是不理想的。因此,LPC合成技术必须和其他技术相结合,才能明显改善LPC合成的质量。 20世纪80年代末提出的PSOLA合成技术(基音同步叠加技术)给波形拼接合成技术注入了新的活力。PSOLA技术着眼于对语音信号超时段特征的控制,如基频、时长、音强等的控制。而这些参数对于语音的韵律控制以及修改是至关重要的,因此,PSOLA技术比LPC技术具有可修改性更强的优点,可以合成出高自然度的语音。
PSOLA技术的主要特点是:在拼接语音波形片断之前,首先根据上下文的要求,用PSOLA算法对拼接单元的韵律特征进行调整,使合成波形既保持了原始发音的主要音段特征,又能使拼接单元的韵律特征符合上下文的要求,从而获得很高的清晰度和自然度。
PSOLA技术保持了传统波形拼接技术的优点,简单直观,运算量小,而且还能方便地控制语音信号的韵律参数,具有合成自然连续语流的条件漏雀橡,得到了广泛的应用。
但是,PSOLA技术也有其缺点。首先,PSOLA技术是一种基音同步的语音分析/合成技术,首先需要准确的基因周期以及对其起始点的判定。基音周期或其起始点的判定误差将会影响PSOLA技术的效果。其次,PSOLA技术是一种简单的波形映射拼接合成,这种拼接是否能够保持平稳过渡以及它对频域参数有什返旁么影响等并没有得到解决,因此,在合成时会产生不理想的结果。 随着人们对语音合成的自然度和音质的要求越来越高,PSOLA算法表现出对韵律参数调整能力较弱和难以处理协同发音的缺陷,因此,人们又提出了一种基于LMA声道模型的语音合成方法。这种方法具有传统的参数合成可以灵活调节韵律参数的优点,同时又具有比PSOLA算法更高的合成音质。
这两种技术各有所长,共振峰技术比较成熟,有大量的研究成果可以利用,而PSOLA技术则是比较新的技术,具有良好的发展前景。过去这两种技术基本上是互相独立发展的,
⑤ 什么是语音合成技术
语音合成,又称文语转换(Text to Speech)技术,能将任意文字信息实时转化为标准流畅的语音朗读出来,相当于给机器装上了人工嘴巴。它涉及声学、语言学、数字信号处理、计算机科学等多个学科技术,是中文信息处理领域的一项前沿技术,解决的主要问题就是如何将文字信息型磨转化为可听的声音信息,也即让机器像人一样开口说话。我们所说的“让机器像人一样开口说话”与传统的声音回放设备(系统)有着本质的区别。传统的声音回放设备(系统),如磁带录音机,是通过预先录制声音然后回放来实现“让机器说话”的。这种方式无论是在内容、存储、传输或者方便性、及时性等方面都存在很大的限制。而通过计算机语音合隐租清成则可以在任何时候将任意文本转换成具有高自然度的语音,从而真灶前正实现让机器“像人一样开口说话”。
文语转换系统实际上可以看作是一个人工智能系统。为了合成出高质量的语言,除了依赖于各种规则,包括语义学规则、词汇规则、语音学规则外,还必须对文字的内容有很好的理解,这也涉及到自然语言理解的问题。下图显示了一个完整的文语转换系统示意图。文语转换过程是先将文字序列转换成音韵序列,再由系统根据音韵序列生成语音波形。其中第一步涉及语言学处理,例如分词、字音转换等,以及一整套有效的韵律控制规则;第二步需要先进的语音合成技术,能按要求实时合成出高质量的语音流。因此一般说来,文语转换系统都需要一套复杂的文字序列到音素序列的转换程序,也就是说,文语转换系统不仅要应用数字信号处理技术,而且必须有大量的语言学知识的支持。