Información general
En general, la síntesis de voz no es sencilla. No se puede suponer que, cuando una aplicación lee cada letra de una oración, el resultado tenga sentido. Algunos de los desafíos más comunes para las aplicaciones de conversión de texto a voz son los siguientes:
- Las palabras que se escriben de igual manera, pero se pronuncian diferente, como sucede en el caso del inglés: I live in Las Vegas (vivo en Las Vegas) en comparación con This presentation broadcasts live from Las Vegas (Esta presentación se transmite en vivo desde Las Vegas).
- La normalización de texto para evitar la ambigüedad en abreviaturas, acrónimos y unidades, como en el caso de St., que puede referirse a Street (calle) o a Saint (Santo).
- La conversión de texto a fonema en idiomas con un mapeo complejo como en el caso de las palabras tough, through y though en inglés. En este ejemplo, partes similares de diferentes palabras pueden pronunciarse de manera distinta según la palabra y el contexto.
- Palabras extranjeras (déjà vu), nombres propios (François Hollande) y palabras informales (ASAP, LOL).
Amazon Polly proporciona una funcionalidad de la síntesis de voz que le permite superar estos desafíos y enfocarse en la creación de aplicaciones que utilizan la conversión de texto a voz en lugar de abordar los desafíos de interpretación.
Amazon Polly transforma el texto en discursos realistas por voz. Puede crear aplicaciones que hablan con naturalidad, lo cual le permite crear categorías de productos con voz habilitada totalmente nuevas. Amazon Polly es un servicio de IA de Amazon que utiliza tecnología avanzada de aprendizaje profundo para sintetizar discursos que suenan como la voz humana. Actualmente incluye docenas de voces realistas en más de 20 idiomas, por lo que puede seleccionar la voz ideal y crear aplicaciones con voz habilitada que funcionan en muchos países diferentes.
Asimismo, Amazon Polly proporciona los tiempos de respuesta constantemente rápidos que se requieren para respaldar los diálogos interactivos en tiempo real. Puede almacenar en la memoria caché y guardar los archivos de audio de Polly para reproducirlos o redistribuirlos sin conexión. (En otras palabras, todo lo que convierta y guarde es suyo. No hay cargos adicionales en la conversión de texto a voz por utilizar el discurso por voz). Además, Polly es fácil de utilizar. Simplemente envía el texto que desea convertir a voz a la API de Amazon Polly. Amazon Polly devuelve de manera inmediata la transmisión de audio a su aplicación para que pueda reproducirla directamente o almacenarla en un formato de archivo de audio estándar como MP3.
En este laboratorio, creará una aplicación básica sin servidor que utiliza Amazon Polly para convertir el texto a voz. Esta aplicación tiene una interfaz de usuario sencilla que acepta texto en muchos idiomas y luego lo convierte en archivos de audio que se pueden reproducir desde un navegador web. En este laboratorio, se utilizarán publicaciones de blog, pero puede utilizar cualquier tipo de texto. Por ejemplo, puede utilizar la aplicación para leer recetas mientras prepara una comida, o artículos periodísticos o libros mientras maneja o anda en bicicleta.
Arquitectura de la aplicación
Le permite crear una aplicación sin servidor, lo que significa que no necesitará trabajar con servidores, aprovisionamiento, parches ni escalado. La Nube de AWS se encarga de esto de manera automática, lo que le permite enfocarse en su aplicación.
La aplicación brinda dos métodos, uno para enviar información sobre una nueva publicación, la cual se debe convertir en un archivo MP3, y otro para recuperar la información sobre la publicación (incluido un enlace al archivo MP3 almacenado en un bucket de Amazon S3). Ambos métodos se exponen como servicios web RESTful mediante la Amazon API Gateway.
Cuando la aplicación envía información sobre nuevas publicaciones, sucede lo siguiente:
1 El servicio web RESTful expuesto por la Amazon API Gateway recibe la información. Una página web estática alojada en Amazon Simple Storage Service (Amazon S3) invoca este servicio web.
2 Amazon API Gateway desencadena una función de AWS Lambda, New Post (Nueva publicación), que es responsable de iniciar el proceso de creación de archivos MP3.
3 La función de Lambda inserta información sobre la publicación en una tabla de Amazon DynamoDB, donde se almacena la información sobre todas las publicaciones.
4 A fin de ejecutar todo el proceso de manera asincrónica, utilice Amazon Simple Notification Service (Amazon SNS) para desacoplar el proceso de recepción de información sobre nuevas publicaciones y comenzar la conversión de audio.
5 Otra función de Lambda, Convert to Audio (Convertir en audio), está suscrita a su tema de SNS y se desencadena siempre que aparece un nuevo mensaje (lo que significa que una nueva publicación debe convertirse en un archivo de audio).
6 La función de Lambda Convert to Audio (Convertir en audio) utiliza Amazon Polly para convertir el texto en un archivo de audio en un idioma en específico (el mismo idioma que el del texto).
7 El nuevo archivo de MP3 se guarda en un bucket de S3 dedicado.
8 La información sobre la publicación se actualiza en una tabla de DynamoDB. La URL al archivo de audio almacenado en el bucket de S3 se guarda con los datos almacenados previamente.
Cuando la aplicación recupera información sobre publicaciones, sucede lo siguiente:
1 El servicio web de RESTful se implementa con Amazon API Gateway. Amazon API Gateway expone el método para recuperar información sobre las publicaciones. Estos métodos contienen el texto de la publicación y el enlace al bucket de S3 donde se almacena el archivo MP3. Una página web estática alojada en Amazon S3 invoca al servicio web.
2 Amazon API Gateway invoca la función de Lambda Get Post (Obtener publicación), la cual implementa la lógica para recuperar los datos de publicación.
3 La función de Lambda Get Post (Obtener publicación) recupera la información sobre la publicación (incluida la referencia a Amazon S3) desde la tabla de DynamoDB y devuelve la información.
Temas
Al final de este laboratorio, podrá realizar lo siguiente:
- Crear un Amazon DynamoDB para almacenar datos
- Crear una API RESTful de Amazon API Gateway
- Crear funciones de AWS Lambda desencadenadas por la API Gateway
- Conectar las funciones de AWS Lambda con Amazon Simple Notification Service (SNS)
- Utilizar Amazon Polly para sintetizar el discurso en una variedad de idiomas y voces
Significados de los íconos
A lo largo de este laboratorio, se utilizan varios íconos para llamar la atención sobre diferentes tipos de instrucciones y notas. En la siguiente lista, se explica el propósito de cada ícono:
- un comando que debe ejecutar
- un resultado de muestra que puede utilizar para verificar el resultado de un comando o archivo editado
- una pista, consejo u orientación importante
- información de especial interés o importancia (no es tan importante como para causar problemas con el equipo o los datos si la omite, pero podría ocasionar la necesidad de repetir ciertos pasos)
- ADVERTENCIA: Una acción que es irreversible y que podría impactar en el error de un comando o proceso (incluye advertencias sobre configuraciones que no se pueden modificar después de realizarlas).