Genere audio y subtítulos ocultos sincronizados con el generador de subtítulos de Amazon Polly

Amazon Polly, un servicio de conversión de texto a voz generado por IA, le permite automatizar y escalar sus soluciones de voz interactivas, lo que ayuda a mejorar la productividad y reducir los costos.

A medida que nuestros clientes continúan utilizando Amazon Polly por su amplio conjunto de funciones y facilidad de uso, hemos observado una demanda de la capacidad de generar simultáneamente audio sincronizado y subtítulos o subtítulos ocultos para una entrada de texto determinada. En AWS, trabajamos continuamente hacia atrás a partir de las solicitudes de nuestros clientes, por lo que en esta publicación, describimos un método para generar audio y subtítulos al mismo tiempo para un texto determinado.

Aunque los subtítulos y las leyendas a menudo se usan indistintamente, incluso en esta publicación, existen diferencias sutiles entre ellos:

  • Subtítulos – En los subtítulos, el idioma del texto que se muestra en la pantalla es diferente del idioma del audio y no muestra nada que no sea diálogo, como sonidos significativos. El objetivo principal es llegar a la audiencia que no habla el idioma del audio del video.
  • Subtítulos (cerrados/abiertos) – Los subtítulos muestran los diálogos que se hablan en el audio en el mismo idioma. Su objetivo principal es aumentar la accesibilidad en los casos en que el consumidor final no puede escuchar el audio debido a una variedad de problemas. Los subtítulos cerrados son parte de un archivo diferente a la fuente de audio/video y se pueden apagar y encender a discreción del usuario, mientras que los subtítulos abiertos son parte del archivo de video y el usuario no puede apagarlos.

Beneficios de usar Amazon Polly para generar audio con subtítulos o subtítulos

Imagine el siguiente caso de uso: prepara una presentación basada en diapositivas para un portal de aprendizaje en línea. Cada diapositiva incluye contenido en pantalla y narración. El contenido en pantalla es un esquema básico y la narración entra en detalles. En lugar de grabar una voz humana, que puede ser engorrosa e inconsistente, puede usar Amazon Polly para generar la narración. Amazon Polly produce voces consistentes y de alta calidad. No hay necesidad de postproducción. En el futuro, si necesita actualizar una parte de la presentación, solo necesita actualizar las diapositivas afectadas. La voz coincide con las diapositivas originales. Además, cuando Amazon Polly genera su audio, se incluyen subtítulos que aparecen al mismo tiempo que el audio. Ahorra tiempo porque no hay que realizar grabaciones manuales y ahorra tiempo adicional cuando se necesitan actualizaciones. Su presentación también ofrece más valor porque los subtítulos ayudan a los estudiantes a consumir el contenido. Es una solución ganar-ganar-ganar.

Hay una multitud de casos de uso para los subtítulos, como anuncios en espacios sociales, gimnasios, cafeterías y otros lugares donde normalmente hay algo en un televisor con el audio silenciado y música de fondo; formación y clases en línea; reuniones virtuales; anuncios electrónicos públicos; ver videos mientras viaja sin auriculares y sin molestar a los pasajeros; y varios más.

Independientemente del campo de aplicación, los subtítulos pueden ayudar con lo siguiente:

  • Accesibilidad – Las personas con discapacidad auditiva pueden consumir mejor tu contenido.
  • Retention – El aprendizaje en línea es más fácil de comprender y retener para los estudiantes electrónicos cuando se involucran más sentidos humanos.
  • Accesibilidad – Su contenido puede llegar a personas que tienen prioridades contrapuestas, como jugar y ver noticias simultáneamente, o personas que tienen un idioma nativo diferente al idioma del audio.
  • Capacidad de búsqueda – El contenido es buscable por los motores de búsqueda. Mientras que la mayoría de los motores de búsqueda no pueden buscar videos de manera óptima, los motores de búsqueda pueden usar los archivos de texto de subtítulos y hacer que su contenido sea más reconocible.
  • Cortesía social – A veces puede ser de mala educación reproducir audio debido a su entorno, o el audio puede ser difícil de escuchar debido al ruido de su entorno.
  • Comprensión – El contenido es más fácil de comprender independientemente del acento del hablante, el idioma nativo del hablante o la velocidad del habla. También puede tomar notas sin mirar repetidamente la misma escena.

Resumen de la solución

La biblioteca presentada en esta publicación utiliza Amazon Polly para generar subtítulos ocultos y de sonido para un texto de entrada. Puede integrar fácilmente esta biblioteca en sus aplicaciones de texto a voz. Admite varios formatos de audio y subtítulos en formatos de archivo VTT y SRT, que son los más utilizados en la industria.

En esta publicación, nos enfocamos en el PollyVTT() sintaxis y opciones, y ofrece algunos ejemplos que demuestran cómo usar Python SubtitleGeneratorForPolly para generar simultáneamente archivos de audio y subtítulos sincrónicos para una entrada de texto determinada. El formato de archivo de audio de salida puede ser PCM (wav), OGG o MP3, y el formato de archivo de subtítulos puede ser VTT o SRT. Es más, SubtitleGeneratorForPolly es compatible con todos los Amazon Polly synthesize_speech parámetros y se suma al rico conjunto de características de Amazon Polly.

El polly-vtt biblioteca y sus dependencias están disponibles en GitHub.

Instalar y usar la función

Antes de ver algunos ejemplos del uso PollyVTT(), la función que alimenta SubtitleGeneratorForPolly, veamos la instalación y la sintaxis de la misma.

Instale la biblioteca usando el siguiente código:

pip install

Para ejecutar desde la línea de comando, simplemente ejecute polly-vtt:

