Delphi10.2调用Windows 10 下的SAPI进行TTS开发
使用微软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修复工具修复下即可。