Sideband/sbapp/plyer/platforms/macosx/tts.py

26 lines
605 B
Python
Raw Normal View History

2022-09-16 10:07:57 -06:00
import subprocess
from plyer.facades import TTS
from 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()