计算机语音技术

--在微软Speech平台

作者:梁振[Diyinside Community副主席]

作者介绍:

微软2003,2004年度MVP , 微软社区之星,微软BizTalk 2004认证讲师。曾参加微软公司西雅图2004年度全球MVP峰会和
多次中国区MVP峰会。

介绍:

本主要主要是介绍计算机语音技术为主,附带会涉及关于微软公司在这方面一些相关的产品及其特性。希望本文对于
你了解和学习语音技术有引导性作用。

目录:

1,介绍语音技术

2,计算机语音合成技术

3,计算机语音识别技术

4,介绍微软Speech平台

5,如何学习语音技术

正文:

1,介绍语音技术

在科幻电影中我们经常可以看到机器人和人通过自然语言的沟通,如下图的场景:

可能很多人都觉得是离我们很遥远的,其实不然。这无非就是基于语音技术中的语音识别技术和语
音合成技术实现的人与计算机之间的信息交互,而中间数据处理过程依赖更强大的系统。

语音技术相对其它计算机技术而言,是一门还很年轻的计算机技术。语音技术研究在很早就有了,
在1995年后个人计算机的计算和处理功能更加强大后逐步开始有一些应用。而今天语音技术在不知
不觉中开始逐步走入了我们的生活,比如我们今天使用的中国移动电话客户服务系统实际上就是一
个语音系统在我们生活中的应用。

下面让我们一步一步来揭开这些看似神秘而又正在接近我们生活的语音技术的面纱。

2,计算机语音合成技术

对于上文提到科幻影片中的机器人说话实际上就是语音合成技术。计算机语音合成技术是将产生类似
于人类语言的声音进行处理的技术。其实计算机语音合成技术在很早以前就已经被发明了,可惜输
出的自然语言在效果上一直没有达到可以接受的标准。今天,随着技术的发展,自然语言的输出效
果也逐步变得让人可以接受。

语音合成技术的工作原理是将需要输出的数字信号通过合成引擎转换为用户可以听到的自然语言,
原理如图所示,

在微软的Speech平台中语音合成包括两部分内容:

1,Speech 语音提示引擎

语音提示引擎是Speech平台上的用于文字输入和连接录制语音单元(文字或者短语)输出的组件。

语音提示引擎存储录音使用本地一个或者多个语音提示单元的数据库。

2,Speech 语音合成引擎

语音合成引擎允许应用程序通过计算机数据转换输出到指定的声音输出设备。其中,使用一些基本
的音标处理合成词语和句子。

相比较而言,语音提示引擎效果比语音合成引擎更好,虽然使用的是人类自然语言的组合,但是合
成句子依赖数据库中数据的规模。而语音合成引擎则可以处理更多的计算机文本数据,不需要数据
库的支持。

对于不同的应用可以选择不同的引擎,比如前面我们提到的中国移动电话客户服务系统采用的就是
语音提示引擎来完成的。

3,计算机语音识别技术

语音识别是处理自然语言到数据的转换,语音识别技术也可以称为Speech-to-Text的识别。

语音识别系统的处理过程首先是用户通过语音输入设备(比如麦克风)输入语音信号,然后通过
语音接收卡(一般为声卡)接收语音数据转化为数字信号传入语音识别引擎进行处理,语音识别
引擎处理完成后交给相关逻辑程序去处理相关应用。

在微软公司Speech平台中语音识别主要分为两步完成,第一步是完成语音数据到计算机数据的转换
;第二步是需要语义分析关于计算机数据中信息的意思。Speech平台对于语义分析使用的是一种
XML语言的扩展,Semantic Markup Language(SML)(标记性语义语言)如图所是,

相关信息:开发出世界上第一个“非特定人连续语音识别”系统的就是微软公司现任全球
副总裁李开复先生。

4,介绍微软Speech平台

90年代后微软公司作为软件业的龙头企业在技术上保持领先地位,微软研究院在语音技术S
peech平台上面保持全球领先水平,其早期语音技术的软件产品包括Microsoft Activate Center
Interactive Voice Response (IVR) systems (微软激活中心语音响应系统)和 一些基于Office XP
上的少量语音控制命令等。

今天,随着微软公司整个软件平台进入.NET平台后,语音技术也分为多个方向在发展,对
于一般用户的产品中继续保留Office XP中的语音识别技术命令;对于开发人员继续提供了
Speech SDK(最新版本5.1)、最近才推出的基于站点开发语音技术的Speech Application SDK
(最新版本1.1)和对于企业语音客户服务专用的Microsoft Speech Server 2004.

Office XP中的语音识别技术命令使用户可以在Microsoft Office XP 以及后续版本Microsoft
Office System 2003中使用简单的语音命令。例如:通过语音命令Word可以自动执行类似
新建或保存这样的基本功能。

Speech SDK是提供了一套语音应用程序开发的软件开发资源包,方便开发人员使用资源包中
的资源开发语音识别和语音合成的应用程序。该软件开发包结构如下图所示:

Speech Application SDK是基于.NET平台下开发语音ASP.NET站点的开发资源包.

Speech Server 2004 是微软公司第一次将语音技术转化为企业及应用服务器的产品,
总的来说Speech Server 2004是一个将现阶段的Web技术、语音处理技术和电话接入技术
整合在一起的集成服务器。和同类服务器软件比较,它最大特点是可以构建基于Web上
的语音技术站点。电话接入技术和语音技术的结合最常见的就是我们的手机话费充值系统
,通过手机按键确认账号和密码然后通过其他按键组合完成话费充值。

5,如何学习语音技术

学习语音技术可以分为理论学习和应用学习两个方向,对于理论学习适合计算机相关专业
的同学通过学习离散数学、人机交互、用户界面、自然语言、语音识别等一系列本科、研
究生以及博士课程来学习。

对于应用性学习,如果希望在微软.NET平台上开发学习Speech技术,个人建议学习下面内容:

(1).NET平台上软件开发

  .NET平台开发可以让你最少的考虑代码上的设计,而把重点放在逻辑上的设计。

(2)XML技术

  因为语音识别的语法依赖的Semantic Markup Language(SML)是由标准的XML语言衍生
而来的。

  (3) Speech SDK 5.1和Speech Application SDK 1.1

  因为软件开发包(SDK)可以快速让你学习Speech的开发。

参考资料:

《The Art and Business of Speech-recognition》

http://thesource.ofallevil.com/china/community/Column/

http://thesource.ofallevil.com/china/community/Column/