Una guida abbastanza completa su come tradurre un TXT in MP3:
L'installazione richiede come prerequisiti:
- espeak (insieme a -data e altri),
- mbrola - mbrola-it1 - mbrola-it2 - mbrola-it3 - mbrola-it4 (naturalmente se la lingua italiana è quella di interesse)
- ffmpeg (tranlare in mp3),
- poppler-utils (che include il pdftotext di interesse),
- gespeaker (non necessario, ma ottimale per uso grafico, essendo una GUI),
- pdfshuffler (se si vuole modificare graficamente un PDF), ma non necessario alla guida.
Alcuni elementi sono già stati trattati nella prima pagina, quindi non ripeterò.
Tutti i passi successivi necessitano dell'uso di un Terminale (senza richieste di sudo/root vari).
Per evitare passaggi extra do per scontato che
TUTTI i file di interesse siano in: /home/vostronome
1. Controlliamo che lingua è installata nel nostro OS:
Codice:
espeak --voices=it
Se hai inserito le richieste sopra, ti usciranno come output "
it" (installato di serie, voce robotica), "
mb-it3" (Mbrola, voce maschile), "
mb-it4" (Mbrola, voce femminile).
2. Ora serve la trasformazione di un PDF esistente in TXT, con:
Codice:
pdftotext testo.pdf testo.txt
Supponendo che
testo.pdf sia il file di interesse da trasformare e il TXT finale può avere il nome che vi interessa.
Per semplificare ho mantenuto lo stesso nome, variando ovviamente l'estensione.
Spesso i PDF hanno delle scritture a cima ed in fondo che i TXT replicano fedelmente, quindi prima di tradurre il passo successivo occorre ripulire manualmente il file TXT.
Una volta fatto passiamo al successivo capitolo.
3. Prima di fare la conversione vera e propria, la scelta migliore è testare i vari parametri disponibili, magari con la grafica di Gespeaker.
Se invece vuoi fare "a mano" si può tentare con un numero di parametri a scelta:
Codice:
espeak -v mb-it4 -s 140 -f testo.txt
In questo caso per esempio usa la voce femminile di Mbrola (
-v mb-it4), con velocità impostata a 140 in lettura (
-s 140), leggendo il file
testo.txt che abbiamo trasformato prima.
Naturalmente a "
mb-it4" si può sostutuire la voce maschile (
mb-it3) o quella metallica del pc (
it).
Volendo inserire tutti i parametri disponibili in Gspeaker, si può dare per esempio:
Citazione:espeak -a 100 -p 50 -s 110 -g 10 -v mb-it4 -f testo.txt
dove i parametri sono:
"-a" -- volume, di serie con valore 100.
"-p" -- controllo e regolazione del pitch (passo), serie valore 50.
"-s" -- velocità lettura, di serie con valore 175.
"-g" -- pausa tra le parole, di serie con valore 10 (millisecondi)
"-v" -- lingua e tipo = Mbrola it4
4. Una conversione di prova in WAV, per testare se si comprende bene il parlato:
Codice:
espeak -v mb-it4 -s 140 -f testo.txt -w pippo.wav
Se il linguaggio è ritenuto abbastanza fluido, puoi pensare di realizzare un tutto in uno, come illustrato nell'ultimo passo.
5. A questo punto avendo tutti i parametri (o solo alcuni come sotto) scelti a disposizione per una trasformazione da TXT ad MP3 qualitativamente superiore (192 kbps, 44.1 kHz, Stereo) rispetto ad una scelta media.
Diamo: (è un unico comando)
Codice:
espeak -v mb-it4 -s 140 -f testo.txt --stdout | ffmpeg -i - -ar 44100 -ac 2 -ab 192k -f mp3 pippofin.mp3
ove:
"
espeak -v mb-it4 -s 140" --> una parte dei parametri, volendo puoi metterli tutti, come al punto (3).
"
-f testo.txt" --> il file TXT da processare.
"
--stdout | ffmpeg -i - -ar 44100 -ac 2 -ab 192k -f mp3" --> la conversione in mp3 con ffmpeg
"
pippofin.mp3" --> il nome finale che sarà il nostro "audiolibro".
Naturalmente ogni parametro su esposto è modificabile a piacimento.
Tenendo però presente che una voce SAPI5 (disponibilie su Windows) rimane comunque più naturale, credo che su Linux questa soluzione con mp3 di buona qualità la scelta migliore.