Genera sottotitoli e audio sincronizzati utilizzando il generatore di sottotitoli di Amazon Polly

Amazon Polly, un servizio di sintesi vocale generato dall'intelligenza artificiale, ti consente di automatizzare e ridimensionare le tue soluzioni vocali interattive, contribuendo a migliorare la produttività e ridurre i costi.

Poiché i nostri clienti continuano a utilizzare Amazon Polly per il suo ricco set di funzionalità e facilità d'uso, abbiamo osservato una richiesta per la capacità di generare simultaneamente audio e sottotitoli sincronizzati o sottotitoli per un determinato input di testo. In AWS, lavoriamo continuamente a ritroso rispetto alle richieste dei nostri clienti, quindi in questo post descriviamo un metodo per generare audio e sottotitoli contemporaneamente per un determinato testo.

Sebbene i sottotitoli e le didascalie siano spesso usati in modo intercambiabile, anche in questo post, ci sono sottili differenze tra loro:

  • Sottotitoli – Nei sottotitoli, la lingua del testo visualizzata sullo schermo è diversa dalla lingua dell'audio e non mostra nulla per i suoni significativi non dialogici. L'obiettivo principale è raggiungere il pubblico che non parla la lingua dell'audio nel video.
  • Sottotitoli (chiusi/aperti) – I sottotitoli mostrano i dialoghi pronunciati nell'audio nella stessa lingua. Il suo scopo principale è aumentare l'accessibilità nei casi in cui l'audio non può essere ascoltato dal consumatore finale a causa di una serie di problemi. I sottotitoli fanno parte di un file diverso dalla sorgente audio/video e possono essere disattivati ​​e riattivati ​​a discrezione dell'utente, mentre i sottotitoli aperti fanno parte del file video e non possono essere disattivati ​​dall'utente.

Vantaggi dell'utilizzo di Amazon Polly per generare audio con sottotitoli o sottotitoli

Immagina il seguente caso d'uso: prepari una presentazione basata su diapositive per un portale di apprendimento online. Ogni diapositiva include contenuti sullo schermo e narrazione. Il contenuto sullo schermo è uno schema di base e la narrazione entra nei dettagli. Invece di registrare una voce umana, che può essere ingombrante e incoerente, puoi utilizzare Amazon Polly per generare la narrazione. Amazon Polly produce voci coerenti e di alta qualità. Non c'è bisogno di post-produzione. In futuro, se devi aggiornare una parte della presentazione, devi solo aggiornare le diapositive interessate. La voce corrisponde alle diapositive originali. Inoltre, quando Amazon Polly genera l'audio, vengono incluse le didascalie che appaiono a tempo con l'audio. Risparmia tempo perché non è necessaria la registrazione manuale e risparmia tempo aggiuntivo quando sono necessari aggiornamenti. La tua presentazione offre anche più valore perché i sottotitoli aiutano gli studenti a consumare il contenuto. È una soluzione vantaggiosa per tutti.

Esistono molti casi d'uso per i sottotitoli, come annunci pubblicitari in spazi sociali, palestre, caffetterie e altri luoghi in cui in genere c'è qualcosa su un televisore con l'audio disattivato e la musica in sottofondo; formazione e lezioni online; riunioni virtuali; annunci elettronici pubblici; guardare video mentre si è in viaggio senza cuffie e senza disturbare i co-passeggeri; e molti altri.

Indipendentemente dal campo di applicazione, i sottotitoli possono aiutare con quanto segue:

  • Accessibilità – Le persone con problemi di udito possono consumare meglio i tuoi contenuti.
  • Ritenzione – L'apprendimento online è più facile da afferrare e trattenere per gli e-learning quando sono coinvolti più sensi umani.
  • raggiungibilità – I tuoi contenuti possono raggiungere persone che hanno priorità contrastanti, come giocare e guardare le notizie contemporaneamente, o persone che hanno una lingua madre diversa da quella dell'audio.
  • Possibilità di ricerca – Il contenuto è ricercabile dai motori di ricerca. Mentre i video non possono essere cercati in modo ottimale dalla maggior parte dei motori di ricerca, i motori di ricerca possono utilizzare i file di testo dei sottotitoli e rendere i tuoi contenuti più individuabili.
  • Cortesia sociale – A volte potrebbe essere scortese riprodurre l'audio a causa dell'ambiente circostante, oppure l'audio potrebbe essere difficile da ascoltare a causa del rumore dell'ambiente.
  • Comprensione – Il contenuto è più facile da comprendere indipendentemente dall'accento di chi parla, dalla lingua madre di chi parla o dalla velocità del discorso. Puoi anche prendere appunti senza guardare ripetutamente la stessa scena.

