使用Xamarin和Microsoft Speech Service API执行实时连续语音识别

时间:2018-01-16 18:54:47

标签: c# xamarin speech-recognition audio-recording bing-speech

我在Bing Speech API的文档中看到,可以将录制麦克风输入流式传输到REST服务(https://docs.microsoft.com/en-us/azure/cognitive-services/speech/home):

  

实时连续识别。语音识别API启用   用户将音频实时转录为文本,并支持   收到已经过的单词的中间结果   到目前为止已经认识到了。

然而,我无法找到一个示例,展示如何使用Xamarin Forms以跨平台方式实现这一目标

我找到了以下教程:https://developer.xamarin.com/guides/xamarin-forms/cloud-services/cognitive-services/speech-recognition/

但是在此,发送到API的音频流是一个已经存在的音频文件,我想要实现的是,然后,流式传输运行应用程序的设备的麦克风输入(Android,iOS, UWP)即可。

任何见解都将受到赞赏。

3 个答案:

答案 0 :(得分:3)

我担心没有与支持实时Microsoft Speech API的Xamarin兼容的库。唯一兼容的是Bing Speech API,它使用REST协议,不提供实时转录。

实时转录需要Speech Service WebSocket protocol,完整记录。您可以自己实现此接口,但要可靠地执行此接口可能是一项非常复杂的任务。

然而,iOSAndroid的本机库支持实时流功能。您可以看到tutorial for iOStutorial for Android

然后,您可以使用Xamarin绑定库将本机库绑定到Xamarin项目中。对于Java库see this tutorial和Objective-C库see this tutorial

特别是创建Objective-C绑定可能是一项艰巨的任务,通常更容易创建一个作为外观的Objective-C库,然后使用本机库。您将了解Facade库的界面,然后您将能够更轻松地创建绑定。您也可以考虑让Xamarin团队为您创建绑定,因为它们保留了third-party library bindings on GitHub不断增长的集合。

答案 1 :(得分:0)

我使用Bing演讲cross platform solution。让IOS工作。从未测试Android解决方案。

答案 2 :(得分:0)

这里有一个适合您需要的强大库:

https://github.com/NateRickard/Xamarin.Cognitive.BingSpeech