项 | 内容 |
|---|---|
| 函数签名 | streamSpeech(options: TTSRequestOptions): Promise<DoStreamSpeechOutput> |
| 返回类型 | Promise<DoStreamSpeechOutput> (AsyncIterable<TTSStreamChunk> ) |
| 调用方式 | 通过 this.createModel("<tts-model>") 获取模型实例后调用 |
| 适用场景 | 长文本合成、低延迟首包、实时语音输出 |
字段 | 类型 | 描述 |
|---|---|---|
audio | Buffer | 音频分片( sentence-begin / sentence-end 事件可为空) |
event | "sentence-begin" | "sentence-synthesis" | "sentence-end" | 当前句子事件类型 |
sentence.index | number | 句子序号 |
sentence.originalText | string | 原始句子文本(部分事件返回) |
const ttsModel = this.createModel("cosyvoice-v3-flash");
const stream = await ttsModel.streamSpeech({
text: "这是一段较长内容,用于演示流式语音合成。",
voice: "longanyang",
format: "mp3",
});
for await (const chunk of stream) {
if (chunk.event === "sentence-synthesis" && chunk.audio.length > 0) {
// 处理音频分片
}
}
try {
const stream = await ttsModel.streamSpeech(options);
for await (const chunk of stream) {
// consume chunks
}
} catch (err) {
// 处理网络抖动/任务失败并按策略重试
}