将SAPI Text-To-Speech本地化为西班牙语

时间:2010-12-01 11:23:15

标签: delphi localization text-to-speech lazarus sapi

我已成功使用以下代码在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)是否有西班牙语音或我需要安装它,以及如何更改默认语音,但到目前为止没有运气。因此我的问题是:

  1. 我如何知道我的系统是否已安装西班牙语音或我是否需要安装它?
  2. 假设我需要安装语音,如何让SAPI使用该语音而不是标准语音?
  3. 我猜我可以通过使用以下代码获得西班牙语的声音(C0A是西班牙语的代码):

    SpVoice.GetVoices('','Language=C0A').Item(0)
    

    但不知道如何设置要使用的声音。

    编辑:为避免混淆,我需要将其与Delphi和Lazarus兼容,成为最后一个主要开发工具。

2 个答案:

答案 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