|
|
@@ -120,12 +120,18 @@ export class EdgeTtsProvider implements ITtsProvider {
|
|
|
'--write-media', finalPath,
|
|
|
];
|
|
|
|
|
|
- // 语速映射:speed 0.5~2.0 → rate -50%~+100%
|
|
|
- // 注意:使用 --rate=<value> 格式而非 --rate <value>,避免 shell 解析负值参数
|
|
|
+ // 语速策略:Edge TTS 的 --rate 是后处理时间拉伸(与 HTML5 audio.playbackRate / ffmpeg
|
|
|
+ // atempo 等价),听感上和"播放器减速"完全一样,没必要在服务端做一遍(会增加处理、
|
|
|
+ // 文件大小、调试复杂度)。所以 Edge TTS 路径下强制忽略 voiceParams.speed,永远按 1.0
|
|
|
+ // 生成;用户想要慢速,请直接用播放器 UI 上的倍速按钮。
|
|
|
+ //
|
|
|
+ // 注意:大模型 TTS(阿里云 Qwen-TTS Instruct / CosyVoice)走的是模型级慢速生成,
|
|
|
+ // 听感比后处理更好,那条路径保留 speed 参数(见 aliyun.provider.ts)。
|
|
|
if (params.speed !== undefined && params.speed !== 1) {
|
|
|
- const ratePercent = Math.round((params.speed - 1) * 100);
|
|
|
- const sign = ratePercent > 0 ? '+' : '';
|
|
|
- args.push(`--rate=${sign}${ratePercent}%`);
|
|
|
+ console.log(
|
|
|
+ `[EdgeTTS] 忽略用户/AI 设置的 speed=${params.speed},强制按 1.0 生成。` +
|
|
|
+ `如需慢速,请在播放器 UI 上调倍速(Edge TTS 的 --rate 与之等价)。`,
|
|
|
+ );
|
|
|
}
|
|
|
|
|
|
// 音调映射:pitch -500~500 → pitch -50Hz~+50Hz
|