26 lines
606 B
Python
26 lines
606 B
Python
|
import subprocess
|
||
|
from plyer.facades import TTS
|
||
|
from plyer.utils import whereis_exe
|
||
|
|
||
|
|
||
|
class EspeakTextToSpeech(TTS):
|
||
|
''' Speaks using the espeak program
|
||
|
'''
|
||
|
def _speak(self, **kwargs):
|
||
|
subprocess.call(["espeak", kwargs.get('message')])
|
||
|
|
||
|
|
||
|
class FliteTextToSpeech(TTS):
|
||
|
''' Speaks using the flite program
|
||
|
'''
|
||
|
def _speak(self, **kwargs):
|
||
|
subprocess.call(["flite", "-t", kwargs.get('message'), "play"])
|
||
|
|
||
|
|
||
|
def instance():
|
||
|
if whereis_exe('espeak'):
|
||
|
return EspeakTextToSpeech()
|
||
|
elif whereis_exe('flite'):
|
||
|
return FliteTextToSpeech()
|
||
|
return TTS()
|