Gere legendas e áudio sincronizados usando o gerador de legendas Amazon Polly

Amazon Polly, um serviço de conversão de texto em fala gerado por IA, permite automatizar e dimensionar suas soluções interativas de voz, ajudando a melhorar a produtividade e reduzir custos.

À medida que nossos clientes continuam usando o Amazon Polly por seu rico conjunto de recursos e facilidade de uso, observamos uma demanda pela capacidade de gerar simultaneamente áudio e legendas sincronizadas ou legendas ocultas para uma determinada entrada de texto. Na AWS, trabalhamos continuamente para trás das solicitações de nossos clientes, portanto, neste post, descrevemos um método para gerar áudio e legendas ao mesmo tempo para um determinado texto.

Embora legendas e legendas sejam frequentemente usadas de forma intercambiável, inclusive neste post, existem diferenças sutis entre elas:

  • Legendas – Nas legendas, o idioma do texto exibido na tela é diferente do idioma do áudio e não exibe nada para não diálogos, como sons significativos. O objetivo principal é alcançar o público que não fala o idioma do áudio do vídeo.
  • Legendas (fechado/aberto) – As legendas exibem os diálogos que estão sendo falados no áudio no mesmo idioma. Seu objetivo principal é aumentar a acessibilidade nos casos em que o áudio não pode ser ouvido pelo consumidor final devido a uma série de problemas. As legendas ocultas fazem parte de um arquivo diferente da fonte de áudio/vídeo e podem ser desativadas e ativadas a critério do usuário, enquanto as legendas abertas fazem parte do arquivo de vídeo e não podem ser desativadas pelo usuário.

Benefícios de usar o Amazon Polly para gerar áudio com legendas ou closed captions

Imagine o seguinte caso de uso: você prepara uma apresentação baseada em slides para um portal de aprendizado online. Cada slide inclui conteúdo e narração na tela. O conteúdo na tela é um esboço básico, e a narração entra em detalhes. Em vez de gravar uma voz humana, que pode ser complicada e inconsistente, você pode usar o Amazon Polly para gerar a narração. O Amazon Polly produz vozes consistentes e de alta qualidade. Não há necessidade de pós-produção. No futuro, se você precisar atualizar uma parte da apresentação, precisará atualizar apenas os slides afetados. A voz corresponde aos slides originais. Além disso, quando o Amazon Polly gera seu áudio, são incluídas legendas que aparecem no tempo com o áudio. Você economiza tempo porque não há gravação manual envolvida e economiza tempo adicional quando as atualizações são necessárias. Sua apresentação também agrega mais valor porque as legendas ajudam os alunos a consumir o conteúdo. É uma solução ganha-ganha.

Há uma infinidade de casos de uso para legendas, como anúncios em espaços sociais, ginásios, cafeterias e outros lugares onde normalmente há algo na televisão com o áudio silenciado e música ao fundo; treinamentos e aulas online; reuniões virtuais; anúncios eletrônicos públicos; assistir a vídeos enquanto se desloca sem fones de ouvido e sem incomodar os co-passageiros; e vários outros.

Independentemente do campo de aplicação, as legendas ocultas podem ajudar no seguinte:

  • Acessibilidade – Pessoas com deficiência auditiva podem consumir melhor seu conteúdo.
  • Retenção – A aprendizagem online é mais fácil para os e-formandos compreenderem e reterem quando mais sentidos humanos estão envolvidos.
  • Acessibilidade – Seu conteúdo pode alcançar pessoas com prioridades concorrentes, como jogar e assistir notícias simultaneamente, ou pessoas que têm um idioma nativo diferente do idioma do áudio.
  • Searchability – O conteúdo é pesquisável pelos motores de busca. Enquanto os vídeos não podem ser pesquisados ​​de forma otimizada pela maioria dos mecanismos de pesquisa, os mecanismos de pesquisa podem usar os arquivos de texto de legenda e tornar seu conteúdo mais detectável.
  • Cortesia social – Às vezes, pode ser rude reproduzir áudio devido ao ambiente ao seu redor, ou o áudio pode ser difícil de ouvir devido ao ruído do ambiente.
  • Compreensão – O conteúdo é mais fácil de compreender, independentemente do sotaque do falante, do idioma nativo do falante ou da velocidade da fala. Você também pode fazer anotações sem assistir repetidamente à mesma cena.

