我已成功使用以下代码在Delphi / Lazarus中使用SAPI Text-To-Speech:
procedure TForm1.Button1Click(Sender: TObject);
var
SpVoice: Variant;
begin
SpVoice := CreateOleObject('SAPI.SpVoice');
SpVoice.Speak('Hello World!', 0);
end;
此代码会自动选择英语标准语音。因为我需要将它本地化为西班牙语我调查了我的系统(带有标准西班牙语的Windows XP)是否有西班牙语音或我需要安装它,以及如何更改默认语音,但到目前为止没有运气。因此我的问题是:
我猜我可以通过使用以下代码获得西班牙语的声音(C0A是西班牙语的代码):
SpVoice.GetVoices('','Language=C0A').Item(0)
但不知道如何设置要使用的声音。
编辑:为避免混淆,我需要将其与Delphi和Lazarus兼容,成为最后一个主要开发工具。
答案 0 :(得分:2)
没有免费提供的SAPI版本附带西班牙语语音。 SAPI 5.1 for XP配有中英文语音; SAPI 5.3和SAPI 5.4只安装了英语语音。
您可以从Cepstral(以及其他供应商)购买适用于任何版本的SAPI 5的西班牙语音。(我没有使用过这些语音,因此我无法保证这些语音的质量。)
答案 1 :(得分:0)
安装Microsoft Speech Server,然后按these hints关注Francois Gaillard。