Genereer gesynchroniseerde ondertiteling en audio met behulp van de Amazon Polly-ondertitelgenerator

Amazon Polly, een door AI gegenereerde tekst-naar-spraak-service, stelt u in staat uw interactieve spraakoplossingen te automatiseren en te schalen, waardoor de productiviteit wordt verbeterd en de kosten worden verlaagd.

Aangezien onze klanten Amazon Polly blijven gebruiken vanwege de uitgebreide reeks functies en het gebruiksgemak, hebben we een vraag waargenomen naar de mogelijkheid om gelijktijdig gesynchroniseerde audio en ondertitels of ondertitels te genereren voor een bepaalde tekstinvoer. Bij AWS werken we continu achteruit vanaf de vraag van onze klanten, dus in dit bericht schetsen we een methode om tegelijkertijd audio en ondertitels te genereren voor een bepaalde tekst.

Hoewel ondertitels en bijschriften vaak door elkaar worden gebruikt, ook in dit bericht, zijn er subtiele verschillen tussen hen:

  • Ondertitels โ€“ In ondertitels is de teksttaal die op het scherm wordt weergegeven, anders dan de audiotaal en wordt er niets weergegeven voor niet-dialoog zoals significante geluiden. Het primaire doel is om het publiek te bereiken dat de audiotaal in de video niet spreekt.
  • Bijschriften (gesloten/open) โ€“ Bijschriften tonen de dialogen die in de audio worden gesproken in dezelfde taal. Het primaire doel is om de toegankelijkheid te vergroten in gevallen waarin de audio door een aantal problemen niet kan worden gehoord door de eindgebruiker. Ondertitels maken deel uit van een ander bestand dan de audio-/videobron en kunnen naar goeddunken van de gebruiker worden in- en uitgeschakeld, terwijl open bijschriften deel uitmaken van het videobestand en niet door de gebruiker kunnen worden uitgeschakeld.

Voordelen van het gebruik van Amazon Polly om audio met ondertiteling of ondertiteling te genereren

Stelt u zich de volgende use case eens voor: u bereidt een presentatie op basis van dia's voor voor een online leerportaal. Elke dia bevat inhoud en gesproken tekst op het scherm. De inhoud op het scherm is een basisoverzicht en de vertelling gaat in detail. In plaats van een menselijke stem op te nemen, wat omslachtig en inconsistent kan zijn, kun je Amazon Polly gebruiken om de vertelling te genereren. Amazon Polly produceert consistente stemmen van hoge kwaliteit. Postproductie is niet nodig. Als u in de toekomst een deel van de presentatie moet bijwerken, hoeft u alleen de betreffende dia's bij te werken. De stem komt overeen met de originele dia's. Bovendien, wanneer Amazon Polly uw audio genereert, worden bijschriften opgenomen die in de tijd met de audio verschijnen. U bespaart tijd omdat er geen handmatige opname nodig is, en u bespaart extra tijd wanneer updates nodig zijn. Je presentatie levert ook meer waarde op, omdat ondertitels studenten helpen de inhoud te consumeren. Het is een win-win-win-oplossing.

Er zijn talloze toepassingen voor ondertiteling, zoals advertenties in sociale ruimtes, sporthallen, coffeeshops en andere plaatsen waar normaal gesproken iets op een televisie staat met de audio gedempt en muziek op de achtergrond; online trainingen en lessen; virtuele vergaderingen; openbare elektronische aankondigingen; het bekijken van video's tijdens het woon-werkverkeer zonder koptelefoon en zonder medepassagiers te storen; en nog een aantal.

Ongeacht het toepassingsgebied kan ondertiteling helpen bij het volgende:

  • Toegankelijkheid โ€“ Mensen met een gehoorbeperking kunnen uw inhoud beter consumeren.
  • Retentie โ€“ Online leren is voor e-leerders gemakkelijker te begrijpen en vast te houden wanneer er meer menselijke zintuigen bij betrokken zijn.
  • bereikbaarheid โ€“ Uw inhoud kan mensen bereiken die concurrerende prioriteiten hebben, zoals gamen en tegelijkertijd nieuws kijken, of mensen die een andere moedertaal hebben dan de audiotaal.
  • Doorzoekbaarheid โ€“ De inhoud is doorzoekbaar door zoekmachines. Terwijl video's door de meeste zoekmachines niet optimaal kunnen worden doorzocht, kunnen zoekmachines de bijschrifttekstbestanden gebruiken en uw inhoud beter vindbaar maken.
  • sociale beleefdheid โ€“ Soms kan het onbeleefd zijn om audio af te spelen vanwege uw omgeving, of de audio kan moeilijk te horen zijn vanwege het lawaai van uw omgeving.
  • Begrip โ€“ De inhoud is gemakkelijker te begrijpen, ongeacht het accent van de spreker, de moedertaal van de spreker of de snelheid van spreken. U kunt ook aantekeningen maken zonder herhaaldelijk naar dezelfde scรจne te kijken.

