示例#1
0
 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
示例#2
0
    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
示例#3
0
 def is_available(cls):
     return diagnose.check_executable('julius')
示例#4
0
 def is_available(cls):
     return diagnose.check_executable('aplay')
示例#5
0
 def is_available(cls):
     return (super(cls, cls).is_available()
             and diagnose.check_executable('espeak'))
示例#6
0
 def is_available(cls):
     return (platform.system().lower() == 'darwin'
             and diagnose.check_executable('say')
             and diagnose.check_executable('afplay'))
示例#7
0
 def is_available(cls):
     return (super(cls, cls).is_available()
             and diagnose.check_executable('flite')
             and len(cls.get_voices()) > 0)
示例#8
0
 def is_available(cls):
     return (super(cls, cls).is_available()
             and diagnose.check_executable('pico2wave'))