Пример #1
0
int
s3_decode_begin_utt(s3_decode_t * _decode, char *_uttid)
{
    if (_decode == NULL)
        return S3_DECODE_ERROR_NULL_POINTER;

    if (_decode->state != S3_DECODE_STATE_IDLE) {
        E_WARN("Cannot begin new utterance in current decoder state.\n");
        return S3_DECODE_ERROR_INVALID_STATE;
    }

    s3_decode_free_hyps(_decode);

    utt_begin(&_decode->kb);

    _decode->num_frames_decoded = 0;
    _decode->num_frames_entered = 0;
    _decode->state = S3_DECODE_STATE_DECODING;

    stat_clear_utt(_decode->kb.stat);

    return s3_decode_set_uttid(_decode, _uttid);
}
Пример #2
0
int
ld_begin_utt(live_decoder_t * _decoder, char *_uttid)
{
    assert(_decoder != NULL);

    if (_decoder->ld_state != LD_STATE_IDLE) {
        E_WARN
            ("Failed to begin a new utterance because decoder is not idle.\n");
        return LD_ERROR_INVALID_STATE;
    }

    ld_free_hyps(_decoder);

    utt_begin(&_decoder->kb);

    _decoder->num_frames_decoded = 0;
    _decoder->num_frames_entered = 0;
    _decoder->ld_state = LD_STATE_DECODING;

    stat_clear_utt(_decoder->kb.stat);

    return ld_set_uttid(_decoder, _uttid);
}