阿里数加(1-2)api调用分析

Posted 非淡泊无以明志,非宁静无以致远 - 长安快马

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阿里数加(1-2)api调用分析相关的知识,希望对你有一定的参考价值。

https://data.aliyun.com/product/nls?spm=5176.doc30437.2.1.UPDABu

 

下面以最常用的”一句话识别”服务给大家做一个入门级的示例,为您介绍如何快速使用“智能语音交互”的各种服务。

1. 账号和服务申请,获取Access Key ID和Access Key Secret两个数加认证参数。

2. 语音识别服务下的”一句话识别”服务支持的app_key如下表,选择“社交领域”的app_key为nls-service。

一句话识别 app_key语音数据格式结果返回方式领域
nls-service 16kHz采样 16bit 音频流 非流式 社交聊天
nls-service-streaming 16kHz采样 16bit 音频流 流式 社交聊天
nls-service-tv 16kHz采样 16bit 音频流 非流式 家庭娱乐
nls-service-shopping 16kHz采样 16bit 音频流 非流式 电商购物领域
nls-service-care 16kHz采样 16bit 音频流 非流式 智能客服服务领域

注:

(1) “支持的结果返回方式”式包括“非流式”和“流式”两种模式,“非流式”简单来说就是用户整句话说完后返回识别结果,“流式”模式下用户一边说话一边返回识别结果。

(2) “一句话识别”支持的领域包括:社交聊天、家庭娱乐、电商购物、智能客服等。用户可针对具体的使用场景选择对应领域的app_key。

3. 下载JAVA SDK和DEMO,开始语音识别。

3.1 运行demo来测试语音服务

到“一句话识别”服务的Java SDK页面下载对应的下载包,包括JAVA SDK和DEMO工程。

打开Java DEMO工程中的AsrDemo.java方法,将其中的app_key、Access Key ID、Access Key Secret 替换成自己的账号信息,然后直接 run->java application即可。

  1. NlsRequest req = new NlsRequest();
  2. req.setApp_key("app_key"); // 替换为选定的app_key
  3. req.setAsr_sc("pcm"); // 这里为测试准备的语音文件是pcm语音文件。
  4. req.authorize("Access Key ID", "Access Key Secret"); // 替换为在数加平台申请到的"Access Key ID"和 "Access Key Secret"

若执行成功,将会输出中【”result” : “你好小云”】的log信息,至此,您已成功完成了一次语音识别服务的调用。

3.2 DEMO工程的简要介绍

3.2.1 发送语音请求

由AsrDemo.java的方法startAsr()进行处理,首先提取语音数据,然后创建语音识别请求,将提取的语音分批发送至服务端。

分批发送的好处是可以在您进行语音收集的同时,服务器就开始处理识别,这样当语音结束的时候可以最快地得到识别结果并返回。

3.2.2 接收语音识别结果

由AsrDemo.java的回调方法onMessageReceived()进行处理,用于监听服务器的返回,在这个demo中,服务端返回的识别结果json字段参数如下:

  1. {
  2. "status" : "1",// 服务器状态,0为失败,非零为成功
  3. "id" : "",
  4. "finish" : "1",// 0为未结束,非零为结束,识别是否已经结束
  5. "results" : {
  6. "asr_out" : {
  7. "result" : "你好小云",// 语音识别结果
  8. "status" : 1,
  9. "finish" : 1,
  10. "version" : "4.0"
  11. },
  12. "out" : {}//保留字段
  13. },
  14. "bstream_attached" : false,
  15. "version" : "4.0"
  16. }

参数中您可以重点关注字段 asr_out,其中的”result” : “你好小云”即为语音识别结果。

以上是关于阿里数加(1-2)api调用分析的主要内容,如果未能解决你的问题,请参考以下文章

标题:技术讲堂基于阿里云数加平台的Serverless实践

Python调用阿里API进行车牌识别

基于阿里云数加MaxCompute的企业大数据仓库架构建设思路

阿里云发布的数加是什么鬼

onActivityResult 未在 Android API 23 的片段上调用

如何在阿里云数加平台实践Serverless架构?