Andare al contenuto principale
SubtitleMatrix

Leggere un testo ad alta voce

Input multimedialeDai sottotitoli alla voce
Oppure incollare il testo dei sottotitoli

La prima esecuzione scarica il modello vocale e il fonemizzatore: circa 98 MB insieme, serviti da questo sito e poi messi in cache dal browser. Il file di sottotitoli o di testo che si trascina qui non lascia mai questa scheda. Scegliere MP3 o M4A scarica altri 31 MB di codificatore, ed è per questo che WAV è il valore predefinito.

Opzioni

Una voce decide l’accento e il timbro e, meno ovviamente, con quale sistema fonetico viene letto il testo. Abbinare una voce spagnola a una frase inglese non fallisce: legge parole inglesi con suoni spagnoli, il che è peggio di un messaggio di errore. Sono offerte sette lingue, non dodici, perché il fonemizzatore incluso in questa pagina non ha una voce per giapponese o cinese. Ascoltare un file breve prima di impegnarsi su uno lungo; ogni voce porta lo stesso modello, quindi cambiare costa una sintesi, non un download.

Quanto in fretta legge la voce, applicato sopra il ritmo che il modello considera naturale. Lenta è 0,8× e veloce è 1,2×: deliberatamente mite, perché oltre circa 1,5× il modello comincia a inghiottire le sillabe e il risultato suona come qualcuno che si affretta anziché come qualcuno che parla in fretta. Quando un blocco di sottotitoli è troppo breve per la sua battuta, questa pagina alza da sé la velocità fino a 1,4× prima di troncare, e quel potenziamento si moltiplica con l’impostazione scelta qui.

WAV è PCM non compresso a 24 kHz mono, scritto qui senza alcun codificatore: è per questo che è il valore predefinito e che per esso non viene scaricato nulla in più. MP3 e M4A richiedono il motore video da 31 MB per comprimere, ma escono circa dieci volte più piccoli: dieci minuti di parlato sono circa 28 MB in WAV e circa 2,8 MB in MP3. Scegliere WAV per provare una voce, MP3 per inviare il file a qualcuno.

Questa pagina legge un testo ad alta voce. Incolla un paragrafo o trascina un file — un .txt, un .srt, un .vtt, uno qualsiasi dei dodici formati di sottotitoli — scegli una delle dieci voci e ottieni un unico file audio con tutto il contenuto letto dall’inizio alla fine. Nulla viene temporizzato, perché non c’è nulla su cui temporizzare: l’uscita è una lettura continua, non una traccia costruita per stare sotto un’immagine.

Quando il file che trascini è un file di sottotitoli, i timecode vengono analizzati e buttati via. Quello che viene letto è il testo di ogni blocco, in ordine, unito in paragrafi; gli a capo dentro un blocco diventano spazi perché erano scelte tipografiche sullo schermo, e i confini tra blocchi non diventano nulla. È l’opposto di ciò che fa la pagina di narrazione dei sottotitoli, e le due pagine esistono affiancate perché la scelta sia visibile invece che nascosta in una casella: una produce un suono che segue una timeline, l’altra un suono che scorre e basta. Il testo viene sintetizzato a pezzi invece che in un’unica passata. Il tokenizzatore del modello tronca in silenzio tutto ciò che supera 510 fonemi — un articolo di duemila parole tornerebbe come le sue prime due frasi, e il file sembrerebbe del tutto valido. Il testo viene quindi diviso agli stacchi di paragrafo, poi alla punteggiatura di fine frase, e ancora più a fondo per una singola frase che superi i 400 caratteri, e i pezzi vengono sintetizzati uno dopo l’altro con una breve pausa tra loro. È anche qui che ha effetto l’annullamento: la parlata avviene su un thread proprio, quindi il pulsante di annullamento la ferma in un momento invece di aspettare che finisca la frase in corso, e la pagina resta utilizzabile mentre l’audio viene prodotto.