Usage: polly-vtt [OPTIONS] BASE_FILENAME VOICE_ID OUTPUT_FORMAT TEXT

El siguiente código muestra sus opciones:

--caption-format TEXT 'srt' or 'vtt'
--help Show this message and exit. 

BASE_FILENAME: Base filename for both the audio and caption files 
VOICE_ID: Polly voice to use (Case-sensitive)
OUTPUT_FORMAT: Amazon Polly output format: pcm, mp3, ogg_vorbis 
TEXT: Full text to be digitized 
Caption format: srt or vtt

Veamos ahora algunos ejemplos.

ejemplo 1

Este ejemplo genera un archivo de audio PCM junto con un archivo de subtítulos SRT para dos oraciones simples:

$ polly-vtt testfile Joanna pcm "this is a test. this is a second sentence." --caption-format srt 

testfile.wav written successfully.
testfile.wav.srt written successfully.
Total Audio Length: 0:00:03.017500 
# of Sentences: 2

ejemplo 2

Este ejemplo demuestra cómo usar un párrafo de texto como entrada. Esto genera archivos de audio en WAV, MP3 y OGG, y subtítulos en SRT y VTT. El siguiente ejemplo crea seis archivos para el texto de entrada dado:

  • pcm_testfile.wav
  • pcm_testfile.wav.vtt
  • mp3_testfile.mp3
  • mp3_testfile.mp3.vtt
  • ogg_testfile.ogg
  • ogg_testfile.ogg.srt

Ver el siguiente código:

from polly_vtt import PollyVTT 

text = "News content is shaped by its own unique characteristics. Sentences and paragraphs are usually short and highly in formative because writers have to compress information into a limited space. Depending on the theme, news articles may con tain relevant terminology, place names, abbreviations, people’s names, and quotes. Excellent news writing is clear, precis e, and avoids ambiguity. The writing is dynamic, especially in online articles, because content may get updated multiple times per day as new information becomes available." 

polly_vtt = PollyVTT() 

# pcm with VTT captions 
polly_vtt.generate( 
"pcm_testfile", 
Text=text, 
VoiceId="Joanna", 
OutputFormat="pcm", 
) 

# mp3 with VTT captions 
polly_vtt.generate( 
"mp3_testfile", 
Text=text, 
VoiceId="Joanna", 
OutputFormat="mp3", 
)
 
# ogg with SRT captions 
polly_vtt.generate( 
"ogg_testfile", 
"srt",
Text=text, 
VoiceId="Joanna", 
OutputFormat="ogg_vorbis", 
) 

ejemplo 3

Sin embargo, en la mayoría de los casos, desea pasar el texto como un archivo de entrada. El siguiente es un ejemplo de Python de esto, con el mismo resultado que el ejemplo anterior:

from polly_vtt import PollyVTT
import os
import boto3
import json

polly_vtt = PollyVTT()

try:
	f=open("input.txt", "r")
	print("file is opened")
	polly_vtt.generate(
	"pcm_testfile",
	Text=f.read(),
	VoiceId="Joanna",
	OutputFormat="pcm",
	)
	f.close()
except:
	print("error occurred while converting to PCM")
print("end of file")

# mp3 with VTT captions
try:
	f=open("input.txt", "r")
	print("file is opened")
	polly_vtt.generate(
	"mp3_testfile",
	Text=f.read(),
	VoiceId="Joanna",
	OutputFormat="mp3",
	)
	f.close()
except:
	print("error occurred while converting to MP3")
print("end of file")

# ogg with SRT captions
try:
	f=open("input.txt", "r")
	print("file is opened")
	polly_vtt.generate(
	"ogg_testfile",
	"srt",
	Text=f.read(),
	VoiceId="Joanna",
	OutputFormat="ogg_vorbis",
	)
	f.close()
except:
	print("error occurred while converting to OGG")
print("end of file")

La siguiente es una publicación testimonial del equipo de capacitación interna de AWS sobre el uso de Amazon Polly con subtítulos:

El siguiente video ofrece una breve demostración de cómo el equipo de capacitación interna de AWS utiliza PollyVTT():

Conclusión

En esta publicación, compartimos un método para generar audio y subtítulos al mismo tiempo para un texto determinado. los PollyVTT() función y SubtitleGeneratorForPolly abordar un requisito común para los subtítulos de manera eficiente y eficaz. El equipo de Amazon Polly continúa inventando y ofreciendo soluciones simplificadas para los complejos requisitos de los clientes.

Para obtener más tutoriales e información sobre Amazon Polly, consulte el Blog de aprendizaje automático de AWS.


Acerca de los autores

Genere subtítulos y audio sincronizados utilizando el generador de subtítulos de Amazon Polly PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.Abhishek Soni es un arquitecto de soluciones para socios en AWS. Trabaja con los clientes para proporcionar orientación técnica para obtener el mejor resultado de las cargas de trabajo en AWS.

Genere subtítulos y audio sincronizados utilizando el generador de subtítulos de Amazon Polly PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai. Dan McKee utiliza audio, video y café para destilar el contenido en cursos dirigidos, modulares y estructurados. En su rol como gerente de proyectos de desarrollo de planes de estudio para el dominio NetSec en Amazon Web Services, aprovecha su experiencia en redes de centros de datos para ayudar a los expertos en la materia a dar vida a las ideas.

Genere subtítulos y audio sincronizados utilizando el generador de subtítulos de Amazon Polly PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.orlando karam es desarrollador de planes de estudios técnicos en Amazon Web Services, lo que significa que puede jugar con nuevas tecnologías geniales y luego hablar sobre ellas. Ocasionalmente, también usa esas tecnologías geniales para facilitar su trabajo.

Sello de tiempo:

Mas de Aprendizaje automático de AWS