一、访问方式

1、访问阿里云首页

https://www.aliyun.com/?utm_medium=text&utm_source=bdbrand&utm_campaign=bdbrand&utm_content=se_32492

2、访问【帮助文档】

3、访问 【更多】

4、找到【快速开始】

5、注册阿里云网站

二、鉴权方式分析

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

1、Access Key 和 Access Key Secret

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

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

2、服务 App_key

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、开发样例

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、使用客户端jar包

2、使用access key 和 access key secret

apigw鉴权分析(1-1)阿里数加 - 鉴权方式分析的更多相关文章

  1. apigw鉴权分析(1-3)百度 AI - 鉴权方式分析

    http://ai.baidu.com/docs#/Begin/top 一.访问入口 二.鉴权方式分析 1.鉴权认证方式一 - access_token - 针对HTTP API调用者 2.鉴权认证方 ...

  2. 阿里云数加平台——BI报表使用概述和总结

    先声明一点,本人写此文章初衷只为对前段时间的工作做些总结,并做个记录,以备日后查用,此外也顺便与他人分享一下.当然间接上也为阿里云的大数据平台做了个免费广告.以下开始正文. 首先进入数加服务的控制面板 ...

  3. Scala进阶之路-统计商家id的标签数以及TopN示例案例分析

    Scala进阶之路-统计商家id的标签数以及TopN示例案例分析 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.项目需求 将“temptags.txt”中的数据进行分析,统计出 ...

  4. TZOJ 3665 方格取数(2)(最大点权独立集)

    描述 给你一个m*n的格子的棋盘,每个格子里面有一个非负数. 从中取出若干个数,使得任意的两个数所在的格子没有公共边,就是说所取数所在的2个格子不能相邻,并且取出的数的和最大. 输入 包括多个测试实例 ...

  5. 南昌网络赛 Distance on the tree 主席树+树剖 (给一颗树,m次查询ui->vi这条链中边权小于等于ki的边数。)

    https://nanti.jisuanke.com/t/38229 题目: 给一颗树,m次查询ui->vi这条链中边权小于等于ki的边数. #include <bits/stdc++.h ...

  6. HDU 1565 1569 方格取数(最大点权独立集)

    HDU 1565 1569 方格取数(最大点权独立集) 题目链接 题意:中文题 思路:最大点权独立集 = 总权值 - 最小割 = 总权值 - 最大流 那么原图周围不能连边,那么就能够分成黑白棋盘.源点 ...

  7. Oracle 表连接方式分析 .

    一 引言 数据仓库技术是目前已知的比较成熟和被广泛采用的解决方案,用于整和电信运营企业内部所有分散的原始业务数据,并通过便捷有效的数据访问手段,可以支持企业内部不同部门,不同需求,不同层次的用户随时获 ...

  8. insmod模块加载过程代码分析1【转】

    转自:http://blog.chinaunix.net/uid-27717694-id-3966290.html 一.概述模块是作为ELF对象文件存放在文件系统中的,并通过执行insmod程序链接到 ...

  9. Spark JDBC系列--取数的四种方式

    Spark JDBC系列--取数的四种方式 一.单分区模式 二.指定Long型column字段的分区模式 三.高自由度的分区模式 四.自定义option参数模式 五.JDBC To Other Dat ...

随机推荐

  1. GeoJSON C#判断某一点是否在某一区域范围之内

    GeoJSON是一种对各种地理数据结构进行编码的格式,基于Javascript对象表示法的地理空间信息数据交换格式.GeoJSON对象可以表示几何.特征或者特征集合.GeoJSON支持下面几何类型:点 ...

  2. 【Unity与23种设计模式】观察者模式(Observer)

    GoF中定义: "在对象之间定义一个一对多的连接方法,当一个对象变换状态时,其他关联的对象都会自动收到通知." 现实中,社交网络就是个例子. 以前的报社,每次出新刊的时候, 报刊便 ...

  3. C# 中的关键字整理

    C#中的所有关键字大致可以分为保留关键字和上下文关键字两部分 快来看一下有没有不认识的吧 欢迎补充 保留关键字 abstract  as  base  bool  break byte  case  ...

  4. 设计模式——适配器模式(C++实现)

            #include <iostream> #include <string> using namespace std; class STTarget { publ ...

  5. Intellij +Maven 报错: Dmaven.multiModuleProjectDirectory system property is not set. Check $M2_HOME environment variable and mvn script match.

    在intellij使用 Maven Project 测试时,运行test时看到log里的报错信息: -Dmaven.multiModuleProjectDirectory system propert ...

  6. 理解 dispatch_get_specific

    这篇文章原来在用 Github Pages 搭建的博客上,现在决定重新用回博客园,所以把文章搬回来. dispatch_queue_set_specific用于给一个队列设置相关的上下文数据,disp ...

  7. nginx+lua 根据指定路径反向代理

    location /imgproxytest{ if ($uri ~ ".*\.(jpg|png|jpeg|bmp|gif|swf|css)$"){ rewrite_by_lua ...

  8. 多线程&定时器Timer&同步&线程通信&ThreadLocal

    1.多线程 线程状态分为:新建状态.就绪状态.运行状态.阻塞状态.死亡状态 对象等待池的阻塞状态:运行状态执行了wait方法 对向锁池的阻塞状态:试图获得某个同步锁,已经被其他线程占用,就会放到对象的 ...

  9. Dom属性方法

    一.javascript的三大核心 1.ECMAScript js的语法标准 2.DOM Document object Model 文档对象模型,提供的方法可以让js操作html标签 3.BOM B ...

  10. Python中的unittest和logging

    今天使用Python的unittest模块写了些单元测试,现记录下要点: 使用unittest的基本格式如下: import unittest class Test(unittest.TestCase ...