Est-il possible de fournir directement des données pcm à pocketsphinx au lieu de le convertir d'abord en fichier wav? Si oui alors s'il vous plaît aidez-moi avec le code dans c. PS: L'entrée pcm provient d'un périphérique analogique, comme un microphone interfacé avec arduino qui transmet ensuite les données pcm échantillonnées à une machine Linux.Entrée PCM à pocketsphinx
1
A
Répondre
0
Le code est fourni en tutorial et en continuous.c dans les sources en version plus avancée:
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);
L'appel principal est ps_process_raw
qui prend un tampon de données.
Merci! Ça a marché. :) – tejasdadhe