Share via


Acceso a un motor de voz en el código

[Microsoft Agent está en desuso a partir de Windows 7 y puede no estar disponible en versiones posteriores de Windows.

Para usar un motor de voz determinado en el código, use la API del agente para establecer el motor. Para los motores de entrada de voz, use SRModeID, especificando el identificador de modo para el motor. Sin embargo, tenga en cuenta que el motor debe estar instalado. Para determinar si el motor está presente, puede consultar SRModeID. El motor debe coincidir con la configuración languageID del carácter. Por ejemplo, no puede establecer SRModeID en un identificador de modo del motor de reconocimiento de voz alemán para un carácter cuyo LanguageID es francés.

Identificadores de modo del motor de entrada de voz

Voz Identificadores de modo
Microsoft Speech Recognition Engine v4.0 {D8905400-B5C8-11D0-B968020AFDB1B9C}

 

Compruebe y establezca languageID y SRModeID del carácter en el código antes de intentar definir la gramática para los parámetros de voz de los objetos Command de la aplicación. Considere también la posibilidad de comprobar el explorador o el idioma del sistema para que pueda estar seguro de que coincida con la configuración de los usuarios. El motor puede producir un error si intenta definir una gramática para un idioma que el motor no coincide.

Un juego de caracteres para la salida de texto a voz (TTS) se puede compilar con una preferencia de identificador de modo del motor de salida de voz predeterminada. Cuando se carga el carácter, si el motor está instalado y coincide con el LanguageID del carácter, el Agente intentará cargar ese identificador de modo para la salida de voz. Si el motor no está presente o tiene un LanguageID diferente, el Agente intentará cargar el primer identificador de modo que encuentre que coincida con el LanguageID del carácter, pero aún establece la velocidad compilada y el ajuste de tono del carácter.

Tenga en cuenta que, dado que todos los caracteres proporcionados por Microsoft Agent se compilan para usar el motor inglés americano Lernout & Hauspie TruVoice como motor de salida de voz predeterminado, la velocidad y la configuración de tono de los caracteres se ajustan para este idioma y motor. Por lo tanto, cuando se usan otros motores TTS o motores de otros idiomas, los caracteres pueden no hablar en el tono o velocidad óptimos. Aunque la aplicación o página web no puede escribir los valores de propiedad Pitch y Speed , puede incluir etiquetas Pit (pitch) y Spd (speed) en el texto de salida que cambiarán temporalmente el tono y la velocidad de una expresión determinada. Sin embargo, el uso de las etiquetas Pit y Spd no cambiará las propiedades Pitch y Speed . Consulte Programación del control de Microsoft Agent y las etiquetas de salida de voz de Microsoft Agent para obtener más información.

También debe instalar los archivos binarios en tiempo de ejecución de SAPI 4.0a (SPCHAPI.exe) al usar otros motores TTS compatibles con SAPI que el motor inglés americano L&H TruVoice con los caracteres proporcionados por el Agente de Microsoft para que los motores se enumeren correctamente. En la página web, incluya la siguiente etiqueta Object para instalar automáticamente el componente:

<OBJECT width=0 height=0
CLASSID="CLSID:0C7F3F20-8BAB-11d2-9432-00C04F8EF48F"
CODEBASE="#VERSION=4,0,0,0">
</OBJECT>

Para consultar o establecer el identificador de modo de un motor, use TTSModeID. Con TTSModeID puedes establecer un identificador de modo diferente del LanguageID del carácter. Por ejemplo, puede establecer un carácter alemán para que hable con un identificador de modo francés. Los identificadores de modo del motor de salida de voz no solo definen qué motor usa, sino que también corresponden a voces específicas admitidas para un motor. También puede usar el Editor de caracteres del Agente de Microsoft o las herramientas incluidas en la documentación del SDK de Voz de Microsoft para consultar los identificadores de modo de los motores TTS instalados en el sistema.

Identificadores de modo de salida de voz

Voz Identificadores de modo
Hembra adulta #1, Inglés de EE. UU., L&H TruVoice {CA141FD0-AC7F-11D1-97A3-006008273008}
Hembra adulta #2, Inglés de EE. UU., L&H TruVoice {CA141FD0-AC7F-11D1-97A3-006008273009}
Macho adulto #1, Inglés de EE. UU., L&H TruVoice {CA141FD0-AC7F-11D1-97A3-006008273000}
Macho adulto #2, Inglés de EE. UU., L&H TruVoice {CA141FD0-AC7F-11D1-97A3-006008273001}
Macho adulto #3, Inglés de EE. UU., L&H TruVoice {CA141FD0-AC7F-11D1-97A3-006008273002}
Macho adulto #4, Inglés de EE. UU., L&H TruVoice {CA141FD0-AC7F-11D1-97A3-006008273003}
Macho adulto #5, Inglés de EE. UU., L&H TruVoice {CA141FD0-AC7F-11D1-97A3-006008273004}
Macho adulto #6, Inglés de EE. UU., L&H TruVoice {CA141FD0-AC7F-11D1-97A3-006008273005}
Macho adulto #7, Inglés de EE. UU., L&H TruVoice {CA141FD0-AC7F-11D1-97A3-006008273006}
Macho adulto #8, Inglés de EE. UU., L&H TruVoice {CA141FD0-AC7F-11D1-97A3-006008273007}
Carol, inglés británico, L&H TTS3000 {227A0E40-A92A-11d1-B17B-0020AFED142E}
Peter, inglés británico, L&H TTS3000 {227A0E41-A92A-11d1-B17B-0020AFED142E}
Linda, Dutch, L&H TTS3000 {A0DDCA40-A92C-11d1-B17B-0020AFED142E}
Alexander, Dutch, L&H TTS3000 {A0DDCA41-A92C-11d1-B17B-0020AFED142E}
Véronique, francés, L&H TTS3000 {0879A4E0-A92C-11d1-B17B-0020AFED142E}
Pierre, French, L&H TTS3000 {0879A4E1-A92C-11d1-B17B-0020AFED142E}
Anna, Alemán, L&H TTS3000 {3A1FB760-A92B-11d1-B17B-0020AFED142E}
Stefan, Alemán, L&H TTS3000 {3A1FB761-A92B-11d1-B17B-0020AFED142E}
Barbara, Italiano, L&H TTS3000 {7EF71700-A92D-11d1-B17B-0020AFED142E}
Stefano, Italiano, L&H TTS3000 {7EF71701-A92D-11d1-B17B-0020AFED142E}
Naoko, japonés, L&H TTS3000 {A778E060-A936-11d1-B17B-0020AFED142E}
Kenji, japonés, L&H TTS3000 {A778E061-A936-11d1-B17B-0020AFED142E}
Shin-Ah, coreano, L&H TTS3000 {12E0B720-A936-11d1-B17B-0020AFED142E}
Jun-Ho, Coreano, L&H TTS3000 {12E0B721-A936-11d1-B17B-0020AFED142E}
Juliana, Portugués (Brasil), L&H TTS3000 {8AA08CA0-A1AE-11d3-9BC5-00A0C967A2D1}
Alejandro, Portugués (Brasil), L&H TTS3000 {8AA08CA1-A1AE-11d3-9BC5-00A0C967A2D1}
Svetlana, ruso, L&H TTS3000 {06377F80-D48E-11d1-B17B-0020AFED142E}
Boris, Ruso, L&H TTS3000 {06377F81-D48E-11d1-B17B-0020AFED142E}
Carmen, Español, L&H TTS3000 {2CE326E0-A935-11d1-B17B-0020AFED142E}
Julio, Español, L&H TTS3000 {2CE326E1-A935-11d1-B17B-0020AFED142E}

 

Nota

Hay una diferencia entre el CLSID de instalación de un motor de voz y su identificador de modo. Del mismo modo, un motor de voz también tiene un identificador de motor, pero este identificador no es aplicable en la API del agente.