Generați subtitrări sincronizate și audio folosind generatorul de subtitrări Amazon Polly

Amazon Polly, un serviciu text-to-speech generat de inteligență artificială, vă permite să automatizați și să scalați soluțiile vocale interactive, ajutând la îmbunătățirea productivității și la reducerea costurilor.

Pe măsură ce clienții noștri continuă să folosească Amazon Polly pentru setul său bogat de caracteristici și ușurința în utilizare, am observat o cerere pentru capacitatea de a genera simultan audio și subtitrări sincronizate sau subtitrări pentru o anumită intrare de text. La AWS, lucrăm în mod continuu înapoi de la solicitările clienților noștri, așa că în această postare, schițăm o metodă de a genera audio și subtitrări în același timp pentru un anumit text.

Deși subtitrările și subtitrările sunt adesea folosite în mod interschimbabil, inclusiv în această postare, există diferențe subtile între ele:

  • Subtitrare – În subtitrări, limba textului afișată pe ecran este diferită de limba audio și nu afișează nimic pentru non-dialog, cum ar fi sunete semnificative. Obiectivul principal este de a ajunge la publicul care nu vorbește limba audio din videoclip.
  • Subtitrări (închise/deschise) – Subtitrările afișează dialogurile rostite în audio în aceeași limbă. Scopul său principal este de a crește accesibilitatea în cazurile în care sunetul nu poate fi auzit de consumatorul final din cauza unei serii de probleme. Subtitrările fac parte dintr-un fișier diferit de sursa audio/video și pot fi dezactivate și pornite la discreția utilizatorului, în timp ce subtitrările deschise fac parte din fișierul video și nu pot fi dezactivate de utilizator.

Avantajele utilizării Amazon Polly pentru a genera audio cu subtitrări sau subtitrări

Imaginați-vă următorul caz de utilizare: pregătiți o prezentare bazată pe diapozitive pentru un portal de învățare online. Fiecare diapozitiv include conținut și narațiune pe ecran. Conținutul de pe ecran este o schiță de bază, iar narațiunea intră în detalii. În loc să înregistrați o voce umană, care poate fi greoaie și inconsecventă, puteți utiliza Amazon Polly pentru a genera narațiunea. Amazon Polly produce voci consistente și de înaltă calitate. Nu este nevoie de post-producție. În viitor, dacă trebuie să actualizați o parte a prezentării, trebuie să actualizați doar diapozitivele afectate. Vocea se potrivește cu diapozitivele originale. În plus, atunci când Amazon Polly vă generează conținutul audio, sunt incluse subtitrări care apar în timp cu sunetul. Economisiți timp deoarece nu este nevoie de înregistrare manuală și economisiți timp suplimentar atunci când sunt necesare actualizări. Prezentarea dvs. oferă, de asemenea, mai multă valoare, deoarece subtitrările îi ajută pe elevi să consume conținutul. Este o soluție câștig-câștig.

Există o multitudine de cazuri de utilizare pentru subtitrări, cum ar fi reclame în spații sociale, săli de sport, cafenele și alte locuri unde, de obicei, există ceva la televizor cu sunetul dezactivat și muzică în fundal; cursuri si cursuri online; întâlniri virtuale; anunţuri publice electronice; vizionarea videoclipurilor în timpul navetei fără căști și fără a deranja co-pasagerii; si mai multe.

Indiferent de domeniul de aplicare, subtitrarea poate ajuta cu următoarele:

  • Accesibilitate – Persoanele cu deficiențe de auz vă pot consuma mai bine conținutul.
  • Retenție – Învățarea online este mai ușor de înțeles și de reținut de e-learners atunci când sunt implicate mai multe simțuri umane.
  • accesibilitate – Conținutul dvs. poate ajunge la persoane care au priorități concurente, cum ar fi jocurile și vizionarea de știri simultan, sau persoane care au o altă limbă maternă decât limba audio.
  • Consultabile – Conținutul poate fi căutat de motoarele de căutare. În timp ce videoclipurile nu pot fi căutate în mod optim de către majoritatea motoarelor de căutare, motoarele de căutare pot folosi fișierele text cu subtitrări și pot face conținutul mai ușor de descoperit.
  • Politețe socială – Uneori poate fi nepoliticos să redați sunet din cauza mediului înconjurător sau sunetul poate fi greu de auzit din cauza zgomotului din mediul în care vă aflați.
  • Intelegere – Conținutul este mai ușor de înțeles, indiferent de accentul vorbitorului, limba maternă a vorbitorului sau viteza vorbirii. De asemenea, puteți lua notițe fără a viziona în mod repetat aceeași scenă.

