ResembleAI/Dramabox
摘要
Dramabox 是 Resemble AI 开发的一个富有表现力的文本转语音模型,通过提示驱动控制来实现说话人身份、情感和表达方式,并可选地使用 10 秒参考音频进行声音克隆。该模型基于 LTX-2.3 音频扩散变换器构建,已在 Hugging Face 上开源。
查看缓存全文
缓存时间: 2026/05/15 06:17
ResembleAI/Dramabox · Hugging Face
来源:https://huggingface.co/ResembleAI/Dramabox
DramaBox (https://www.resemble.ai/learn/models/dramabox)
Dramabox — 带声音克隆的表现力文本转语音
Discord (https://discord.gg/rJq9cRJBJ6)
基于Lightricks开源的LTX-2 (https://github.com/Lightricks/LTX-2)构建。
Dramabox 是Resemble AI的表现力文本转语音模型,基于LTX-2.3音频分支(在LTX-2社区许可下)训练。非常感谢Lightricks团队开源基础模型。
由 ♥️ 制作resemble-logo-horizontal (https://www.resemble.ai/learn/models/dramabox)
Dramabox 是一个提示驱动的文本转语音模型,其中提示本身控制一切——说话人身份、情感、表达、笑声、叹息、呼吸、停顿、过渡。可选10秒语音参考可克隆目标音色。它是一个基于LTX-2.3 3.3B纯音频模型(扩散变压器 + 流匹配)的IC-LoRA微调,以Gemma 3 12B文本嵌入为条件。
快速开始
Python(预热服务器 — 推荐,每段生成约2.5秒)
from src.inference_server import TTSServer
server = TTSServer(device="cuda") # 首次运行自动下载权重
server.generate_to_file(
prompt='A woman speaks warmly, "Hello, how are you today?" '
'She laughs, "Hahaha, it is so good to see you!"',
output="output.wav",
voice_ref="reference.wav", # 可选,目标语音10秒以上
cfg_scale=2.5,
stg_scale=1.5,
duration_multiplier=1.1,
seed=42,
)
CLI
python src/inference.py \
--prompt 'A woman speaks warmly, "Hello, how are you today?"' \
--voice-sample reference.wav \
--output output.wav \
--cfg-scale 2.5 --stg-scale 1.5
推理参数
| 参数 | 默认值 | 作用说明 |
|---|---|---|
prompt | — | 场景描述。对话在"双引号"内,舞台指令在外。见下方“提示格式“。 |
voice_ref(--voice-sample) | None | 可选的10秒以上音频片段,模型会克隆其音色。不提供时,模型会选择一个与描述匹配的声音。 |
cfg_scale | 2.5 | 无分类器引导——输出追随提示的严格程度。值越低越自然,值越高越忠实文本但更戏剧化。内部自动缩放以防止高cfg下削波(见下方自动缩放)。 |
stg_scale | 1.5 | 跳标记引导——通过扰动变压器块路径(块29)施加。增加表达重点而不会像cfg那样饱和。 |
duration_multiplier(--duration-multiplier) | 1.1 | 自动估计语音长度的乘数(10%余量)。仅当gen_duration(或--gen-duration)为0时使用。 |
gen_duration(--gen-duration,“目标时长“滑块) | 0(自动) | 显式输出时长(秒)。设置20-60秒用于音乐或长场景。当>0时覆盖基于提示的估计。 |
ref_duration(--ref-duration,“参考时长“滑块) | 10.0 | 模型条件化的语音参考时长(3-30秒)。参考越长→音色捕捉越丰富,越短→编码越快。 |
seed | 42 | 可复现性。 |
rescale_scale(--rescale-scale) | "auto" | 潜在侧CFG标准差缩放。默认为cfg感知调度(cfg=2以下为0,cfg=10时升至1.0),使输出峰值在任何cfg下都低于0 dBFS。可传入[0, 1]内的任意浮点数覆盖,或传入0禁用。 |
watermark(--no-watermark禁用) | True | 应用Resemble Perth (https://github.com/resemble-ai/Perth) 不可感知神经水印到输出。能抵抗MP3/AAC压缩、常见编辑;检测准确率≈100%。 |
提示格式
<prompt>, "<spoken dialogue>"
双引号内——模型会逐字说出这些内容:
- 对话:
"Hello, how are you?" - 语音化发音(一个词,无分隔符):
"Hahaha"、"Hehehe"、"Mmmmm"、"Ugh"、"Argh"、"Hmm"
引号外——舞台指令被解释为表演提示,不会念出:
She sighs deeply.·He clears his throat.·A long pause.·Her voice cracks.·He gulps nervously.
避免在引号内使用(模型会逐字念出这些词):Sigh、Gasp、Cough、Ahem、Pfft。
示例输出
威严女王 —— 冷怒到恶毒低语
一位威严的女性以冰冷愤怒的声音低沉地说话。她深深叹息,“I have told you a thousand times, and yet here we are again.” 她的声音随着愤怒上升而变得尖锐,“Do you honestly think I enjoy repeating myself?! Do you?!” 她发出一声冷漠、嘲弄的笑声,“Hahaha, how utterly pathetic you are.” 她压低声音,变成恶毒的低语,靠近说,“Now get out of my sight before I do something we will both regret.”
参考 生成
猫娘 —— 控制不住的咯咯笑
一个俏皮的女孩以明亮、歌唱般的声音说话,已经忍不住咯咯笑,“Hehehe, oh my gosh you should see your face right now, it is priceless!” 她在笑声中喘气,“Oh my, hehe, oh my, I cannot stop laughing!” 她试着平静下来,长长地叹了一口气,“Ahhhhh okay okay okay, I will stop, I promise I will stop.” 她靠近并窃窃私语,“But seriously though, between you and me,” 然后立刻又笑场,“Haha, no I, hehehe, I just cannot! You are way too funny, haha!” 她在笑声中发出鼻息声,“Pfft, oh no no no, that was so embarrassing, pretend you did not hear that!”
参考 生成
反派 —— 阴险的笑
一个低沉嗓音的反派带着戏剧性的威胁说话,先是轻轻笑,“Heh heh heh, ha ha ha ha ha! Oh, forgive me, forgive me.” 他带着阴险的笑容喘口气,清了清嗓子。“It is just SO amusing when they struggle, is it not?” 他的声音充满轻蔑,“I expected more from you, truly I did. How disappointing.” 他靠近并用恶毒的口吻低语,“But fear not, my dear. The REAL entertainment has only just begun.” 他最后又轻笑了几声,“Heh heh heh.”
参考 生成
脱口秀主持人 —— 喘息式大笑
一位脱口秀主持人带着生动的热情说话。他夸张地倒吸一口凉气,“No! You did NOT just say that, tell me you did not just say that!” 他爆发出一阵无法控制的大笑,“HAHAHA! Oh my god, oh my god!” 他喘着气,几乎说不出话,“I cannot, I literally cannot breathe right now!” 他擦着眼睛,抽着鼻子,“Oh that is so good, that is really genuinely good.” 他满意地叹了口气,“Ahhh okay okay, let me compose myself, I am a professional.” 他吸了一口气,立刻又笑开了,“Pfft hehehe, no I absolutely cannot, I am so sorry everybody!” 他鼓起掌来,“Folks, THIS, this right here, is why I love my job!”
参考 生成
足球解说员 —— 马丁·泰勒风格
马丁·泰勒,一位冷静、权威的英国足球解说员,以流畅、平稳的语速,通过精确的时机和克制的戏剧性逐渐营造紧张感。“And here he comes… into the kitchen… opens the fridge…” 他平稳地说道,同时想象中的人群嗡嗡声开始升起。“You sense a moment here… the options are there…” 他的声音沉稳,带有观察性。“Milk… eggs… leftovers… he considers them…” 稍作停顿,人群开始期待。“No… he moves past them…” 他的语气中透入一丝好奇。“Now this is interesting…” 人群声渐起,一种低沉的嗡嗡声在背后积聚。“He’s taking his time… weighing every option…” 他继续平静地说。突然一片寂静。“Wait a moment… he’s reaching…” 停顿延长——然后——“He’s got the juice!” 他的声音扬起,克制但明显兴奋。一瞬间的沉默——然后人群爆发。“And listen to that! The place has absolutely erupted!” 他说道,同时雷鸣般的欢呼、喊叫和掌声回荡在空气中。“They’re on their feet—what a reaction to a moment of pure decision-making!” 他的声音在喧嚣中略微提高。吼声继续,回响不绝。“Extraordinary scenes… simply extraordinary…” 他补充道,让声音承载这一刻。“And in the end… it’s the juice that wins it…” 他总结道,人群慢慢消退,但仍嗡嗡作响。
参考 生成
后街男孩 —— 流行和声
后街男孩,一个精致的90年代末男团,拥有五个平滑、和声的男声,以丰富、情感丰富的层次融合,配合干净的流行制作。“Step by step… out the door… new day… ready for more…” 他们以柔和、同步的和声演唱。一个声音向前一步,以温暖、真诚的主音开口。“Keys in my hand… got my plan… heading out right on time…” 其他人以丰富的伴唱在他身后涌起。“Don’t be late… gotta move…” 然后 “city’s calling my name…” 他们的声音一起扬起,流畅而振奋。“Tell me why… every morning feels the same…” 他们带着怀旧的温暖唱道。和声以精准的精悍收紧。“But I know… I’m on my way again…” 然后 “Coffee in my hand…” 稍作停顿,现在更柔和。“I’m ready to go…” 整个团队以明亮、统一的副歌回归。“We’ll make it our way…” 他们以自信的能量唱道。“Through the rush, through the noise, we keep moving strong, yeah!” 他们以流畅的分层和声和愉悦的动感结束。
参考 生成
文件
| 文件 | 大小 | 内容说明 |
|---|---|---|
dramabox-dit-v1.safetensors | 6.6 GB | 纯音频DiT(LoRA已合并到基础模型中) |
dramabox-audio-components.safetensors | 1.9 GB | 音频嵌入连接器 + 音频文本投影 + 音频VAE + 声码器 |
unsloth/gemma-3-12b-it-bnb-4bit (https://huggingface.co/unsloth/gemma-3-12b-it-bnb-4bit) | ~8 GB | 文本编码器(首次运行时自动下载) |
VRAM:峰值约24 GB(预热服务器)。 速度:预热后在H100上约2.5秒/段生成。
水印
inference.py和TTSServer.generate_to_file的每个输出都会自动添加Resemble Perth (https://github.com/resemble-ai/Perth) 水印——一种不可感知的神经水印,能抵抗MP3压缩、音频编辑和常见操作,同时保持近100%的检测准确率。
import perth, librosa
wav, sr = librosa.load("output.wav", sr=None, mono=True)
detector = perth.PerthImplicitWatermarker()
print(detector.get_watermark(wav, sample_rate=sr)) # 我们的输出结果约为 1.0
调试时可通过--no-watermark(CLI)或watermark=False(Python)禁用。
许可与致谢
Dramabox 是Resemble AI对LTX-2 (https://github.com/Lightricks/LTX-2)的微调版本。根据LTX-2社区许可协议分发——见LICENSE (https://huggingface.co/ResembleAI/Dramabox/blob/main/LICENSE)。
再次感谢Lightricks发布基础模型。
相似文章
DramaBox by Resemble AI
DramaBox by Resemble AI 将场景描述转换为 AI 生成的人声表演。
DramaBox - 基于LTX 2.3的最具表现力语音模型
DramaBox是一个基于LTX 2.3的高度表现力语音模型,由Resemble AI发布,其开源代码和模型可在GitHub和Hugging Face上获取。
@zohaibahmed: @resembleai研究团队的新语音AI模型:Dramabox!一个语音AI模型应该给你两样东西:奥斯卡级别的表演和可验证的签名,以证明它是你的。
Dramabox,来自Resemble AI的全新开源语音AI模型,声称既能提供高质量的表演效果,又能提供可验证的签名以证明其真实性。
DramaBox:基于舞台提示构建的开源权重TTS模型
DramaBox是一个基于LTX-2.3微调的开源权重TTS模型,利用舞台提示(stage directions)生成富有表现力的语音,并支持通过10秒样本进行可选的语音克隆。
@multimodalart: 他们只提取了LTX-2.3的音频部分,针对TTS任务进行了微调,实现了SOTA级别的TTS情感控制???试试看……
LTX-2.3模型音频组件的微调版本在文本转语音中实现了最先进的情感控制,现已在Hugging Face Space上以DramaBox(由ResembleAI提供)的形式提供。