Generera synkroniserad textning och ljud med Amazon Polly undertextgenerator

Amazon Polly, en AI-genererad text-till-tal-tjänst, gör att du kan automatisera och skala dina interaktiva röstlösningar, vilket hjälper till att förbättra produktiviteten och minska kostnaderna.

Eftersom våra kunder fortsätter att använda Amazon Polly för dess rika uppsättning funktioner och användarvänlighet, har vi observerat en efterfrågan på möjligheten att samtidigt generera synkroniserat ljud och undertexter för en given textinmatning. På AWS arbetar vi kontinuerligt bakåt från våra kunders önskemål, så i det här inlägget skisserar vi en metod för att generera ljud och undertexter samtidigt för en given text.

Även om undertexter och bildtexter ofta används omväxlande, inklusive i det här inlägget, finns det subtila skillnader mellan dem:

  • Undertexter texter~~POS=HEADCOMP – I undertexter skiljer sig textspråket som visas på skärmen från ljudspråket och visar ingenting för icke-dialog som signifikanta ljud. Det primära målet är att nå den publik som inte talar ljudspråket i videon.
  • Bildtexter (stängd/öppen) – Bildtexter visar dialogerna som talas i ljudet på samma språk. Dess primära syfte är att öka tillgängligheten i fall där ljudet inte kan höras av slutkonsumenten på grund av en rad problem. Dold textning är en del av en annan fil än ljud-/videokällan och kan stängas av och på efter användarens gottfinnande, medan öppen textning är en del av videofilen och kan inte stängas av av användaren.

Fördelar med att använda Amazon Polly för att generera ljud med undertexter

Föreställ dig följande användningsfall: du förbereder en bildbaserad presentation för en online lärportal. Varje bild innehåller innehåll på skärmen och berättarröst. Innehållet på skärmen är en grundläggande disposition, och berättandet går in i detalj. Istället för att spela in en mänsklig röst, som kan vara besvärlig och inkonsekvent, kan du använda Amazon Polly för att generera berättandet. Amazon Polly producerar högkvalitativa, konsekventa röster. Det finns inget behov av efterproduktion. Om du i framtiden behöver uppdatera en del av presentationen behöver du bara uppdatera de berörda bilderna. Rösten matchar originalbilderna. Dessutom, när Amazon Polly genererar ditt ljud, ingår bildtexter som visas i takt med ljudet. Du sparar tid eftersom det inte är någon manuell inspelning inblandad och sparar extra tid när uppdateringar behövs. Din presentation ger också mer värde eftersom bildtexter hjälper eleverna att konsumera innehållet. Det är en win-win-win-lösning.

Det finns en mängd användningsfall för bildtexter, som reklam i sociala utrymmen, gymnastiksalar, kaféer och andra platser där det vanligtvis finns något på en tv med ljudet avstängt och musik i bakgrunden; onlineutbildning och klasser; virtuella möten; offentliga elektroniska meddelanden; titta på videor medan du pendlar utan hörlurar och utan att störa medpassagerare; och flera till.

Oavsett användningsområde kan textning hjälpa till med följande:

  • Tillgänglighet – Människor med hörselnedsättning kan bättre konsumera ditt innehåll.
  • Retentionstid – Onlineinlärning är lättare för e-lärare att förstå och behålla när fler mänskliga sinnen är inblandade.
  • Nåbarhet – Ditt innehåll kan nå personer som har konkurrerande prioriteringar, som att spela och titta på nyheter samtidigt, eller personer som har ett annat modersmål än ljudspråket.
  • Sökbarhet – Innehållet är sökbart av sökmotorer. Medan videor inte kan sökas optimalt av de flesta sökmotorer, kan sökmotorer använda textfilerna och göra ditt innehåll mer upptäckbart.
  • Social artighet – Ibland kan det vara oförskämt att spela upp ljud på grund av din omgivning, eller så kan ljudet vara svårt att höra på grund av bruset i din omgivning.
  • Förståelse – Innehållet är lättare att förstå oavsett talarens accent, talarens modersmål eller talhastigheten. Du kan också göra anteckningar utan att se samma scen upprepade gånger.

