begin process at 2010 07 29 15:47:41
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > FAIRE PARLER PYTHON!

FAIRE PARLER PYTHON!


 Information sur la source

Note :
5 / 10 - par 1 personne
5,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Classé sous :text, speech, parler, voix Niveau :Débutant Date de création :04/02/2006 Date de mise à jour :02/03/2006 00:30:23 Vu / téléchargé :9 585 / 442

Auteur : Rocco123

Ecrire un message privé
Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

 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

  • # 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)
# 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"

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

02 mars 2006 00:30:24 :
Ajout d'un exemple dans un zip, en utilisant l'utilitaire MakePy

 Sources du même auteur

UN SIMPLE TRADUCTEUR VIA FREETRANSLATION.COM

 Sources de la même categorie

Source avec Zip SCRIPT PERMETTANT DE DÉCODER LA STRUCTURE SECONDAIRE D'UNE P... par Basilio
SUPPRESSION par Rano Its
Source avec Zip RECONNAISSANCE VOCALE par brennal
CONVERTISSEUR DE TEMPÉRATURE par skizo00o
Source avec Zip Source avec une capture I.A. (DÉBUTANT) par Rano Its

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture LES CONTES DE MONTE CRYPTO par amaury74

Commentaires et avis

Commentaire de LouisPython le 25/02/2006 20:16:13

Merci pour ce script, mais de quel objet Text-To-Speech de Microsoft s'agit-il ?
Serait-ce 'Microsoft Speech Object Library'.SpVoice (?)
Est-ce que ceci correspond à un GUID spécifique à ton installation ?
Peut-on utiliser une autre codification, qui serait : voix=win32com.client.Dispatch("'Microsoft Speech Object Library'.SpVoice')
Si possible, merci de me donner un petit coup de main en complétant le script par quelques infos sur le composant à utiliser.
LouPython

Commentaire de xeolin le 02/06/2006 21:18:48

ca fonctionne pas...

g xp
g win32com,pythoncom,time,thread

Commentaire de Rocco123 le 04/06/2006 23:55:00

Visiblement, ce genre de code source ne marche pas chez tout le monde. La première question est "Avez vous installé le SAPI 4.0 de chez Microsoft avec au moins une voix?", on trouve le nécessaire sur http://www.microsoft.com/msagent . Je sais, utiliser des fonctions propriétaires dans un langage comme Python n'est pas une bonne pratique. Moi je me souviens juste avoir installé SAPI 4.0 et la voix en français et ça avait marché directement sur une nouvelle installation de Windows XP, testé avec les dernières versions de Python et PyWIN32.

Commentaire de aera group le 23/02/2007 16:50:59

Bonjour,
À quoi correspond
        voix=win32com.client.Dispatch("{EEE78591-FE22-11D0-8BEF-0060081841DE}")
                  à la ligne 12, il semblerait que ce soit ça qui pose problème chez moi. Merci

_____
Aéra

Commentaire de Willi le 20/03/2007 23:27:30 administrateur CS

win32com.client.dispatch() crée et retourne une référence à l'objet COM que tu lui demandes.

Commentaire de clintmourlevat le 02/11/2008 20:22:38

il existe pyTTS :
==>http://mindtrove.info/articles/synthesizing-speech-with-pytts/

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Petit problème avec "return" [ par Uims ] Bonjour, Je suis entrain de faire un annuaire en python (avec Tk), mais j'ai un petit problème avec return dans la fonction "loc", j'aimerai que reseau local, serveur/client [ par xilure ] Bonjour,j'ai fait un petit scripte, que me permet soit d'etre un serveur ou un clien, et d'envoyer des message (chat en reseau) Mais voila, quand je s Débutant en python... problème avec les fonctions [ par pedro ] Bonjour,Je suis sur python depuis quelques heures... en plus les languages orientés objets sont un peu nouveau pour moi... J'essaie désesperement de f Problème avec draw.text du module PIL [ par MasterID ] Tkinter + Text + coloration [ par Kickaha59 ] Bonjour à tous,Je souhaite colorer certains mots afficher dans une fenêtre avec la fonction Text de Tkinter.Par exemple je veux colorer en vert tout l opération simple ...et pourtant compliquée...et pourtant simple...et p.... [ par dojh ] Bonjour à tousEn pleine initiation Python, mais aussi en prise de tête, mais c'est bien, ça fait travailler le cerveau...L'idée, c'est qu'avec l'impor PYTHON TKINTER utilisation de labels [ par bichon3001 ] Bonjour, Je souhaite utiliser l'interface graphique TKinter de Python pour appeler une fonction avec un bouton, et afficher le résultat dans un label. programme a améliorer [ par samuel310 ] Bonjour a tous,Je suis nouveau sur ce forum et débutant avec python.Je dois créer un petit jeu avec language python pour l'école, programme noté bien Python 2.6 avec Tkinter 8.6 [ par zarash ] Bonjour, Voici mon probleme : Je souhaite utiliser une option du widget text de Tkinter qui n'existe que dans la version 8.6.Il s'agit de la rotation [php][sql]recherche multiple dans une base de donnée sql [ par jeff83fr ] Bonjour, j'ai un problème de récupération a ma base de donné, je m explique je souhaiterai faire un annuaire je souhaiterai donc faire une page un p


Nos sponsors


Sondage...

CalendriCode

Juillet 2010
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,686 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales