N-лучшая поддержка для Pocketsphinx Android! - PullRequest
1 голос
/ 21 июля 2011

У меня есть исследовательский проект, в котором я нуждаюсь в n-best поддержке в pocketsphinx android. Я использую инструмент командной строки swig для генерации pocketsphinx_wrap.c, а затем NDK-build для генерации общей библиотеки для Android. Единственная проблема заключается в написании n-лучшего контента, необходимого в pocketsphinx.i. Может ли кто-нибудь посоветовать или подсказать, как написать функцию в pocketsphinx.i?

1 Ответ

2 голосов
/ 22 июля 2011

Вы пишете не функцию, а оболочку, это совсем другое.Мы уже обсуждали с вами, что в ветке форума здесь:

https://sourceforge.net/projects/cmusphinx/forums/forum/5471/topic/4566470

Оболочка должна выглядеть так:

typedef struct ps_nbest_s NBest;

typedef struct ps_nbest_t {
} Nbest;

%extend Nbest {
    Nbest(Decoder *d) {
        Nbest *nbest = ps_nbest(d, 0, -1, NULL, NULL);
        return nbest;
    }
    ~Nbest() {
        ps_nbest_free($self);
    }

    void next() {
        ps_nbest_next($self);
    }

    Hypothesis* hyp() {
        const char* hyp;
        int32 score;
        hyp = ps_nbest_hyp($self, &score);
        return new_Hypothesis(hyp, "", score);
    }
};
...