2011-07-20 60 views
1

我有一個研究項目,我需要n-best支持pocketsphinx機器人。我正在使用swig命令行工具來生成pocketsphinx_wrap.c,然後使用NDK-build爲android生成共享庫。唯一的問題是編寫pocketsphinx.i中所需的最佳內容。任何人都可以請教或指導我如何在pocketsphinx.i中編寫函數?N-Best支持pocketsphinx Android!

回答

2

你不寫函數,但你寫包裝,這是一個非常不同的事情。我們已經與你在論壇主題在這裏討論:

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); 
    } 
}; 
+0

謝謝尼古拉,我只是做了該函數中的一些基本變化提供,它的工作,再次感謝! – faizanjehangir