Pocketsphinx返回空字符串以进行假设

时间:2015-05-26 21:15:23

标签: c++ speech-recognition cmusphinx pocketsphinx

我在自定义C ++应用程序中使用pocketshpinx进行语音识别。我注意到有时候ps_get_hyp()方法返回的假设字符串是一个空字符串。

问题:这是预期的行为吗?如果是这样,有没有办法告诉pocketsphinx不要将空字符串作为假设?

以下是我的代码的相关部分的片段:

do { ReadAudioBuffer(); } while (!in_speech);
while (in_speech) { ReadAudioBuffer(); }

ps_end_utt(ps);
hyp = ps_get_hyp(ps, NULL);

ReadAudioBuffer()方法:

void SpeechRecognizer::ReadAudioBuffer()
{
    if ((k = ad_read(ad, adbuf, 2048)) < 0)
    {
        UE_LOG(LogTemp, Warning, TEXT("Failed to read audio\n"));
        return;
    }

    ps_process_raw(ps, adbuf, k, FALSE, FALSE);
    in_speech = ps_get_in_speech(ps);
    FPlatformProcess::Sleep(0.005);
}

1 个答案:

答案 0 :(得分:1)

  

问题:这是预期的行为吗?

它没有任何问题

  

如果是这样,有没有办法告诉pocketsphinx不要将空字符串作为假设?

如果你没有说什么应该归还呢?

  

FPlatformProcess ::睡眠(0.005);

这里不需要睡觉

相关问题