IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Programmation multimédia/Jeux Python Discussion :

Code Python Terminal/Tkinter


Sujet :

Programmation multimédia/Jeux Python

  1. #1
    Membre averti Avatar de ThkDiff
    Homme Profil pro
    Développeur
    Inscrit en
    Novembre 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 9
    Par défaut Code Python Terminal/Tkinter
    Bonjour,

    Je réalise en ISN un traducteur vocal, qui traduit vocalement vos phrases
    Pour cela, j'ai réalisé un code avec mes amis pour pouvoir utiliser le script "primaire" (que j'avais conçu initialement dans le Terminal d'OS X) dans une fenêtre (une jolie interface quoi ) à l'aide de Tkinter.
    Hélas, je rencontre quelques problèmes, j'en suis actuellement à ça :

    Nom : Capture d’écran 2016-05-18 à 17.27.05.png
Affichages : 668
Taille : 176,9 Ko

    Or, mon programme (initialement la fonction hydra()) fonctionnait très bien dans le Terminal sous OS X El Capitan, donc je ne sais pas trop pourquoi je rencontre cette erreur
    J'essaye en fait, au lieu de passer par le Terminal, d'avoir une interface "sympa" dans une fenêtre avec des boutons etc...
    Le message d'erreur du Terminal est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Exception in Tkinter callback
    Traceback (most recent call last):
      File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk/Tkinter.py", line 1536, in __call__
        return self.func(*args)
      File "/Users/SteveJobs/Desktop/hydra.py", line 45, in spoke
        en_blob = fr_blob.translate(from_lang='fr', to='en')
      File "/Library/Python/2.7/site-packages/textblob/blob.py", line 505, in translate
        from_lang=from_lang, to_lang=to))
      File "/Library/Python/2.7/site-packages/textblob/translate.py", line 59, in translate
        self._validate_translation(source, result)
      File "/Library/Python/2.7/site-packages/textblob/translate.py", line 81, in _validate_translation
        raise NotTranslated('Translation API returned and empty response.')
    NotTranslated: Translation API returned and empty response.
    Le code Python en lui-même, est ci-dessous :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
     
    ## HYDRA ##
     
    from Tkinter import *
    import random
    from textblob import TextBlob
    from gtts import gTTS
    import os
    import speech_recognition as sr
     
    # Fenetre principale
    fenetre = Tk()
    fenetre.title('Hydra App 1.1')
     
    # Titre
     
    titre = Label(fenetre, fg="red", bg="white", text="HYDRA", font = "impact 72")
    titre.pack()
     
     
    # Zone commande
     
    zonetexte = Text(fenetre, width="90", height="33")
    zonetexte.pack()
    text_fr = ""
     
    def hydra():
        global text_fr
        r = sr.Recognizer()
        with sr.Microphone() as source:
            zonetexte.insert(INSERT, "Veuillez parler\n")
            audio = r.listen(source) 
     
        try:
            text_fr = r.recognize_google(audio, language='fr')
            zonetexte.insert(INSERT, "Votre phrase : \n" + text_fr)
        except sr.UnknownValueError:
            zonetexte.insert(INSERT, "Erreur voix\n")
        except sr.RequestError as e:
            zonetexte.insert(INSERT, "Pas INTERNET; {0}".format(e))
            zonetexte.insert(INSERT, "\n")
     
        fr_blob = TextBlob(text_fr)
        en_blob = fr_blob.translate(from_lang='fr', to='en')
        text_en = str(en_blob)
        zonetexte.insert(INSERT, "Traduction : " + text_en)
        zonetexte.insert(INSERT, "\n")
     
        tts = gTTS(text=text_en, lang='en')
        tts.save('/tmp/test_hydra.mp3')
     
        os.system('mpg321 /tmp/test_hydra.mp3 -quiet') 
        os.remove('/tmp/test_hydra.mp3')
     
     
     
    # Bouton TRADUIRE
    BoutonGo = Button(fenetre, text ='Traduire', command = hydra)
    BoutonGo.pack(side = LEFT, padx = 10, pady = 10)
     
    # Bouton QUITTER
    BoutonQuitter = Button(fenetre, text ='Quitter', command = fenetre.destroy)
    BoutonQuitter.pack(side = LEFT, padx = 5, pady = 5)
     
     
    fenetre.mainloop()
    Si vous pouviez m'aider, ça serait super
    Merci !!

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 695
    Par défaut
    Salut,

    Citation Envoyé par ThkDiff Voir le message
    Si vous pouviez m'aider, ça serait super
    Ce n'est pas un problème Python mais un problème dans les bibliothèques (textblob) que vous utilisez.
    Si vous êtes sur que çà fonctionne sur d'autres OS, vérifier que vous avez installé les mêmes versions est une première étape.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre averti Avatar de ThkDiff
    Homme Profil pro
    Développeur
    Inscrit en
    Novembre 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 9
    Par défaut
    Bonsoir wiztricks ^^

    En fait, j'ai réalisé le programme "original" ci-dessous et les autres de mon groupe l'ont adapté avec Tkinter (pour créer une interface convenable), je ne vois pas trop pourquoi TextBlob réagit mal avec Tkinter... Peut être est-ce dû au fait que le programme original fonctionne sur le Terminal ?
    MàJ : Et le programme original fonctionnait (et fonctionne) sans problème sur OS X (UNIX), le problème vient de la version "Tkinterisée"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    from textblob import TextBlob
    from gtts import gTTS
    import os
    import speech_recognition as sr
     
    r = sr.Recognizer()
    with sr.Microphone() as source:
        print("Veuillez parler...")
        audio = r.listen(source) 
     
    try:
    	text_fr = r.recognize_google(audio, language='fr')
        print("Traduction : " + text_fr)
    except sr.UnknownValueError:
        print("Voix incorrecte")
    except sr.RequestError as e:
        print("Problème de connexion; {0}".format(e))
     
    fr_blob = TextBlob(text_fr)
    en_blob = fr_blob.translate(from_lang='fr', to='en')
    text_en = str(en_blob)
    print("Traduction : " + text_en)
     
    tts = gTTS(text=text_en, lang='en')
    tts.save('/tmp/test_hydra.mp3')
     
    os.system('mpg321 /tmp/test_hydra.mp3 -quiet') 
    os.remove('/tmp/test_hydra.mp3')

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 695
    Par défaut
    Citation Envoyé par ThkDiff Voir le message
    MàJ : Et le programme original fonctionnait (et fonctionne) sans problème sur OS X (UNIX), le problème vient de la version "Tkinterisée"
    Est-ce que le programme "original" fonctionne aussi bien sous Windows?
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Récupérer le code source d'une page HTML
    Par phyn04 dans le forum Réseau/Web
    Réponses: 5
    Dernier message: 24/11/2016, 14h45
  2. Réponses: 3
    Dernier message: 08/03/2009, 10h50
  3. conversion d'indentation dans un code python
    Par KINENVEU dans le forum Général Python
    Réponses: 2
    Dernier message: 26/02/2009, 04h04
  4. Réponses: 1
    Dernier message: 24/05/2008, 17h04
  5. [SWIG] dialogue entre code C et code python
    Par dmichel dans le forum Interfaçage autre langage
    Réponses: 12
    Dernier message: 19/12/2007, 21h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo