1.在百度语音中创建自己的项目,需要拿到APP_ID、API_KEY、SECRET_KEY。

2.loopback端提供接口服务,在./boot目录下新建root.js文件,编写不依赖模型的自定义接口服务,代码如下:

'use strict';

const fs=require('fs')
const AipSpeechServer = require('baidu-aip-sdk').speech; module.exports = function(server) {
// Install a `/` route that returns server status
var router = server.loopback.Router();// 语音合成
//设置appid/appkey/appsecret
const APP_ID = "14799027";
const API_KEY = "2oSvF6rAFnq6hiVowTxM4fkb";
const SECRET_KEY = "AbyQ8gagqQGauBGOKU9DABsLQOIq5Pwo"; // 新建一个对象,建议只保存一个对象调用服务接口
const client =new AipSpeechServer(APP_ID, API_KEY, SECRET_KEY); // 语音合成
router.post('/speech', function(req, res, next){
client.text2audio(
req.body.text || '你好,百度语音合成测试',
{
//cuid: '机器 MAC 地址或 IMEI 码,长度为60以内',
spd: req.body.spd || '5',//音速
pit: req.body.pit || '5',//音调
vol: req.body.vol || '5',//音量
per: req.body.per || '0'//播音角色
}
)
.then(
function(res1){
if(res1.data){
console.log(res1,'d;');
fs.writeFileSync('./server/static/tts.audio.mp3', res1.data); res.json({
ret: 0,
data:{
path: 'http://192.168.6.12:6001/tts.audio.mp3',//返回小程序调用播放
audio:'data:audio/wav;base64,' + new Buffer(res1.data).toString('base64') // buffer二进制文件转base64
},
msg: ''
}); }else{
// 服务发生错误
console.log(res1);
res.json({
ret: res1.err_no,
data:{
},
msg: res1.err_msg
});
}
},
function(e){
// 发生网络错误
console.log(e);
res.json({
ret: -100,
data:{
},
msg: '网络错误,请检查网络'
});
}
);
}); server.use(router);
};

3.前端调用服务接口即可。

let data = {
text: '请,蒋龙江,到1号诊室就诊。',
spd: '5',
pit: '3',
vol: '8',
per: '0'
};
let a = yield axios.post(`/speech`,data);
let n = new Audio();
n.src = a.data.data.audio;
n.play();

这样在浏览器中就能播放了。

百度语音node只支持在线语音库,暂不支持离线。

百度语音+react+loopback实现语音合成返回播放的更多相关文章

  1. QT调用百度语音REST API实现语音合成

    QT调用百度语音REST API实现语音合成 1.首先点击点击链接http://yuyin.baidu.com/docs/tts 点击access_token,获取access_token,里面有详细 ...

  2. ros下基于百度语音的,语音识别和语音合成

    代码地址如下:http://www.demodashi.com/demo/13153.html 概述: 本demo是ros下基于百度语音的,语音识别和语音合成,能够实现文字转语音,语音转文字的功能. ...

  3. Delphi百度语音【支持语音识别和语音合成】

    作者QQ:(648437169) 点击下载➨百度语音         语音识别api文档         语音合成api文档 [Delphi 百度语音]支持获取 Access Token.语音识别.语 ...

  4. 调用百度语音AI实现语音的识别和合成

    #coding:utf-8 ## 先去ffmpeg官网下载(https://ffmpeg.zeranoe.com/builds/),好了之后解压缩,配一下环境变量 ## 打开cmd,运行命令,安装如下 ...

  5. ros实例_百度语音+图灵

    1 百度语音模块 参考http://blog.csdn.net/u011118482/article/details/55001444 1.1 百度语音识别包 git clonehttps://git ...

  6. 利用百度语音API进行语音识别。

    由于项目需要,这几天都在试图利用百度语音API进行语音识别.但是识别到的都是“啊,哦”什么的,我就哭了. 这里我只是分享一下这个过程,错误感觉出现在Post语音数据那一块,可能是转换问题吧. API请 ...

  7. [python]百度语音rest api

    百度语音识别提供的api范例只有java, c, php. 如果使用Python, 需要注意: 语音文件长度是指bytes大小 可以通过len(file.read())获得 使用requests.po ...

  8. Android 通过调用系统,如接口 谷歌语音、百度语音、科大讯飞语音等语音识别方法对话框

    现在app在发展过程中会集成一些语音识别功能,不具有其自己的显影剂一般正在开发的语音识别引擎,所以在大多数情况下,它是选择一个成熟的语音识别引擎SDK集成到他们的app在. 平时,这种整合被分成两个, ...

  9. BaiduSpeechDemo【百度语音SDK集成】(基于v3.0.7.3)

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 本Demo将百度语音SDK(其中一部分功能)和自定义的UI对话框封装到一个module中,便于后续的SDK版本更新以及调用. 本De ...

随机推荐

  1. 删除链表倒数第n个节点

    题目: 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链 ...

  2. jq常用操作

    1. 将滚动条置于底部 var srcH = $(".msg-IOC").prop("scrollHeight");$('.msg-IOC').scrollTo ...

  3. Qt: 数据库操作;

    QT的数据库操作有两种方式: 一) 使用QsqlTableModel类, 可以配合QTableView进行界面显示并进行数据库操作, 这种方法比较方便快捷: 二)  使用原始SQL语言, 利用INSE ...

  4. C++回顾day03---<异常>

    一:传统错误处理机制(C中通过函数返回来处理) int CalcRes(int n, int m, char ch, int& res) { ; switch (ch) { case '+': ...

  5. windows下创建启动脚本bat

    最主要是运用bat命令. call执行命令 比如 启动solr的服务,以前要进去solr的目录,然后bin/solr start    这样很麻烦.可以写个脚本放到桌面. call %CATALINA ...

  6. windows下搭建vue开发环境+IIS部署

    原创]win10下搭建vue开发环境  https://www.cnblogs.com/ixxonline/p/6007885.html 特别说明:下面任何命令都是在windows的命令行工具下进行输 ...

  7. HTML常用知识点代码演示

    1 HTML部分常用知识点 <!-- 版本声明 --> <!DOCTYPE html> <!-- 唯一根元素 --> <html> <!-- 对网 ...

  8. docker学习-----docker服务的安装

    docker 以下观点个人理解,只做参考 一.docker本身的优势 1.docker他本身是一个容器,用来方便我们项目打包,做服务器虚拟化,统一开发者环境等多种优势:运行于docker上的项目可以快 ...

  9. Ubuntu18.04问题记录

    1. pip install 包时偶然间碰上了如下问题: Could not install packages due to an EnvironmentError: [Errno 13] 权限不够: ...

  10. Ubuntu解决没有可安装候选软件包

    解决方法:可以使用apt-cache search <package_name>寻找. 例如: E: 软件包 libqglviewer-dev 没有可安装候选 解决方法: apt-cach ...