Ustvarite sinhronizirane podnapise in zvok z generatorjem podnapisov Amazon Polly

Amazon Polly, storitev za pretvorbo besedila v govor, ustvarjeno z umetno inteligenco, vam omogoča, da avtomatizirate in razširite svoje interaktivne glasovne rešitve ter pomagate izboljšati produktivnost in zmanjšati stroške.

Ker naše stranke še naprej uporabljajo Amazon Polly zaradi njegovega bogatega nabora funkcij in enostavne uporabe, smo opazili povpraševanje po zmožnosti hkratnega ustvarjanja sinhroniziranega zvoka in podnapisov ali napisov za določen vnos besedila. Pri AWS nenehno delamo nazaj glede na zahteve naših strank, zato v tej objavi predstavljamo metodo za hkratno ustvarjanje zvoka in podnapisov za dano besedilo.

Čeprav se podnapisi in napisi pogosto uporabljajo izmenično, tudi v tej objavi, so med njimi majhne razlike:

  • Podnapisi – V podnapisih se jezik besedila, prikazan na zaslonu, razlikuje od jezika zvoka in ne prikazuje ničesar za ne-dialog, kot so pomembni zvoki. Glavni cilj je doseči občinstvo, ki ne govori zvočnega jezika v videu.
  • Napisi (zaprti/odprti) – Podnapisi prikazujejo dialoge, ki se govorijo v zvoku v istem jeziku. Njegov glavni namen je povečati dostopnost v primerih, ko končni potrošnik zaradi vrste težav ne more slišati zvoka. Podnapisi so del druge datoteke kot avdio/video vir in jih je mogoče izklopiti ali vklopiti po lastni presoji uporabnika, odprti podnapisi pa so del video datoteke in jih uporabnik ne more izklopiti.

Prednosti uporabe Amazon Polly za ustvarjanje zvoka s podnapisi

Predstavljajte si naslednji primer uporabe: pripravite predstavitev na podlagi diapozitivov za spletni učni portal. Vsak diapozitiv vključuje vsebino na zaslonu in pripoved. Vsebina na zaslonu je osnovni oris, pripoved pa gre v podrobnosti. Namesto snemanja človeškega glasu, ki je lahko okoren in nedosleden, lahko za ustvarjanje pripovedi uporabite Amazon Polly. Amazon Polly proizvaja visokokakovostne in dosledne glasove. Ni potrebe po postprodukciji. Če boste v prihodnosti morali posodobiti del predstavitve, boste morali posodobiti samo prizadete diapozitive. Glas se ujema z izvirnimi diapozitivi. Poleg tega, ko Amazon Polly ustvari vaš zvok, so vključeni napisi, ki se prikažejo v času z zvokom. Prihranite čas, ker ni vključenega ročnega snemanja, in prihranite dodaten čas, ko so potrebne posodobitve. Vaša predstavitev prinaša tudi večjo vrednost, saj podnapisi pomagajo učencem zaužiti vsebino. To je rešitev, ki koristi vsem.

Obstaja veliko primerov uporabe napisov, kot so oglasi v družabnih prostorih, telovadnicah, kavarnah in drugih krajih, kjer je običajno nekaj na televiziji z utišanim zvokom in glasbo v ozadju; spletno usposabljanje in tečaji; virtualni sestanki; javne elektronske objave; gledanje video posnetkov med vožnjo brez slušalk in brez motenja sopotnikov; in več drugih.

Ne glede na področje uporabe lahko podnapisi pomagajo pri naslednjem:

  • Dostopnost – Ljudje z okvaro sluha lahko bolje uživajo vašo vsebino.
  • zadržanje – Spletno učenje je za e-učence lažje dojeti in obdržati, če je vključenih več človeških čutov.
  • Dosegljivost – Vaša vsebina lahko doseže ljudi, ki imajo konkurenčne prednostne naloge, na primer igranje iger in hkratno gledanje novic, ali ljudi, ki imajo drugačen materni jezik od jezika zvoka.
  • Možnost iskanja – Po vsebini je mogoče iskati z iskalniki. Medtem ko večina iskalnikov ne more optimalno iskati videoposnetkov, lahko iskalniki uporabijo besedilne datoteke z napisi in naredijo vašo vsebino bolj vidno.
  • Družbena vljudnost – Včasih je lahko predvajanje zvoka nevljudno zaradi vaše okolice ali pa je zvok težko slišati zaradi hrupa v vašem okolju.
  • Razumevanje – Vsebina je lažje razumljiva ne glede na naglas govorca, materni jezik govorca ali hitrost govora. Prav tako lahko delate zapiske, ne da bi večkrat gledali isti prizor.

