Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Help with espeak in python
#1
Hello,

I'm using arch-linux (Manjaro Gnome) and I downloaded espeak-ng successfully by doing:
sudo pacman -S espeak-ng
.
I can test it in the terminal by inputting:
espeak-ng "This is a test"
and it will speak it.

However, I'm trying it implement it into my python code. I tried adding
import espeak
&
from espeakng import ESpeakNG
but I get an error saying there is no module named 'espeak' or 'espeakng'.

My question is how do I import espeak into my code so I can get it to work?
I've been scouring the internet and haven't found anything useful.

Any help will be greatly appreciated.

Thanks.

(I also tried running the code without importing espeak and just using pyttsx3 but I get another error (see below)).

My Code:
import json
import random
import datetime
import operator
import wikipedia
import wolframalpha
import pyttsx3
import speech_recognition as sr 

Commander = "Commander"
print ("Initialising B.A.X.T.E.R...")

def speak(text):
    engine = pyttsx3.init()
    voices = engine.getProperty('voices')
    engine.setProperty('voice',voices[1].id)
    engine.setProperty('rate', 125 )
    engine.setProperty('volume',1.0)
    engine.say(text)
    engine.runAndWait()

def wishMe():
    hour = int(datetime.datetime.now().hour)
    if hour>=0 and hour<12:
        speak("Good Morning" + Commander)
    elif hour>=12 and hour<18:
        speak("Good Afternoon" + Commander)   
    else:
        speak("Good Evening" + Commander) 
    speak("How may I be of service?")   

    def listenCommand():
    command=0
    hear = sr.Recognizer()
    with sr.Microphone() as source:
        print("Listening...")
        audio = hear.listen(source)

#---------------------------
# Uses google API to listen
    try:
        print("Recognizing...")
        command = hear.recognize_google(audio, language='en-in')
        print(f'{BOSS} : {command}\n')

    except:
            pass

    return command 

#--------------------------------

speak("Initialising Baxter..........")
wishMe()

def main():
    command = listenCommand()
    command=str(command).lower()

    if ('who is' in command) or ('what is' in command):
        speak('Searching Wikipedia...')
        command = command.replace("who is","")
        command = command.replace("what is","")
        results = wikipedia.summary(command, sentences = 1)
        print("Baxter:",results)
        return speak(results) 

elif 'stop' in command:
        speak("Shutting Down...")
        return exit()
       
    else:
        return 0 

while True:
    main()  
If I run that code I get this error:
Error:
Initialising B.A.X.T.E.R... Traceback (most recent call last): File "/home/commander/.local/lib/python3.9/site-packages/pyttsx3/__init__.py", line 20, in init eng = _activeEngines[driverName] File "/usr/lib/python3.9/weakref.py", line 137, in __getitem__ o = self.data[key]() KeyError: None During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/commander/BAXTERTest2.py", line 53, in <module> speak("Initialising Baxter..........") File "/home/commander/BAXTERTest2.py", line 14, in speak engine = pyttsx3.init() File "/home/commander/.local/lib/python3.9/site-packages/pyttsx3/__init__.py", line 22, in init eng = Engine(driverName, debug) File "/home/commander/.local/lib/python3.9/site-packages/pyttsx3/engine.py", line 30, in __init__ self.proxy = driver.DriverProxy(weakref.proxy(self), driverName, debug) File "/home/commander/.local/lib/python3.9/site-packages/pyttsx3/driver.py", line 50, in __init__ self._module = importlib.import_module(name) File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1030, in _gcd_import File "<frozen importlib._bootstrap>", line 1007, in _find_and_load File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 680, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 850, in exec_module File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed File "/home/commander/.local/lib/python3.9/site-packages/pyttsx3/drivers/espeak.py", line 9, in <module> from . import _espeak, toUtf8, fromUtf8 File "/home/commander/.local/lib/python3.9/site-packages/pyttsx3/drivers/_espeak.py", line 18, in <module> dll = cdll.LoadLibrary('libespeak.so.1') File "/usr/lib/python3.9/ctypes/__init__.py", line 452, in LoadLibrary return self._dlltype(name) File "/usr/lib/python3.9/ctypes/__init__.py", line 374, in __init__ self._handle = _dlopen(self._name, mode) OSError: libespeak.so.1: cannot open shared object file: No such file or directory
Reply


Messages In This Thread
Help with espeak in python - by Extra - Dec-31-2021, 11:23 PM
RE: Help with espeak in python - by bowlofred - Jan-01-2022, 01:13 AM
RE: Help with espeak in python - by Extra - Jan-02-2022, 07:47 PM
RE: Help with espeak in python - by menator01 - Jan-02-2022, 08:20 PM
RE: Help with espeak in python - by Extra - Jan-02-2022, 08:37 PM
RE: Help with espeak in python - by menator01 - Jan-02-2022, 08:52 PM
RE: Help with espeak in python - by Extra - Jan-02-2022, 09:11 PM
RE: Help with espeak in python - by menator01 - Jan-02-2022, 09:12 PM
RE: Help with espeak in python - by Extra - Jan-02-2022, 09:48 PM
RE: Help with espeak in python - by menator01 - Jan-02-2022, 09:56 PM
RE: Help with espeak in python - by Extra - Jan-02-2022, 10:04 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  python espeak on Windows?? Extra 4 5,735 Mar-01-2022, 10:28 AM
Last Post: DeaD_EyE
  Voice packs for Linux espeak gr3yali3n 0 1,693 Dec-24-2020, 07:42 PM
Last Post: gr3yali3n

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020