历史上的今天
返回首页

历史上的今天

今天是:2024年09月09日(星期一)

正在发生

2021年09月09日 | 语音合成(TTS)的概念及分类

2021-09-09 来源:eefocus

语音合成

 

Speech Synthesis 或Text to Speech(TTS)

语音合成(Speech Synthesis)是人类语音的人工合成。用于此目的的计算机系统称为语音计算机或语音合成器,可以在软件或硬件产品中实现。文本到语音(TTS)系统将普通语言文本转换为语音;其他系统则把像音标这样的符号语言表示法翻译成语音。其他系统则使用符号语言表征例如标音法翻译成语音。(other systems render symbolic linguistic representations[2] like phonetic transcriptions into speech.[1] )

 

1. Allen, Jonathan; Hunnicutt, M. Sharon; Klatt, Dennis (1987). From Text to Speech: The MITalk system. Cambridge University Press. ISBN 978-0-521-30641-6.

 

2. A symbolic linguistic representation符号语言表征是一种话语的表征,它使用符号来表征话语的语言信息,如语音、音位、形态学、句法或语义的信息。符号语言表征不同于非符号表征,如录音,因为它们使用符号来表示语言信息,而不是测量。

 

合成语音可以通过连接存储在数据库中的记录语音片段来创建。系统存储的语音单元大小不同;存储音素和亚音素(phones and diphones)[3]的系统提供最大的输出范围,但可能缺乏清晰度。对于特定的使用领域,整个单词或句子的存储允许高质量的输出。或者,合成器可以结合声道模型和其他人类声音特征来创建一个完全“合成”的声音输出。

 

3.语音学(Phonetics)是语言学的一个分支,研究人类语言的声音,或者,在手语中,是手语的等效方面。它涉及语音或信号(电话)的物理特性:它们的生理产生、声学特性、听觉感知和神经生理状态。另一方面,音韵学是研究声音或符号系统的抽象语法特征。

 

语音合成器的质量是由它与人类声音的相似性和它被清晰理解的能力来判断的。一种可理解的文本-语音转换程序允许有视觉障碍或阅读障碍的人在家用电脑上听书面文字。自上世纪90年代初以来,许多计算机操作系统都包含语音合成器。

 

文本到语音系统(或“引擎”)由两部分组成:前端和后端。前端有两个主要任务。首先,它将包含数字和缩写等符号的原始文本转换为相当于输出的单词。这个过程通常称为文本规范化、预处理或标记化。然后前端为每个单词分配语音转录,并将文本划分和标记为韵律单位,如短语、子句和句子。将音标分配给单词的过程称为文本到音素或字母到音素的转换。音标和韵律信息共同构成了前端输出的符号语言表征。后端通常被称为合成器,然后将符号语言表示转换成声音。在某些系统中,这部分包括计算目标韵律(音高轮廓,音素时长),然后将之加到输出语音上。(^ van Santen, Jan P. H.; Sproat, Richard W.; Olive, Joseph P.; Hirschberg, Julia (1997). Progress in Speech Synthesis. Springer. ISBN 978-0-387-94701-3.)

 

之前的文章有提到过,目前国内的主流语音合成方案有科大讯飞、搜狗、云知声、思必驰等。

 

而语音合成目前市面上一般使用参数合成,或者拼接合成,前者的音库都是在10小时左右,基本用不到20小时,对于合成人声效果的自然度,更依赖算法,而拼接则对于数据的需求量很高,对合成人声效果的自然度,更依赖数据量。很多听起来很自然的音库时长在100~200小时左右。

 

以及,TTS模型通常也会分为中文,英文,或者中英混输的。做训练的文本,有很多文字比较拗口,故而对录音声优的功力有要求,中英混输的模型数据就更难了。如果是普通的中文TTS模型,以刚才的例子“马上为您播放周杰伦的《晴天》live版本”,这种就可以在录音时加入一些简单的字母,单词,短语等等。

 

合成的wav文件回传到终端音箱,并播放出来,如此,完成了一环基础的用户与智能硬件之间的对话。

 

方法上:波形拼接合成和参数合成

波形拼接语音合成:

基于统计规则的大语料库拼接语音合成系统

 

超大规模音库制作:语料设计;音库录制;精细切分;韵律标注;

 


优点:音质最佳,录音和合成音质差异小,正常句子的自然度也好

 

缺点:非常依赖音库的规模大小和制作质量,尺寸大,无法在嵌入式设备中应用,仍然存在拼接不连续性

 

参数语音合成技术:

对于引得频谱特性参数进行建模,生成参数合成器,来构建文本序列映射到语音的映射关系

 


优点:尺寸小,语音自然度好

 

缺点:音质不如拼接合成


推荐阅读

史海拾趣

Echelon公司的发展小趣事

随着公司业务的不断发展,Echelon开始积极拓展全球市场。公司通过在海外设立分支机构、与当地企业合作等方式,将LonWorks技术和能源管理服务方案推广至全球各地。同时,Echelon还积极参与国际能源管理标准的制定和推广工作,提升了公司在国际市场的知名度和影响力。

Cliff Electronic Components公司的发展小趣事