Pregled rešitev

Knjižnica, predstavljena v tej objavi, uporablja Amazon Polly za ustvarjanje zvoka in podnapisov za vhodno besedilo. To knjižnico lahko enostavno vključite v svoje aplikacije za pretvorbo besedila v govor. Podpira več zvočnih formatov in napise v formatih datotek VTT in SRT, ki se najpogosteje uporabljajo v industriji.

V tej objavi se osredotočamo na PollyVTT() sintakso in možnosti ter ponujajo nekaj primerov, ki prikazujejo, kako uporabljati Python SubtitleGeneratorForPolly za istočasno ustvarjanje sinhronih zvočnih in podnapisnih datotek za dani vnos besedila. Format izhodne zvočne datoteke je lahko PCM(wav), OGG ali MP3, format datoteke s podnapisi pa je lahko VTT ali SRT. Poleg tega SubtitleGeneratorForPolly podpira vse Amazon Polly synthesize_speech parametrov in dopolnjuje bogat nabor funkcij Amazon Polly.

O polly-vtt knjižnica in njene odvisnosti so na voljo na GitHub.

Namestite in uporabite funkcijo

Preden si ogledamo nekaj primerov uporabe PollyVTT(), funkcija, ki poganja SubtitleGeneratorForPolly, poglejmo njegovo namestitev in sintakso.

Namestite knjižnico z naslednjo kodo:

pip install

Če želite zagnati iz ukazne vrstice, preprosto zaženite polly-vtt:

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

Naslednja koda prikazuje vaše možnosti:

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

Poglejmo zdaj nekaj primerov.

Primer 1

Ta primer ustvari zvočno datoteko PCM skupaj z datoteko z napisi SRT za dva preprosta stavka:

$ 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

Primer 2

Ta primer prikazuje, kako uporabiti odstavek besedila kot vnos. To ustvari zvočne datoteke v WAV, MP3 in OGG ter podnapise v SRT in VTT. Naslednji primer ustvari šest datotek za podano vhodno besedilo:

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

Glej naslednjo kodo:

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

Primer 3

V večini primerov pa želite besedilo posredovati kot vhodno datoteko. Sledi primer tega v Pythonu z enakim rezultatom kot prejšnji primer:

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

Sledi izjava interne ekipe za usposabljanje AWS o uporabi Amazon Polly z zaprtimi podnapisi:

Naslednji videoposnetek ponuja kratko predstavitev uporabe interne ekipe za usposabljanje pri AWS PollyVTT():

zaključek

V tej objavi smo delili metodo za hkratno ustvarjanje zvoka in podnapisov za dano besedilo. The PollyVTT() funkcijo in SubtitleGeneratorForPolly obravnavati skupno zahtevo za podnapise na učinkovit in uspešen način. Ekipa Amazon Polly še naprej izumlja in ponuja poenostavljene rešitve za kompleksne zahteve strank.

Za več vadnic in informacij o Amazon Polly si oglejte Blog za strojno učenje AWS.


O avtorjih

Generate synchronized closed captions and audio using the Amazon Polly subtitle generator PlatoBlockchain Data Intelligence. Vertical Search. Ai.Abhishek Soni je arhitekt za partnerske rešitve pri AWS. S strankami sodeluje pri zagotavljanju tehničnih napotkov za najboljši rezultat obremenitev na AWS.

Generate synchronized closed captions and audio using the Amazon Polly subtitle generator PlatoBlockchain Data Intelligence. Vertical Search. Ai. Dan McKee uporablja avdio, video in kavo za destilacijo vsebine v ciljane, modularne in strukturirane tečaje. V svoji vlogi projektnega vodje razvijalca kurikuluma za domeno NetSec pri Amazon Web Services izkorišča svoje izkušnje v omrežju podatkovnih centrov, da strokovnjakom za zadeve pomaga uresničiti ideje.

Generate synchronized closed captions and audio using the Amazon Polly subtitle generator PlatoBlockchain Data Intelligence. Vertical Search. Ai.Orlando Karam je razvijalec tehničnega učnega načrta pri Amazon Web Services, kar pomeni, da se lahko igra s kul novimi tehnologijami in nato o njih govori. Občasno uporablja tudi te kul tehnologije, da si olajša delo.

Časovni žig:

Več od Strojno učenje AWS