Локализация SAPI Text-To-Speech на испанский - PullRequest
2 голосов
/ 01 декабря 2010

Мне удалось использовать SAPI Text-To-Speech в Delphi / Lazarus, используя следующий код:

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, так как последний является основным инструментом разработки.

Ответы [ 2 ]

2 голосов
/ 17 марта 2011

Никакая свободно доступная версия SAPI не поставляется в комплекте с испанским голосом. SAPI 5.1 для XP поставляется с голосом на китайском и английском языках; В SAPI 5.3 и SAPI 5.4 установлены только голоса на английском языке.

Вы можете приобрести испанский голос у Cepstral (среди других поставщиков), который будет работать для любой версии SAPI 5. (Я не использовал эти голоса, поэтому не могу ручаться за качество этих голосов .)

0 голосов
/ 01 декабря 2010

Установите Microsoft Speech Server и следуйте этим подсказкам по Франсуа Гайару .

...