首页 > 解决方案 > SFSpeechRecognizer 同时请求?

问题描述

我正在尝试使用 SFSpeechRecognizer 在我的应用程序中转录语音命令。命令只有一个字。SFSpeechAudioBufferRecognitionRequest(来自麦克风点击)可能需要几秒钟才能最终返回该单词的准确转录,但这对我的用例来说很好。

但是,在我的用例中,可能会在这几秒钟过去之前输入一个新命令。如何开始处理新请求,同时仍允许前一个请求继续改进其结果(即,不会过早停止前一个请求)?

我没完没了地用谷歌搜索,似乎没有关于麦克风输入的同时/并发请求的文档。

任何想法将不胜感激!

标签: iossfspeechrecognizer

解决方案


我已经能够使用 iOS 13 完成的事情是同时为两个不同的 SFSpeechAudioBufferRecognitionRequest 运行两个 SFSpeechRecognitionTasks,其中一个将 requiresOnDeviceRecognition 设置为 true,一个将 requiresOnDeviceRecognition 设置为 false。

我发现你不能同时运行两个设备上的请求,你也不能同时运行两个设备外的请求——但是通过需要一个设备上的请求,你可以在收听的同时转录/处理一个与对方转录。


推荐阅读