# 使用讯飞语音合成Api批量合成Mp3格式语音文件 **Repository Path**: didi2050/iflytek_speech_synthesis ## Basic Information - **Project Name**: 使用讯飞语音合成Api批量合成Mp3格式语音文件 - **Description**: 主要基于科大讯飞语音合成的Api,实现了脚本文件内文字的批量合成,并保存为Mp3格式的语音文件 源库 https://gitee.com/blastar/iflytek_speech_synthesis - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2021-10-22 - **Last Updated**: 2021-10-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 使用讯飞语音合成Api,批量合成Mp3格式语音文件 #### 介绍 主要基于科大讯飞语音合成的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)) } ``` ![](https://images.gitee.com/uploads/images/2020/0628/110352_0193c972_5001996.png "截屏2020-06-28 上午11.03.35.png") ![](https://images.gitee.com/uploads/images/2020/0628/141111_0a9da681_5001996.png "截屏2020-06-28 下午2.09.56.png") 2. 将待合成的文本内容,复制到`script.txt`脚本文件中 示例如下: ``` 使用讯飞语音合成接口,批量合成Mp3格式语音文件 主要基于科大讯飞语音合成接口,实现了脚本文件内文字的批量合成,并保存为Mp3格式的语音文件 ``` 3. `node tts-ws-node.js`执行程序,控制台会输出合成情况信息 ![](https://images.gitee.com/uploads/images/2020/0628/110242_1f3d7b68_5001996.png "截屏2020-06-28 上午10.36.59.png") 4. 待执行结束后,在`output`文件中就生成了相应的语音文件 ![](https://images.gitee.com/uploads/images/2020/0628/110656_9f9c2982_5001996.png "截屏2020-06-28 上午11.05.01.png")