API Web de Voz
==============

 La **API Web de Voz** (Web Speech API) te permite incorporar datos de voz en aplicaciones web.
 La API Web de Voz tiene dos partes: `SpeechSynthesis` (Texto a voz) y `SpeechRecognition` (Reconocimiento de voz asíncrono).

Conceptos y uso de la API Web de Voz
------------------------------------

 La API Web de Voz permite que las aplicaciones web manejen datos de voz.
 Hay dos componentes en esta API:

* Se accede al reconocimiento de voz a través de la interfaz `SpeechRecognition` (en-US), que brinda la capacidad de reconocer el contexto de voz desde una entrada de audio (normalmente a través del servicio de reconocimiento de voz predeterminado del dispositivo) y responder adecuadamente.
 Por lo general, usará el constructor de la interfaz para crear un nuevo objeto `SpeechRecognition` (en-US), que tiene varios controladores de eventos disponibles para detectar cuándo se ingresa voz a través del micrófono del dispositivo. La interfaz `SpeechGrammar` (en-US) representa un contenedor para un conjunto particular de gramática que tu aplicación debería reconocer.
 La gramática se define mediante JSpeech Grammar Format (**JSGF**).
* Se accede a la síntesis de voz a través de la interfaz `SpeechSynthesis` (en-US), un componente de texto a voz que permite que los programas lean su contenido de texto (normalmente a través del sintetizador de voz predeterminado del dispositivo). Los diferentes tipos de voz se representan mediante Los objetos `SpeechSynthesisVoice` (en-US) y las diferentes partes del texto que desea que se hablen se representan mediante objetos `SpeechSynthesisUtterance` (en-US).
 Puedes hacer que se hablen pasándolos al método `SpeechSynthesis.speak()` (en-US).

Para obtener más detalles sobre el uso de estas funciones, consulte Uso de la API Web de Voz.

Interfaces de la API Web de Voz
-------------------------------

### Reconocimiento de voz

`SpeechRecognition` (en-US)

La interfaz del controlador para el servicio de reconocimiento; esto también maneja el `SpeechRecognitionEvent` (en-US) enviado desde el servicio de reconocimiento.

`SpeechRecognitionAlternative` (en-US)

Representa una sola palabra que ha sido reconocida por el servicio de reconocimiento de voz.

`SpeechRecognitionErrorEvent` (en-US)

Representa mensajes de error del servicio de reconocimiento.

`SpeechRecognitionEvent` (en-US)

El objeto de evento para los eventos `result` (en-US) y `nomatch` (en-US) y contiene todos los datos asociados con un evento intermedio o resultado final del reconocimiento de voz.

`SpeechGrammar` (en-US)

Las palabras o patrones de palabras que queremos que reconozca el servicio de reconocimiento.

`SpeechGrammarList` (en-US)

Representa una lista de objetos `SpeechGrammar` (en-US).

`SpeechRecognitionResult` (en-US)

Representa una única coincidencia de reconocimiento, que puede contener varios objetos `SpeechRecognitionAlternative` (en-US).

`SpeechRecognitionResultList` (en-US)

Representa una lista de objetos `SpeechRecognitionResult` (en-US), o uno solo si los resultados se capturan en el modo `continuous` (en-US).

### Síntesis de voz

`SpeechSynthesis` (en-US)

La interfaz del controlador para el servicio de voz; esto se puede usar para recuperar información sobre las voces de síntesis disponibles en el dispositivo, iniciar y pausar el habla y otros comandos además.

`SpeechSynthesisErrorEvent` (en-US)

Contiene información sobre los errores que se producen al procesar objetos `SpeechSynthesisUtterance` (en-US) en el servicio de voz.

`SpeechSynthesisEvent` (en-US)

Contiene información sobre el estado actual de los objetos `SpeechSynthesisUtterance` (en-US) que se han procesado en el servicio de voz.

`SpeechSynthesisUtterance` (en-US)

 Representa una solicitud de voz.
 Contiene el contenido que debe leer el servicio de voz e información sobre cómo leerlo (por ejemplo, idioma, tono y volumen).


`SpeechSynthesisVoice` (en-US)

 Representa una voz que admite el sistema.
 Cada `SpeechSynthesisVoice` tiene su propio servicio de voz relativo que incluye información sobre el idioma, el nombre y la URI.


`Window.speechSynthesis` (en-US)

Especificada como parte de una interfaz `[NoInterfaceObject]` llamada `SpeechSynthesisGetter` e implementada por el objeto `Window`, la propiedad `speechSynthesis` brinda acceso al controlador `SpeechSynthesis` (en-US) y, por lo tanto, al punto de entrada a la funcionalidad de síntesis de voz.

Errores
-------

Para obtener información sobre los errores arrojados por la API Web de Voz (por ejemplo, `"language-not-supported"` y `"language-unavailable"`), consulte la siguiente documentación:

* Propiedad `error` del objeto `SpeechRecognitionErrorEvent` (en-US)
* Propiedad `error` del objeto `SpeechSynthesisErrorEvent` (en-US)
Ejemplos
--------

Los ejemplos de la API Web de Voz en GitHub contienen demostraciones para ilustrar el reconocimiento y la síntesis de voz.

Especificaciones
----------------

| Specification |
| --- |
| Web Speech API # speechreco-section |
| Web Speech API # tts-section |

Compatibilidad con navegadores
------------------------------

### api.SpeechRecognition

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

### api.SpeechSynthesis

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Véase también
-------------

* Uso de la API Web de Voz
* Artículo HTML5Rocks