使用云函数调用百度ai开放平台的各种sdk
云函数环境为 nodejs12.13如果不会创建 参考之前的博客
本文介绍语音合成的使用
注册百度ai开放平台语音合成应用
进入百度ai开放平台控制台 找到语音技术 创建应用
语音合成有免费次数 放心使用
在应用列表获取
AppID
API Key
Secret Key
本地准备
参考官方文档 https://cloud.baidu.com/doc/SPEECH/s/Zk4nlz8c8
安装SDK
本地新建空目录
打开cmd 进入目录
执行
npm install baidu-aip-sdk
新建voi.js文件 配置语音合成
var AipSpeechClient = require("baidu-aip-sdk").speech;// 设置APPID/AK/SK
var APP_ID = "你的 App ID";
var API_KEY = "你的 Api Key";
var SECRET_KEY = "你的 Secret Key";// 新建一个对象,建议只保存一个对象调用服务接口
const client = new AipSpeechClient(APP_ID, API_KEY, SECRET_KEY);module.exports = client
配置index.js文件
新建index.js文件 将云函数index.js内容复制进来
引入语音合成
const client = require("./voi.js")
接收参数
let vois = event.queryStringParameters.vois;
完整代码
const client = require("./voi.js")
exports.handler = async (event, context, callback) => {let vois = event.queryStringParameters.vois;let result = await client.text2audio(vois, {spd: 5, per: 4});let mpfile = "";if(result.data){mpfile = result.data.toString("base64");}else{mpfile = result;}let response={'statusCode': 200,'headers':{'Content-Type': 'audio/mpeg'},'isBase64Encoded': true,'body': `${mpfile}`,}callback(null, response);
}
完成后打zip压缩包上传代码
创建触发器
测试
拓展
我们也可以改变语速 语调 音量 和 声音
拓展代码如下
其实就是将这几个可变的 以参数形式传入
其中 合成的语句为必须 其他的如果不传入 就会按默认执行
const client = require("./voi.js")
exports.handler = async (event, context, callback) => {let vois = event.queryStringParameters.vois;let spd = event.queryStringParameters.spd;let pit = event.queryStringParameters.pit;let vol = event.queryStringParameters.vol;let per = event.queryStringParameters.per;let result = await client.text2audio(vois, {spd,pit,vol,per});let mpfile = "";if(result.data){mpfile = result.data.toString("base64");}else{mpfile = result;}let response={'statusCode': 200,'headers':{'Content-Type': 'audio/mpeg'},'isBase64Encoded': true,'body': `${mpfile}`,}callback(null, response);
}
测试拓展
只传入合成语句
降低语速
结语
参照语音合成 我们一样可以调用 图像识别 下篇 云函数调用图像识别
文章来源: https://bbs.huaweicloud.com/blogs,作者:代码哈士奇,版权归原作者所有,如需转载,请联系作者。
原文链接:https://bbs.huaweicloud.com/blogs/250511