Pregunta

He conseguido uso SAPI Text-To-Speech en Delphi / Lázaro utilizando el siguiente código:

procedure TForm1.Button1Click(Sender: TObject);
var
  SpVoice: Variant;
begin
  SpVoice := CreateOleObject('SAPI.SpVoice');
  SpVoice.Speak('Hello World!', 0);
end;  

Este código selecciona automáticamente una voz estándar de Inglés. Desde que necesita para traducir la versión española que investigó si mi sistema (Windows XP con el estándar español) tenía una voz española o que necesita para instalarlo, y cómo cambiar la voz por defecto, pero sin suerte hasta ahora. Por lo tanto, mis preguntas son:

  1. ¿Cómo puedo saber si mi sistema ya ha instalado una voz española o tengo que instalarlo?
  2. Suponiendo que tengo la voz que necesito instalado, ¿cómo puedo hacer uso de SAPI que la voz en lugar de la estándar?

Estoy adivinando que puedo conseguir una voz española mediante el uso siguiente código (C0A es el código de idioma español):

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

pero no sé cómo configurar la voz para ser utilizado.

Editar : a confusiones evitar, necesito hacer esto compatible con Delphi y Lázaro, siendo esta última la principal herramienta de desarrollo

.
¿Fue útil?

Solución

No hay una versión libre disposición del SAPI viene con una voz española. SAPI 5.1 para Windows XP viene con una voz chino e Inglés; SAPI SAPI 5.3 y 5.4 sólo han Inglés voces instaladas.

Puede adquirir una voz española de Cepstral (entre otros proveedores) que funcionará para cualquier versión de SAPI 5. (no he utilizado estas voces, así que no puedo dar fe de la calidad de estas voces.)

Otros consejos

Instalar Microsoft Speech Server, y siga estos consejos Francois Gaillard .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top