Sideband/sbapp/plyer/platforms/macosx/tts.py
2024-06-02 18:31:58 +02:00

26 lines
617 B
Python

import subprocess
from sbapp.plyer.facades import TTS
from sbapp.plyer.utils import whereis_exe
class NativeSayTextToSpeech(TTS):
'''Speaks using the native OSX 'say' command
'''
def _speak(self, **kwargs):
subprocess.call(["say", kwargs.get('message')])
class EspeakTextToSpeech(TTS):
'''Speaks using the espeak program
'''
def _speak(self, **kwargs):
subprocess.call(["espeak", kwargs.get('message')])
def instance():
if whereis_exe('say'):
return NativeSayTextToSpeech()
elif whereis_exe('espeak'):
return EspeakTextToSpeech()
return TTS()