Interacciones de voz

Integre el reconocimiento de voz y el texto a voz (también conocido como TTS o síntesis de voz) directamente en la experiencia del usuario de la aplicación.

Reconocimiento de voz El reconocimiento de voz convierte las palabras habladas por el usuario en texto para la entrada del formulario, para el dictado de texto, para especificar una acción o un comando, y para realizar tareas. Se admiten las gramáticas predefinidas para el dictado de texto libre y la búsqueda web, y las gramáticas personalizadas creadas mediante la especificación de gramática de reconocimiento de voz (SRGS) versión 1.0.

TTS TTS usa un motor de síntesis de voz (voz) para convertir una cadena de texto en palabras habladas. La cadena de entrada puede ser texto básico, sin adornado o más complejo lenguaje de marcado de síntesis de voz (SSML). SSML proporciona una manera estándar de controlar las características de la salida de voz, como la pronunciación, el volumen, el tono, la velocidad o la velocidad y el énfasis.

Otros componentes relacionados con la voz:Cortana en aplicaciones de Windows usa comandos de voz personalizados (hablados o tipados) para iniciar la aplicación en primer plano (la aplicación toma el foco, igual que si se inició desde el menú Inicio) o activarse como un servicio en segundo plano (Cortana conserva el foco, pero proporciona resultados de la aplicación). Consulta Interacciones de Cortana en aplicaciones de Windows.

Diseño de interacción de voz

Diseñado e implementado cuidadosamente, la voz puede ser una forma sólida y agradable para que las personas interactúen con tu aplicación, complementando o incluso reemplazando, teclado, mouse, toque y gestos.

Estas directrices y recomendaciones describen cómo integrar mejor el reconocimiento de voz y TTS en la experiencia de interacción de la aplicación.

Si está pensando en admitir interacciones de voz en la aplicación:

  • ¿Qué acciones se pueden realizar a través de la voz? ¿Puede un usuario navegar entre páginas, invocar comandos o escribir datos como campos de texto, notas breves o mensajes largos?
  • ¿La entrada de voz es una buena opción para completar una tarea?
  • ¿Cómo sabe un usuario cuándo está disponible la entrada de voz?
  • ¿La aplicación siempre escucha o el usuario necesita realizar una acción para que la aplicación entre en modo de escucha?
  • ¿Qué frases inician una acción o comportamiento? ¿Deben enumerarse las frases y acciones en pantalla?
  • ¿Se requieren pantallas de aviso, confirmación y desambiguación o TTS?
  • ¿Cuál es el cuadro de diálogo de interacción entre la aplicación y el usuario?
  • ¿Se requiere un vocabulario personalizado o restringido (como medicina, ciencia o configuración regional) para el contexto de la aplicación?
  • ¿Se requiere conectividad de red?

Entrada de texto

La voz para la entrada de texto puede oscilar entre formato corto (palabra única o frase) a forma larga (dictado continuo). La entrada de formulario corto debe tener menos de 10 segundos de longitud, mientras que la sesión de entrada de formulario larga puede tener hasta dos minutos de longitud. (La entrada de formulario largo se puede reiniciar sin intervención del usuario para dar la impresión de dictado continuo).

Debe proporcionar una indicación visual para indicar que el reconocimiento de voz se admite y está disponible para el usuario y si el usuario debe activarlo. Por ejemplo, se puede usar un botón de barra de comandos con un glifo de micrófono (vea Barras de comandos) para mostrar la disponibilidad y el estado.

Proporcione comentarios de reconocimiento continuos para minimizar cualquier falta aparente de respuesta mientras se realiza el reconocimiento.

Permitir que los usuarios revisen el texto de reconocimiento mediante la entrada del teclado, mensajes de desambiguación, sugerencias o reconocimiento de voz adicional.

Detenga el reconocimiento si se detecta la entrada desde un dispositivo distinto del reconocimiento de voz, como la entrada táctil o el teclado. Esto probablemente indica que el usuario se ha movido a otra tarea, como corregir el texto de reconocimiento o interactuar con otros campos de formulario.

Especifique el período de tiempo durante el que ninguna entrada de voz indica que se ha terminado el reconocimiento. No reinicie automáticamente el reconocimiento después de este período de tiempo, ya que normalmente indica que el usuario ha dejado de interactuar con la aplicación.

Deshabilite toda la interfaz de usuario de reconocimiento continuo y finalice la sesión de reconocimiento si una conexión de red no está disponible. El reconocimiento continuo requiere una conexión de red.

