Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/espeak.py
blob: 2431602e0bd5db038eb553558effca2b14436515 (plain)
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")