2022-09-16 18:07:57 +02:00
|
|
|
import subprocess
|
2024-06-02 18:31:58 +02:00
|
|
|
from sbapp.plyer.facades import TTS
|
|
|
|
from sbapp.plyer.utils import whereis_exe
|
2022-09-16 18:07:57 +02:00
|
|
|
|
|
|
|
|
|
|
|
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()
|