下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于Delphi的英文发音教学软件的实现 摘 要 介绍了美国微软公司的全程语音TTS技术,并且在Borland Delphi 7.0可视化编成工具中利用MSTTS技术开发出能够进行英文朗读功能的应用软件,从而总结了利用MSTTS技术开发英语教学软件的有效方法。关键词 MSTTS引擎;MS Speech API;英文朗读 1 引言MSTTS(Microsoft Text-To-Speech)是微软公司研制的一套功能强大的英文文字朗读引擎,它可以将文档中的英文文字信息转换成计算机语
2、音信息,通过计算机声卡发音将内容朗读出来。利用它和相关的语音接口开发出英语发音教学软件,可以实现英文单词发音及整段英文的流利朗读示范。从而,可以使学生在课下或者没有教师的情况下,从软件中获得标准的英文发音的辅助,这对于一些发音不好的英语学习者有极大的帮助。2 MSTTS引擎简介要在软件的开发过程中使用MSTTS技术,必须安装MSTTS引擎。MSTTS引擎的安装包可以在微软公司的官方网站下载,也可以在“金山词霸”软件的安装盘中找到。运行安装包后,MSTTS引擎将被安装在系统之中,同时,在操作系统控制面板的“添加/删除”程序中会出现“Microsoft Text-to-speech E
3、ngine”卸载项。在安装好MSTTS引擎之后,就可以利用的Borland Delphi平台使用MSTTS技术开发相应的英语教学软件,实现英文朗读等功能。3 设计原理3.1 软件设计原理软件在Delphi平台中的设计原理是通过调用微软语音接口(MS Speech API)来实现英文文字朗读功能的。安装MS Speech API的方法和MSTTS引擎相同,亦可以在微软官方网站或者在“金山词霸”安装盘中找到。运行spchapi.exe后,Windows目录中会生成一个Speech子目录,其中有一个Vtxtauto.tlb文件,它是相应的类型库,对服务器的接口给出了与语言无关
4、的描述;Vcmd.exe作为进程外的自动化服务器,提供将文本转换为语音的服务。软件的功能分三大模块:语音显示模块、语音控制模块和编辑模块。语音显示模块中,将动态显示朗读对象,即语音自动化服务器的处理对象;语音操作模块中,提供一系列的语音操作,即对语音服务进行动态的个性化处理;编辑模块是对文本内容的个性设定,满足特殊用户的需求。软件的原理如图1所示。图1 软件原理图 3.2 VtxtAuto接口说明Delphi中使用MSTTS引擎的类型库名为VtxtAuto,通过分析,可以了解VtxtAuto的相关成员函数和属性。procedure Speak(con
5、st pszBuffer: WideString; dwFlags: Integer); safecall;Speak函数用于实现朗读功能,它有两个参数,第一个参数向MSTTS引擎传递需要朗读的文字,第二个参数由指定朗读时使用的语气和优先级的两个符号合并而成。procedure Register(const pszSite: WideString; const pszApp: WideString);safecall;Register函数用于实现接口的注册。在软件的初始化时,Regis
6、ter操作是必须的,因为在操作系统中可能有多个类似的程序在使用MSTTS引擎,通过Register操作可以对每一个使用MSTTS引擎的软件进行设置和区分。property IsSpeaking: WordBool read Get_IsSpeaking;IsSpeaking属性是一个布尔函数,通过这个属性可以取得当前程序的状态,VtxtAuto对象有一系列的成员函数,通过这些成员函数,可以实现对朗读功能的各种操作、控制,具体函数如表1所示。 表1 VtxtAuto对象的成员函数函数命令形式函数说明VtxtAuto.AudioResu
7、me用于朗读状态的恢复操作VtxtAuto.StopSpeaking用于实现停止朗读VtxtAuto.AudioPause用于实现暂停朗读VtxtAuto.AudioFastForward用于实现向前跳过一句朗读VtxtAuto.AudioRewind用于实现向后跳过一句朗读 此外,还有一个属性Speed,通过读写Speed属性可以取得或设置朗读的语速,其单位是“字数/分钟”,缺省值为170。4 软件功能的实现4.1 VtxtAuto类型库的导入首先,在Borland Delphi平台上,新建一个Application,然后从Project菜单的“Import
8、 Type Library.”中选择“Add.”,浏览到Windows目录下的Speech子目录里,打开vtxtauto.tlb,可以看到下面Class names中会出现我们需要的接口的包装类“TVTxtAuto”文件。选中对话框底部的Generate Component Wrapper,点击Create Unit就可以打开一个名为VTxtAuto_TLB的Unit。4.2 程序界面的设计在窗体Form1上添加如下控件:1个Memo文本控件,1个TrackBar滚动条控件和8个按钮控件。将这些控件合理安排,软件主界面如图2所示。然后,对各个控件的属性进行设置。图2 软
9、件主界面 文本控件用于显示和编辑朗读内容;滚动条控件用于动态设定语速,其MAX属性设置为300;第一个按钮的Caption属性设为“朗读”,它的功能是当用户点击按钮时进行朗读;第二个按钮控件的Caption属性设为“停止”,它的功能是当软件处于朗读状态时停止朗读;第三个按钮控件的Caption属性设为“暂停”,它的功能是当软件处于朗读状态时暂停朗读;第四个按钮控件的Caption属性设为“恢复”,它的功能是当软件处于暂停状态时恢复朗读;第五个按钮控件的Caption属性设为“向前”,它的功能是当软件处于朗读状态时快速跳转到下一句;第六个按钮控件的Caption属性设为“向后”,它的功
10、能是当软件处于朗读状态时快速回退到上一句;第七个按钮控件的Caption属性设为“导入”,它的功能是向文本控件导入新的朗读内容;第八个按钮控件的Caption属性设为“导出”,它的功能是把编辑好的朗读内容进行保存操作。4.3 代码的实现首先声明全局变量:var TTS:IVTxtAuto;然后,在FormCreate中用VtxtAuto类型库的Register函数注册软件。同时,初始化滚动条控件,用于设定系统语速状态。procedure TForm1.FormCreate(Sender: TObject);begin TTS:=CoVtxtAuto_.Create;/产
11、生自动化对象 TTS.Register('WingRocWords','WingRocWords');/向服务器注册 suiTrackBar.Position:=TTS.Get_Speed;/获得语音速度 speedtext.Caption:='当前速度:'+IntToStr(TTS.Speed)+' 字/分钟' /显示语音速度end;procedure TForm1.ReadClick(Sender: TObject);beginend;procedure TForm1.StopClick(S
12、ender: TObject);begin TTS.StopSpeaking;/停止朗读end;procedure TForm1.PauseClick(Sender: TObject);begin if TTS.IsSpeaking/判断系统是否处于朗读状态then TTS.AudioPause;/如果为真,暂停朗读 else ShowMessaget('未在朗读状态!');/如果为假,显示错误信息end;procedure TForm1. ResumeClick(Sen
13、der: TObject);begin TTS.AudioResume;/恢复朗读状态end;procedure TForm1. FastForwardClick(Sender: TObject);begin TTS.AudioFastForward;/向前跳转一句end;procedure TForm1. RewindClick(Sender: TObject);begin TTS.AudioRewind;/向后跳转一句end;procedure TForm1.InputClick(Sender: TObject);begin if OpenD
14、ialog.Execute /激活OpenDialog控件 thenend;procedure TForm1.OutputClick(Sender: TObject);begin if SaveDialog.Execute /激活SaveDialog控件 thenend;4.4 软件生成和测试当程序代码编写好后,在Delphi平台上运行程序,Delphi会自动生成可执行文件。运行可执行程序,导入英文文档,点击朗读等按钮进行测试。软件中的各项功能运行良好,并且兼容Windows所有版本。5 结束语 在英语教学中,“发音”是十分重要的一个环节,让计算机实现辅助教师对学生的发音教学工作显得尤为重要。在本文中,对利用MSTTS技术开发软件进行了深入的研究和实践,突破了以往的软件只能针对单词发音以及无法控制发音状态的缺陷,在Delphi平台上开发了功能全面
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新生儿安全睡眠环境布置
- 《密度与社会生活》教案物理科课件
- 尿毒症血液透析患者的透析充分性评估
- 基础护理学第九章:护理社会
- 石英玻璃熔制工安全防护考核试卷含答案
- 梁式窑石灰煅烧工保密意识评优考核试卷含答案
- 计算机及外部设备装配调试员操作规范测试考核试卷含答案
- 油锯工安全技能测试水平考核试卷含答案
- 金融风险管理师操作规范知识考核试卷含答案
- 酱油酱类制作工持续改进测试考核试卷含答案
- 2026年山东省济南槐荫区九年级中考物理二模考试试题(含答案)
- 铁路专用线维护保养方案
- 2026中国移动通信集团海南有限公司第一期社会招聘3人笔试备考试题及答案解析
- 【《自动避障扫地机器人设计》11000字(论文)】
- 护理教育学课件下载
- 2026届江苏省南京市高三二模英语试题(含答案和音频)
- 2026版公司安全生产管理制度及文件汇编
- 解读2025新版职业病分类和目录12大类135种
- 2026形势与政策课件中国风范 大国担当-在世界变局中推动构建新型大国关系
- 2026年中国邮政集团新疆维吾尔自治区分公司招聘笔试参考题库附带答案详解
- 汉俄标题语言的多维对比与解析
评论
0/150
提交评论