阿里云智能语音识别如何应用于识别?
摘要:对于绝大多数开发者来说,想要给自己的APP增加语音功能,不太可能自己去开发一套智能语音系统,因为背后涉及到比较多学科的知识,单靠个人和小团队的话很难完成,这个时候我们可以借助一些大平台的产品,来丰富我们自己的应用体验。
现在我们手机上的APP对语音的使用已经很普遍了,其中使用的比较多的场景就是音频与文本之间的转换,这确实提高了操作的便利性,但是对于绝大多数开发者来说,想要给自己的APP增加语音功能,不太可能自己去开发一套智能语音系统,因为背后涉及到比较多学科的知识,单靠个人和小团队的话很难完成,这个时候我们可以借助一些大平台的产品,来丰富我们自己的应用体验。
我最近刚接触了阿里云的智能语音,就介绍下阿里云的智能语音使用,这里我介绍的是最简单的一句话识别的功能,其他API大家也可以去尝试使用。
准备工作
在编写具体的代码之前,我们需要先根据文档做好准备工作
首先使用的第一步当然是注册账号,这个只要使用阿里系的APP直接扫码登录就可以了。
接着是创建AccessKey,如果是个人使用的话直接创建就可以,如果存在多人协同的话可以创建RAM用户,给RAM用户创建单独的AccessKey,以降低安全风险。我这里之前创建了RAM用户,创建AccessKey之后它会提示保存AccessKeyId和AccessKeySecret,这两个配置在后续获取token时会用到,所以记得要保存起来。
然后是开通智能语音服务,这里新开通的用户是有三个月的免费额度。
接着我们去智能语音交互控制台创建项目,因为我这里只用到了语音识别,所以创建的项目类型是仅语音识别,大家根据自己的实际需求创建对应类型的项目就可以了,这里的Appkey也是要在代码里配置的。
获取token
现在我们就可以开始具体的代码实现了,我们先用node实现token的获取。
这里我提前写了一些node的基础代码。
const express = require('express');
const app = express();
require('dotenv').config({ // 根据 NODE_ENV 自动加载对应 .env 文件(如 NODE_ENV=production 加载 .env.production)
path: `.env.${process.env.NODE_ENV || 'development'}`
});
app.get('/getToken', async function (req: any, res: any, next: any) {
});
app.listen(3001);
然后我们根据文档,把获取token的代码添加进去。
const express = require('express');
const app = express();
require('dotenv').config({ // 根据 NODE_ENV 自动加载对应 .env 文件(如 NODE_ENV=production 加载 .env.production)
path: `.env.${process.env.NODE_ENV || 'development'}`
});
var RPCClient = require('@alicloud/pop-core').RPCClient; // +
app.get('/getToken', async function (req: any, res: any, next: any) {
var client = new RPCClient({ // +
accessKeyId: process.env.ALIYUN_AK_ID, // +
accessKeySecret: process.env.ALIYUN_AK_SECRET, // +
endpoint: 'http://nls-meta.cn-shanghai.aliyuncs.com', // +
apiVersion: '2019-02-28' // +
}); // +
client.request('CreateToken').then((result) => { // +
console.log(result.Token); // +
}); // +
});
app.listen(3001);
这里的accessKeyId和accessKeySecret我已经在env文件里进行配置了,这里就直接引用,这个时候我们就可以调用getToken去获取智能语音服务的token了,我们直接在浏览器里访问一下,可以看到node的控制台输出了token的信息。
我们直接把token返回给前端就能调用智能语音接口了。
