summaryrefslogblamecommitdiff
path: root/external/plyer/platforms/macosx/tts.py
blob: 755e820d2cd03b94b1f394d8b63ec81958ee3b41 (plain) (tree)
























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