Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $ ls -l
- total 48
- -rw-rw-r-- 1 travis travis 500 Sep 29 20:14 appveyor.yml
- drwxrwxr-x 3 travis travis 4096 Sep 29 20:14 espeak4py
- -rw-rw-r-- 1 travis travis 32400 Sep 29 20:14 LICENSE.md
- -rw-rw-r-- 1 travis travis 2298 Sep 29 20:14 README.md
- -rw-rw-r-- 1 travis travis 0 Sep 29 20:14 requirements.txt
- -rw-rw-r-- 1 travis travis 759 Sep 29 20:14 test.py
- $ ls -l espeak4py
- total 592
- -rw-rw-r-- 1 travis travis 276306 Sep 29 20:14 espeak
- drwxrwxr-x 5 travis travis 4096 Sep 29 20:14 espeak-data
- -rw-rw-r-- 1 travis travis 319488 Sep 29 20:14 espeak.exe
- -rw-rw-r-- 1 travis travis 1125 Sep 29 20:14 __init__.py
- $ python3 test.py
- Testing espeak4py
- Testing wait4prev
- Traceback (most recent call last):
- File "test.py", line 10, in <module>
- mySpeaker.say('Hello, World!')
- File "/home/travis/build/sayak-brm/espeak4py/espeak4py/__init__.py", line 38, in say
- self.prevproc = subprocess.Popen(cmd, executable=self.executable, cwd=os.path.dirname(os.path.abspath(__file__)))
- File "/opt/python/3.2.6/lib/python3.2/subprocess.py", line 744, in __init__
- restore_signals, start_new_session)
- File "/opt/python/3.2.6/lib/python3.2/subprocess.py", line 1394, in _execute_child
- raise child_exception_type(errno_num, err_msg)
- OSError: [Errno 2] No such file or directory: '/home/travis/build/sayak-brm/espeak4py/espeak4py/espeak'
- #! python3
- import subprocess
- import os
- import platform
- class Speaker:
- """
- Speaker class for differentiating different speech properties.
- """
- def __init__(self, voice="en", wpm=120, pitch=80):
- self.prevproc = None
- self.voice = voice
- self.wpm = wpm
- self.pitch = pitch
- if platform.system() == 'Windows': self.executable = os.path.dirname(os.path.abspath(__file__)) + "/espeak.exe"
- else: self.executable = os.path.dirname(os.path.abspath(__file__)) + "/espeak"
- def generateCommand(self, phrase):
- cmd = [
- self.executable,
- "--path=.",
- "-v", self.voice,
- "-p", self.pitch,
- "-s", self.wpm,
- phrase
- ]
- cmd = [str(x) for x in cmd]
- return cmd
- def say(self, phrase, wait4prev=False):
- cmd=self.generateCommand(phrase)
- if wait4prev:
- try: self.prevproc.wait()
- except AttributeError: pass
- else:
- try: self.prevproc.terminate()
- except AttributeError: pass
- self.prevproc = subprocess.Popen(cmd, executable=self.executable, cwd=os.path.dirname(os.path.abspath(__file__)))
- #! python3
- import espeak4py
- import time
- print('Testing espeak4pyn')
- print('Testing wait4prev')
- mySpeaker = espeak4py.Speaker()
- mySpeaker.say('Hello, World!')
- time.sleep(1)
- mySpeaker.say('Interrupted!')
- time.sleep(3)
- mySpeaker.say('Hello, World!')
- time.sleep(1)
- mySpeaker.say('Not Interrupted.', wait4prev=True)
- time.sleep(5)
- print('Testing pitch')
- myHighPitchedSpeaker = espeak4py.Speaker(pitch=120)
- myHighPitchedSpeaker.say('I am a demo of the say function')
- time.sleep(5)
- print('Testing wpm')
- myFastSpeaker = espeak4py.Speaker(wpm=140)
- myFastSpeaker.say('I am a demo of the say function')
- time.sleep(5)
- print('Testing voice')
- mySpanishSpeaker = espeak4py.Speaker(voice='es')
- mySpanishSpeaker.say('Hola. Como estas?')
- print('Testing Completed.')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement