繁体   English   中英

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

[英]Speech Recognition in C# with SAPI 5.4 or MS Speech SDK v11 using a MemoryStream from Skype call

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

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

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

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

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

我发现这篇类似的文章,似乎没有任何建议对我有用,讨论似乎已经变得安静了。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM