Generar archivo mp3 desde espeak

10

Me gustaría convertir un archivo de texto a un archivo mp3 usando espeak. ¿Es posible hacer esto? Estoy tratando de usar espeak para crear un script de shell de síntesis de canción que pueda convertir texto en una canción.

Anderson Green
fuente
1
Creo que esta página explica cómo generar archivos mp3 (al menos parcialmente): npmjs.org/package/espeak
Anderson Green
Y aquí hay una explicación de cómo hacer esto usando un script de shell: eceppda.github.com/nerdterm/2011/11/23/ESPEAK.html
Anderson Green
Además, es posible hacer cambios de tono utilizando un programa llamado banda elástica.
Anderson Green el

Respuestas:

15

Hay dos formas de hacer esto; si solo quiere un wavarchivo, vea el primer ejemplo, y para una mp3conversión vea el segundo.

1) Alimente espeaksu archivo de texto usando la -fopción, luego use la --stdoutopción y redirija su flujo de datos a un archivo para crear un wavarchivo válido que se reproduzca correctamente en cualquier reproductor de audio.

espeak -f mytext --stdout > myaudio

Resultado verificado con el filecomando ( file myaudio):

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

2) Si desea una conversión de mp3, deberá usar un programa para convertir su archivo (o simplemente guardarlo audacityy exportarlo como mp3). He usado ffmpeg(la versión git), pero puedes usar cualquier programa y simplemente cambiar las opciones:

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

Resultado verificado 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
mivk
fuente
3

espeak ahora tiene una opción -w que sale a wav
(aún necesitaría convertirse a mp3 después).

espeak -f foo.txt -w foo.wav
SamGoody
fuente
2

La --stdoutopción de espeak le indicará que escriba los datos de audio en stdout en lugar de pasarlos por el dispositivo de audio. Desde allí puede canalizarlo, por ejemplo, a ffmpeg para convertirlo al formato adecuado.

Ignacio Vazquez-Abrams
fuente
¿Puedes mostrar algún ejemplo de esto que hayas encontrado?
Anderson Green el
1
No he encontrado ninguno; Solo entiendo cómo funcionan los programas.
Ignacio Vazquez-Abrams
Esta pregunta quizás sea relevante también: stackoverflow.com/questions/2762164/how-to-make-computer-sing
Anderson Green el