Chinaunix首页 | 论坛 | 博客
  • 博客访问: 14490706
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 20:50:53

下载本文示例代码
  摘 要 介绍了美国微软公司的全程语音TTS技术,并且在Borland Delphi 7.0可视化编成工具中利用MSTTS技术开发出能够进行英文朗读功能的应用软件,从而总结了利用MSTTS技术开发英语教学软件的有效方法。  关键词 MSTTS引擎;MS Speech API;英文朗读  引言  MSTTS(Microsoft Text-To-Speech)是微软公司研制的一套功能强大的英文文字朗读引擎,它可以将文档中的英文文字信息转换成计算机语音信息,通过计算机声卡发音将内容朗读出来。利用它和相关的语音接口开发出英语发音教学软件,可以实现英文单词发音及整段英文的流利朗读示范。从而,可以使学生在课下或者没有教师的情况下,从软件中获得标准的英文发音的辅助,这对于一些发音不好的英语学习者有极大的帮助。  MSTTS引擎简介  要在软件的开发过程中使用MSTTS技术,必须安装MSTTS引擎。MSTTS引擎的安装包可以在微软公司的官方网站下载,也可以在“金山词霸”软件的安装盘中找到。运行安装包后,MSTTS引擎将被安装在系统之中,同时,在操作系统控制面板的“添加/删除”程序中会出现“Microsoft Text-to-speech Engine”卸载项。在安装好MSTTS引擎之后,就可以利用的Borland Delphi平台使用MSTTS技术开发相应的英语教学软件,实现英文朗读等功能。  设计原理  1、软件设计原理  软件在Delphi平台中的设计原理是通过调用微软语音接口(MS Speech API)来实现英文文字朗读功能的。安装MS Speech API的方法和MSTTS引擎相同,亦可以在微软官方网站或者在“金山词霸”安装盘中找到。运行spchapi.exe后,Windows目录中会生成一个Speech子目录,其中有一个Vtxtauto.tlb文件,它是相应的类型库,对服务器的接口给出了与语言无关的描述;Vcmd.exe作为进程外的自动化服务器,提供将文本转换为语音的服务。  软件的功能分三大模块:语音显示模块、语音控制模块和编辑模块。语音显示模块中,将动态显示朗读对象,即语音自动化服务器的处理对象;语音操作模块中,提供一系列的语音操作,即对语音服务进行动态的个性化处理;编辑模块是对文本内容的个性设定,满足特殊用户的需求。软件的原理如图1所示。      图1 软件原理图  2、VtxtAuto接口说明  Delphi中使用MSTTS引擎的类型库名为VtxtAuto,通过分析,可以了解VtxtAuto的相关成员函数和属性。  2.1 Speak函数  procedure Speak(const pszBuffer: WideString; dwFlags: Integer); safecall;  Speak函数用于实现朗读功能,它有两个参数,第一个参数向MSTTS引擎传递需要朗读的文字,第二个参数由指定朗读时使用的语气和优先级的两个符号合并而成。  2.2 Register函数  procedure Register(const pszSite: WideString; const pszApp: WideString);safecall;  Register函数用于实现接口的注册。在软件的初始化时,Register操作是必须的,因为在操作系统中可能有多个类似的程序在使用MSTTS引擎,通过Register操作可以对每一个使用MSTTS引擎的软件进行设置和区分。  2.3 IsSpeaking属性  property IsSpeaking: WordBool read Get_IsSpeaking;  IsSpeaking属性是一个布尔函数,通过这个属性可以取得当前程序的状态,  2.4朗读操作成员函数  VtxtAuto对象有一系列的成员函数,通过这些成员函数,可以实现对朗读功能的各种操作、控制,具体函数如表1所示。表1 VtxtAuto对象的成员函数 函数命令形式 函数说明 VtxtAuto.AudioResume 用于朗读状态的恢复操作 VtxtAuto.StopSpeaking 用于实现停止朗读 VtxtAuto.AudioPause 用于实现暂停朗读 VtxtAuto.AudioFastForward 用于实现向前跳过一句朗读 VtxtAuto.AudioRewind 用于实现向后跳过一句朗读  此外,还有一个属性Speed,通过读写Speed属性可以取得或设置朗读的语速,其单位是“字数/分钟”,缺省值为170。  软件功能的实现  1、VtxtAuto类型库的导入  首先,在Borland Delphi平台上,新建一个Application,然后从Project菜单的“Import Type Library...”中选择“Add...”,浏览到Windows目录下的Speech子目录里,打开vtxtauto.tlb,可以看到下面Class names中会出现我们需要的接口的包装类“TVTxtAuto”文件。选中对话框底部的Generate Component Wrapper,点击Create Unit就可以打开一个名为VTxtAuto_TLB的Unit。共2页。 1 2 :   摘 要 介绍了美国微软公司的全程语音TTS技术,并且在Borland Delphi 7.0可视化编成工具中利用MSTTS技术开发出能够进行英文朗读功能的应用软件,从而总结了利用MSTTS技术开发英语教学软件的有效方法。  关键词 MSTTS引擎;MS Speech API;英文朗读  引言  MSTTS(Microsoft Text-To-Speech)是微软公司研制的一套功能强大的英文文字朗读引擎,它可以将文档中的英文文字信息转换成计算机语音信息,通过计算机声卡发音将内容朗读出来。利用它和相关的语音接口开发出英语发音教学软件,可以实现英文单词发音及整段英文的流利朗读示范。从而,可以使学生在课下或者没有教师的情况下,从软件中获得标准的英文发音的辅助,这对于一些发音不好的英语学习者有极大的帮助。  MSTTS引擎简介  要在软件的开发过程中使用MSTTS技术,必须安装MSTTS引擎。MSTTS引擎的安装包可以在微软公司的官方网站下载,也可以在“金山词霸”软件的安装盘中找到。运行安装包后,MSTTS引擎将被安装在系统之中,同时,在操作系统控制面板的“添加/删除”程序中会出现“Microsoft Text-to-speech Engine”卸载项。在安装好MSTTS引擎之后,就可以利用的Borland Delphi平台使用MSTTS技术开发相应的英语教学软件,实现英文朗读等功能。  设计原理  1、软件设计原理  软件在Delphi平台中的设计原理是通过调用微软语音接口(MS Speech API)来实现英文文字朗读功能的。安装MS Speech API的方法和MSTTS引擎相同,亦可以在微软官方网站或者在“金山词霸”安装盘中找到。运行spchapi.exe后,Windows目录中会生成一个Speech子目录,其中有一个Vtxtauto.tlb文件,它是相应的类型库,对服务器的接口给出了与语言无关的描述;Vcmd.exe作为进程外的自动化服务器,提供将文本转换为语音的服务。  软件的功能分三大模块:语音显示模块、语音控制模块和编辑模块。语音显示模块中,将动态显示朗读对象,即语音自动化服务器的处理对象;语音操作模块中,提供一系列的语音操作,即对语音服务进行动态的个性化处理;编辑模块是对文本内容的个性设定,满足特殊用户的需求。软件的原理如图1所示。      图1 软件原理图  2、VtxtAuto接口说明  Delphi中使用MSTTS引擎的类型库名为VtxtAuto,通过分析,可以了解VtxtAuto的相关成员函数和属性。  2.1 Speak函数  procedure Speak(const pszBuffer: WideString; dwFlags: Integer); safecall;  Speak函数用于实现朗读功能,它有两个参数,第一个参数向MSTTS引擎传递需要朗读的文字,第二个参数由指定朗读时使用的语气和优先级的两个符号合并而成。  2.2 Register函数  procedure Register(const pszSite: WideString; const pszApp: WideString);safecall;  Register函数用于实现接口的注册。在软件的初始化时,Register操作是必须的,因为在操作系统中可能有多个类似的程序在使用MSTTS引擎,通过Register操作可以对每一个使用MSTTS引擎的软件进行设置和区分。  2.3 IsSpeaking属性  property IsSpeaking: WordBool read Get_IsSpeaking;  IsSpeaking属性是一个布尔函数,通过这个属性可以取得当前程序的状态,  2.4朗读操作成员函数  VtxtAuto对象有一系列的成员函数,通过这些成员函数,可以实现对朗读功能的各种操作、控制,具体函数如表1所示。表1 VtxtAuto对象的成员函数 函数命令形式 函数说明 VtxtAuto.AudioResume 用于朗读状态的恢复操作 VtxtAuto.StopSpeaking 用于实现停止朗读 VtxtAuto.AudioPause 用于实现暂停朗读 VtxtAuto.AudioFastForward 用于实现向前跳过一句朗读 VtxtAuto.AudioRewind 用于实现向后跳过一句朗读  此外,还有一个属性Speed,通过读写Speed属性可以取得或设置朗读的语速,其单位是“字数/分钟”,缺省值为170。  软件功能的实现  1、VtxtAuto类型库的导入  首先,在Borland Delphi平台上,新建一个Application,然后从Project菜单的“Import Type Library...”中选择“Add...”,浏览到Windows目录下的Speech子目录里,打开vtxtauto.tlb,可以看到下面Class names中会出现我们需要的接口的包装类“TVTxtAuto”文件。选中对话框底部的Generate Component Wrapper,点击Create Unit就可以打开一个名为VTxtAuto_TLB的Unit。共2页。 1 2 : 下载本文示例代码


基于Delphi的英文发音教学软件的实现基于Delphi的英文发音教学软件的实现基于Delphi的英文发音教学软件的实现基于Delphi的英文发音教学软件的实现基于Delphi的英文发音教学软件的实现基于Delphi的英文发音教学软件的实现基于Delphi的英文发音教学软件的实现基于Delphi的英文发音教学软件的实现基于Delphi的英文发音教学软件的实现基于Delphi的英文发音教学软件的实现基于Delphi的英文发音教学软件的实现基于Delphi的英文发音教学软件的实现基于Delphi的英文发音教学软件的实现基于Delphi的英文发音教学软件的实现基于Delphi的英文发音教学软件的实现
阅读(232) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~