L’elenco delle voci comprende dieci voci in sette lingue: inglese (Stati Uniti e Regno Unito), spagnolo, francese, italiano, hindi e portoghese brasiliano. Giapponese e cinese non sono offerti: il fonemizzatore usato per la pronuncia non ha una voce per nessuno dei due, quindi un’opzione etichettata giapponese leggerebbe i kanji come lettere inglesi e suonerebbe sicura di sé e sbagliata. Circa 98 MB tra modello e fonemizzatore vengono scaricati una volta e poi memorizzati; il testo che incolli non lascia mai il browser, il che conta quando il paragrafo è la lettera di un cliente o una nota medica.

Domande frequenti

Se trascino un file .srt qui, la lettura include i timecode o i numeri dei blocchi?

Nessuno dei due. Il file viene analizzato con lo stesso strato dei formati che usano le pagine di conversione, e di ogni blocco viene conservato solo il testo: i numeri d’indice, lo schema 00:00:01,000 --> dei tempi e qualsiasi tag in linea come <i> o {\pos()} spariscono prima della sintesi. Quello che senti sono le parole nell’ordine in cui compaiono. Se vuoi che i tempi siano rispettati invece che scartati, usa la pagina che narra un file di sottotitoli in audio, che posiziona ogni blocco al suo orario di inizio.

La casella del testo incollato accetta un intero articolo o serve solo per una frase o due?

Un intero articolo va bene, perché il testo viene suddiviso in pezzi prima di raggiungere il modello. Il contenuto incollato viene confezionato come file di testo semplice ed entra nella stessa coda di un file trascinato, quindi riceve la stessa suddivisione a 400 caratteri, la stessa barra di avanzamento e lo stesso pulsante di annullamento. Il limite pratico è la memoria più che la lunghezza: un articolo lungo produce un WAV lungo, e un’ora di PCM mono a 24 kHz sono qualche centinaio di megabyte, quindi scegliere MP3 vale la pena se la lettura supererà qualche minuto.

Perché le pause tra le frasi suonano più lunghe qui che nella narrazione dei sottotitoli?

Perché tra un pezzo e l’altro viene inserito un quarto di secondo di silenzio per evitare che frasi consecutive si saldino, mentre la pagina di narrazione dei sottotitoli posiziona ogni riga all’inizio esatto di un blocco e riempie lo spazio che i sottotitoli avevano già. Qui la pausa è fissa a 250 ms a prescindere dal contenuto, dato che non c’è una timeline a cui essere fedeli. Le frasi dentro uno stesso pezzo vengono unite dalla gestione della punteggiatura del modello, quindi solo i confini tra pezzi — all’incirca ogni 400 caratteri — ricevono quella pausa in più.

Quali voci sono disponibili per spagnolo e portoghese, e sono una voce o più?

Una per lingua: ef_dora per lo spagnolo e pf_dora per il portoghese brasiliano, accanto a due varianti inglesi dagli Stati Uniti (af_heart, af_bella), un’altra voce americana (am_michael), due voci britanniche (bf_emma, bm_george), ff_siwis per il francese, hf_alpha per l’hindi e if_sara per l’italiano. Esistono più voci inglesi perché è lì che viene richiesta la maggior parte delle narrazioni; le altre lingue ne hanno una perché l’elenco resti abbastanza corto da essere ascoltato. Una voce fissa anche l’accento oltre al timbro, quindi decide pure con quali fonemi di quale lingua viene letto il testo.

L’MP3 o l’M4A risultante è sicuro da pubblicare come segmento di un podcast?

Tecnicamente sì: entrambi sono contenitori standard codificati da una build locale di ffmpeg, e l’audio è mono a 24 kHz, che va bene per la voce e è sottile per la musica. Dal punto di vista editoriale, ascolta prima di pubblicare: il modello a volte tronca una consonante finale, accentua in modo strano un nome proprio o legge un’abbreviazione lettera per lettera. Nulla viene caricato mentre accade, e non viene incorporato alcun watermark né tracciamento, ma una voce sintetica non porta nemmeno una dichiarazione, quindi se il tuo pubblico si aspetta una lettrice o un lettore umano, dì quale delle due cose sta ascoltando.

Strumenti correlati