2016-05-09 10 views
1

最初にwavファイルに変換するのではなく、pocketsデータをpocketsphinxに直接送ることはできますか?はいの場合は、cのコードで私を助けてください。pocketsphinxへのPCM入力

PS:PCM入力は、次に、LinuxマシンにサンプリングされたPCMデータを転送アルドゥイーノとインターフェースマイクロフォンのような、アナログデバイスフロン来ています。

答えて

0

コードがtutorialに、より高度なバージョンにおけるソース内continuous.cに設けられている。

ps_start_utt(ps); 
utt_started = FALSE 
while ((k = fread(adbuf, sizeof(int16), 2048, rawfd)) > 0) { 
    ps_process_raw(ps, adbuf, k, FALSE, FALSE); 
    in_speech = ps_get_in_speech(ps); 
    if (in_speech && !utt_started) { 
     utt_started = TRUE; 
    } 
    if (!in_speech && utt_started) { 
     ps_end_utt(ps); 
     hyp = ps_get_hyp(ps, NULL);  
     ps_start_utt(ps); 
     utt_started = FALSE; 
    } 
} 
ps_end_utt(ps); 

主コールは、データバッファをとるps_process_rawあります。

+0

ありがとうございます!出来た。 :) – tejasdadhe

関連する問題