速度·韵律调节
快速开始建议:先只调 speed
大多数情况下,除 speed 之外的参数保持默认听起来最自然。
pitch_scale 或 intonation_scale 偏离 1.0 时会伴随轻微的音质下降。
"只是想稍微快一点/慢一点"的话,先只调 speed,其余的等到需要时再前往 高级参数 部分。
generate() 接受六个可调节语速·音高·韵律·变化度的关键字参数。
全部可省略,不传任何参数时使用训练时的默认值进行合成。
以下示例均使用 tsukuyomi_chan 说话人,朗读同一句话("今日はどんな国に辿り着くのでしょうか。新しい出会いが楽しみです。"),仅改变该参数。
参数行为与 HayaKoe 所 fork 的 Style-Bert-VITS2 的 infer() 相同。
speed — 语速
以默认值 1.0 为基准,值越小越快,值越大越慢。
内部机制是将 Duration Predictor 预测的音素时长直接乘以 speed,因此发音本身能保持良好。

低于 0.8 时发音会模糊,超过 1.3 时更接近"拖沓"而非"慢"。
实际使用中 0.9 ~ 1.1 左右最自然。
speaker.generate(text, speed=0.9) # 稍快
speaker.generate(text, speed=1.1) # 稍慢高级参数
从这里开始的设置在默认值下已经足够自然,但当需要精细调节时可以使用。
总览
| 参数 | 默认值 | 建议范围 | 效果 |
|---|---|---|---|
pitch_scale | 1.0 | 0.95 ~ 1.05 | 音高倍率。偏离 1.0 时会有轻微音质下降 |
intonation_scale | 1.0 | 0.8 ~ 1.3 | 韵律起伏。偏离 1.0 时会有轻微音质下降 |
sdp_ratio | 0.2 | 0.0 ~ 0.5 | 确定性 DP 与随机性 SDP 的混合比例 |
noise | 0.6 | 0.3 ~ 0.9 | 语音变动性(音色随机性) |
noise_w | 0.8 | 0.5 ~ 1.2 | 发话节奏变动性(SDP 噪声) |
建议每次只调整一个参数。
下面的示例为了让差异可以被听出,刻意将值推到了建议范围之外。
pitch_scale — 音高
整体提高或降低音高的简单倍率。
偏离 1.0 时会伴随轻微的音质下降,因此 建议调整幅度比其他参数更小。

在 0.95 ~ 1.05 范围内说话人特征基本保持不变,但在极端值下会变成"另一个人"或音质明显下降。
speaker.generate(text, pitch_scale=1.05)intonation_scale — 韵律起伏
调节韵律变化的"幅度"。
0.0 几乎是完全单调的机器人音,2.0 是夸张的朗读音。
与 pitch_scale 一样,偏离 1.0 时会有轻微的音质下降。

实际使用中 0.85 ~ 1.3 左右自然。
speaker.generate(text, intonation_scale=1.2)sdp_ratio — 确定性/随机性时长预测混合
HayaKoe(和 Style-Bert-VITS2)同时使用两种时长预测器。
- DP (Deterministic Duration Predictor) — 对相同文本始终给出相同时长
- SDP (Stochastic Duration Predictor) — 每次调用给出略有不同的时长
sdp_ratio 是两个预测器的混合比例,0.0 表示仅用 DP,1.0 表示仅用 SDP。
值越高,句子内的节奏起伏越大,同一文本多次运行时结果每次都不同。

对可复现性要求较高的服务(例如:字幕时间轴固定)中设为 0.0,一次性生成则 0.2 ~ 0.4 比较自然。
speaker.generate(text, sdp_ratio=0.0) # 总是相同noise / noise_w — 语音 · 节奏变动性
各自作用于不同阶段的噪声(不是音素本身的噪声)。
noise— 语音变动性。在 Flow 阶段控制音色的整体随机性。与sdp_ratio无关,始终有效。noise_w— 发话节奏变动性。输入 SDP(随机性预测器)的噪声。sdp_ratio为 0 时无效。
以下示例保持其余参数为默认值,仅改变该噪声。


大多数情况下保持默认值(0.6、0.8)最自然。
如果觉得"总是在抖动",试着稍微降低该侧噪声;如果觉得"太机械化",试着稍微提高。
