2016-05-09 10 views
1

Ist es möglich, pcms-Daten direkt an puresphinx zu senden, anstatt sie zuerst in eine wav-Datei umzuwandeln? Wenn ja, bitte helfen Sie mir mit dem Code in c.PCM-Eingang zu pocketsphinx

PS: Der PCM-Eingang kommt von einem analogen Gerät, wie ein mit Arduino verbundenes Mikrofon, das die abgetasteten PCM-Daten an einen Linux-Rechner weiterleitet.

Antwort

0

Der Code wird in tutorial und in continuous.c in Quellen in fortgeschritteneren Version bereitgestellt:

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); 

Der Haupt Anruf ps_process_raw ist, die einen Datenpuffer erfolgt.

+0

Danke !! Es funktionierte. :) – tejasdadhe

Verwandte Themen