stringtranslate.com

API de voz de Java

La API de voz de Java (JSAPI) es una interfaz de programación de aplicaciones para compatibilidad multiplataforma de reconocedores de comandos y control, sistemas de dictado y sintetizadores de voz . Aunque JSAPI define solo una interfaz, existen varias implementaciones creadas por terceros, por ejemplo, FreeTTS . [ cita requerida ]

Tecnologías básicas

La API de Java Speech admite dos tecnologías de voz principales: síntesis de voz y reconocimiento de voz .[1]

Síntesis de voz

La síntesis de voz proporciona el proceso inverso de producir voz sintética a partir de texto generado por una aplicación, un subprograma o un usuario. A menudo se la conoce como tecnología de conversión de texto a voz.

Los pasos principales para producir voz a partir de texto son los siguientes:

El resultado de estos dos primeros pasos es una forma hablada del texto escrito. A continuación se muestran algunos ejemplos de las diferencias entre el texto escrito y el hablado:

El hospital St. Matthew está en Main St.-> “El hospital de San Mateo está en Main Street”Agregue $20 a la cuenta 55374.-> “Agrega veinte dólares a la cuenta cinco cinco, tres siete cuatro”.

Los pasos restantes convierten el texto hablado en voz:

Los sintetizadores de voz pueden cometer errores en cualquiera de los pasos de procesamiento descritos anteriormente. El oído humano está perfectamente adaptado a detectar estos errores, pero el trabajo cuidadoso de los desarrolladores puede minimizar los errores y mejorar la calidad de la salida de voz.

Reconocimiento de voz

El reconocimiento de voz proporciona a las computadoras la capacidad de escuchar el lenguaje hablado y determinar lo que se ha dicho. En otras palabras, procesa la entrada de audio que contiene voz convirtiéndola en texto.

Los pasos principales de un reconocedor de voz típico son los siguientes:

Una gramática es un objeto de la API de voz de Java que indica qué palabras se espera que diga un usuario y en qué patrones pueden aparecer esas palabras. Las gramáticas son importantes para los reconocedores de voz porque limitan el proceso de reconocimiento. Estas restricciones hacen que el reconocimiento sea más rápido y preciso porque el reconocedor no tiene que comprobar si hay oraciones extrañas.

La Java Speech API 1 admite dos tipos básicos de gramática: gramáticas de reglas y gramáticas de dictado. Estos tipos difieren de varias maneras, incluyendo cómo las aplicaciones configuran las gramáticas; los tipos de oraciones que permiten; cómo se proporcionan los resultados; la cantidad de recursos computacionales requeridos; y cómo se usan en el diseño de aplicaciones. Las gramáticas de reglas están definidas en JSAPI 1 por JSGF , el formato de gramática de Java Speech.

Clases e interfaces de la API de Java Speech

Las diferentes clases e interfaces que forman la API de Java Speech se agrupan en los siguientes tres paquetes:

La clase EngineManager es como una clase de fábrica que utilizan todas las aplicaciones de Java Speech API. Proporciona métodos estáticos para permitir el acceso a los motores de síntesis y reconocimiento de voz. La interfaz Engine encapsula las operaciones genéricas que un motor de voz compatible con Java Speech API debe proporcionar para las aplicaciones de voz.

Las aplicaciones de voz pueden utilizar principalmente métodos para realizar acciones como recuperar las propiedades y el estado del motor de voz y asignar y desasignar recursos para un motor de voz. Además, la interfaz Engine expone mecanismos para pausar y reanudar la secuencia de audio generada o procesada por el motor de voz. AudioManager puede manipular secuencias. La interfaz Engine está subclasificada por las interfaces Synthesizer y Recognizer, que definen funciones adicionales de síntesis y reconocimiento de voz. La interfaz Synthesizer encapsula las operaciones de un motor de síntesis de voz compatible con Java Speech API para aplicaciones de voz.

La API de Java Speech se basa en el manejo de eventos. Los eventos generados por el motor de voz se pueden identificar y manejar según sea necesario. Los eventos de voz se pueden manejar a través de la interfaz EngineListener, específicamente a través de RecognizerListener y SynthesizerListener.

Especificaciones relacionadas

La API de Java Speech se escribió antes del proceso de la comunidad Java (JCP) y estaba destinada a la plataforma Java, edición estándar (Java SE). Posteriormente, se creó la API de Java Speech 2 (JSAPI2) como JSR 113 en el marco del JCP. Esta API está destinada a la plataforma Java, edición micro (Java ME), pero también cumple con Java SE.

Referencias