跳转到主要内容
实时

Qwen-TTS realtime Java SDK

实时语音合成 Java SDK

模型和音色选项请参见实时流式语音合成

快速开始

两种交互模式的使用流程相同:构建 QwenTtsRealtimeParam,创建带回调的 QwenTtsRealtime 实例,连接服务、配置会话、发送文本并关闭连接。完整示例和教程请参见实时语音合成
  • 服务端提交模式server_commit):由服务端决定何时合成缓冲区中的文本,适用于大多数场景。
  • 客户端提交模式commit):由客户端调用 commit() 触发合成,延迟最低,但需要自行管理句子边界。

请求参数

QwenTtsRealtimeParam

构建 QwenTtsRealtimeParam 对象,传入 QwenTtsRealtime 构造函数。
参数类型必选说明
modelString模型名称。参见支持的模型
urlStringWebSocket 端点。默认值:wss://dashscope.aliyuncs.com/api-ws/v1/realtime,无需显式设置;仅连接自定义端点时才需指定。

QwenTtsRealtimeConfig

构建 QwenTtsRealtimeConfig 对象,传入 updateSession() 方法。
参数类型必选说明
voiceString合成音色。系统音色:适用于 Qwen3-TTS-Instruct-Flash-Realtime、Qwen3-TTS-Flash-Realtime 和 Qwen-TTS-Realtime。试听请参见支持的音色自定义音色:通过声音复刻(Qwen)创建(仅限 Qwen3-TTS-VC-Realtime)或通过声音设计(Qwen)创建(仅限 Qwen3-TTS-VD-Realtime)。
languageTypeString输出音频的语言。默认值:Auto(模型按片段自动检测语言,准确性无法保证)。指定语言可提升单语言文本的合成质量。可选值:ChineseEnglishGermanItalianPortugueseSpanishJapaneseKoreanFrenchRussian
modeString交互模式。server_commit(默认):服务端自动决定合成时机,兼顾延迟和质量。commit:客户端触发合成,延迟最低,需自行管理句子边界。
formatString音频输出格式。可选值:pcm(默认)、wavmp3opus。Qwen-TTS-Realtime 仅支持 pcm。参见支持的模型
sampleRateint采样率,单位 Hz。可选值:80001600024000(默认)、48000。Qwen-TTS-Realtime 仅支持 24000。参见支持的模型
speechRatefloat语速倍率。范围:[0.5, 2.0],默认值:1.0。Qwen-TTS-Realtime 不支持此参数。
volumeint音量。范围:[0, 100],默认值:50。Qwen-TTS-Realtime 不支持此参数。
pitchRatefloat音调倍率。范围:[0.5, 2.0],默认值:1.0。Qwen-TTS-Realtime 不支持此参数。
bitRateint音频比特率,单位 kbps。范围:[6, 510],默认值:128。仅适用于 opus 格式,值越高音质越好但文件越大。Qwen-TTS-Realtime 不支持此参数。
instructionsString用于控制语音风格的指令文本,最长 1,600 tokens,仅支持中文和英文。仅适用于 Qwen3-TTS-Instruct-Flash-Realtime。参见指令控制
optimizeInstructionsboolean优化 instructions 以获得更自然的合成效果。默认值:false。未设置 instructions 时无效。仅适用于 Qwen3-TTS-Instruct-Flash-Realtime。
enableTnboolean是否启用文本归一化(Text Normalization)。默认值:true

API 参考

QwenTtsRealtime 类

import com.alibaba.dashscope.audio.qwen_tts_realtime.QwenTtsRealtime;
方法签名服务端事件说明
connectpublic void connect() throws NoApiKeyException, InterruptedExceptionsession.createdsession.updated建立 WebSocket 连接。
updateSessionpublic void updateSession(QwenTtsRealtimeConfig config)session.updated更新会话配置。在 connect() 之后立即调用以覆盖默认设置。服务端会校验参数,无效时返回错误。
appendTextpublic void appendText(String text)向服务端输入缓冲区追加文本。server_commit 模式下由服务端决定合成时机;commit 模式下需调用 commit() 触发合成。
clearAppendedTextpublic void clearAppendedText()input_text_buffer.cleared清空服务端输入缓冲区中的所有文本。
commitpublic void commit()input_text_buffer.committedresponse.output_item.addedresponse.content_part.addedresponse.audio.deltaresponse.audio.doneresponse.content_part.doneresponse.output_item.doneresponse.done提交缓冲区文本并开始合成。缓冲区为空时返回错误。server_commit 模式下服务端自动提交;commit 模式下需调用此方法触发合成。
finishpublic void finish()session.finished停止当前任务。
closepublic void close()关闭 WebSocket 连接。
getSessionIdpublic String getSessionId()返回当前会话 ID。
getResponseIdpublic String getResponseId()返回最近一次响应 ID。
getFirstAudioDelaypublic long getFirstAudioDelay()返回首个音频包的延迟时间,单位毫秒。
cancelResponsepublic void cancelResponse()取消当前合成响应。

QwenTtsRealtimeCallback 接口

import com.alibaba.dashscope.audio.qwen_tts_realtime.QwenTtsRealtimeCallback;
方法参数说明
onOpen()WebSocket 连接建立时调用。
onEvent(JsonObject message)message:服务端事件数据。收到服务端事件时调用。事件类型参见服务端事件
onClose(int code, String reason)code:WebSocket 关闭状态码。reason:关闭原因。服务端关闭连接时调用。

后续步骤