2017-03-27 1 views
0

Ces derniers jours, j'ai essayé de faire fonctionner ce synthétiseur vocal "simple". Le code est entré dans un manuel pour le pi de framboise. C'est la première fois que je prends vraiment du python, alors ma tête tourne un peu. Voici le code:Impossible d'importer l'espeak

import subprocess 
    subprocess.call(["espeak"]) 

    from espeak import espeak 
    from tkinter import * 
    from datetime import datetime 

    def hello_world(): 
    espeak.synth("Hello World") 

    def time_now(): 
    t = datetime.now().strftime("%K %M") 
    espeak.synth("The time is %s"%t) 

    def read_text(): 
    text_to_read = input_text.get() 
    espeak.synth(text_to_read) 

    def root_Tk(): 
    root.title("voice box") 
    input_text = StrinVar() 
    box = Frame(root, height = 200, width =500) 
    box.pack_propagate(0) 
    box.pack(padx = 5, pady =5) 
    Label(box, text="Enter Text").pack() 
entry_text = Entry(box, exportselection =0, textvariable = input_text,) 
entry_text.pack() 
entry_ready = Button(box, text = "Read this", command = read_text) 
entry_ready.pack() 
hello_button = Button(box, text = "Hello World", command = hello_world) 
hello_button.pack() 
time_button = Button(box, text = "What's the time?", command = time_now) 
time_button.pack() 
root.mainloop() 

et c'est le message d'erreur quand je le lance:

retraçage (appel le plus récent en dernier): Fichier "/home/pi/espeak.py", ligne 4 , en d'importation espeak espeak fichier « /home/pi/espeak.py », ligne 4, en d'importation espeak espeak ImportError: ne peut pas importer le nom « espeak »

Toute aide à ce sujet serait grandement apprécié, j'ai un sentiment im juste faire une simple erreur débutant. Heureusement, j'ai pu le poster sur le forum correctement, la partie inférieure du code est en ligne avec le reste, mais pour une raison quelconque, il est légèrement sur ici ...

+0

essayez-vous d'importer un module appelé 'espeak' dans un fichier appelé' espeak.py'? Ce n'est pas conseillé, je ne pense pas. – asongtoruin

Répondre

2

Installez espeak et le paquet python-espeak dans Ubuntu avec apt-get.

sudo apt-get install espeak python-espeak

Dans votre fichier .py:

from espeak import espeak 

def hello_world(): 
    espeak.synth("Hello World") 

.... 

Cela va corriger votre problème!

Ref: http://www.devdungeon.com/content/text-speech-python-espeak

Bonus: Vous pouvez envisager d'utiliser gTTS au lieu de espeak comme maintenu sous un index de paquets Python.