文本阅读器软件实验报告.doc_第1页
文本阅读器软件实验报告.doc_第2页
文本阅读器软件实验报告.doc_第3页
文本阅读器软件实验报告.doc_第4页
文本阅读器软件实验报告.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验一:编制英文文本阅读软件实验目的:熟悉TTS应用并编制出文本阅读软件。实验内容:用TTS引擎和VB编程环境文本阅读软件.实验说明TTS是微软出品的一套文字朗读引擎(Text-To-Speech Engine),也就是文本语音技术,它能够把文本中的文字读出来,现在有许多英语学习软件就是调用它来进行英文朗读的,比如:金山词霸。MSTTS(Microsoft Text- To- Speech)是微软公司研制的一套功能强大的英文文字朗读引擎,它可以将文档中的英文文字信息转换成计算机语音信息,通过计算机声卡发音将内容朗读出来。开发语言通过调用语音接口speech api.exe来实现文字朗读功能。TTS引擎技术不受缓存和线程的影响,具有全程语音的实现能力,可以对英文进行整段的比较流利的朗读,可以在具体的软件中,对朗读过程中的语气、频率、速度等实现针对性的控制。TTS引擎技术属于Windows API应用编程接口范畴,采用了Windows 32位编程方法,可以在VBVC等32位Visual系列语言中得以充分运用,使其成为语音软件开发中的主要工具。Speech API包含的一些方法、属性、常量介绍如下: 方法:Register注册(需要两个参数);Speak朗读;AudioPause暂停朗读;AudioResume恢复朗读;StopSpeaking停止朗读;AudioRewind朗读上一句;AudioFastForward朗读下一句。 属性:IsSpeaking 当前语音状态,其值为boolean类型;Speed朗读速度默认值170。 常量:用于控制优先级的:Vtxtsp_Veryhigh最优先,Vtxtsp_High次优先,Vtxtsp_Normal正常;控制转换语音的:Vtxtsp_Command命令语气 Vtxtsp_Numbers 阅读数字语气Vtxtsp_Question提问语气, Vtxtsp_Reading 阅读语气Vtxtsp_Spreadsheet阅读电子表格元素语气 Vtxtsp_Statement平时说话语气 Vtxtsp_Warning警告语气。实验步骤:1. 安装TTS引擎TTS引擎所需的Microsoft Text-to-Speech Engine与Microsoft Speech API软件都可到微软的站点去下载(文件名为MSTTS.EXE与SPCHAPI.EXE)。安装了TTS引擎后,在Windows所在目录下会生成一个SPEECH目录,其中有一个Vtxtauto.tlb文件,在编程时我们需要调用它,它是相应的类型库,对服务器的接口给出了与语言无关的描述;Vcmd.exe 作为进程外的自动化服务器,提供将文本转换为语音的服务。2. 在VB中引入Vtxtauto.tlb文件进入VB6.0,执行菜单命令“文件/新建工程/标准EXE”并确定,然后执行菜单“工程”中的“引用”,单击“浏览”按钮到C盘Windows目录下的SPEECH子目录,打开Vtxtauto.tlb文件,选中它并单击确定,这样就将“VoiceText 1.0 Type Library”添加到引用列表中。将库Vtxtauto引入VB后,可以通过选单“视图”中的“对象浏览器”来了解它所封装的类,以及各类成员函数的属性的意义、使用格式等信息。3. 设置控件以及属性在FORM1上添加三个Label控件、一个TextBox控件、一个HScrollBar控件和六个CommandButton控件。窗体及各控件的主要属性设置如下: FORM1:Caption=“英文朗读” LABEL1:Caption=“请输入英文文档” LABEL2:Caption=“朗读速度” LABEL3:Caption=“ ” /(LABEL3标签用来显示朗读速度值) TEXT1:Text=“Please input english text”;ToolTiptext=“请输入或粘贴英文文档”; MultiLine=True; ScrollBars=3-Both HSCROLL1:名称=SpeedChange;Min=90;Max=300(Min与Max属性值分别用来限定可调节的语速的最小与最大值) COMMAND1:名称=read;Caption=“朗读” COMMAND2:名称=pause;Caption=“暂停” COMMAND3:名称=stop;Caption=“停止” COMMAND4:名称=prev;Caption=“上一句” COMMAND5:名称=next;Caption=“下一句” COMMAND6:名称=quit;Caption=“退出”4. 编写代码由于是从Windows外部引入WindowsAPI,所以首先在窗体装载时对类用Register方法注册,括号内的两个参数是字符串 Private Sub Form_Load() Call VTxtAuto.VTxtAuto.Register(Space(8), Space(8) 因为语速的默认值为170,故水平滚动条的初值也设为170 SpeedChange.Value = 170 End Sub 设置朗读速度调节代码,当水平滚动条的值Value发生变化时将其赋给控制语速的Speed属性 Private Sub SpeedChange_Change() VTxtAuto.VTxtAuto.Speed=SpeedChange.Value Label3.Caption = SpeedChange.Value End Sub 设置“朗读”按钮代码 Private Sub read_Click() 如果朗读出错,则转到出错处理标记模块ErrorHandler On Error GoTo ErrorHandler If pause.Caption = 恢复 Then Call VTxtAuto.VTxtAuto.AudioResume pause.Caption = 暂停 Else调用方法Speak进行朗读,第一个参数是要朗读的文本,第二个参数是设置朗读风格 Call VTxtAuto.VTxtAuto.speak(Trim(Text1.Text), vtxtsp_VERYHIGH + vtxtst_READING) Exit Sub ErrorHandler: MsgBox 只能朗读英文文档,不能朗读汉字字符!, , 出错信息 End Sub 设置“暂停”按钮代码 Private Sub pause_Click() If VTxtAuto.VTxtAuto.IsSpeaking Then 如果属性IsSpeaking为真,则表示正在朗读,调用AudioPause方法暂停朗读 Call VTxtAuto.VTxtAuto.AudioPause pause.Caption = 恢复 Else 如果已经处于暂停状态则调用AudioResume方法恢复朗读 Call VTxtAuto.VTxtAuto.AudioResume pause.Caption = 暂停 End If End Sub 设置“停止”按钮代码,调用StopSpeaking方法停止当前朗读 Private Sub stop_Click() Call VTxtAuto.VTxtAuto.StopSpeaking End Sub 设置“上一句”按钮代码,调用AudioRewind方法往后跳过一句 Private Sub prev_Click() Call VTxtAuto.VTxtAuto.AudioRewind End Sub 设置“下一句”按钮代码,调用AudioFastForward方法向前跳过一句 Private Sub next_Click() Call VTxtAuto.VTxtAuto.AudioFastForward End Sub 设置“退出”按钮代码 Private Sub quit_Click() Unload Me End Sub实验总结:实验二:编制中英文文本阅读软件实验说明:微软公司提供的软件开发包,Microsoft speech sdk5.1 不但提供了英文语音引擎还提供了中文、日文语音引擎,集成了SR和SS,SR就是语音识别,是一种令人振奋的技术,但由于目前语音识别技术准确度和识别速度不太理想,还未达到广泛应用的要求。SS(Speech Synthesis)就是语音合成,通过它可以很容易地建立功能强大的文本语音程序,实现文本的朗读功能。就可以使用Wingdows的编程语言来开发具有语音识别或语音合成功能的应用软件., 安装Microsoft Speech SDK5.1再安装Microsoft Speech language pack (简体中文语言包),这样你的计算机就具有中英文语音能力了。安装好之后,电脑上也同时安装好了语音编程接口SAPI.在启动VB之后,选择工程、引用、然后选择“Microsoft Speech Object Library”,这样就可以使用Win32 speech API编程了。SDK包含与微软Win - 32 兼容的语音应用程序编程接口Speech API (SAPI) ,微软连续语音识别引擎以及微软连接语音合成引擎(或称文语转换引擎) ,它包括基于语音导向的用来编译源代码和执行命令的开发工具包,它是语音与引擎技术的典型应用,也是语音识别和语音合成的典型应用指南。Speech API (SAPI) 主要包含以下两个部分2 :(1)API for Text - to - Speech ;(2)API for Speech Recognition。其中API for Text - to - Speech 就是微软TTS 引擎的接口,通过它可以建立功能较强的文本语音程序。实验目的:熟悉TTS应用并编制出文本阅读软件。实验内容:用TTS引擎和VB编程环境文本阅读软件实验步骤:1. 安装引擎:安装Microsoft Speech SDK5.1再安装Microsoft Speech language pack (简体中文语言包),在启动VB之后,选择工程、引用、然后选择“Microsoft Speech Object Library”,这样就可以使用Win32 speech API编程了。2. 设置控件及其属性:两个按扭,两个滚动框,六个标签,一个文本,一个组合框。窗体及各控件的主要属性设置如下: FORM1:Caption=“英文朗读” LABEL1:Caption=“输入文本” LABEL2:Caption=“请选择朗读语言” LABEL3:Caption=“播放速度” LABEL4:Caption=“播放音量” LABEL5:Caption=“” 存放速度大小 LABEL6:Caption=“”存放音量大小SpeedChange: -10-10(水平滚动条)VolumeChange:0-100(水平滚动条)TEXT1:Text=“Please input english text”;ToolTiptext=“请输入或粘贴英文文档”; MultiLine=True; ScrollBars=3-Both COMMAND1:Caption=“朗读” Command2:Caption=”退出”编制代码: /定义两个窗体级的对象变量Dim sp As SpVoice/SpVoice是Speechlib中用于发音的对象,它有两个重要属性,Voice和GetVoices,后者是一个数组,其中的元素就是语言的种类,前者是当前所使用的语言。SpVoice对象最常用的方法是Speak,用于朗读文本中的内容。/ Dim speakFlags As SpeechVoiceSpeakFlags/指明朗读的风格Private Sub Combo1_Click() 只能用click不能用changeSet sp.Voice = sp.GetVoices().Item(Me.Combo1.ListIndex) End Sub/选择语音Private Sub Form_Load()Set sp = New SpVoiceDim Token As ISpeechObjectToken /不加s,缺省错误For Each Token In sp.GetVoices Combo1.AddItem (Token.GetDescription()/把所有语言加入到组合框NextCombo1.ListIndex = 0SpeedChange.Value=0VolumeChange.Value=50/设置两个滚动条的默认值End Sub/程序一运行时就会在组合框里把所有的声音或者说语音列出来。Private Sub Command1_Click()sp.Speak Text1.Text, sp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论