Comandos

La entrada de voz puede iniciar acciones, invocar comandos y realizar tareas.

Si el espacio permite, considere la posibilidad de mostrar las respuestas admitidas para el contexto de la aplicación actual, con ejemplos de entrada válida. Esto reduce las posibles respuestas que la aplicación tiene que procesar y también elimina la confusión para el usuario.

Trate de enmarcar sus preguntas de tal forma que suban tan específica como sea posible una respuesta. Por ejemplo, "¿Qué quiere hacer hoy?" está muy abierto y requeriría una definición gramatical muy grande debido a la variación de las respuestas. Como alternativa, "¿Desea reproducir un juego o escuchar música?" restringe la respuesta a una de las dos respuestas válidas con una definición gramatical correspondientemente pequeña. Una gramática pequeña es mucho más fácil de crear y da como resultado resultados de reconocimiento mucho más precisos.

Solicite confirmación del usuario cuando la confianza del reconocimiento de voz sea baja. Si la intención del usuario no está clara, es mejor obtener aclaración que iniciar una acción no deseada.

Debe proporcionar una indicación visual para indicar que el reconocimiento de voz se admite y está disponible para el usuario y si el usuario debe activarlo. Por ejemplo, se puede usar un botón de barra de comandos con un glifo de micrófono (consulte Directrices para barras de comandos) para mostrar la disponibilidad y el estado.

Si el conmutador de reconocimiento de voz suele estar fuera de la vista, considere la posibilidad de mostrar un indicador de estado en el área de contenido de la aplicación.

Si el usuario inicia el reconocimiento, considere la posibilidad de usar la experiencia de reconocimiento integrada para la coherencia. La experiencia integrada incluye pantallas personalizables con mensajes, ejemplos, desambiguaciones, confirmaciones y errores.

Las pantallas varían en función de las restricciones especificadas:

  • Gramática predefinida (dictado o búsqueda web)

    • Pantalla de escucha .
    • La pantalla pensando .
    • La pantalla Oí decir o la pantalla de error.
  • Lista de palabras o frases, o un archivo de gramática SRGS

    • Pantalla de escucha .
    • La pantalla ¿Dijiste ? si lo que dijo el usuario podría interpretarse como más de un posible resultado.
    • La pantalla Oí decir o la pantalla de error.

En la pantalla Escucha , puede hacer lo siguiente:

  • Personalice el texto del encabezado.
  • Proporcione texto de ejemplo de lo que el usuario puede decir.
  • Especifique si se muestra la pantalla Oyó que dice .
  • Vuelva a leer la cadena reconocida al usuario en la pantalla Oí decir .

Este es un ejemplo del flujo de reconocimiento integrado para un reconocedor de voz que usa una restricción definida por SRGS. En este ejemplo, el reconocimiento de voz se realiza correctamente.

pantalla de reconocimiento inicial para una restricción basada en un archivo de gramática de sgrs

pantalla de reconocimiento intermedio para una restricción basada en un archivo de gramática de sgrs

pantalla de reconocimiento final para una restricción basada en un archivo de gramática de sgrs

Escuchar siempre

La aplicación puede escuchar y reconocer la entrada de voz tan pronto como se inicie la aplicación, sin intervención del usuario.

Debe personalizar las restricciones gramaticales en función del contexto de la aplicación. Esto mantiene la experiencia de reconocimiento de voz muy dirigida y relevante para la tarea actual y minimiza los errores.

"¿Qué puedo decir?"

Cuando la entrada de voz está habilitada, es importante ayudar a los usuarios a descubrir lo que se puede entender exactamente y qué acciones se pueden realizar.

Si el reconocimiento de voz está habilitado por el usuario, considere la posibilidad de usar la barra de comandos o un comando de menú para mostrar todas las palabras y frases admitidas en el contexto actual.

Si el reconocimiento de voz siempre está activado, considere la posibilidad de agregar la frase "¿Qué puedo decir?" a cada página. Cuando el usuario diga esta frase, muestre todas las palabras y frases admitidas en el contexto actual. El uso de esta frase proporciona una manera coherente de que los usuarios detecten funcionalidades de voz en todo el sistema.

Errores de reconocimiento

Se producirá un error en el reconocimiento de voz. Los errores se producen cuando la calidad del audio es deficiente, cuando solo se reconoce parte de una frase o cuando no se detecta ninguna entrada.

Controle los errores correctamente, ayude a un usuario a comprender por qué se produjo un error en el reconocimiento y recuperarlo.