Overzicht oplossingen

De bibliotheek die in dit bericht wordt gepresenteerd, gebruikt Amazon Polly om geluid en ondertitels voor een invoertekst te genereren. U kunt deze bibliotheek eenvoudig integreren in uw tekst-naar-spraak-applicaties. Het ondersteunt verschillende audioformaten en bijschriften in zowel VTT- als SRT-bestandsindelingen, die in de branche het meest worden gebruikt.

In dit bericht richten we ons op de PollyVTT() syntaxis en opties, en bieden een paar voorbeelden die laten zien hoe de Python SubtitleGeneratorForPolly om gelijktijdig synchrone audio- en ondertitelbestanden te genereren voor een bepaalde tekstinvoer. Het uitvoeraudiobestandsformaat kan PCM(wav), OGG of MP3 zijn, en het ondertitelbestandsformaat kan VTT of SRT zijn. Verder, SubtitleGeneratorForPolly ondersteunt alle Amazon Polly synthesize_speech parameters en voegt toe aan de rijke Amazon Polly-functieset.

De polly-vtt bibliotheek en zijn afhankelijkheden zijn beschikbaar op GitHub.

Installeer en gebruik de functie

Voordat we enkele voorbeelden van het gebruik bekijken: PollyVTT(), de functie die drijft SubtitleGeneratorForPolly, laten we eens kijken naar de installatie en syntaxis ervan.

Installeer de bibliotheek met behulp van de volgende code:

pip install

Om vanaf de opdrachtregel te rennen, voer je gewoon uit polly-vtt:

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

De volgende code toont uw opties:

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

Laten we nu een paar voorbeelden bekijken.

Voorbeeld 1

Dit voorbeeld genereert een PCM-audiobestand samen met een SRT-ondertitelingsbestand voor twee eenvoudige zinnen:

$ 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

Voorbeeld 2

Dit voorbeeld laat zien hoe u een alinea tekst als invoer kunt gebruiken. Dit genereert audiobestanden in WAV, MP3 en OGG en ondertitels in SRT en VTT. In het volgende voorbeeld worden zes bestanden gemaakt voor de opgegeven invoertekst:

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

Zie de volgende code:

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

Voorbeeld 3

In de meeste gevallen wilt u de tekst echter als invoerbestand doorgeven. Het volgende is een Python-voorbeeld hiervan, met dezelfde uitvoer als het vorige voorbeeld:

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

Het volgende is een getuigenispost van het interne trainingsteam van AWS over het gebruik van Amazon Polly met ondertiteling:

De volgende video biedt een korte demo van hoe het interne trainingsteam van AWS gebruikt PollyVTT():

Conclusie

In dit bericht hebben we een methode gedeeld om tegelijkertijd audio en ondertitels te genereren voor een bepaalde tekst. De PollyVTT() functie en SubtitleGeneratorForPolly een gemeenschappelijke eis voor ondertiteling op een efficiรซnte en effectieve manier aanpakken. Het Amazon Polly-team blijft vereenvoudigde oplossingen bedenken en aanbieden voor complexe klantvereisten.

Voor meer tutorials en informatie over Amazon Polly, bekijk de AWS Blog over machine learning.


Over de auteurs

Genereer gesynchroniseerde ondertitels en audio met behulp van de Amazon Polly-ondertitelgenerator PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Abhishek Sonic is Partner Solutions Architect bij AWS. Hij werkt samen met klanten om technische begeleiding te bieden voor het beste resultaat van workloads op AWS.

Genereer gesynchroniseerde ondertitels en audio met behulp van de Amazon Polly-ondertitelgenerator PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai. Dan McKee gebruikt audio, video en koffie om inhoud te distilleren in gerichte, modulaire en gestructureerde cursussen. In zijn rol als Curriculum Developer Project Manager voor het NetSec Domain bij Amazon Web Services, maakt hij gebruik van zijn ervaring in datacenternetwerken om materiedeskundigen te helpen ideeรซn tot leven te brengen.

Genereer gesynchroniseerde ondertitels en audio met behulp van de Amazon Polly-ondertitelgenerator PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Orlando Karam is een Technical Curriculum Developer bij Amazon Web Services, wat betekent dat hij kan spelen met coole nieuwe technologieรซn en er vervolgens over kan praten. Af en toe gebruikt hij die coole technologieรซn ook om zijn werk gemakkelijker te maken.

Tijdstempel:

Meer van AWS-machine learning