Visão geral da solução

A biblioteca apresentada neste post usa o Amazon Polly para gerar som e legendas para um texto de entrada. Você pode integrar facilmente essa biblioteca em seus aplicativos de conversão de texto em fala. Ele suporta vários formatos de áudio e legendas nos formatos de arquivo VTT e SRT, que são os mais usados ​​em todo o setor.

Neste post, focamos na PollyVTT() sintaxe e opções, e oferecem alguns exemplos que demonstram como usar o Python SubtitleGeneratorForPolly para gerar simultaneamente arquivos síncronos de áudio e legenda para uma determinada entrada de texto. O formato do arquivo de áudio de saída pode ser PCM(wav), OGG ou MP3, e o formato do arquivo de legenda pode ser VTT ou SRT. Além disso, SubtitleGeneratorForPolly suporta todos os Amazon Polly synthesize_speech parâmetros e adiciona ao rico conjunto de recursos do Amazon Polly.

A polly-vtt biblioteca e suas dependências estão disponíveis em GitHub.

Instale e use a função

Antes de vermos alguns exemplos de uso PollyVTT(), a função que alimenta SubtitleGeneratorForPolly, vamos ver a instalação e a sintaxe dele.

Instale a biblioteca usando o seguinte código:

pip install

Para executar a partir da linha de comando, basta executar polly-vtt:

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

O código a seguir mostra suas opções:

--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

Vejamos alguns exemplos agora.

Exemplo 1

Este exemplo gera um arquivo de áudio PCM junto com um arquivo de legenda SRT para duas frases 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

Exemplo 2

Este exemplo demonstra como usar um parágrafo de texto como entrada. Isso gera arquivos de áudio em WAV, MP3 e OGG e legendas em SRT e VTT. O exemplo a seguir cria seis arquivos para o texto de entrada fornecido:

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

Veja o seguinte 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", 
) 

Exemplo 3

Na maioria dos casos, entretanto, você deseja passar o texto como um arquivo de entrada. Veja a seguir um exemplo disso em Python, com a mesma saída do exemplo 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")

Veja a seguir uma postagem de depoimento da equipe de treinamento interna da AWS sobre o uso do Amazon Polly com legendas ocultas:

O vídeo a seguir oferece uma breve demonstração de como a equipe de treinamento interno da AWS usa PollyVTT():

Conclusão

Neste post, compartilhamos um método para gerar áudio e legendas ao mesmo tempo para um determinado texto. o PollyVTT() função e SubtitleGeneratorForPolly abordar um requisito comum para legendas de forma eficiente e eficaz. A equipe do Amazon Polly continua inventando e oferecendo soluções simplificadas para os requisitos complexos dos clientes.

Para obter mais tutoriais e informações sobre o Amazon Polly, confira o Blog do AWS Machine Learning.


Sobre os autores

Gere legendas ocultas e áudio sincronizados usando o gerador de legendas PlatoBlockchain Data Intelligence do Amazon Polly. Pesquisa vertical. Ai.Abhishek Soni é arquiteto de soluções de parceiro na AWS. Ele trabalha com os clientes para fornecer orientação técnica para o melhor resultado das cargas de trabalho na AWS.

Gere legendas ocultas e áudio sincronizados usando o gerador de legendas PlatoBlockchain Data Intelligence do Amazon Polly. Pesquisa vertical. Ai. Dan McKee usa áudio, vídeo e café para destilar conteúdo em cursos direcionados, modulares e estruturados. Em sua função como Gerente de Projeto de Desenvolvedor de Currículo para o Domínio NetSec na Amazon Web Services, ele aproveita sua experiência em Rede de Data Center para ajudar especialistas no assunto a dar vida a ideias.

Gere legendas ocultas e áudio sincronizados usando o gerador de legendas PlatoBlockchain Data Intelligence do Amazon Polly. Pesquisa vertical. Ai.Orlando Karam é Desenvolvedor de Currículo Técnico na Amazon Web Services, o que significa que ele pode brincar com novas tecnologias legais e depois falar sobre isso. Ocasionalmente, ele também usa essas tecnologias legais para facilitar seu trabalho.

Carimbo de hora:

Mais de Aprendizado de máquina da AWS