API de voz de Microsoft


La interfaz de programación de aplicaciones de voz o SAPI es una API desarrollada por Microsoft para permitir el uso del reconocimiento de voz y la síntesis de voz dentro de las aplicaciones de Windows . Hasta la fecha, se han lanzado varias versiones de la API, que se han enviado como parte de Speech SDK o como parte del propio sistema operativo Windows . Las aplicaciones que usan SAPI incluyen Microsoft Office , Microsoft Agent y Microsoft Speech Server .

En general, todas las versiones de la API se han diseñado de manera que un desarrollador de software pueda escribir una aplicación para realizar el reconocimiento y la síntesis de voz mediante el uso de un conjunto estándar de interfaces, accesible desde una variedad de lenguajes de programación. Además, es posible que una empresa de terceros produzca sus propios motores de reconocimiento de voz y texto a voz o adapte los motores existentes para que funcionen con SAPI. En principio, siempre que estos motores se ajusten a las interfaces definidas, se pueden utilizar en lugar de los motores proporcionados por Microsoft.

En general, Speech API es un componente libremente redistribuible que se puede enviar con cualquier aplicación de Windows que desee utilizar tecnología de voz. Muchas versiones (aunque no todas) de los motores de síntesis y reconocimiento de voz también se pueden redistribuir libremente.

Ha habido dos 'familias' principales de Microsoft Speech API. Las versiones de SAPI 1 a 4 son similares entre sí, con características adicionales en cada versión más nueva. SAPI 5, sin embargo, era una interfaz completamente nueva, lanzada en 2000. Desde entonces, se han lanzado varias subversiones de esta API.

Speech API se puede ver como una interfaz o pieza de middleware que se encuentra entre las aplicaciones y los motores de voz (reconocimiento y síntesis). En las versiones de SAPI 1 a 4, las aplicaciones podían comunicarse directamente con los motores. La API incluía una definición de interfaz abstracta a la que se ajustaban las aplicaciones y los motores. Las aplicaciones también podrían usar objetos simplificados de nivel superior en lugar de llamar directamente a los métodos en los motores.

Sin embargo, en SAPI 5, las aplicaciones y los motores no se comunican directamente entre sí. En cambio, cada uno habla con un componente de tiempo de ejecución ( sapi.dll ). Hay una API implementada por este componente que usan las aplicaciones y otro conjunto de interfaces para motores.