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 と互換性を持たせる必要があります。これは、主要な開発ツールの最後の 1 つです。

4

2 に答える 2

2

無料で入手できるバージョンの SAPI には、スペイン語の音声がパッケージされていません。XP 用の SAPI 5.1 には、中国語と英語の音声が付属しています。SAPI 5.3 および SAPI 5.4 には、英語の音声のみがインストールされています。

SAPI 5 のすべてのバージョンで動作するCepstral (他のベンダーの中でも)からスペイン語の音声を購入できます (私はこれらの音声を使用していないため、これらの音声の品質を保証することはできません)。

于 2011-03-17T20:18:30.693 に答える
0

Microsoft Speech Server をインストールし、 Francois Gaillardによる次のヒントに従ってください

于 2010-12-01T14:23:31.563 に答える