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. centos7虚拟机下python3安装matplotlib遇到的一些问题

    1.安装位置 centos7虚拟机+python3.6 2.问题 2.1如果是使用的python2版本可以使用如下方式, #yum search matplotlib 返回如下: 已加载插件:fast ...

  2. MySQL数据目录(data)迁移

    因为系统分区的空间不足,添加了一块硬盘,挂载到/data目录下,把MySQL的数据目录(data)迁移过去. 1.停止MySQL服务: [root@zabbix mysql]# service mys ...

  3. css流式布局

    elem{ width:1160px;/*流式布局的总宽度*/ column-width:375px; -moz-column-width: 375px; /*每列宽度*/ -webkit-colum ...

  4. C++: sprintf浮点数精度控制;

    错误的写法: char buf[100]; int num = 10; sprintf(buf, "%.2f", num); ///这种做法是不对的, 按照压栈顺序, 在压入num ...

  5. Java多线程_复习(更新中!!)

    java多线程的常见例子 一.相关知识: Java多线程程序设计到的知识: (一)对同一个数量进行操作 (二)对同一个对象进行操作 (三)回调方法使用 (四)线程同步,死锁问题 (五)线程通信 等等 ...

  6. CMDB服务器管理系统【s5day91】:资产采集相关问题

    资产采集唯一标识和允许临时修改主机名 class AgentClient(BaseClient): def exec(self): obj = PluginManager() server_dict ...

  7. 金融量化分析【day112】:因子选股

    一.因子选股基础 二.因子选股策略实现代码 # 导入函数库 import jqdata import psutil #初始化函数,设定基准等等 def initialize(context): set ...

  8. [译]Ocelot - Request Id / Correlation Id

    原文 Ocelot可以通过header的形式发送一个requestid.ocelot会将这个requestid转发到下游服务. 如果在日志配置中设置了IncludeScopes为true,那么requ ...

  9. tcp协议的简单理解

    tpc协议属于传输层协议,本篇主要介绍下几个概念,以及握手和挥手的过程. 1.tcp的几个概念 位码:即tcp标志位,有6种提示 SYN:synchronus,表示建立联机. ACK:acknowle ...

  10. eclipse+tomcat出现警告警告: [SetPropertiesRule]...

    启动tomcat出现警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to ' ...