La aplicación debe informar al usuario de que no se entendieron y que necesitan volver a intentarlo.

Considere la posibilidad de proporcionar ejemplos de una o varias frases admitidas. Es probable que el usuario repita una frase sugerida, lo que aumenta el éxito del reconocimiento.

Debe mostrar una lista de posibles coincidencias entre las que un usuario debe seleccionar. Esto puede ser mucho más eficaz que volver a pasar por el proceso de reconocimiento.

Siempre debe admitir tipos de entrada alternativos, lo que resulta especialmente útil para controlar errores de reconocimiento repetidos. Por ejemplo, podría sugerir que el usuario intente usar un teclado, o usar la función táctil o un mouse para seleccionar una lista de posibles coincidencias.

Use la experiencia integrada de reconocimiento de voz, ya que incluye pantallas que informan al usuario de que el reconocimiento no se realizó correctamente y permite al usuario realizar otro intento de reconocimiento.

Escuche e intente corregir problemas en la entrada de audio. El reconocedor de voz puede detectar problemas con la calidad de audio que podrían afectar negativamente a la precisión del reconocimiento de voz. Puede usar la información proporcionada por el reconocedor de voz para informar al usuario del problema y permitirle tomar medidas correctivas, si es posible. Por ejemplo, si la configuración del volumen en el micrófono es demasiado baja, puede pedir al usuario que hable más fuerte o activar el volumen.

Restricciones

Las restricciones o gramáticas definen las palabras y frases habladas que el reconocedor de voz puede hacer coincidir. Puede especificar una de las gramáticas del servicio web predefinidas o puede crear una gramática personalizada instalada con la aplicación.

Gramáticas predefinidas

Las gramáticas predefinidas de dictado y búsqueda web proporcionan reconocimiento de voz para la aplicación sin necesidad de crear una gramática. Al usar estas gramáticas, un servicio web remoto realiza el reconocimiento de voz y los resultados se devuelven al dispositivo.

  • La gramática de dictado de texto libre predeterminada puede reconocer la mayoría de las palabras y frases que un usuario puede decir en un idioma determinado y está optimizada para reconocer frases cortas. El dictado de texto libre es útil cuando no desea limitar los tipos de cosas que un usuario puede decir. Los usos típicos incluyen la creación de notas o el dictado del contenido de un mensaje.
  • La gramática de búsqueda web, como una gramática de dictado, contiene un gran número de palabras y frases que un usuario podría decir. Sin embargo, está optimizado para reconocer términos que las personas suelen usar al buscar en la web.

Nota:

Dado que los dictados predefinidos y las gramáticas de búsqueda web pueden ser grandes y, dado que están en línea (no en el dispositivo), es posible que el rendimiento no sea tan rápido como con una gramática personalizada instalada en el dispositivo.

Estas gramáticas predefinidas se pueden usar para reconocer hasta 10 segundos de entrada de voz y no requieren ningún esfuerzo de creación por su parte. Sin embargo, requieren conexión a una red.

Gramáticas personalizadas

Una gramática personalizada está diseñada y creadas por usted y se instala con la aplicación. El reconocimiento de voz mediante una restricción personalizada se realiza en el dispositivo.

  • Las restricciones de lista mediante programación proporcionan un enfoque ligero para crear gramáticas simples mediante una lista de palabras o frases. Una restricción de lista funciona bien para reconocer frases cortas y distintas. Especificar explícitamente todas las palabras de una gramática también mejora la precisión del reconocimiento, ya que el motor de reconocimiento de voz solo debe procesar la voz para confirmar una coincidencia. La lista también se puede actualizar mediante programación.

  • Una gramática SRGS es un documento estático que, a diferencia de una restricción de lista mediante programación, usa el formato XML definido por la versión 1.0 de SRGS. Una gramática SRGS proporciona el mayor control sobre la experiencia de reconocimiento de voz al permitirle capturar varios significados semánticos en un solo reconocimiento.

    Estas son algunas sugerencias para crear gramáticas SRGS:

    • Mantenga cada gramática pequeña. Las gramáticas que contienen menos frases tienden a proporcionar un reconocimiento más preciso que las gramáticas más grandes que contienen muchas frases. Es mejor tener varias gramáticas más pequeñas para escenarios específicos que tener una única gramática para toda la aplicación.
    • Indique a los usuarios qué decir para cada contexto de aplicación y habilite y deshabilite las gramáticas según sea necesario.
    • Diseñe cada gramática para que los usuarios puedan hablar un comando de varias maneras. Por ejemplo, puede usar la regla GARBAGE para que coincida con la entrada de voz que la gramática no define. Esto permite a los usuarios hablar palabras adicionales que no tienen ningún significado para la aplicación. Por ejemplo, "dame", "y", "uh", "tal vez", etc.
    • Use el elemento sapi:subconjunto para ayudar a buscar coincidencias con la entrada de voz. Se trata de una extensión de Microsoft a la especificación SRGS para ayudar a hacer coincidir frases parciales.
    • Intente evitar definir frases en la gramática que contengan solo una sílaba. El reconocimiento tiende a ser más preciso para las frases que contienen dos o más sílabas.
    • Evite usar frases que suenan similares. Por ejemplo, las frases como "hello", "bellow" y "fellow" pueden confundir el motor de reconocimiento y dar lugar a una precisión de reconocimiento deficiente.

