Generer synkronisert teksting og lyd ved å bruke Amazon Polly-tekstgeneratoren

Amazon Polly, en AI-generert tekst-til-tale-tjeneste, lar deg automatisere og skalere dine interaktive stemmeløsninger, noe som bidrar til å forbedre produktiviteten og redusere kostnadene.

Ettersom kundene våre fortsetter å bruke Amazon Polly for dets rike sett med funksjoner og brukervennlighet, har vi observert et behov for muligheten til samtidig å generere synkronisert lyd og undertekster for en gitt tekstinngang. Hos AWS jobber vi kontinuerlig bakover fra kundens ønsker, så i dette innlegget skisserer vi en metode for å generere lyd og undertekster samtidig for en gitt tekst.

Selv om undertekster og bildetekster ofte brukes om hverandre, inkludert i dette innlegget, er det subtile forskjeller mellom dem:

  • teksting – I undertekster er tekstspråket som vises på skjermen forskjellig fra lydspråket og viser ikke noe for ikke-dialog som betydelige lyder. Hovedmålet er å nå publikum som ikke snakker lydspråket i videoen.
  • Bildetekster (lukket/åpen) – Bildetekster viser dialogene som snakkes i lyden på samme språk. Dens primære formål er å øke tilgjengeligheten i tilfeller der lyden ikke kan høres av sluttforbrukeren på grunn av en rekke problemer. Teksting er en del av en annen fil enn lyd-/videokilden og kan slås av og på etter brukerens skjønn, mens åpen teksting er en del av videofilen og ikke kan slås av av brukeren.

Fordeler med å bruke Amazon Polly til å generere lyd med undertekster

Tenk deg følgende brukssituasjon: du forbereder en lysbildebasert presentasjon for en nettbasert læringsportal. Hvert lysbilde inneholder innhold på skjermen og fortellerstemme. Innholdet på skjermen er en grunnleggende disposisjon, og fortellingen går i detalj. I stedet for å spille inn en menneskelig stemme, som kan være tungvint og inkonsekvent, kan du bruke Amazon Polly til å generere fortellingen. Amazon Polly produserer høykvalitets, konsistente stemmer. Det er ikke behov for etterproduksjon. I fremtiden, hvis du trenger å oppdatere en del av presentasjonen, trenger du bare å oppdatere de berørte lysbildene. Stemmen matcher de originale lysbildene. I tillegg, når Amazon Polly genererer lyden din, inkluderes bildetekster som vises i takt med lyden. Du sparer tid fordi det ikke er noe manuelt opptak involvert, og sparer ekstra tid når oppdateringer er nødvendig. Presentasjonen din gir også mer verdi fordi bildetekster hjelper elevene med å konsumere innholdet. Det er en vinn-vinn-vinn-løsning.

Det finnes en mengde bruksområder for bildetekster, for eksempel annonser i sosiale rom, gymsaler, kaffebarer og andre steder der det vanligvis er noe på en TV med lyden dempet og musikk i bakgrunnen; nettbasert opplæring og klasser; virtuelle møter; offentlige elektroniske kunngjøringer; se på videoer mens du pendler uten hodetelefoner og uten å forstyrre medpassasjerer; og flere til.

Uavhengig av bruksområdet kan teksting hjelpe med følgende:

  • tilgjengelighet – Personer med hørselshemninger kan bedre konsumere innholdet ditt.
  • Oppbevaring – Nettbasert læring er lettere for e-lærere å gripe og beholde når flere menneskelige sanser er involvert.
  • reachability – Innholdet ditt kan nå personer som har konkurrerende prioriteringer, for eksempel spill og å se nyheter samtidig, eller personer som har et annet morsmål enn lydspråket.
  • Søkbarhet – Innholdet er søkbart av søkemotorer. Mens videoer ikke kan søkes optimalt av de fleste søkemotorer, kan søkemotorer bruke tekstfilene og gjøre innholdet ditt mer synlig.
  • Sosial høflighet – Noen ganger kan det være uhøflig å spille av lyd på grunn av omgivelsene dine, eller lyden kan være vanskelig å høre på grunn av støyen fra omgivelsene.
  • Forståelse – Innholdet er lettere å forstå uavhengig av aksenten til den som snakker, morsmålet til den som snakker eller talehastigheten. Du kan også ta notater uten å se den samme scenen gjentatte ganger.

