【问题标题】:Localizing SAPI Text-To-Speech to spanish将 SAPI Text-To-Speech 本地化为西班牙语
【发布时间】:2011-05-18 10:50:03
【问题描述】:

我已经通过使用以下代码在 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 兼容,这是最后一个主要的开发工具。

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      安装 Microsoft Speech Server,并通过 Francois Gaillard 关注 these hints

      【讨论】:

      • 感谢您的回答,但 XP 上无法安装 Speech Server 版本,只有 2003、Vista 及更高版本。还在找XP版的下载链接,需要支持。 :-(
      • 太糟糕了;如果您找到在 XP 中有效的解决方案,请告诉我们(顺便说一句:它可能在 XP SP3 中有效,您尝试过吗?)
      猜你喜欢
      • 2021-01-15
      • 2014-01-14
      • 1970-01-01
      • 1970-01-01
      • 2020-09-11
      • 2017-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多