Prezentare generală a soluțiilor

Biblioteca prezentată în această postare folosește Amazon Polly pentru a genera sunet și subtitrări pentru un text de intrare. Puteți integra cu ușurință această bibliotecă în aplicațiile dvs. de transformare a textului în vorbire. Acceptă mai multe formate audio și subtitrări în ambele formate de fișiere VTT și SRT, care sunt cele mai frecvent utilizate în industrie.

În această postare, ne concentrăm pe PollyVTT() sintaxă și opțiuni și oferă câteva exemple care demonstrează cum să utilizați Python SubtitleGeneratorForPolly pentru a genera simultan fișiere audio și subtitrare sincrone pentru o anumită intrare de text. Formatul de fișier audio de ieșire poate fi PCM(wav), OGG sau MP3, iar formatul de fișier cu subtitrare poate fi VTT sau SRT. În plus, SubtitleGeneratorForPolly acceptă toate Amazon Polly synthesize_speech parametrii și se adaugă la setul bogat de caracteristici Amazon Polly.

polly-vtt biblioteca și dependențele sale sunt disponibile pe GitHub.

Instalați și utilizați funcția

Înainte de a ne uita la câteva exemple de utilizare PollyVTT(), funcția care dă putere SubtitleGeneratorForPolly, să ne uităm la instalarea și sintaxa acestuia.

Instalați biblioteca folosind următorul cod:

pip install

Pentru a rula din linia de comandă, pur și simplu rulați polly-vtt:

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

Următorul cod vă arată opțiunile:

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

Să ne uităm acum la câteva exemple.

Exemplu 1

Acest exemplu generează un fișier audio PCM împreună cu un fișier de subtitrare SRT pentru două propoziții simple:

$ 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

Exemplu 2

Acest exemplu demonstrează cum să utilizați un paragraf de text ca intrare. Aceasta generează fișiere audio în WAV, MP3 și OGG și subtitrări în SRT și VTT. Următorul exemplu creează șase fișiere pentru textul de intrare dat:

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

Consultați următorul cod:

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

Exemplu 3

În majoritatea cazurilor, totuși, doriți să treceți textul ca fișier de intrare. Următorul este un exemplu Python al acestui lucru, cu aceeași ieșire ca exemplul 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")

Următoarea este o postare de mărturie a echipei de instruire internă AWS despre utilizarea Amazon Polly cu subtitrări:

Următorul videoclip oferă o scurtă demonstrație a modului în care echipa de instruire internă de la AWS folosește PollyVTT():

Concluzie

În această postare, am distribuit o metodă de a genera audio și subtitrări în același timp pentru un anumit text. The PollyVTT() funcție și SubtitleGeneratorForPolly abordează o cerință comună pentru subtitrări într-un mod eficient și eficient. Echipa Amazon Polly continuă să inventeze și să ofere soluții simplificate pentru cerințele complexe ale clienților.

Pentru mai multe tutoriale și informații despre Amazon Polly, consultați Blog de AWS Machine Learning.


Despre Autori

Generate synchronized closed captions and audio using the Amazon Polly subtitle generator PlatoBlockchain Data Intelligence. Vertical Search. Ai.Abhishek Soni este arhitect de soluții pentru parteneri la AWS. El lucrează cu clienții pentru a oferi îndrumări tehnice pentru cel mai bun rezultat al sarcinilor de lucru pe AWS.

Generate synchronized closed captions and audio using the Amazon Polly subtitle generator PlatoBlockchain Data Intelligence. Vertical Search. Ai. Dan McKee folosește audio, video și cafea pentru a distila conținutul în cursuri direcționate, modulare și structurate. În rolul său de Curriculum Developer Project Manager pentru domeniul NetSec la Amazon Web Services, el își valorifică experiența în Data Center Networking pentru a ajuta experții în domeniu să dea viață ideilor.

Generate synchronized closed captions and audio using the Amazon Polly subtitle generator PlatoBlockchain Data Intelligence. Vertical Search. Ai.Orlando Karam este un dezvoltator de curriculum tehnic la Amazon Web Services, ceea ce înseamnă că începe să se joace cu noile tehnologii interesante și apoi să vorbească despre asta. Ocazional, el folosește și acele tehnologii cool pentru a-și ușura munca.

Timestamp-ul:

Mai mult de la Învățare automată AWS