read new keybindig format

This commit is contained in:
chrys
2016-09-15 00:04:52 +02:00
parent d7bff19680
commit acbc107a48
11 changed files with 542 additions and 0 deletions

View File

@ -0,0 +1,3 @@
espeak = espeak driver
speechd = speech-dispatcher driver
generic = generic driver via /bin/say

View File

View File

@ -0,0 +1,69 @@
#!/usr/bin/python
# Espeak driver
class driver():
def __init__(self ):
self._es = None
self._isInitialized = False
try:
from espeak import espeak
self._es = espeak
self._isInitialized = True
except:
self._initialized = False
def initialize(self, environment):
return environment
def shutdown(self, environment):
return environment
def speak(self,text, queueable=True):
if not self._isInitialized:
return False
if not queueable:
self.cancel()
self._es.synth(text)
return True
def cancel(self):
if not self._isInitialized:
return False
self._es.cancel()
return True
def setCallback(self, callback):
pass
def clear_buffer(self):
if not self._isInitialized:
return False
return True
def setVoice(self, voice):
if not self._isInitialized:
return False
return self._es.set_voice(voice)
def setPitch(self, pitch):
if not self._isInitialized:
return False
def setRate(self, rate):
if not self._isInitialized:
return False
return self._es.set_parameter(self._es.Parameter().Rate, int(rate*450 + 80))
return self._es.set_parameter(self._es.Parameter().Pitch, int(pitch * 99))
def setModule(self, module):
if not self._isInitialized:
return False
def setLanguage(self, language):
if not self._isInitialized:
return False
return self._es.set_voice(language)
def setVolume(self, volume):
if not self._isInitialized:
return False
return self._es.set_parameter(self._es.Parameter().Volume, int(volume * 200))

View File

@ -0,0 +1,61 @@
#!/usr/bin/python
# generic driver
class driver():
def __init__(self ):
pass
def initialize(self, environment):
self._isInitialized = False
return environment
def shutdown(self, environment):
return environment
def speak(self,text, queueable=True):
if not self._isInitialized:
return False
if not queueable:
self.cancel()
return True
def cancel(self):
if not self._isInitialized:
return False
return True
def setCallback(self, callback):
pass
def clear_buffer(self):
if not self._isInitialized:
return False
return True
def setVoice(self, voice):
if not self._isInitialized:
return False
return True
def setPitch(self, pitch):
if not self._isInitialized:
return False
return True
def setRate(self, rate):
if not self._isInitialized:
return False
return True
def setModule(self, module):
if not self._isInitialized:
return False
def setLanguage(self, language):
if not self._isInitialized:
return False
return True
def setVolume(self, volume):
if not self._isInitialized:
return False
return True

View File

@ -0,0 +1,97 @@
#!/usr/bin/python
# speech-dispatcher driver
class driver():
def __init__(self ):
self._sd = None
self._isInitialized = False
self._language = ''
try:
import speechd
self._sd = speechd.SSIPClient('fenrir')
self._isInitialized = True
except:
self._initialized = False
def initialize(self, environment):
return environment
def shutdown(self, environment):
if not self._isInitialized:
return environment
self._isInitialized = False
self.cancel()
self._sd.close()
return environment
def speak(self,text, queueable=True):
if not self._isInitialized:
return False
if queueable == False: self.cancel()
try:
self._sd.set_synthesis_voice(self._language)
except:
pass
self._sd.speak(text)
return True
def cancel(self):
if not self._isInitialized:
return False
self._sd.cancel()
return True
def setCallback(self, callback):
pass
def clear_buffer(self):
if not self._isInitialized:
return False
return True
def setVoice(self, voice):
if not self._isInitialized:
return False
try:
if voice != '':
self._sd.set_voice(voice)
return True
except:
return False
def setPitch(self, pitch):
if not self._isInitialized:
return False
try:
self._sd.set_pitch(int(-100 + pitch * 200))
return True
except:
return False
def setRate(self, rate):
if not self._isInitialized:
return False
try:
self._sd.set_rate(int(-100 + rate * 200))
return True
except:
return False
def setModule(self, module):
if not self._isInitialized:
return False
try:
self._sd.set_output_module(module)
return True
except:
return False
def setLanguage(self, language):
if not self._isInitialized:
return False
self._language = language
def setVolume(self, volume):
if not self._isInitialized:
return False
self._sd.set_volume(int(-100 + volume * 200))