fpc : 调用 MS TTS 读中英文

本文介绍了一个使用Freepascal编写的程序,在Windows XP环境下通过调用Microsoft Speech API (MSTTS)来实现文本转语音(TTS)功能的例子。该程序能够识别并朗读英文文本,并通过外部脚本处理中文文本。

这个例子是 free pascal 在Windows XP 调用 MS TTS 读中英文

tts2.pas

Program tts2;
{$mode objfpc}{$H+}

uses
  Classes,SysUtils,Process,Variants,ComObj,RegExpr,ShellApi;

var 
  Sp: Variant;
  re: TRegExpr;
  i : Integer;
begin
  if Assigned(InitProc) then
    TProcedure(InitProc);
  try
    Sp := CreateOleObject('SAPI.SpVoice') ;
    re := TRegExpr.Create;
    re.Expression := '^[A-Za-z]+$';
    for i:=1 to ParamCount do
    begin
	  if re.Exec(ParamStr(i)) then
	    Sp.Speak(ParamStr(i)) // english
	  else // speak.vbs 读中文
	    ShellExecute(0,nil, PChar('".\speak.vbs"'), PChar(ParamStr(i)), nil,0);
	  Sleep(1);
    end
  except
    writeln(' OLE Error ');	  
  end;
  re.free;
end.


speak.vbs  见 blog.youkuaiyun.com/belldeep/article/details/7064800

★★★★★★ 软件介绍 ★★★★★★一,软件名:TTS-Reader版本号:1.5二,功能介绍 ⒈功能清单 ①英文全文朗  英语朗新增语气符号:陈述句语气符号为".",感叹句语气符号"!",疑问句语气符号为"?"。添加新的语气过滤后,更加接近真人发音!不信?您听听!^&^ ②中文全文朗中英文混合朗 ④直接导入外部文本文件★⑤文本文件 → WAV音频文件(有转换进度条及时间提示) ⑥可进行暂停朗、继续朗、停止朗等操作 ⑦朗时亦可调整音量和语速 ⑧特有鼠标选定朗、录入朗功能 ⑨新增朗角色选项,分别有3个角色朗英文(2男1女),目前只有一个男中文朗者★↘↓↙★★★↘↙★★★↘↓↙★欢迎您选用本版软件,该版本绝对不用其它任何体积庞大的语音库支持,真正无须金山词霸语音驱动支持,功能强大,体积娇小!采用XP界面方案,赏心悦目!希望她能给您的生活、生习和工作带来便利!同时,若您对本软件有任何意见、建议或是发现Bug(水平有限,Bug难免),请EMail我,没有您的支持就没有我的进步,谢谢使用!☆☆本软件采取自愿交费注册,注册后可在软件上提供个性服务(如:嵌入个性照片、个性文字、程序源代码等等)。 ★ 风之竹 20030718 QQ122512447 信息安全工作室 isxuzhu@sohu.com fengzhizhu@hotmail.com http://isxuzhu.myrice.com
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值