Commentçamarche.net
CodeS-SourceS
Rechercher un code, un tuto, une réponse

Faire parler python!

0/5 (6 avis)

Vue 13 309 fois - Téléchargée 533 fois

Description

Python n'a rien à envier au VB : il est possible d'utiliser le fameux objet Text-To-Speech de Microsoft pour rendre les programmes parlants. Dans ce cas, je charge l'objet dynamiquement grâce à Win32Com. Pour faire fonctionner ce code, il faudra donc télécharger les extensions "Win32" de Python (voir www.python.org). Désolé, ça marche pas sous Linux, alors je m'excuse d'avance pour les "Anti-Microsoft" endurcis.

Ce programme attend le mot "end" pour terminer. Il lit en anglais (à adapter) chaque phrase.

Source / Exemple :


# Un exemple de programme Python qui parle!
import time
import win32com.client
import pythoncom
import thread

# Une fonction d'attente
def Attente(ObjetVoix):
	while ObjetVoix.Speaking>0:
		pythoncom.PumpWaitingMessages()

voix=win32com.client.Dispatch("{EEE78591-FE22-11D0-8BEF-0060081841DE}")
voix.Speak("")

# A adapter pour avoir la voix anglaise (suivant voix disponibles)
voix.CurrentMode=7

Texte = ""

print "ENGLISH SPEAKER"

inst = "Please type a text to read. To quit the program type 'end'."
print inst
voix.Speak(inst)
Attente(voix)

while Texte != "end":
    Texte = raw_input(">> ")
    voix.Speak(Texte)
    Attente(voix)

voix.Speak("Good bye.")
Attente(voix)

Conclusion :


Si on veux ajouter de la voix dans une application graphique (style TK ou WxWindows), il n'est pas nécessaire d'utiliser la fonction "Attente"

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.