def __new__(cls, fst_model=None, *args, **kwargs): if not diagnose.check_executable('phonetisaurus-g2p'): raise OSError("Can't find command 'phonetisaurus-g2p'! Please " + "check if Phonetisaurus is installed and in your " + "$PATH.") if fst_model is None or not os.access(fst_model, os.R_OK): raise OSError(("FST model '%r' does not exist! Can't create " + "instance.") % fst_model) inst = object.__new__(cls, fst_model, *args, **kwargs) return inst
def is_available(cls): if (super(cls, cls).is_available() and diagnose.check_executable('text2wave') and diagnose.check_executable('festival')): logger = logging.getLogger(__name__) cmd = ['festival', '--pipe'] with tempfile.SpooledTemporaryFile() as out_f: with tempfile.SpooledTemporaryFile() as in_f: logger.debug('Executing %s', ' '.join([pipes.quote(arg) for arg in cmd])) subprocess.call(cmd, stdin=in_f, stdout=out_f, stderr=out_f) out_f.seek(0) output = out_f.read().strip() if output: logger.debug("Output was: '%s'", output) return ('No default voice found' not in output) return False
def is_available(cls): return diagnose.check_executable('julius')
def is_available(cls): return diagnose.check_executable('aplay')
def is_available(cls): return (super(cls, cls).is_available() and diagnose.check_executable('espeak'))
def is_available(cls): return (platform.system().lower() == 'darwin' and diagnose.check_executable('say') and diagnose.check_executable('afplay'))
def is_available(cls): return (super(cls, cls).is_available() and diagnose.check_executable('flite') and len(cls.get_voices()) > 0)
def is_available(cls): return (super(cls, cls).is_available() and diagnose.check_executable('pico2wave'))