Пример #1
0
 def encode_wav(self, hashFn):
     '''Implements IEncoder.encode_wav.'''
     wav = os.path.join(self._path, hashFn + '.wav')
     mp3 = os.path.join(self._path, hashFn + '.mp3')
     if not os.path.isfile(mp3):
         c = iterpipes.cmd('lame --quiet {}  {}', wav, mp3)
         ret = iterpipes.call(c)
Пример #2
0
 def encode_wav(self, hashFn):
     '''Implements IEncoder.encode_wav.'''
     wav = os.path.join(self._path, hashFn+'.wav')
     mp3 = os.path.join(self._path, hashFn+'.mp3')
     if not os.path.isfile(mp3):
         c = iterpipes.cmd('lame --quiet {}  {}', wav, mp3)
         ret = iterpipes.call(c)
Пример #3
0
 def encode_wav(self, hashFn):
     '''Implements IEncoder.encode_wav.'''
     wav = os.path.join(self._path, hashFn + '.wav')
     ogg = os.path.join(self._path, hashFn + '.ogg')
     if not os.path.isfile(ogg):
         c = iterpipes.cmd('oggenc --quiet {} -o {}', wav, ogg)
         ret = iterpipes.call(c)
Пример #4
0
 def encode_wav(self, hashFn):
     '''Implements IEncoder.encode_wav.'''
     wav = os.path.join(self._path, hashFn+'.wav')
     ogg = os.path.join(self._path, hashFn+'.ogg')
     if not os.path.isfile(ogg):
         c = iterpipes.cmd('oggenc --quiet {} -o {}', wav, ogg)
         ret = iterpipes.call(c)
Пример #5
0
 def write_wav(self, utterance):
     """Implements ISynthesizer.write_wav."""
     utf8Utterance = utterance.encode("utf-8")
     utterHash = hashlib.sha1(utf8Utterance).hexdigest()
     hashFn = "%s-%s" % (utterHash, self._optHash)
     # write wave file into path
     wav = os.path.join(self._path, hashFn + ".wav")
     if not os.path.isfile(wav):
         args = self._opts + [wav]
         c = iterpipes.cmd("speak -s{} -p{} -v{} -w{}", *args, encoding="utf-8")
         ret = iterpipes.call(c, utterance)
     return hashFn
Пример #6
0
 def write_wav(self, utterance):
     '''Implements ISynthesizer.write_wav.'''
     utf8Utterance = utterance.encode('utf-8')
     utterHash = hashlib.sha1(utf8Utterance).hexdigest()
     hashFn = '%s-%s' % (utterHash, self._optHash)
     # write wave file into path
     wav = os.path.join(self._path, hashFn+'.wav')
     if not os.path.isfile(wav):
         args = self._opts + [wav]
         c = iterpipes.cmd('speak -s{} -p{} -v{} -w{}', *args, 
             encoding='utf-8')
         ret = iterpipes.call(c, utterance)
     return hashFn
Пример #7
0
def conll(data,
          cols=('form', 'postag', 'chunktag', 'guesstag'),
          *args,
          **kwargs):
    """Evaluates chunking f1-score provided with data with the following fields:
    form, postag, chunktag, guesstag

    Currently uses the CoNLL-2000 evaluation script to make the estimate.

    This method will be deprecated with version 0.2

    :param data: np.array
    :param cols: columns to be used for the evaluation
    :type cols: str or tuple or list
    :return: f1-score estimate
    :rtype: AccuracyResults
    """
    warnings.warn(
        'Using the CoNLL-2000 evaluation script is deprecated. `bio` '
        'evaluation should be used instead.')
    try:
        os.makedirs(join(os.getcwd(), 'tmp/'))
    except OSError:
        pass

    td = join(os.getcwd(), 'tmp/')

    rn = rnd.randint(1000, 1000000000000)

    fp_dp = join(td,
                 'chdata.%s.%s.tmp' % (time.asctime().replace(' ', ''), rn))
    fp_res = join(td,
                  'chres.%s.%s.tmp' % (time.asctime().replace(' ', ''), rn))
    fh_out = open(fp_res, 'w')

    export(data, open(fp_dp, 'w'), cols=cols, ts=' ')

    cwd = os.getcwd()
    prl = join(cwd, 'conll_eval.pl' + random_str())
    with open(prl, 'w') as fh:
        fh.write(conll_script)
    c = cmd('perl %s -l < {}' % prl, fp_dp, cwd=cwd, stdout=fh_out)

    r = AccuracyResults()

    try:
        check_call(c)
        r.parse_conll_eval_table(fp_res)
    except CalledProcessError:
        exc_type, exc_value, exc_traceback = sys.exc_info()
        print "*** print_tb:"
        traceback.print_tb(exc_traceback, limit=1, file=sys.stdout)
        print "*** print_exception:"
        traceback.print_exception(exc_type,
                                  exc_value,
                                  exc_traceback,
                                  limit=2,
                                  file=sys.stdout)
    finally:
        os.remove(fp_dp)
        os.remove(fp_res)
        os.remove(prl)
        return r
Пример #8
0
def conll(data, cols=('form', 'postag', 'chunktag', 'guesstag'),
          *args, **kwargs):
    """Evaluates chunking f1-score provided with data with the following fields:
    form, postag, chunktag, guesstag

    Currently uses the CoNLL-2000 evaluation script to make the estimate.

    This method will be deprecated with version 0.2

    :param data: np.array
    :param cols: columns to be used for the evaluation
    :type cols: str or tuple or list
    :return: f1-score estimate
    :rtype: AccuracyResults
    """
    warnings.warn('Using the CoNLL-2000 evaluation script is deprecated. `bio` '
                  'evaluation should be used instead.')
    try:
        os.makedirs(join(os.getcwd(), 'tmp/'))
    except OSError:
        pass

    td = join(os.getcwd(), 'tmp/')

    rn = rnd.randint(1000, 1000000000000)

    fp_dp = join(td, 'chdata.%s.%s.tmp' % (time.asctime().replace(' ', ''), rn))
    fp_res = join(td, 'chres.%s.%s.tmp' % (time.asctime().replace(' ', ''), rn))
    fh_out = open(fp_res, 'w')

    export(data,
           open(fp_dp, 'w'),
           cols=cols,
           ts=' ')

    cwd = os.getcwd()
    prl = join(cwd, 'conll_eval.pl' + random_str())
    with open(prl, 'w') as fh:
        fh.write(conll_script)
    c = cmd(
        'perl %s -l < {}' % prl,
        fp_dp,
        cwd=cwd,
        stdout=fh_out
    )

    r = AccuracyResults()

    try:
        check_call(c)
        r.parse_conll_eval_table(fp_res)
    except CalledProcessError:
        exc_type, exc_value, exc_traceback = sys.exc_info()
        print "*** print_tb:"
        traceback.print_tb(exc_traceback,
                           limit=1,
                           file=sys.stdout)
        print "*** print_exception:"
        traceback.print_exception(exc_type,
                                  exc_value,
                                  exc_traceback,
                                  limit=2,
                                  file=sys.stdout)
    finally:
        os.remove(fp_dp)
        os.remove(fp_res)
        os.remove(prl)
        return r