Løsningsoversikt

Biblioteket som presenteres i dette innlegget bruker Amazon Polly til å generere lyd og lukkede bildetekster for en inputtekst. Du kan enkelt integrere dette biblioteket i tekst-til-tale-applikasjonene dine. Den støtter flere lydformater og bildetekster i både VTT- og SRT-filformater, som er de mest brukte i bransjen.

I dette innlegget fokuserer vi på PollyVTT() syntaks og alternativer, og tilbyr noen få eksempler som viser hvordan du bruker Python SubtitleGeneratorForPolly å generere synkrone lyd- og undertekstfiler samtidig for en gitt tekstinngang. Utgangslydfilformatet kan være PCM(wav), OGG eller MP3, og undertekstfilformatet kan være VTT eller SRT. Dessuten, SubtitleGeneratorForPolly støtter alle Amazon Polly synthesize_speech parametere og legger til det rike Amazon Polly-funksjonssettet.

De polly-vtt biblioteket og dets avhengigheter er tilgjengelig på GitHub.

Installer og bruk funksjonen

Før vi ser på noen eksempler på bruk PollyVTT(), funksjonen som driver SubtitleGeneratorForPolly, la oss se på installasjonen og syntaksen for den.

Installer biblioteket med følgende kode:

pip install

For å kjøre fra kommandolinjen, løper du ganske enkelt polly-vtt:

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

Følgende kode viser alternativene dine:

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

La oss se på noen eksempler nå.

Eksempel 1

Dette eksemplet genererer en PCM-lydfil sammen med en SRT-tekstfil for to enkle setninger:

$ 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

Eksempel 2

Dette eksemplet viser hvordan du bruker et tekstavsnitt som input. Dette genererer lydfiler i WAV, MP3 og OGG, og undertekster i SRT og VTT. Følgende eksempel oppretter seks filer for den gitte inndatateksten:

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

Se følgende kode:

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", 
) 

Eksempel 3

I de fleste tilfeller vil du imidlertid sende teksten som en inndatafil. Følgende er et Python-eksempel på dette, med samme utgang som forrige eksempel:

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

Følgende er et anbefalingsinnlegg fra AWS interne opplæringsteam for bruk av Amazon Polly med lukkede bildetekster:

Følgende video tilbyr en kort demonstrasjon av hvordan det interne opplæringsteamet på AWS bruker PollyVTT():

konklusjonen

I dette innlegget delte vi en metode for å generere lyd og undertekster samtidig for en gitt tekst. De PollyVTT() funksjon og SubtitleGeneratorForPolly adressere et felles krav til undertekster på en effektiv måte. Amazon Polly-teamet fortsetter å finne opp og tilby forenklede løsninger til komplekse kundekrav.

For flere opplæringsprogrammer og informasjon om Amazon Polly, sjekk ut AWS maskinlæringsblogg.


Om forfatterne

Generer synkronisert teksting og lyd ved å bruke Amazon Polly-undertekstgeneratoren PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Abhishek Soni er Partner Solutions Architect hos AWS. Han jobber med kunder for å gi teknisk veiledning for det beste resultatet av arbeidsbelastninger på AWS.

Generer synkronisert teksting og lyd ved å bruke Amazon Polly-undertekstgeneratoren PlatoBlockchain Data Intelligence. Vertikalt søk. Ai. Dan McKee bruker lyd, video og kaffe for å destillere innhold til målrettede, modulære og strukturerte kurs. I rollen som prosjektleder for læreplanutvikler for NetSec-domenet hos Amazon Web Services, utnytter han sin erfaring innen datasenternettverk for å hjelpe fageksperter med å bringe ideer ut i livet.

Generer synkronisert teksting og lyd ved å bruke Amazon Polly-undertekstgeneratoren PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Orlando Karam er en Technical Curriculum Developer hos Amazon Web Services, noe som betyr at han får leke med kule nye teknologier og deretter snakke om det. Av og til bruker han også de kule teknologiene for å gjøre jobben sin enklere.

Tidstempel:

Mer fra AWS maskinlæring