Panoramica della soluzione

La libreria presentata in questo post utilizza Amazon Polly per generare suoni e sottotitoli per un testo di input. Puoi facilmente integrare questa libreria nelle tue applicazioni di sintesi vocale. Supporta diversi formati audio e sottotitoli nei formati di file VTT e SRT, che sono i più comunemente utilizzati nel settore.

In questo post, ci concentriamo sul PollyVTT() sintassi e opzioni e offrono alcuni esempi che dimostrano come utilizzare Python SubtitleGeneratorForPolly per generare simultaneamente file audio e sottotitoli sincroni per un dato input di testo. Il formato del file audio in uscita può essere PCM(wav), OGG o MP3 e il formato del file dei sottotitoli può essere VTT o SRT. Inoltre, SubtitleGeneratorForPolly supporta tutti Amazon Polly synthesize_speech parametri e si aggiunge al ricco set di funzionalità di Amazon Polly.

I polly-vtt libreria e le sue dipendenze sono disponibili su GitHub.

Installa e usa la funzione

Prima di guardare alcuni esempi di utilizzo PollyVTT(), la funzione che alimenta SubtitleGeneratorForPolly, diamo un'occhiata all'installazione e alla sintassi di esso.

Installa la libreria usando il codice seguente:

pip install

Per eseguire dalla riga di comando, è sufficiente eseguire polly-vtt:

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

Il codice seguente mostra le tue opzioni:

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

Diamo un'occhiata ad alcuni esempi ora.

esempio 1

Questo esempio genera un file audio PCM insieme a un file di didascalia SRT per due semplici frasi:

$ 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

esempio 2

Questo esempio mostra come utilizzare un paragrafo di testo come input. Questo genera file audio in WAV, MP3 e OGG e sottotitoli in SRT e VTT. L'esempio seguente crea sei file per il testo di input specificato:

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

Vedi il seguente codice:

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

esempio 3

Nella maggior parte dei casi, tuttavia, si desidera passare il testo come file di input. Quello che segue è un esempio Python di questo, con lo stesso output dell'esempio precedente:

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

Quello che segue è un post di testimonianza del team di formazione interno di AWS sull'utilizzo di Amazon Polly con sottotitoli:

Il video seguente offre una breve demo di come utilizza il team di formazione interno di AWS PollyVTT():

Conclusione

In questo post, abbiamo condiviso un metodo per generare audio e sottotitoli contemporaneamente per un determinato testo. Il PollyVTT() funzione e SubtitleGeneratorForPolly affrontare un requisito comune per i sottotitoli in modo efficiente ed efficace. Il team di Amazon Polly continua a inventare e offrire soluzioni semplificate alle complesse esigenze dei clienti.

Per ulteriori tutorial e informazioni su Amazon Polly, consulta il Blog di apprendimento automatico AWS.


Informazioni sugli autori

Genera sottotitoli e audio sincronizzati utilizzando il generatore di sottotitoli di Amazon Polly PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Abhishek Soni è Partner Solutions Architect presso AWS. Collabora con i clienti per fornire una guida tecnica per il miglior risultato dei carichi di lavoro su AWS.

Genera sottotitoli e audio sincronizzati utilizzando il generatore di sottotitoli di Amazon Polly PlatoBlockchain Data Intelligence. Ricerca verticale. Ai. Dan McKee utilizza audio, video e caffè per distillare i contenuti in corsi mirati, modulari e strutturati. Nel suo ruolo di Project Manager per lo sviluppatore del curriculum per il dominio NetSec presso Amazon Web Services, sfrutta la sua esperienza in Data Center Networking per aiutare gli esperti in materia a dare vita alle idee.

Genera sottotitoli e audio sincronizzati utilizzando il generatore di sottotitoli di Amazon Polly PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Orlando Karam è uno sviluppatore di curriculum tecnico presso Amazon Web Services, il che significa che può giocare con nuove fantastiche tecnologie e poi parlarne. Occasionalmente, usa anche queste fantastiche tecnologie per rendere il suo lavoro più facile.

Timestamp:

Di più da Apprendimento automatico di AWS