Pour transformer du texte en fichier audio (comme wav) avec python il est possible de passer par espeak (voir les références suivantes espeak et le thread de stackoverflow sur le sujet). Pour cela, il est nécessaire dans un premier temps de télécharger espeak en allant sur ce lien. Une fois espeak téléchargé il suffit alors de déplacer le dossier "espeak-data" sous votre répertoire '/usr/share/' comme ceci:
sudo mv espeak-data /usr/share/.
Vous pouvez alors tester espeak en lançant la commande simple suivante:
speak 'Hello world'
L'avantage de espeak est de pouvoir sauvegarder le song dans un fichier audio au format wav: voir les options de espeak pour plus de details (fichier audio wav qui peut ensuite être transformé au format mp3 ou ogg ):
speak 'Hello world' -w test.wav
On peut alors utiliser espeak en passant par python par l'intermédiaire de subprocess:
import subprocess
def textToWav(text,file_name):
subprocess.call(["speak",text,"-w"+file_name+".wav"])
textToWav('Hello World','test')
espeak en Français avec l'argument -vfr:
import subprocess
def textToWav(text,file_name):
subprocess.call(["speak",text,"-vfr","-w "+file_name+".wav"])
textToWav('anticonstitutionnellement','test_fr')
Remarque: sous Mac il existe la commande 'say' qui permet de traduire directement du texte en song. Il est donc possible d'utiliser cette commande en passant par python avec le module os, comme ceci (voir aussi la commande festival sur linux):
>>> import os
>>> os.system("say 'hello world'")
Recherches associées
Liens | Site |
---|---|
How to convert text to speech in python | stackoverflow |
How can I convert text to speech (mp3 file) in python? | stackoverflow |
Recording synthesized text-to-speech to a file in Python | stackoverflow |
How to make Python speak? | stackoverflow |
espeak | espeak |
Using pyttsx | pyttsx |
HTML Sounds / Audio | w3schools |
Django - Adding audio track to page | stackoverflow |
Python convert wav to mp3 | stackoverflow |
lame | lame Web Site |
Linux equivalent of Mac OS X "say" command? | centos forum |