使用讯飞语音合成Api,批量合成Mp3格式语音文件

2020-06-28  本文已影响0人  羞羞的王大锤

在最近的一个项目中,需要制作系统的操作视频并配音,试了一下科大讯飞的在线语音合成感觉不错,于是想将解说词写到脚本文件中,直接批量生成多个语音文件,用语音文件给视频添加配音,于是就有了下面的demo

介绍

主要基于科大讯飞语音合成的Api,实现了脚本文件内文字的批量合成,并保存为Mp3格式的语音文件

安装教程

  1. 拉取代码到本地
  2. npm install安装依赖

使用说明

  1. 在运行之前,需要填写自己的appid、apiSecret、apiKey及相应的信息
// 系统配置 
const config = {
    // 请求地址
    hostUrl: "wss://tts-api.xfyun.cn/v2/tts",
    host: "tts-api.xfyun.cn",
    //在控制台-我的应用-在线语音合成(流式版)获取
    appid: "XXXXXXX",
    //在控制台-我的应用-在线语音合成(流式版)获取
    apiSecret: "XXXXXXXXX",
    //在控制台-我的应用-在线语音合成(流式版)获取
    apiKey: "XXXXXX",   
    uri: "/v2/tts",
} 

每次合成是需设置参数

    // 传输数据
    function send(text) {
        let frame = {
            // 填充common
            "common": {
                "app_id": config.appid
            },
            // 填充business
            "business": {
                "aue": "lame",
                "sfl": 1, //存储为Mp3格式
                "auf": "audio/L16;rate=16000",
                "vcn": "x2_chaoge", //发音人,讯飞提供了基础发音人(免费)、特色发音人
                "tte": "UTF8",
                "speed":40
            },
            // 填充data
            "data": {
                "text": Buffer.from(text).toString('base64'),
                "status": 2
            }
        }
        ws.send(JSON.stringify(frame))     
    }
image image
  1. 将待合成的文本内容,复制到script.txt脚本文件中
    示例如下:
使用讯飞语音合成接口,批量合成Mp3格式语音文件
主要基于科大讯飞语音合成接口,实现了脚本文件内文字的批量合成,并保存为Mp3格式的语音文件
  1. node tts-ws-node.js执行程序,控制台会输出合成情况信息
image
  1. 待执行结束后,在output文件中就生成了相应的语音文件
image

最后 🙌

已将工程代码传到了码云上欢迎大家白嫖
好啦,以上就是我本次分享的全部内容啦,如果你觉得我的文章对你有一丢丢帮助,那么请不要吝啬你的赞👍哦,阿门~

上一篇 下一篇

猜你喜欢

热点阅读