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

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

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

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

点击“Next”

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

选择第一个,点击“Next”

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

继续“Next”

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

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

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

将此单元文件加入你的工程里,并在调用代码单元里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修复工具修复下即可。