<%-- JSP全站自动生成HTML下载新闻系统 V3.1 作者:JSP天空网站长 曹进 QQ:173241393 --%> XML在语音中的应用(二)
 
用户名:
密码:
终身会员
  首页 网络文摘 技术专题 下载中心 JSP培训 公司产品 JSP虚拟主机 技术论坛 会员 JSP免费空间  
  技术文摘: JSP基础 | JSP高级 | JSP环境 | JAVA基础 | JAVA高级 | JAVA工具 | JAVA数据库 | WEB框架 | XML相关 | JAVA考试 | J2EE相关 | J2ME相关 |
  视频下载: 程序设计数据库相关教程计算机基础教程图形图像网络技术网络安全时空书库EasyShop虚拟主机JSP培训技术论坛
  书籍教程: JSP教程Java教程图像软件XML教程数据库教程网页教程工具软件服务器相关ASP教程PHP教程CGI教程.NET教程
  代码下载: ASP代码下载JSP代码下载PHP代码下载CGI代码下载Flash代码C/C++/VCPowerBuilderDelphiVisualBasicVisualFoxpro
您的位置: 首页 -> 文章分类 -> XML相关 -> XML在语音中的应用(二)
 文摘搜索
 
 文摘资源分类
 
 文摘总排行榜TOP10
 
 最新更新文摘TOP10
 

XML在语音中的应用(二)

[来源]管理员   [作者]网络文摘   [时间]2007-04-05
推荐等级: 点击:
W3C在语音浏览上所作的工作

    作为一个权威的标准化组织,W3C和早就看上了语音浏览(Voice Browser)。W3C于1998年的10月份成立了一个名为“语音浏览器”的工作站。大家在这里可以联想一下,XML是最早于1996年底被提上议案的。工作站的目标非常明确,制定语音浏览方面的标准,迎接即将来临的语音浏览热潮。工作站的工作主要基于以下一些方面,我们还要在后面对其中的部分工作放大研究。

    语音标识语言对于对话的需求说明

    简单的说,为了语音浏览器能够方便的结合不同的输入输出形式,和谐的同用户交互“对话”,需要对用来表示对话数据的标识语言进行限制。可以想象,用于表现平面网页的HTML就不能胜任语音浏览器。不但是因为它繁杂混乱,而且它的二维性质也使得它不能表示交互式的对话。

    标识语言当中对可重复使用对话的要求说明

    好比高级程序语言编程一样,有一些小的模块会是被经常重复使用的。这些小的模块被设计成为函数或是过程,每当要用的时候就调用一次。在语音浏览器使用的标识语言当中需要有这样的类似机制,用来表示那些经常会被重复使用的部分。这一点可以在后面的文章中具体的体会到。经常会被重复使用的部分包括简单的确认、收集电话号码、日期、金额、信用卡信息和地址的信息等。

    标识语言当中语音识别语法层表示的需求说明

    前面我们已经提到过语音浏览器的实现和语音技术的应用密不可分。为了实现语音数据的识别输入,语音浏览器会用到现成的语音识别平台。不同的语音识别方法有着不同的平台要求。如果只是独立人的小词汇量识别,我们还可能不需花费太多的时间在识别之上。但只要要求一旦稍微放松一点,语音识别的难度一下子就会变得很高。对于非独立人的小词汇量、带语法结构的语音识别,就需要在语音识别平台的接口上对带识别的语音输入语法结构做出具体的描述。而这种情况是现在一般的语音浏览器所遇到的最普遍情况。W3C在这里定义了一套这样的语法标识表示。

    标识语言中对自然语言处理的需求说明

    这其实就是前面我们已经提到的语音理解方面的问题。这同上面的一点一样,和语音技术密切相关。定义了对于自然语言理解在语音浏览器实现当中的标识表示需求说明。

    标识语言中对语音合成的需求说明

    为了实现语音的输出,人们必须要用到语音合成。简单的把事先录制好的声音拼凑起来回放也可以视为语音合成中的一种。而实际当中用的更多的还是TTS(Text To Speech)。怎样表示要合成的语句呢?不同的语音平台有着不同的方法。W3C正是在抽象出这些特征的共性。比如说一句话中的某一个词要重读,某一句话是男声发音。通过标识语言,我们就可以统一的描述一段待合成的文字。

    下面我们将对一些W3C的部分工作放大研究。

语音合成

    前面我们已经谈到了一些语音合成的问题。当语音浏览器需要将输出的结果由字符变成自然语音时,我们必须时间把语音读本的一些语言特征事先标示出来提供给语音合成器。语音浏览器中这是用XML语言来实现的。

    所示文字数据从语音浏览器的前段处理得到后,被一种转换机制变成标识语言。这里的转换机制其实就是代码的开销。符合语音合成器的标识语言被送入特定的语音合成器当中,最终用户就可以听到自然语音了。

    请注意,语音合成方式并不是唯一的。还有简单的方法是把文字数据非拆成一些经常会被重复使用的短语段,然后通过匹配的方法读取事先录制好的语音段,拼合成为一段自然语音。但这种方法的缺点解释非常明显的。首先是对文字数据的范围限制很大,一定实效词汇量的,并且有着固定的句式。其次人工录制的开销较大,并且随着文字数据范围的扩大,开销成倍的扩大。最后,这种方法合成的自然语音并不自然。 

    由于不同的公司有着不同的语音应用平台,所以在从前语音合成的标识语言并不统一。但好在的是由于语音合成技术本身存在的一致性,这些不同的标识语言所标示的语音特征大同小异。差别只是在一些标识的表示方法不同之上。 

    下面让我们来看一下几种主要的语音合成标识语言。


1 JSML(Java Speech Markup Language) 

    JSML顾名思义是用来将文字输入Java语音API合成器之用的标识语言。JSML包含了被合成文字的自然语音属性。而且它使用的是Unicode字符集,所以它适用于几乎所有的语言。


例子:


你一共欠了我

10000元




太夸张了


 

    我们不会在这里详细的介绍JSML的标识的含义,因为我们将比较详细的介绍W3C的标准。我们可以从例子当中看到这是一段对话。表示的是这是一段话。表示重读。的属性LEVEL还可以设定重读的分量,上面的例子当中并没有体现。用来标记文字读出的方式。具体的方式是由它的特定属性设定的。比如上面的CLASS="number"表示按照数字大方式读。CLASS="literal"表示按照分离的方式读,也就是“太夸张了”。

2 SABLE

    同上面一样我们也通过一个例子来了解它。

例子:

这就是去年

为我

点的歌


[收藏][打印][关闭]
在线咨询服务 在线咨询服务 在线咨询服务 在线咨询服务
Copyright©2005-2006陕西思远数码科技有限责任公司 服务电话:029-88212987 传真:029-88278265 售后服务QQ:173241393
地址:陕西省西安市吉祥路186号太白新苑C座2104 陕ICP备05004508号