Lösningsöversikt

Biblioteket som presenteras i det här inlägget använder Amazon Polly för att generera ljud och undertexter för en inmatad text. Du kan enkelt integrera detta bibliotek i dina text-till-tal-applikationer. Den stöder flera ljudformat och bildtexter i både VTT- och SRT-filformat, som är de vanligaste i branschen.

I det här inlägget fokuserar vi på PollyVTT() syntax och alternativ, och ge några exempel som visar hur man använder Python SubtitleGeneratorForPolly för att samtidigt generera synkrona ljud- och undertextfiler för en given textinmatning. Utdataljudfilformatet kan vara PCM(wav), OGG eller MP3, och undertextfilformatet kan vara VTT eller SRT. Vidare, SubtitleGeneratorForPolly stöder alla Amazon Polly synthesize_speech parametrar och lägger till den rika Amazon Polly-funktionsuppsättningen.

Smakämnen polly-vtt biblioteket och dess beroenden är tillgängliga på GitHub.

Installera och använd funktionen

Innan vi tittar på några exempel på användning PollyVTT(), funktionen som driver SubtitleGeneratorForPolly, låt oss titta på installationen och syntaxen för den.

Installera biblioteket med följande kod:

pip install

För att köra från kommandoraden, kör du helt enkelt polly-vtt:

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

Följande kod visar dina alternativ:

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

Låt oss titta på några exempel nu.

Exempelvis 1

Det här exemplet genererar en PCM-ljudfil tillsammans med en SRT-bildtextfil för två enkla meningar:

$ 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

Exempelvis 2

Det här exemplet visar hur man använder ett textstycke som indata. Detta genererar ljudfiler i WAV, MP3 och OGG, och undertexter i SRT och VTT. Följande exempel skapar sex filer för den givna inmatningstexten:

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

Se följande kod:

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

Exempelvis 3

I de flesta fall vill du dock skicka texten som en indatafil. Följande är ett Python-exempel på detta, med samma utdata som föregående exempel:

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öljande är ett vittnesmål från AWS interna utbildningsteam för att använda Amazon Polly med textning:

Följande video erbjuder en kort demonstration av hur det interna utbildningsteamet på AWS använder PollyVTT():

Slutsats

I det här inlägget delade vi en metod för att generera ljud och undertexter samtidigt för en given text. De PollyVTT() funktion och SubtitleGeneratorForPolly ta itu med ett gemensamt krav på undertexter på ett effektivt sätt. Amazon Polly-teamet fortsätter att uppfinna och erbjuda förenklade lösningar för komplexa kundkrav.

För mer handledning och information om Amazon Polly, kolla in AWS-maskininlärningsblogg.


Om författarna

Generera synkroniserad textning och ljud med Amazon Polly undertextgeneratorn PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Abhishek Soni är Partner Solutions Architect på AWS. Han arbetar med kunder för att ge teknisk vägledning för det bästa resultatet av arbetsbelastning på AWS.

Generera synkroniserad textning och ljud med Amazon Polly undertextgeneratorn PlatoBlockchain Data Intelligence. Vertikal sökning. Ai. dan McKee använder ljud, video och kaffe för att destillera innehåll till riktade, modulära och strukturerade kurser. I sin roll som projektledare för läroplansutvecklare för NetSec-domänen på Amazon Web Services utnyttjar han sin erfarenhet av datacenternätverk för att hjälpa ämnesexperter att förverkliga idéer.

Generera synkroniserad textning och ljud med Amazon Polly undertextgeneratorn PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Orlando Karam är en teknisk läroplansutvecklare på Amazon Web Services, vilket innebär att han får leka med nya coola tekniker och sedan prata om det. Ibland använder han också dessa coola tekniker för att göra sitt jobb enklare.

Tidsstämpel:

Mer från AWS maskininlärning