一款通过简短录音和文本克隆声音,并能在台词之间加入笑声或叹息声的语音合成模型已公开。Lure TTS 还提供在生成结束前即可输出声音的引擎,让语音内容开发者能够构建结合参考声音与表演指令的服务。
1. 用简短参考音频克隆声音
Lure 是一款拥有 6 亿参数、仅支持英语的文本转语音模型。参数是模型在学习过程中调整的数值。提供 3~12 秒的参考音频及对应录音文本后,它便能用该声音生成新句子。输出为 24kHz、仅有一个声道的单声道音频。
模型卡中的词错误率指标 Seed-TTS WER 显示,Lure(6 亿参数)为 1.51,Fish Drama 3(350 亿参数、混合专家架构)为 1.54。评估自然度的 LibriSpeech-PC UTMOS 中,Lure 为 4.43,在对比表中最高,Qwen3-TTS(6 亿~17 亿参数)为 4.41。开发团队采用各评测的官方脚本和决定生成结果方式的默认采样,对每句生成一次,对比模型则采用各自开发团队公布的数值。
2. 说话过程中的音效与表演指令
用户可在台词中需要声音的位置插入圆括号标签。例如,(sigh) 表示叹息,(sharp inhale) 表示急促吸气,模型的设计目标是以声音表现这些标签,而不是将其念出。模型卡建议每句加入一两个标签。
单独提供的简短表演指令可调节情绪、语速、音高和呼吸。这类似于向演员递交剧本时附上表演备注。指令是可选项,省略时模型会依据台词和标签进行表演。
3. 适用于多种环境的流式引擎
同步公开的引擎通过统一的 Python API、命令行工具和 OpenAI 兼容服务器,整合面向 Mac、NVIDIA GPU 和 CPU 的运行后端。服务器提供 POST /v1/audio/speech,可供现有 OpenAI 客户端使用。
音频在生成过程中以约 0.32 秒为单位持续输出,长输入会按句拆分并依次流式传输。NVIDIA 后端最多可将 8 个并发请求合并处理。
简单的 Python 使用示例如下。
from lure_tts import Lure
tts = Lure.load("models/lure")
voice = tts.make_voice("reference.wav", "Transcript of the reference clip.", name="me")
tts.speak("Wait, you're staying? (sharp inhale) Since when?", voice,
instruct="Sudden, bright shock, then a caught breath.", out="out.wav")
for pcm in tts.stream("(sigh) Fine. I'm in.", "me"): # float32 chunks at 24 kHz
...4. H100 性能与 Turbo 的速度
代码仓库在 H100 上预热后,以默认 72 帧解码上下文测量了单个请求。首音频时间(TTFA)随首个音频块所积累的帧数而变化,音频块是一次传输的声音片段。批处理槽位是容纳请求的位置数量,两种槽位设置均用于单请求测试。
表:在 H100 上测得的流式性能
条件:H100,预热后,默认解码上下文 72 帧,每次一个请求
单位:TTFA 为秒,每帧耗时为毫秒
| 模型·批处理槽位数 | 首块 4 帧 TTFA | 首块 1 帧 TTFA | 首帧之后的每帧耗时 | RTF |
|---|---|---|---|---|
| Lure·1 | 0.283 | 0.229 | 18.4 | 0.23 |
| Lure·8 | 0.331 | 0.266 | 19.6 | 0.25 |
| Turbo·1 | 0.168 | 0.149 | 11.4 | 0.14 |
| Turbo·8 | 0.200 | 0.167 | 12.4 | 0.15 |
RTF 是生成时间与音频时长的比值,小于 1 表示生成速度快于播放速度。H100 表格中,在槽位数相同时,Turbo 的首音频等待时间和每帧处理时间均更短。
Turbo 是一种将每帧音频编码的顺序预测次数从 15 次降至 3 次的变体。音频编码是对声音信息进行编码得到的值。根据代码仓库公布的数据,在 L4 上合并 8 个流时,编码预测阶段的速度约为原来的 3.4 倍。
在其他设备上的短句测试中,M5 16GB 使用 MLX 后端录得 RTF 0.79,16 vCPU 环境下的 CPU 构建版本则为 6.64。vCPU 是虚拟分配的处理单元。前者能跟上实时播放,后者的结果则适合离线生成。
代码仓库使用相同声音和种子,对 13 个案例各生成两次进行测试,M5 上 MLX 的说话人相似度(ECAPA)为 0.533,cpp Metal 为 0.527,低于基准运行(qwen-tts,L4)的 0.575 和合格线 0.545。MLX 虽达到实时速度,但说话人特征保留未达标准,相似度下降的原因尚未确定。
5. 开发阶段的注意事项
简短录音即可同时构建声音与表现方式,但准备输入和检查结果仍需投入工作。参考音频应选择单人说话的干净录音,文本必须与实际发言完全一致。因为输出也会继承参考音频的麦克风特征和房间混响。模型卡提示,克隆真实人物的声音应取得本人同意。
如果少见的声音标签被遗漏,建议更换作为生成初始值的种子后重新生成。通过指令改变口音、年龄和性别的能力弱于大型指令训练模型。
Lure TTS 带来的实用变化,是将声音克隆与台词中的声音表现整合进同一输入流程,并以流式方式交付结果。
