我们正试图通过JAVA客户端使用Google StreamingRecognize方法。我们正在从麦克风读取数据并将其发送到语音API。 使用以下设置: 识别配置 - LINEAR16,16KHz,en-US 我们尝试将不同的缓冲区大小推送到StreamingRecognize(最多16000字节)。 我们观察到获得第一个结果需要至少4-5秒,并且在中间结果被流式传输之后。 任何人都可以确认这是否是API的预期行为。也很高兴知道为什么有这么多的延迟。 是否有任何方法或解决方法来减少延迟。Google-Cloud-Speech:StreamingRecognize方法的第一个中间结果的延迟
请注意,后延迟我们得到的中间结果和最终的完整话语与合理的准确性
我*怀疑*它正在等待获得一些上下文才能产生第一个中期结果。 –
任何关于上下文可能的猜测以及是否有可能最大限度地减少上下文造成的延迟。 Android SpeechRecognizer似乎工作正常。 –
基本上,整个话语的语境。我不知道Android SpeechRecognizer是否使用了相同的技术* - 并且它可能会针对非常不同的场景进行优化(例如,对于许多句子,只需要几个字)。我不确定自己是否还有我的C#流式语音应用程序 - 这是我使用它之后的一段时间。我记得开始的时候有一点延迟,但看起来并不大,我怀疑它是4-5秒。如果我有时间,我会尽力找到它并重现。 –