次のコードを使用して、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) にスペイン語の音声があるかどうか、またはインストールする必要があるかどうか、およびデフォルトの音声を変更する方法を調査しましたが、今のところうまくいきません。したがって、私の質問は次のとおりです。
- システムに既にスペイン語の音声がインストールされているか、インストールする必要があるかを知るにはどうすればよいですか?
- 必要な音声がインストールされている場合、SAPI で標準の音声の代わりにその音声を使用するにはどうすればよいですか?
次のコードを使用してスペイン語の音声を取得できると思います (C0A はスペイン語のコードです)。
SpVoice.GetVoices('','Language=C0A').Item(0)
使用するボイスの設定方法がわかりません。
編集: 混乱を避けるために、これを Delphi および Lazarus と互換性を持たせる必要があります。これは、主要な開発ツールの最後の 1 つです。