Azure AI 服务之语音识别

笔者在前文《Azure AI 服务之文本翻译》中简单介绍了 Azure 认知服务中的文本翻译 API,通过这些简单的 REST API 调用就可以轻松地进行机器翻译。如果能在程序中简单的集成语音转文本的功能会不会非常赞!本文我们就介绍如何使用必应的语音识别 API(Bing Speech API) 把语音转换成文本:

Azure AI 服务之语音识别

使用 Bing Speech API 可以轻松地开发出下面的应用:

Azure AI 服务之语音识别

你点击 "开始录音" 按钮,然后对着麦克风说话,就能够识别输出你说的内容并输出成文本。上面的截图是 Azure 官方提供的 demo,为了演示语音识别 API 的用法,我们写一个丑点的,但是可以输出详细信息的程序:

Azure AI 服务之语音识别

该程序会以不同的模式识别我们 hardcode 的两段音频数据,然后输出识别的结果。其中上面的文本框会输出大量的中间识别结果,而下面的文本框则输出最终的识别结果。

创建 Azure 服务

要使用 Azure 的翻译服务需要先在 Azure 上创建对应的实例,比如我们需要先创建一个 "Bing Speech API" 服务实例:

Azure AI 服务之语音识别

说明:对于学习和练习来说,你可以创建免费的 Azure 账号并创建免费版的上述实例,详细信息请参考 Azure 官网。

创建 WPF 程序

Bing Speech API 服务同时提供了 REST API 和客户端类库,因为 REST API 提供的服务会有一些限制,所以我们在演示程序中使用客户端类库。客户端类库分为 x86 和 x64 两个版本,笔者引用的是 x64 的版本 Microsoft.ProjectOxford.SpeechRecognition-x64:

Azure AI 服务之语音识别

因而需要把工程的 platform target 也设置为 x64。

需要注意的是,Azure 提供的认知服务 API 都是需要认证信息的。具体的方式就是把我们创建的服务的 key 随 API 发送的服务器端进行认证。你可以在创建的服务实例的详情界面获得对应的 key,我们在程序中通过定义的常量来保存它们:

const string SUBSCRIPTIONKEY = "your bing speech API key";

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wspfjy.html