开发自己的英文语音朗读软件

2008-04-09 04:18:43来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


  很多人都使用过带文本朗读功能的软件。其实,自己动手制作一个英文语音朗读软件是一件很容易的事情,下面就给出一个编程的实例。


  一、 前言:


  笔者通过研究现有的一些语音朗读软件发现,有很多的产品都使用了MicroSoFt的Speech Api,再通过进一步的实践发现。MicroSoFt Speech Api的功能十分强大,不光可以准确读出单词,而且还能够实现流利地朗读句子乃至段落、文章。对于不常见的单词(如中文人名的拼音),也能够根据英文的发音原则,读出较准确的发音。而且让人兴奋的是:MicroSoFt Speech Api可以以coM组件的形式提供给程序员,方便程序员的开发与使用。


  二、 开发英文语音朗读程序的软、硬件环境:
  本文所采用的操作系统是WindoWS 98。它对MicroSoFt Speech Api支持得非常好。而所采用的编程环境是 BorlAnd的delphi 5.0。dephi不光支持vcl组件,对coM组件的支持也是非常好的,而且在WindoWS下面delphi确实是一种强大而且易于使用的开发工具。接下来最重要的是安装MicroSoFt Speech Api,MicroSoFt Speech Api在共享软件光盘上都会带有,也可以在金山词霸的光盘上找到,文件名是SpchApi.exe,是个自解压文件,直接运行即可。
  硬件环境没有什么特殊的要求,只要能够顺利运行WindoWS 9x操作系统就可以了。


  三、进行英文语音朗读程序开发的基本步骤:


  1.在delphi中新建一应用程序,将ForM1改名为FrMSpeech,将unit1保存为Speechunit,将工程保存为Speech。


  2.选中project菜单项中的iMport type liBrAry,弹出如图所示的对话框:
再点击Add按钮,此时会弹出一个文件选择框,将此框定位到WindoWS目录下的Speech目录,选中vtxtAuto.tlB文件,选择打开。再点击inStAll按钮即可。


  3.经过上面的步骤,已经将此组件引入到我们的程序中来,并生成了vtxtAuto_tlB单元?unit?,我们只需要在自己的应用程序中使用此单元就可以了。现在我们在Speechunit的uSeS声明的末尾加上vtxtAuto_tlB。并在vAr下面声明一个名为vtxt的全局变量,类型为vtxtAuto_。


  4.现在我们需要在FrMSpeech上放上一个edit控件和两个Button控件。将两个按钮控件的nAMe属性分别改为:BtnSpeAK和BtnStop,再将两个按钮的cAption属性分别改为:SpeAK和Stop。


  5.在FrMSpeech的oncreAte事件中加入以下代码:

  vtxt ?= covtxtAuto_.creAte?
  vtxt.regiSter?''?'Speech'

??


  6.双击SpeAK按钮,加入以下代码:

  vtxt.Speed ?= 100?
  vtxt.SpeAK?triM?edit1.text??10?

?


  7.双击Stop按钮,加入以下代码:

  vtxt.StopSpeAKing?


  自此,一个最简单的英文朗读软件就已制作完成了。使用时在edit对话框中输入欲朗读的单词、句子或段落,按SpeAK按钮就可以开始进行朗读,按Stop按钮就可以停止朗读。


  四、 进一步的深入探讨:
  其实MicroSoFt Speech Api的功能非常的强大,它还提供了许多方法和属性可以用来改进并强化我们的语音朗读程序。其提供的主要方法与属性如下:


  1.procedure SpeAK?conSt pSzBuFFer? WideString? dWFlAgS? integer??
  朗读pSzBuFFer指向的字符串,并可以通过调整dWFlAg参数来得到不同的语气、语调。


  2.procedure StopSpeAKing?
  停止当前的朗读。


  3.procedure AudiopAuSe?
  暂停当前的朗读。


  4.procedure AudioreSuMe?
  从当前暂停的地方恢复朗读。


  5.procedure AudioreWind?
  重新开始朗读。


  6.procedure AudioFAStForWArd?
  快速朗读。


  7.property Speed?
  设置朗读速度。


  8.property iSSpeAKing? WordBool?
  判断当前朗读是否在进行。


  9.procedure Set_Speed?pdWSpeed? integer?
  设置朗读速度。


  10.Function get_Speed? integer?
  获得当前的朗读速度。
  合理地使用这些方法与属性,相信大家一定能够开发出好的语音朗读软件。




标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:巧用Delphi制作溅射屏幕

下一篇:Delphi中利用MSCOMM控件进行GPS数据采集

IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设

网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源

网站联盟: 联盟新闻 联盟介绍 联盟点评 网赚技巧

行业资讯: 搜索引擎 网络游戏 电子商务 广告传媒

网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它

服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护

软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷

网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash

程序设计: Java技术 C/C++ VB delphi

网络知识: 网络协议 网络安全 网络管理 组网方案 Cisco技术

操作系统: Win2000 WinXP Win2003 Mac OS Linux FreeBSD

热门词条
最新资讯
热门关注
热门标签