華為云函數調用百度ai sdk實現語音合成
使用云函數調用百度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); }
測試拓展
只傳入合成語句
降低語速
結語
參照語音合成 我們一樣可以調用 圖像識別 下篇 云函數調用圖像識別
AI 語音合成 語音通話
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。