Delphi10.2调用Windows 10 下的SAPI进行TTS开发

本文介绍如何在Delphi10.2中调用微软的TTS(Text-To-Speech)功能,通过导入sapi.dll组件,创建语音、音频流及格式对象,设置音频参数并生成语音文件。

跟随虾哥项目实践,硬件选小智就对了

xiaozhi 开源方案官方适配,二次开发文档齐全

使用微软TTS,需要调用windows本身的sapi.dll,

1、先导入COM组件sapi.dll,Component→Import Component,选择Import a Type Library,

 

点击“Next”

选择第一个,点击“Next”

继续“Next”

点击“Finish”,生成单元文件:SpeechLib_TLB

将此单元文件加入你的工程里,并在调用代码单元里uses,下面代码是调用TTS生成相应语音文件:

procedure TForm1.FormCreate(Sender: TObject);
var
   voice: ISpeechVoice;
   VStream : ISpeechFileStream;
   VFmt    : ISpeechAudioFormat;
begin
voice := CoSpVoice.Create;
VStream:=CoSpFileStream.Create;
VFmt:=CoSpAudioFormat.Create;
vfmt.type_:=SAFT8kHz8BitMono;
VStream.Format:=VFmt;
VStream.Open('C:\11.wav',SSFMCreateForWrite,False);
voice.AudioOutputStream:=VStream;
//voice.Rate:= y
showmessage(inttostr(voice.speak('我们是中国人', 0)));
VStream.Close;
end;

Delphi 10.2 在win10 64位下编译测试通过,win7下如不行,可使用网上的win7 TTS修复工具修复下即可。

跟随虾哥项目实践,硬件选小智就对了

xiaozhi 开源方案官方适配,二次开发文档齐全

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值