代码之家  ›  专栏  ›  技术社区  ›  Toto

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

  •  2
  • Toto  · 技术社区  · 7 年前

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

    实时连续识别。语音识别API启用 用户可以将音频实时转录成文本,并支持 接收已输入单词的中间结果 目前已被认可。

    我找不到一个示例来说明如何使用Xamarin表单以跨平台的方式实现这一点 .

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

    但在这种情况下,发送到API的音频流是一个已经存在的音频文件, 然而,我想实现的是流式传输运行应用程序的设备(Android、iOS、UWP)的麦克风输入 .

    如有任何见解,将不胜感激。

    3 回复  |  直到 7 年前
        1
  •  3
  •   Martin Zikmund    7 年前

    恐怕没有与兼容的库 Xamarin 支持实时Microsoft语音API。唯一兼容的是Bing语音API,它使用REST协议,不提供实时转录。

    实时转录需要 Speech Service WebSocket protocol 有完整的文件记录。您可以自己实现这个接口,但要可靠地实现它可能是一项相当复杂的任务。

    但是,有一些本机库 iOS Android 它们确实支持实时流功能。你可以看到 tutorial for iOS tutorial 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 .

        2
  •  0
  •   Stephen Rauch Afsar Ali    7 年前

    我有一个 cross platform solution 使用Bing语音。让IOS正常工作。从未测试过Android解决方案。

        3
  •  0
  •   Tobias von Falkenhayn    7 年前

    这里有一个很好的图书馆,可以满足您的需要:

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