是否有可能直接将pcm数据提供给pocketsphinx而不是首先将其转换为wav文件?如果是,请帮我处理c中的代码。
PS: pcm输入来自一个模拟设备,就像一个麦克风与arduino接口,然后将采样的pcm数据转发到linux机器。
发布于 2016-05-10 15:37:36
代码是在教程中提供的,在更高级版本的源代码中提供的是连续的.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,它接受一个数据缓冲区。
https://stackoverflow.com/questions/37108447
复制相似问题