在激烈的市场竞争中,Echelon始终保持对技术的热情和追求。公司不断投入研发资源,对LonWorks技术进行升级和优化,推出了一系列创新的产品和服务。这些新产品和服务不仅提升了Echelon的市场竞争力,还为客户带来了更加高效、便捷的能源管理体验。同时,Echelon还积极与其他科技公司合作,共同研发新技术、新产品,推动整个行业的发展。

Handok Co Ltd公司的发展小趣事

随着公司业务的不断发展,Echelon开始积极拓展全球市场。公司通过在海外设立分支机构、与当地企业合作等方式,将LonWorks技术和能源管理服务方案推广至全球各地。同时,Echelon还积极参与国际能源管理标准的制定和推广工作,提升了公司在国际市场的知名度和影响力。

EIC [EIC discrete Semiconductors]公司的发展小趣事

EIC公司自创立之初,就致力于离散半导体技术的研发与创新。在成立初期,公司面临了技术瓶颈和市场接受度的双重挑战。然而,EIC的研发团队通过不懈努力,成功研发出了一款高性能、低功耗的离散半导体产品,这一技术突破不仅为公司赢得了市场认可,也为后续的产品线扩展奠定了坚实的基础。随着技术的不断进步和产品线的不断丰富,EIC逐渐在电子行业中树立起了自己的品牌形象。

EPSON公司的发展小趣事

随着业务的不断发展,EPSON开始积极拓展国际市场。公司先后在全球五大洲设立了多个生产和研发机构,以及销售和服务网点,以便更好地服务全球客户。通过不断拓展海外市场,EPSON逐渐实现了全球化战略,其产品和服务已经覆盖全球多个国家和地区。

南京绿芯(Grenergy)公司的发展小趣事

EPSON公司,原名精工爱普生,成立于1942年,最初以制造手表起家。然而,随着技术的不断进步和市场需求的变化,EPSON逐渐将业务扩展到电子领域。在创始人及其团队的带领下,EPSON凭借其卓越的技术创新能力,成功研发出了一系列具有划时代意义的电子产品,如世界上第一台微型打印机和喷墨打印机,奠定了其在电子行业的领先地位。

问答坊 | AI 解惑

关于定时器延时程序的疑问

大家好,我想针对这个定时器延时程序问几个问题: #define  f   3686400  //系统时钟为3.6864MHz void t0_wait_ms(unsigned char ms) {    TCON &=~ 0x30;    TMOD &=~ 0x0F;   &nbs ...…

查看全部问答>

51单片机C语言教程

这是我在买的一块51板子时,一同附赠的一份资料。我自己觉得还不错,所以就拿出来和大家一起分享一下。希望对大家也能有所帮助………

查看全部问答>

老板一定要买正版EDA软件,有没有价廉物美的?

一直用altium designer,之前也用过ORCAD一段时间,仿真一般用PROTEUS。现在老板要买正版的,联系了ALTIUM报价太贵,有没有别的推荐?…

查看全部问答>

请教信号量定义时是否需要用volatile

多线程之间共享的变量定义时要使用关键字volatile,那么信号量是否定义时也需要用volatile?…

查看全部问答>

《EVC高级编程及其应用开发》中第八章就一个例子,利用ADO访问ACCESS的一个问题

  为什么程序的CreataConnection()时就该语句hr= CLSIDFromProgID( g_szADOCE31ConnProgID, &tClsid );就无法正确执行。 在程序中只量把ADOCE30.h换成了ADOCE31.h。另外程序中所有的ADOCE30也全换成了ADOCE31。 急!!参与有分啊~~~~ ...…

查看全部问答>

在主界面弹出一个窗口后,总会把界面的工具栏隐藏掉,有什么方法可以显示出来?哪位仁兄赐教

如题: evc中在主界面弹出一个窗口后,总会把界面的工具栏隐藏掉,有什么方法可以显示出来?哪位仁兄赐教…

查看全部问答>

mobile c++ 手机关机处理事件

mobile c++  手机关机处理事件 我想在手机关机时响应到一个事件,然后在这个事件中做一些其他处理.但现在无法得到手机关机事件. 比如:1:启动软件, 2;长按power键,3:响应到软件中的代码 4:在该代码中做其他处理. 问题:如何实现第三步?当 ...…

查看全部问答>

串口不能烧程序

前段时间在淘宝买了块STM32的板子,我收到发现串口不能烧程序,寄回卖家说用JTAG,把什么“保护”给弄了下,当时我也没具体问卖家怎么回事。这是不是说明STM32是已经用过的芯片,要不然新的片子怎么会串口都不能烧写呢? 不知道是不是?…

查看全部问答>

请教:430单片机的速度?

我使用8M晶振,读取串行flash -AT45DB081,但是速度还是达不到我的要求(用c语言写的),想超频,不知道430能超到多少,稳定吗? 各位dx有没有什么解决速度的经验。…

查看全部问答>

关于DSP上电引导的提问

最近看了两个TI的文档呢。DSP281x_HeaderFiles_QuickStart_Readme和spru095a_TMS320F28x Boot ROM Reference Guide (Rev. A)这两个文档。了解了一下 DSP有了复位信号后,会跳到0x3FFFC0这个地址上去,假设现在是BOOT-ROM映射到0x3FF000这个地址上面 ...…

查看全部问答>