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
67
68
69
70
|
#!/bin/env python
import sys
import os
import subprocess
#-a <integer>
#Amplitude, 0 to 200, default is 100
#-g <integer>
#Word gap. Pause between words, units of 10mS at the default speed
#-p <integer>
#Pitch adjustment, 0 to 99, default is 50
#-s <integer>
#Speed in words per minute, 80 to 370, default is 170
#-v <voice name>
#Use voice file of this name from espeak-data/voices
class espeak:
def __init__(self):
self.cmd = {}
self.cmd['-a'] = 100
self.cmd['-g'] = 10
self.cmd['-p'] = 50
self.cmd['-s'] = 170
#cmd['-v'] = ''
#call(['cmd', 'arg1', 'arg2'])
def set_amplitude(self,amp):
self.cmd['-a'] = int(amp)
def set_word_gap(self,gap):
self.cmd['-g'] = int(gap)
def set_pitch(self,pitch):
self.cmd['-p'] = int(pitch)
def set_speed(self,speed):
self.cmd['-s'] = int(speed)
def set_voice(self,voice):
self.cmd['-v'] = str(voice)
def get_amplitude(self):
return self.cmd['-a']
def get_word_gap(self):
return self.cmd['-g']
def get_pitch(self):
return self.cmd['-p']
def get_speed(self):
return self.cmd['-s']
def get_voice(self):
return self.cmd['-v']
def speak(self,word):
#cmd = "espeak"
args = ['espeak']
i = 0
#cmd3 = "espeak "
for k in self.cmd.keys():
#cmd3 = cmd3 + str(k) + ' ' + str(self.cmd[k]) + ' '
args.append(str(k) + ' ' + str(self.cmd[k]))
#cmd3 = cmd3 + "'" + word + "'"
args.append(word)
#args[i] = word
#print cmd3
#os.execlp(cmd3)
subprocess.call(args)
if __name__ == "__main__":
k = espeak()
k.speak("hello")
k.speak("world")
|