TTS
是Text To Speech
的缩写,即从文本到语音
,是人机对话
的一部分,让机器能够说话。
它是同时运用语言学
和心理学
的杰出之作,在内置芯片
的支持之下,通过神经网络
的设计,把文字智能地转化为自然语音流。
TTS技术
对文本文件进行实时转换,转换时间之短可以秒计算。
在其特有智能语音控制器
作用下,文本输出的语音音律流畅,
使得听者在听取信息时感觉自然,毫无机器语音输出的冷漠与生涩感。
TTS语音合成技术即将覆盖国标一、二级汉字
,具有英文接口
,自动识别中、英文
,支持中英文混读
。
所有声音采用真人普通话
为标准发音,
实现了120-150个汉字/分钟
的快速语音合成,
朗读速度达3-4个汉字/秒
,
使用户可以听到清晰悦耳的音质和连贯流畅的语调。
现在有少部分MP3随身听具有了TTS功能
。
TTS
是语音合成应用
的一种,
它将储存于电脑中的文件,
如帮助文件或者网页,
转换成自然语音输出。
TTS
不仅能帮助有视觉障碍的人阅读计算机上的信息,
更能增加文本文档的可读性。
现在的TTS应用
包括语音驱动的邮件
以及声音敏感系统
,
并常与声音识别程序
一起使用。
现在有很多TTS的产品,
包括
1. 语音合成助手
2. PDF Markup Cloud
3. PDF 大师
4. Read Please 2000
5. Proverbe Speech Unit
6. Next Up Technology
的TextAloud
7. 朗讯
8. Elan
9. AT&T
都有自己的语音合成产品。
TTS文语转换
用途很广,
包括电子邮件的阅读
、IVR系统的语音提示
等等,
目前IVR系统
已广泛应用于各个行业(如电信、交通运输等)。
TTS
所用的关键技术就是语音合成(SpeechSynthesis)
。
早期的TTS
一般采用专用的芯片
实现,
如德州仪器公司
的TMS50C10/TMS50C57
飞利浦
的PH84H36
等,但主要用在家用电器
或儿童玩具
中。
基于微机应用的TTS一般用纯软件实现
,
主要包括以下几部分:
文本分析
-对输入文本进行语言学分析,逐句进行词汇的
、语法的
和语义的
分析,以确定句子的低层结构
和每个字的音素的组成
,包括文本的断句
、字词切分
、多音字的处理
、数字的处理
、缩略语的处理
等。
语音合成
-把处理好的文本所对应的单字
或短语
从语音合成库
中提取,把语言学描述
转化成言语波形
。
韵律处理
-合成音质
(Qualityof Synthetic Speech
)是指语音合成系统
所输出的语音的质量,一般从清晰度(或可懂度)
、自然度
和连贯性
等方面进行主观评价。
清晰度
是正确听辨有意义词语的百分率;
自然度
用来评价合成语音音质是否接近人说话的声音,合成词语的语调是否自然;
连贯性
用来评价合成语句是否流畅。
要合成出高质量的语音,所采用的算法是极为复杂的,
因此对机器的要求也非常高。
算法的复杂度
决定了目前微机并发进行多通道TTS
的系统容量
。
除了TTS软件
之外,很多商家还提供硬件产品,
其中包括
以色列WizCom Technologies
公司的 Quick Link Pen
,
它是一个笔状的可以扫描也可以阅读文字的设备;
还有Ostrich Software
公司的Road Runner
,
一个手持的可以阅读ASCII文本
的设备;
另外还有美国DEC公司
的DecTalk TTS
,
它是可以替代声卡的外部硬件设备
,
它包含一个内部软件设备
,可以与个人电脑自己的声卡协同工作。
TTS
在CTI
的应用中的基本构架CTI=Computer Telephony Integration
在一般的CTI应用系统
中,都会有IVR(交互式语音应答系统)
。
IVR系统
是呼叫中心
的重要组成部分,
通过IVR系统
,用户可以利用音频按健电话
输入信息,
从系统中获得预先录制的数字或合成语音信息
。
具有TTS功能
的IVR
可以加快服务速度,
节约服务成本,
使IVR
为呼叫者提供7*24小时的服务。
目前常见的IVR系统
大都是通用的工控机平台
上插入语音板卡
组成,
并支持中文语音合成TTS
等技术。
一个典型的包含TTS服务的电话服务流程
可分为:
1. 用户电话拨入
2. 系统IVR响应,获得用户按键等信息。
3. IVR根据用户的按键信息,向数据库服务器
申请相关数据。
4. 数据库服务器返回文本数据
给IVR
。
5. IVR
通过其TCP
通讯接口,将需要合成的文本信息
发送给TTS服务器
。
6. TTS服务器
将用户文本合成的语音数据
分段通过TCP通讯接口发送给IVR服务器
。
7. IVR服务器
把分段语音数据组装
成为独立的语音文件。
8. IVR播放相应的语音文件给电话用户。
一般的公网接入(IVR)大都采用工控机+语音板卡
,
而合成的语音数据则通过局域网
传给IVR
。
这种结构只适用于简单的应用场合。
包括中文语音处理
和语音合成
,
利用中文韵律
等相关知识对中文语句进行分词
、词性判断
、注音
、数字符号转换
,
语音合成通过查询中文语音库
得到语音
。
目前中文TTS系统,比较著名的有:
1. NUANCE,
2. IBM
3. Microsoft
4. Fujitsu
5. 科大讯飞
6. 捷通华声
目前比较关键的就是中文韵律处理
、符号数字
、多音字
、构词方面
有较多的问题,需要不断研究,使得中文语音合成的自然化程度较高。
TTS文本转语音技术的应用案例(TTSUU文本转语音软件)
TTS文本转语音技术
已经逐渐成熟,市场上也出现了一些优秀的TTS软件
,例如支持手机端的PDF Markup Cloud
等,
比较有代表性是一款叫做TTSUU (Text-to-Speech Universal Utility)
的国产文本朗读软件,
这个软件能朗读和复读几乎任何语言的文本内容,
具有20级音调变声
和20级语速调节能力
,
在朗读时能根据文本中的标点符号自动判断朗读停顿
,
也允许用户在文本的任意位置设置任意长的停顿时间,
TTSUU软件
能把文本导出成Wav
和MP3文件
,
同时能导出相应的LRC
以及SMI同步歌词字幕文件
,
还能录音
并输出Wav
和MP3文件
。
TTSUU软件
能够通过切换语音引擎
、重复朗读
、放慢或者加快朗读速度
、调高或者调低朗读音调
等功能帮助学生学习外语,
提供包括中、英、日、韩、德、法、西、葡、俄等近30个语音引擎
,
发音标准,语气感情色彩丰富,几可乱真。
TTSUU软件
允许您通过手工输入
、拷贝粘贴
、打开TXT文本文件
、Word文件
以及PDF文件
等方式对文本内容进行朗读、
导出音频
和字幕
,您也可以从任何网页
、Email
、电子文档
中拷贝任何文本内容,然后以随机彩色标签
的方式粘贴在主界面左右两根柱子上供您随时编辑、阅读、或者进行语音文件转换,
是工作、学习、听小说,语音校对、语音广告、音效素材制作等不可缺少的好帮手。
CTI技术
使电信
和计算机
相互融合,
克服了传统电信和计算机服务相对单一的缺点,
将两者完美结合了起来。
其应用领域非常广泛,
任何需要语音
、数据通信
,特别是那些希望把计算机网
与通信网
结合起来完成语音数据信息交换
的系统都会用到CTI技术
。
TTS即语音合成技术(Text To Speech)
,它涉及声学
、语言学
、数学信号处理技术
、多媒体技术
等多个学科技术,是中文信息处理领域
的一项前沿技术,实现把计算机中任意出现的文字转换成自然流畅的语音输出。
TTS
在CTI系统
中可以应用在IVR(交互式语音应答)服务器
上,
以提供语音交互式平台
,
为用户电话来访提供语音提示,
引导用户选择服务内容和输入电话事务所需的数据,
并接受用户在电话拨号键盘上输入的信息,
实现对计算机数据库
等信息资料的交互式访问。
在IVR
中应用TTS
可以自动将文本信息转换为语音文件,
或者实时地将文本信息合成语音并通过电话发布。
实现文本与语音自动双向转换,
以达到人与系统的自动交互,
随时随地为客户服务。
维护人员不必再人工录音,
只须将电子文档引入系统中,
系统可以自动将电子文档转换为语音信息播放给客户。
数据库中存放的大量数据,
无需事先进行录音,
能够随时根据查询条件查出并合成语音进行播报,
从而大大减少了座席人员的工作负担。
那么应如何将TTS功能
附加到CTI应用
中呢?
某些比较先进的交换平台,
已经在交换机
的内部实现了TTS的功能,
并作为标准接口
的一部分对外提供,
业务开发商
只需要简单的调用他们即可以在业务中使用该功能。
对于未实现TTS功能
的PBX
,
就需要业务开发商
自己去选择合适的平台,
在此基础上进行二次开发,
即调用所选TTS平台
提供的标准接口
,实现语音合成功能
。
目前CTI
已经成为全球发展最为迅猛的产业之一,
每年以50%
的速度增长,
CTI
如同计算机产业
一样是一个金字塔形
的产业链,
从上到下会以至少20倍
的幅度增值
。
TTS
作为一种诱人的新技术,
如果能很好的嵌入到增值业务
的应用中去,
必将形成一个更好的应用前景。
杭州音通软件有限公司
是由国家教育部
和浙江省人民政府
联办并依托浙江大学
而成立的高新技术公司,音通公司
主要致力于计算机语音技术的研发并逐步开拓语音识别
、语音流媒体传输
等其它语音领域的研究。
其核心技术(Intone_TTS)
是具有自主知识产权的中文语音合成技术,在由浙江省科技厅
组织的鉴定中被专家一致鉴定为国内领先地位,
并已申请多项国家专利。
Intone_TTS
是一套把文本信息转换为语音信息的开发工具包,
为系统集成商
、软件开发商
提供了完备的接口函数
和编程示例
,
使用户能够灵活的进行调用,并集成到其它应用系统中。
接口需要语音合成运行库
的支持,适合多种开发环境。
开发者可以根据具体的应用场合进行选择。
它能够对所有的汉字
、英文
、阿拉伯数字
进行语音合成;
支持繁体字及多音字的编辑;
合成效果:自然、平滑;
规范的函数调用接口,同时支持微软SAPI
的调用;
支持同步调用
和异步调用
方式;
支持PCM Wave
,uLaw/aLaw Wave
,ADPCM
,Dialogic Vox
等多种语音格式;
支持GB2312
码(简体中文)、BIG5
码(繁体)、UNICODE码
;
支持多路通道同时合成;
支持Dialogic、东进、三汇等主流语音板卡;
TTS
就是Text To Speech
,文本转语音,文本朗读,
差不多是一个意思。
在语音系统开发中经常要用到。
目前市场上的TTS很多,实现方式也各式各样,有的很昂贵,
如科大讯飞
,据说当初得到863计划的资助,有很高的技术;
有的相对便宜,如捷通华声
,InfoTalk
;
也有免费的,如微软
的TTS产品
。
相对于ASR(Automatic Speech Recognition,自动语音识别)
来说,实现一个TTS产品
所需要的技术难度不算大,
在我看来也就是个力气活。
要是让我们来做一个能够把汉语句子朗读出来的TTS,
我们会怎么做呢?
有一种最简单的TTS
,就是把每个字都念出来,
你会问,岂不要录制6千多个汉字的语音
?
幸运的是,汉语的音节很少,很多同音字。
我们最多只是需要录制:
声母数×韵母数×4,(其实不是每个读音都有4声)
,
这样算来,最多只需要录制几百个语音
就可以了。
在合成的时候需要一张汉字对应拼音的对照表
,
汉字拼音输入法
也依赖这张表,可以在网上找到,
不过通常没有4声音调,大不了自己加上,
呵呵,要不怎么说是力气活呢。
这样做出来的TTS效果也还可以,
特别是朗读一些没有特别含义的如姓名
,家庭住址
,股票代码
等汉语句子,听起来足够清晰。
这要归功于我们伟大的母语通常都是单音节
,
从古代的时候开始,每个汉字就有一个词,表达一个意思。
而且汉字不同于英语,英语里面很多连读,音调节奏变化很大,
汉字就简单多了。
多音字
, 标点符号的处理
国内的一些语音板卡带
的TTS
,不管是卖钱的还是免费的,
大体都是这样做出来的,也就是这样的效果。
如果要把TTS
的效果弄好一点,再来点力气活,
把基本的词录制成语音
,如常见的两字词,四字成语等,
再做个词库
和语音库
的对照表
,
每次需要合成
时到词库里面找。
这样以词为单位,比以字为单位,效果自然是好多了。
当然,这里面还是有个技术,就是分词
的技术,
要把复杂的句子断成合理的词序列,也有点技术。
这也要怪新文化那些先驱们,当初倡导白话文,引进西文的横排格式
、标点符号
的时候,没有引进西文中的空格分词
。
不过即使分词算法
那么不高效,不那么准确,也问题不大,
如前面所说,汉字是单音节词,把声音合起来,大体上不会有错。
当然,科大讯飞的力气活又干的多了些,
据说已经进化到以常用句子
为单位来录音了,
大家可以想像,这要耗费更多的力气,换来更好的效果。
至于增加一些衔接处的“词料”
,弄一些修饰性的音调
,
我认为是无关紧要的,对整体的效果改进不是太大。
市面上商品化TTS一般还支持粤语,
请个粤语播音员录音,
把上面的力气活重做一遍就是了。
再说句题外话,
很多人觉得录音最好找电台、电视台的播音员,
其实找个你周围的女同事来录制,
只要吐字清晰就可以了。
在某种情况下,寻常声音比字正腔圆的新闻联播来得可爱。
再来说说文本的标识
,
对于复杂文本
,某些内容程序没有办法处理,需要标识出来。
比如,单纯的数字“128”,
是应该念成“一百二十八”还是“一二八”?
解决办法通常是加入XML标注
,
如微软的TTS:
"
念成“一百二十八”
,
"
将念成“一二八”。
TTS引擎
可以去解释这些标注。
遗憾的是,语音XML标注
并没有形成大家都完全认可的标准,
基本上是各自一套。
再说说TTS应用编程
,微软的TTS编程接口叫SAPI
,是COM接口
,
开发起来还是有点麻烦,
还好MSDN的网站上资料很全面。
微软的TTS虽然免费,
但其中文角色目前是个男声,声音略嫌混浊,感觉不爽。
国内一般的厂家提供API调用接口
,相对比较简单,
可以方便地嵌入应用程序中去。
商品化的TTS
还有个并发许可
限制,
就是限制同时合成的并发线程数
,我觉得这个限制用处不大。
无论哪种TTS,都可以将文本文件转换成语音文件,供语音卡
播放。
大部分应用句子比较短小,一般不会超过100个汉字,
合成的时间是非常短的,弄个线程专门负责合成,
其它应用向该线程请求就是了,
万一句子很长,把它分解成多个短句子就是了,
播放的速度
总是比合成的速度
慢。
也很多应用是脱机合成
,没有实时性要求,就更不必买多个许可
了。
更多情况下,我们甚至没有必要购买TTS
,
比如语音开发中常见的费用催缴
,拨通后播放:
“尊敬的客户,您本月的费用是:212元”,
前面部分对所有客户都一样,录一个语音文件就是了,
而数字的合成是很简单的,
你只要录制好10个数字语音,
再加上十,百,千,万,再加上金钱的单位“元”。