Nota:

El tipo de restricción que use depende de la complejidad de la experiencia de reconocimiento que desea crear. Cualquiera podría ser la mejor opción para una tarea de reconocimiento específica y podrías encontrar usos para todos los tipos de restricciones de la aplicación.

Pronunciaciones personalizadas

Si la aplicación contiene vocabulario especializado con palabras inusuales o ficticias, o palabras con pronunciaciones poco frecuentes, es posible que puedas mejorar el rendimiento del reconocimiento de esas palabras definiendo pronunciaciones personalizadas.

Para obtener una pequeña lista de palabras y frases, o una lista de palabras y frases usadas con poca frecuencia, puede crear pronunciaciones personalizadas en una gramática SRGS. Consulta token Element para obtener más información.

Para obtener listas más grandes de palabras y frases, o palabras y frases usadas con frecuencia, puede crear documentos de léxico de pronunciación independientes. Para obtener más información, consulta Acerca de los lexicons y los alfabetos fonéticos .

Prueba

Pruebe la precisión del reconocimiento de voz y cualquier interfaz de usuario compatible con la audiencia de destino de la aplicación. Esta es la mejor manera de determinar la eficacia de la experiencia de interacción de voz en la aplicación. Por ejemplo, ¿los usuarios obtienen resultados de reconocimiento deficientes porque la aplicación no escucha una frase común?

Modifique la gramática para admitir esta frase o proporcione a los usuarios una lista de frases admitidas. Si ya proporciona la lista de frases admitidas, asegúrese de que se puede detectar fácilmente.

Texto a voz (TTS)

TTS genera la salida de voz a partir de texto sin formato o SSML.

Intenta diseñar mensajes que son amables y animados.

Tenga en cuenta si debe leer cadenas largas de texto. Es una cosa escuchar un mensaje de texto, pero otro para escuchar una larga lista de resultados de búsqueda que son difíciles de recordar.

Debe proporcionar controles multimedia para permitir a los usuarios pausar, o detener, TTS.

Debe escuchar todas las cadenas de TTS para asegurarse de que son inteligibles y son naturales.

  • Al encadenar una secuencia inusual de palabras o números de parte de habla o signos de puntuación puede provocar que una frase se vuelva inintelligible.
  • La voz puede sonar no natural cuando la prosodia o cadencia es diferente de la forma en que un hablante nativo diría una frase.

Ambos problemas se pueden solucionar mediante SSML en lugar de texto sin formato como entrada en el sintetizador de voz. Para obtener más información sobre SSML, consulte Uso de SSML para controlar la referencia del lenguaje de marcado de síntesis de voz y voz sintetizada.

Tema Descripción
Reconocimiento de voz Use el reconocimiento de voz para proporcionar entrada, especificar una acción o un comando y realizar tareas.
Especificar el idioma del reconocedor de voz Obtenga información sobre cómo seleccionar un idioma instalado que se usará para el reconocimiento de voz.
Definición de restricciones de reconocimiento personalizadas Aprenda a definir y usar restricciones personalizadas para el reconocimiento de voz.
Habilitación del dictado continuo Obtenga información sobre cómo capturar y reconocer la entrada de voz de dictado continuo de forma larga.
Administración de problemas con la entrada de audio Obtenga información sobre cómo administrar problemas con la precisión del reconocimiento de voz causado por la calidad de entrada de audio.
Establecimiento de tiempos de espera de reconocimiento de voz Establezca cuánto tiempo un reconocedor de voz o ignora el silencio o los sonidos irreconocibles (babble) y continúa escuchando la entrada de voz.

 Muestras