Node接入百度语音合成教程

**

先开始用的是百度语音在线合成的接口,结果折腾了半天存在本地的语音播放不出来。也不知道那个环节出了问题。于是就去找其他的解决办法,接下来就是接入的是百度语音合成的SDK,自我感觉比接口简单多了

**

首先建立一个node项目,然后npm安装百度的SDK , npm i baidu-aip-sdk。安装完成后,建立一个新得app.js文件

Node接入百度语音合成教程_第1张图片

在app.js中写入代码

var AipSpeechClient = require("baidu-aip-sdk").speech;

// 设置APPID/AK/SK
var APP_ID = "自己去看哟";
var API_KEY = "自己去看哟";
var SECRET_KEY = "自己去看哟";

// 新建一个对象,建议只保存一个对象调用服务接口
var client = new AipSpeechClient(APP_ID, API_KEY, SECRET_KEY);

var HttpClient = require("baidu-aip-sdk").HttpClient;

// 设置request库的一些参数,例如代理服务地址,超时时间等
// request参数请参考 https://github.com/request/request#requestoptions-callback
HttpClient.setRequestOptions({timeout: 5000});

// 也可以设置拦截每次请求(设置拦截后,调用的setRequestOptions设置的参数将不生效),
// 可以按需修改request参数(无论是否修改,必须返回函数调用参数)
// request参数请参考 https://github.com/request/request#requestoptions-callback
HttpClient.setRequestInterceptor(function(requestOptions) {
    // 查看参数
    console.log(requestOptions);
    // 修改参数
    requestOptions.timeout = 5000;
    // 返回参数
    return requestOptions;
});



// 语音合成, 附带可选参数
var fs = require('fs');
client.text2audio('我要下棋', {spd: 0, per: 4}).then(function(result) {
    if (result.data) {
        fs.writeFileSync('D:/HBx/tts.c.mp3', result.data);
    } else {
        // 服务发生错误
        console.log(result)
    }
}, function(e) {
    // 发生网络错误
    console.log(e)
});

把配置好了后,直接node app.js

Node接入百度语音合成教程_第2张图片
就出现了一个mp3文件,直接播放就可以了。或者放在服务器的某个地址上然后浏览器可以通过url地址去播放这段音频

百度文档地址:https://cloud.baidu.com/doc/SPEECH/s/Sjwvy65x9

常量APP_ID在百度智能云控制台中创建,常量API_KEY与SECRET_KEY是在创建完毕应用后,系统分配给用户的,均为字符串,用于标识用户,为访问做签名验证,可在AI服务控制台中的应用列表中查看。

你可能感兴趣的:(node.js,语音)