Menu

Lattice / nbest output

Help
Vitor Enes
2011-06-28
2012-09-22
  • Vitor Enes

    Vitor Enes - 2011-06-28

    I can't seem to get the -outlatdir and -nbestdir switches to "work" when
    invoked from command line with pocketsphinx_continuous (I'm using v0.6x
    still... hopefully that is not the problem).

    I am invoking using a line like these ones:

    pocketsphinx_continuous -hmm ./amodeldir/ -lm ./lmdir/ -dict ./dictdir
    -nbestdir ./nbestdir/ -nbest 10

    pocketsphinx_continuous -hmm ./amodeldir/ -lm ./lmdir/ -dict ./dictdir
    -outlatdir ./lattice

    Neither of those create anything at all (both directories already exist).

    Are those switches disabled now? Maybe I should ask: can I get not just ONE
    recognition "return" but, say, the "best" 3 options the ASR came up with?

    Thanks in advance for any help. Will be greatly appreciated, since (as you
    surely noted) I am a total noob in these matters.

     
  • rmangino

    rmangino - 2011-06-28

    vitorenes,

    Are you attempting to obtain the "best" n hypotheses for a given utterance? If
    so, I am in need of doing the same thing. I don't want to ask a duplicate
    question. I'll monitor this question and can help out (try things on my end)
    if need be.

    Thanks.

     
  • Vitor Enes

    Vitor Enes - 2011-06-28

    That's exactly it. Any help will be greatly appreciated - I'll post any
    findings here as well.

    Cheers.

     
  • Nickolay V. Shmyrev

    Neither of those create anything at all (both directories already exist).

    They are not supposed to. -nbestdir is an option for pocketsphinx_batch, not
    pocketsphinx_continuous

    Are those switches disabled now? Maybe I should ask: can I get not just ONE
    recognition "return" but, say, the "best" 3 options the ASR came up with?

    Yes, you can, you can write your own tool using pocketsphinx API.

     
  • wesamoth

    wesamoth - 2011-07-01

    Look at pocketsphinx.c :

    for (seg = ps_seg_iter(ps, &score); seg;
    seg = ps_seg_next(seg)) {
    char const *word;
    int sf, ef;
    int32 post, lscr, ascr, lback;

    word = ps_seg_word(seg);
    ps_seg_frames(seg, &sf, &ef);
    post = ps_seg_prob(seg, &ascr, &lscr, &lback);
    E_INFO_NOFN("%-20s %-5d %-5d %-1.3f %-10d %-10d %-3d\n",
    word, sf, ef, logmath_exp(ps_get_logmath(ps), post), ascr, lscr, lback);
    }
    that's almost done ;)

     

Log in to post a comment.