5

我正在尝试让 SAPI 5.4(也是 MS Speech Platform SDK v11)对来自 Skype 通话的音频执行连续语音识别。

我可以使用 SKYPE4COMLib 获取来自 Skype 的音频,并通过发出 ALTER CALL 指令将其推送到 TCP 端口。您可以将 Skype 音频定向到文件或 TCP 套接字。文件工作正常,但我希望它能够实时运行识别,所以使用 TCP 套接字。

然后我构建了一个 TCP 侦听器来收集传入数据(音频原始格式)并将字节数组作为 MemoryStream 传递给 SAPI。我已经设置 SAPI 以期望 16 位、16khz、单声道、PCM 格式的原始音频。但是识别事件永远不会发生?!

我尝试将原始音频保存到磁盘,然后将其读入 SAPI,它工作正常......所以数据本身很好,Skype 正确发送音频。然而,这并不能让我做我需要的持续认可。

SAPI 识别代码使用 WAV 文件或从磁盘加载的原始文件或麦克风可以正常工作。我只是无法让它从 MemoryStream 中工作。

我发现了这篇类似的文章,那里的建议似乎都对我不起作用,讨论似乎已经安静下来。

流式输入到 System.Speech.Recognition.SpeechRecognitionEngine

有没有人有关于如何成功让 SAPI 连续识别原始音频中的语音作为 C# 中的 MemoryStream 发送的任何指导?

4

1 回答 1

0

当您使用流式音频时,我认为您应该使用 recognizer.RecognizeAsync

于 2013-12-31T09:18:11.500 回答