Genera file mp3 da espeak


10

Vorrei convertire un file di testo in un file mp3 usando espeak. È possibile farlo? Sto cercando di usare espeak per creare uno script di shell di sintesi di brani che può convertire il testo in un brano.


1
Penso che questa pagina spiega come generare file mp3 (almeno in parte): npmjs.org/package/espeak
Anderson Green

Ed ecco una spiegazione su come fare questo usando uno script di shell: eceppda.github.com/nerdterm/2011/11/23/ESPEAK.html
Anderson Green

Inoltre, è possibile eseguire il pitch shifting usando un programma chiamato rubberband.
Anderson Green,

Risposte:


15

Ci sono due modi per farlo; se vuoi solo un wavfile, vedi il primo esempio e per una mp3conversione vedi il secondo.

1) Alimenta il espeaktuo file di testo usando l' -fopzione, quindi usa l' --stdoutopzione e reindirizza il suo flusso di dati su file per creare un wavfile valido che viene riprodotto correttamente in qualsiasi lettore audio.

espeak -f mytext --stdout > myaudio

Risultato verificato con il filecomando ( file myaudio):

myaudio: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, mono 22050 Hz

2) Se vuoi una conversione mp3 dovrai usare un programma per convertire il tuo file (o semplicemente salvarlo in audacityed esportarlo come mp3). Ho usato ffmpeg(la versione git), ma è possibile utilizzare qualsiasi programma e modificare le opzioni:

espeak -f myfile --stdout | ffmpeg -i - -ar 44100 -ac 2 -ab 192k -f mp3 final.mp3

Risultato verificato con file final.mp3:

final.mp3: Audio file with ID3 version 2.4.0, contains: MPEG ADTS, layer III, v1, 192 kbps, 44.1 kHz, Stereo


3

espeak ora ha un'opzione -w che emette in wav
(avrebbe comunque bisogno di essere convertito in mp3 in seguito).

espeak -f foo.txt -w foo.wav

2

L' --stdoutopzione espeak gli dirà di scrivere i dati audio su stdout invece di metterli attraverso il dispositivo audio. Da lì è possibile reindirizzarlo ad esempio in ffmpeg per la conversione nel formato corretto.


Puoi mostrare qualche esempio di questo che hai trovato?
Anderson Green,

1
Non ne ho trovato nessuno; Capisco solo come funzionano i programmi.
Ignacio Vazquez-Abrams,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.