2024年5月25日发(作者:)
实验一:编制英文文本阅读软件
实验目的:熟悉TTS应用并编制出文本阅读软件。
实验内容:用TTS引擎和VB编程环境文本阅读软件.
实验说明
TTS是微软出品的一套文字朗读引擎(Text-To-Speech Engine),也就是文本语音
技术,它能够把文本中的文字读出来,现在有许多英语学习软件就是调用它来进
行英文朗读的,比如:金山词霸。
MSTTS(Microsoft Text- To- Speech)是微软公司研制的一套功能强大的英文
文字朗读引擎,它可以将文档中的英文文字信息转换成计算机语音信息,通过计
算机声卡发音将内容朗读出来。开发语言通过调用语音接口speech 来
实现文字朗读功能。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软件都可到微软的站点去下
载(文件名为与)。安装了TTS引擎后,在Windows所在目录下会生成
一个SPEECH目录,其中有一个文件,在编程时我们需要调用它,它是相应的类型库,
对服务器的接口给出了与语言无关的描述; 作为进程外的自动化服务器,提供将文本转
换为语音的服务。
2.
在VB中引入文件
进入VB6.0,执行菜单命令“文件/新建工程/标准EXE”并确定,然后执行菜单“工程”中的“引用”,单
击“浏览”按钮到C盘Windows目录下的SPEECH子目录,打开文件,选中它并单击确
定,这样就将“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 er(Space(8), Space(8))
'因为语速的默认值为170,故水平滚动条的初值也设为170
= 170
End Sub
'设置朗读速度调节代码,当水平滚动条的值Value发生变化时将其赋给控制语速的Speed属性
Private Sub SpeedChange_Change()
=
n =
End Sub
'设置“朗读”按钮代码
Private Sub read_Click()
'如果朗读出错,则转到出错处理标记模块ErrorHandler
On Error GoTo ErrorHandler
If n = "恢复" Then
Call esume
n = "暂停"
发布评论