Compare commits

..

No commits in common. "7514744cdd726a346046869ee32ed4ace6bc3d4d" and "e123c8ebfa2693cc9b466daff41f5a82e4a97f24" have entirely different histories.

10 changed files with 63 additions and 4 deletions

View File

@ -32,12 +32,13 @@ genericFrequencyCommand=play -q -v fenrirVolume -n -c1 synth fenrirDuration sine
# Turn speech on or off:
enabled=True
# Select speech driver, options are speechdDriver or genericDriver:
# Select speech driver, options are speechdDriver (default), genericDriver or espeakDriver:
#driver=speechdDriver
#driver=espeakDriver
driver=genericDriver
# server path for emacspeak
# serverPath=
serverPath=/home/chrys/Projekte/emacspeak/servers/espeak
# The rate selects how fast Fenrir will speak. Options range from 0, slowest, to 1.0, fastest.
rate=0.65
@ -83,7 +84,7 @@ readNumbersAsDigits = False
# fenrirRate = is replaced with the current speed (speech rate)
genericSpeechCommand=espeak-ng -a fenrirVolume -s fenrirRate -p fenrirPitch -v fenrirVoice -- "fenrirText"
# min and max values of the TTS system that is used in genericSpeechCommand
# those are the min and max values of the TTS system that is used in genericSpeechCommand
fenrirMinVolume=0
fenrirMaxVolume=200
fenrirMinPitch=0

View File

@ -44,7 +44,7 @@ destDir = '/usr/share/sounds/fenrirscreenreader/template'
data_files.append((destDir, files))
files = glob.glob('tools/*')
data_files.append(('/usr/share/fenrirscreenreader/tools', files))
data_files.append(('/usr/share/man/man1', ['docs/fenrir.1']))
data_files.append(('/usr/share/man/man1', ['docu/fenrir.1']))
def read(fname):
return open(os.path.join(os.path.dirname(__file__), fname)).read()

View File

@ -0,0 +1,58 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# Fenrir TTY screen reader
# By Chrys, Storm Dragon, and contributers.
# Espeak driver
from fenrirscreenreader.core import debug
from fenrirscreenreader.core.speechDriver import speechDriver
class driver(speechDriver):
def __init__(self):
speechDriver.__init__(self)
self._es = None
def initialize(self, environment):
self.env = environment
try:
from espeak import espeak
self._es = espeak
self._isInitialized = True
except Exception as e:
self.env['runtime']['debug'].writeDebugOut(str(e),debug.debugLevel.ERROR)
self._initialized = False
def speak(self,text, interrupt=True):
if not self._isInitialized:
return
if not interrupt:
self.cancel()
if self.language != None:
if self.language != '':
self._es.set_voice(self.language)
elif self.voice != None:
if self.voice != '':
self._es.set_voice(self.voice)
self._es.synth(text)
def cancel(self):
if not self._isInitialized:
return
self._es.cancel()
return
def setPitch(self, pitch):
if not self._isInitialized:
return
return self._es.set_parameter(self._es.Parameter().Pitch, int(pitch * 99))
def setRate(self, rate):
if not self._isInitialized:
return
return self._es.set_parameter(self._es.Parameter().Rate, int(rate * 899 + 100))
def setVolume(self, volume):
if not self._isInitialized:
return
return self._es.set_parameter(self._es.Parameter().Volume, int(volume * 200))