2

通过使用以下代码,我设法在 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 使用该语音而不是标准语音?

我猜我可以通过使用以下代码获得西班牙语语音(C0A 是西班牙语的代码):

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

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

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

4

2 回答 2

2

没有免费提供的 SAPI 版本附带西班牙语语音。SAPI 5.1 for XP 自带中英文语音;SAPI 5.3 和 SAPI 5.4 只安装了英语语音。

您可以从Cepstral (以及其他供应商)购买适用于任何 SAPI 5 版本的西班牙语语音。(我没有使用过这些语音,因此我无法保证这些语音的质量。)

于 2011-03-17T20:18:30.693 回答
0

安装 Microsoft Speech Server,并按照Francois Gaillard的这些提示进行操作。

于 2010-12-01T14:23:31.563 回答