gpt4 book ai didi

c# - 使用 SAPI 5.4 或 MS Speech SDK v11 使用来自 Skype 调用的 MemoryStream 在 C# 中进行语音识别

转载 作者:太空狗 更新时间:2023-10-29 23:52:08 25 4
gpt4 key购买 nike

我正在尝试让 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 让它工作。

我找到了这篇类似的文章,那里的建议似乎都不适合我,而且讨论似乎也很平静。

Streaming input to System.Speech.Recognition.SpeechRecognitionEngine

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

最佳答案

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

关于c# - 使用 SAPI 5.4 或 MS Speech SDK v11 使用来自 Skype 调用的 MemoryStream 在 C# 中进行语音识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12353605/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com