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()
|