讯飞语音-语音合成

讯飞语音合成(Text-To-Speech,简称 TTS)可以将文本转为自然流畅的语音。提供100+发音人供您选择,支持多语种、多方言和中英混合,可灵活配置音频参数。

概述

讯飞语音合成(Text-To-Speech,简称 TTS)是科大讯飞开放平台提供的一项核心AI能力,可以将文本转为自然流畅的语音,广泛应用于智能客服、语音播报、学习工具、AI配音等场景。

官方文档:https://www.xfyun.cn/doc/tts/online_tts/API.html

在线体验:https://www.xfyun.cn/services/online_tts

核心特点

项目说明
🎤 多音色支持上百种音色可选(男女童音、播音腔、方言等)
🌍 多语言支持中文、英文、粤语、韩语、日语、维语等
🧠 智能断句自动处理标点和语气,合成更自然
🎚 可调参数可控制语速、音量、语调、音色等合成参数

接入方式

特性WebAPI 接口SDK 接入方式
接入方式通过 HTTP 请求或 WebSocket 调用(RESTful API 或流式接口)通过本地 SDK,通常是通过第三方开发平台或本地集成调用
支持平台Web、移动端、后端等多平台(Android、iOS、Windows、Linux、嵌入式设备等)
调用方式直接通过网络调用,支持 HTTP POST 请求、WebSocket 实时请求本地调用,无需手动编写 HTTP 请求,SDK 内置接口处理通信
音频合成方式请求合成,返回合成音频文件或流式返回音频流(边合成边播放)同样支持请求合成和流式返回音频,具体功能视 SDK 提供的接口
鉴权机制需要动态构造鉴权签名,传递至接口鉴权通过 SDK 配置,密钥通常存储在本地,不需要动态生成
资源消耗后端会消耗服务器资源,但不需要本地设备计算需要设备的计算能力,消耗本地计算资源
联网要求需要持续的网络连接在线版 SDK 需要网络连接(如 WebAPI),离线版 SDK 可不需要
音频格式支持多种格式,如 WAV、MP3、PCM 等支持多种音频格式,但格式支持取决于 SDK
集成复杂度对后端开发较为友好,开发人员只需处理 API 调用和音频流数据SDK 集成可能需要更多的依赖配置和平台兼容性调试
安全性需要保护 API 密钥和鉴权信息,避免泄露SDK 内置鉴权机制,密钥通常存储在本地,相对安全

官方Demo

Demo 调用演示:语音合成流式API JAVA-SDK-DEMO一分钟调用视频

Demo 下载:调用示例

JS 语言Demo

下载Demo

下载地址:调用示例


image-20250827105611075

获取密钥

  1. 进入控制台 → 「我的应用」→「创建新应用」, 我的应用
  2. 在左边侧边栏找到:语音合成 → 在线语音合成(流式版),语音合成
  3. 获取Websocket服务接口认证信息

image-20250827105734514

配置密钥

按照 README.md 的说明,在 example/tts/index.js 中配置认证的密钥。

image-20250827105842750

运行测试

使用 Live Server 打开 example/tts/index.html

image-20250827105939115

JAVA 语言Demo

下载Demo

下载地址:调用示例

image-20250827111127936

获取密钥

获取密钥

配置密钥

WebTtsWs 类中配置密钥

image-20250827111350045

运行测试

image-20250827111431947

JAVA-SDK-DEMO

下载Demo

下载地址:调用示例

image-20250827111604320

获取密钥

获取密钥

配置密钥

按照 README.md 在 src/main/resources/test.properties 中配置密钥

image-20250827111731329

运行测试

运行 TtsClientApp.java 进行测试

image-20250827111822423

调用流程说明

参考官方文档:在线语音合成API文档

接口鉴权

接口鉴权与语音听写接口的鉴权方式一致,可以直接参考以下步骤

调用流程说明

接口数据传输与接收

  1. 握手成功后客户端和服务端会建立websocket连接,客户端通过websocket连接可以同时上传和接收数据。
  2. 客户端每次会话只用发送一次文本数据和参数,引擎有合成结果时会推送给客户端。当引擎的数据合成完毕时,会返回结束标识,具体为:
{
	"data":{
        .... #其他参数
        "status":2
    }  
}

请求参数

image-20250920230709601

公共参数

image-20250920230732918

业务参数

image-20250827110649433

业务数据流参数

image-20250920230800474

请求参数示例

{
   "common": {
    	"app_id": "12345678"
   },
   "business": {
        "aue": "raw",
        "vcn": "xiaoyan",
        "pitch": 50,
        "speed": 50
   },
   "data": {
        "status": 2,
        "text": "5q2j5Zyo5Li65oKo5p+l6K+i5ZCI6..."
   }
}

返回参数

image-20250920230848054

返回参数示例

{
 "code":0,
 "message":"success",
 "sid":"ttsxxxxxxxxxxx",
 "data":{
     "audio":"QAfe..........",
     "ced":"14",
     "status":2
 }
}

简单实现

语音合成Demo

相关文章

评论区