上周调试一个车载语音项目,客户提了个需求:“能不能让导航语音听起来像我们老板的声音?他录三句话就行。” 当时我心里咯噔一下——这要是搁两年前,得专门录几十小时数据重新训练模型,现在倒是可以试试风格迁移。今天我们就聊聊怎么让 TTS 开口说人话,还能带上点“人味儿”。
从频谱图上的“指纹”说起
语音风格的本质是什么?我们训练 baseline 模型时,往往只关注文本到语音的映射,但同一个句子不同人说出来,频谱图上的差异肉眼可见。基频轨迹、共振峰带宽、音节间过渡的平滑度……这些细节构成了声音的“指纹”。OpenClaw TTS 的风格迁移模块,本质上是在学习如何解耦内容与风格。
先看一段实际调试用的代码片段:
# 风格编码器初始化style_encoder=StyleEncoder(input_dim=80,# Mel谱维度hidden_dim=25