Générer un fichier mp3 à partir d'espeak


10

Je voudrais convertir un fichier texte en un fichier mp3 en utilisant espeak. Est-il possible de faire cela? J'essaie d'utiliser espeak pour créer un script shell de synthèse de chanson qui peut convertir du texte en chanson.


1
Je pense que cette page explique comment générer des fichiers mp3 (au moins partiellement): npmjs.org/package/espeak
Anderson Green

Et voici une explication de la façon de procéder à l'aide d'un script shell: eceppda.github.com/nerdterm/2011/11/23/ESPEAK.html
Anderson Green

De plus, il est possible de faire un pitch shifting en utilisant un programme appelé rubberband.
Anderson Green

Réponses:


15

Il y a deux façons de procéder; si vous voulez juste un wavfichier, voyez le premier exemple, et pour une mp3conversion voyez le second.

1) Alimentez espeakvotre fichier texte en utilisant l' -foption, puis utilisez l' --stdoutoption et redirigez son flux de données vers un fichier pour créer un wavfichier valide qui se lit correctement dans n'importe quel lecteur audio.

espeak -f mytext --stdout > myaudio

Résultat vérifié avec la filecommande ( file myaudio):

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

2) Si vous voulez une conversion mp3, vous devrez utiliser un programme pour convertir votre fichier (ou simplement l'enregistrer audacityet l'exporter en mp3). J'ai utilisé ffmpeg(la version git), mais vous pouvez utiliser n'importe quel programme et simplement changer les options:

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

Résultat vérifié avec 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 a maintenant une option -w qui sort en wav
(il devra encore être converti en mp3 par la suite.)

espeak -f foo.txt -w foo.wav

2

L' --stdoutoption d'espeak lui dira d'écrire les données audio sur stdout au lieu de les mettre à travers le périphérique audio. De là, vous pouvez le diriger par exemple dans ffmpeg pour la conversion au format approprié.


Pouvez-vous montrer des exemples de ce que vous avez trouvé?
Anderson Green

1
Je n'en ai pas trouvé; Je comprends simplement comment fonctionnent les programmes.
Ignacio Vazquez-Abrams

Cette question est peut-être également pertinente: stackoverflow.com/questions/2762164/how-to-make-computer-sing
Anderson Green
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.