科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件基于Delphi的英文发音教学软件的实现

基于Delphi的英文发音教学软件的实现

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

介绍了美国微软公司的全程语音TTS技术,并且在Borland Delphi 7.0可视化编成工具中利用MSTTS技术开发出能够进行英文朗读功能的应用软件

作者:王昊鹏 贾新宇 来源:计算机与信息技术 2007年10月31日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
2、程序界面的设计

  在窗体Form1上添加如下控件:1个Memo文本控件,1个TrackBar滚动条控件和8个按钮控件。将这些控件合理安排,软件主界面如图2所示。然后,对各个控件的属性进行设置。

                       图2 软件主界面

  文本控件用于显示和编辑朗读内容;滚动条控件用于动态设定语速,其MAX属性设置为300;第一个按钮的Caption属性设为“朗读”,它的功能是当用户点击按钮时进行朗读;第二个按钮控件的Caption属性设为“停止”,它的功能是当软件处于朗读状态时停止朗读;第三个按钮控件的Caption属性设为“暂停”,它的功能是当软件处于朗读状态时暂停朗读;第四个按钮控件的Caption属性设为“恢复”,它的功能是当软件处于暂停状态时恢复朗读;第五个按钮控件的Caption属性设为“向前”,它的功能是当软件处于朗读状态时快速跳转到下一句;第六个按钮控件的Caption属性设为“向后”,它的功能是当软件处于朗读状态时快速回退到上一句;第七个按钮控件的Caption属性设为“导入”,它的功能是向文本控件导入新的朗读内容;第八个按钮控件的Caption属性设为“导出”,它的功能是把编辑好的朗读内容进行保存操作。

  3、代码的实现

  3.1 VtxtAuto的注册

  首先声明全局变量:

  var TTS:IVTxtAuto;

  然后,在FormCreate中用VtxtAuto类型库的Register函数注册软件。同时,初始化滚动条控件,用于设定系统语速状态。

procedure TForm1.FormCreate(Sender: TObject);
begin
 TTS:=CoVtxtAuto_.Create;//产生自动化对象
 TTS.Register('WingRocWords','WingRocWords');//向服务器注册
 suiTrackBar.Position:=TTS.Get_Speed;//获得语音速度
 speedtext.Caption:='当前速度:'+IntToStr(TTS.Speed)+' 字/分钟'; //显示语音速度
end;
  
  3.2 朗读按钮代码的实现

procedure TForm1.ReadClick(Sender: TObject);
begin
 TTS.Speak(TxtMemo.Lines.Text,vtxtst_READING);//朗读文本控件中的内容
end;

  3.3 停止按钮代码的实现

procedure TForm1.StopClick(Sender: TObject);
begin
 TTS.StopSpeaking;//停止朗读
end;

  3.4 暂停按钮代码的实现

procedure TForm1.PauseClick(Sender: TObject);
begin
 if TTS.IsSpeaking//判断系统是否处于朗读状态
 then
  TTS.AudioPause;//如果为真,暂停朗读
 else
  ShowMessaget('未在朗读状态!');//如果为假,显示错误信息
end;

  3.5 恢复按钮代码的实现

procedure TForm1. ResumeClick(Sender: TObject);
begin
 TTS.AudioResume;//恢复朗读状态
end;

  3.6 向前按钮代码的实现

procedure TForm1. FastForwardClick(Sender: TObject);
begin
 TTS.AudioFastForward;//向前跳转一句
end;

  3.7 向后按钮代码的实现

procedure TForm1. RewindClick(Sender: TObject);
begin
 TTS.AudioRewind;//向后跳转一句
end;

  3.8 导入按钮代码的实现

procedure TForm1.InputClick(Sender: TObject);
begin
 if OpenDialog.Execute //激活OpenDialog控件
 then
  TxtMemo.Lines.LoadFromFile(OpenDialog.FileName); //向文本控件中导入朗读内容
end;

  3.9 导出按钮代码的实现

procedure TForm1.OutputClick(Sender: TObject);
begin
 if SaveDialog.Execute //激活SaveDialog控件
 then
  TxtMemo.Lines.SaveToFile(SaveDialog.FileName); //保存编辑好的朗读内容
end;

  4、软件生成和测试

  当程序代码编写好后,在Delphi平台上运行程序,Delphi会自动生成可执行文件。运行可执行程序,导入英文文档,点击朗读等按钮进行测试。软件中的各项功能运行良好,并且兼容Windows所有版本。

  结束语

  在英语教学中,“发音”是十分重要的一个环节,让计算机实现辅助教师对学生的发音教学工作显得尤为重要。在本文中,对利用MSTTS技术开发软件进行了深入的研究和实践,突破了以往的软件只能针对单词发音以及无法控制发音状态的缺陷,在Delphi平台上开发了功能全面的英文发音教学软件,不仅可以实现模仿真人的标准发音功能和对多文档的连续朗读,而且还可以对朗读的语速、语调等自由设定。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章