dots.tts.edit V1.1 小红书开源的端到端语音编辑模型
dots.tts.edit V1.1是什么
dots.tts.edit V1.1是小红书开源的端到端语音编辑模型,支持局部风格描述编辑。dots.tts.edit V1.1能直接修改已有录音,替换个别字词、改变句子语气(如转成悲伤)、调整片段语速,同时保持其余部分的内容与音色不变,多处修改可一次完成,语音自然流畅。同时韵律与情感编辑效果大幅提升,综合表现开源领先。

dots.tts.edit V1.1的主要功能
- 文本编辑 :替换、插入或删除录音中的个别字词(如把 brave 改成 small),其余内容保持不变。
- 情感编辑 :把某句话改成指定情绪,如将语气变为悲伤。
- 韵律编辑 :调节局部音高和语速,如放慢某个片段的说话速率。
- 停顿编辑 :在指定的文字边界处增删停顿,控制语句节奏与断句。
- V1.1 新增局部风格描述编辑 :支持用自由形式的自然语言风格描述对局部片段进行编辑,且韵律与情感编辑效果显著提升。
- 组合编辑 :多处修改可在一次请求中同时完成,并保持整段语音流畅自然。
dots.tts.edit V1.1的技术原理
- 转录稿锚定的半形式化编辑指令 :模型用一种语义时间线式的编辑接口:用结构化的操作标签(如 sub 、 del 、 ins 、 emo 、 pitch 、 rate 、 pause/ )把操作类别和参数绑定到转录稿的具体文本片段或边界上。避免显式的时间戳对齐,又让组合编辑成为一份外部可检查、可校验的契约,歧义指令会被直接拒绝。
- 基于连续自回归架构的编辑模型 :dots.tts.edit 构建在 dots.tts 的连续自回归语音生成架构上:冻结的 AudioVAE 先将 48 kHz 音频编码为连续潜变量;语义编码器把新生成的音频块压缩成紧凑嵌入,送入以 Qwen2.5-1.5B 初始化的 LLM;LLM 每个音频步输出一个隐状态,驱动一个流匹配(flow-matching)DiT 声学头对下一个音频块去噪,并用冻结的 CAM++ 说话人 x-vector 作为侧输入。
- 任务驱动的数据构造管线 :针对每类编辑操作设计专门的数据管线,构造操作-范围受控的训练样本对:目标区域按指令要求被修改,区域之外的内容一律保留源音频的原始上下文,教会模型精确执行编辑、同时保持未编辑部分的局部一致性。
- 双语基准 doteBench 与性能验证 : 配套发布 doteBench 基准,含 2081 个中英文测试用例,覆盖文本、情感、韵律、停顿及组合编辑,从指令遵循、局部保留和音频质量三个维度评估。实验显示模型在五类编辑任务上指令遵循与局部保留均领先开源方案,音频质量与现有开源系统相当;在 Seed-TTS-Eval 上与基座 TTS 模型的识别错误率和说话人相似度差异可忽略,说明编辑能力不牺牲合成质量。

如何使用dots.tts.edit V1.1
- 环境准备 :创建 Python 3.10–3.12 的 conda 环境并激活( conda create -n dots_tts python=3.10 -y conda activate dots_tts )。
- 安装包 :执行 pip install dots.tts 从 PyPI 安装,或 clone 仓库后 pip install -e . -c constraints/recommended.txt 本地安装。
- 准备源音频 :准备一段需要编辑的录音文件,转录文本可选,不填时模型会从指令中自动推导。
- 编写编辑指令 :用结构化标签写一条编辑指令,如把 brave 替换为 small 写作 'Hello sub targ="small"brave/sub world.' ,标签还支持 del 、 ins 、 emo 、 pitch 、 rate 、 enhance 、 pause/ 、 spk_transfer/ 。
- 命令行执行编辑 :运行 dots.tts.edit --model-name-or-path dots-studio/dots.tts.edit --source-audio /path/to/source.wav --instruction '...' --output edited.wav ,模型会在首次使用时自动下载并缓存。
- 用 Python API 调用 :用 DotsTtsEditRuntime.from_pretrained("dots-studio/dots.tts.edit", precision="bfloat16") 加载后调用 generate_edit(source_audio_path=..., instruction=...) 生成编辑结果。
- 使用编辑 Playground 网页界面 :进入 apps/edit_playground/frontend 执行 npm ci npm run build ,再运行 python apps/edit_playground/app.py --model-name-or-path dots-studio/dots.tts.edit --optimize 后在浏览器中可视化操作。
- 控制说话人指引 :编辑指令为纯情感/背景类操作时默认关闭 x-vector 说话人指引,文本/音高/语速类编辑默认开启,可用 --use-xvector on/off 强制指定。
- 采样设置 :默认 num_steps=10 、 guidance_scale=1.2 ,质量不满意时可提高步数至 10–32 之间重试。
- 在线快速体验 :直接使用 Hugging Face Space( dots-studio-dots-tts-edit.hf.space )上传音频并输入指令在线试听。
dots.tts.edit V1.1的核心优势
- 精准可控 :基于转录稿锚定的结构化编辑指令,把修改操作精确绑定到目标文本片段。
- 局部保持能力强 :编辑只作用于目标区域,其余部分的文本内容与音色、韵律特征原样保留,综合表现开源领先。
- 多维度编辑覆盖 :支持文本替换/插入/删除、情感、音高语速、停顿及说话人迁移五类操作,V1.1 新增自由形式局部风格描述编辑。
- 组合编辑一次完成 :多处不同类型的修改可在单次推理中并行执行,整段语音依然流畅自然。
- 连续自回归架构,音质无损 :基于无离散 token 的连续生成架构(48 kHz AudioVAE + LLM + 流匹配声学头),编辑后音频质量与基座 TTS 合成效果相当。
dots.tts.edit V1.1的项目地址
- GitHub仓库 :https://github.com/studio-dots-ai/dots.tts
- HuggingFace模型库 :https://huggingface.co/dots-studio/dots.tts.edit
- arXiv技术论文 :https://arxiv.org/pdf/2608.02673
dots.tts.edit V1.1的同类竞品对比
对比维度 | dots.tts.edit V1.1(小红书) | IndexTTS 2(bilibili)
| 对比维度 | dots.tts.edit V1.1(小红书) | IndexTTS 2(bilibili) |
|---|---|---|
| 产品定位 | 端到端语音编辑模型:直接修改已有录音 | 工业级零样本TTS:克隆音色生成新语音 |
| 工作方式 | 保留原录音,只重生成被编辑的局部片段 | 输入文本整段重新合成,不保留原录音波形 |
| 文本修改 | 支持替换/插入/删除,未改部分逐字保留 | 改字需整段重合成,无法保证未修改部分与原录音一致 |
| 情感控制 | 局部情感编辑,V1.1新增自由形式风格描述编辑 | 参考音频/8维情绪向量/文本描述,作用于整句 |
| 韵律/语速 | 局部音高、语速编辑,只改指定片段 | 整段时长/语速控制(0.5x–2.0x) |
| 组合编辑 | 多处不同类型修改可一次推理完成 | 不支持 |
| 指令接口 | 转录稿锚定结构化标签,无需时间戳,可程序化校验 | 文本提示+情绪向量 |
| 架构 | 48kHz AudioVAE + Qwen2.5-1.5B LLM + 流匹配DiT,无离散token | 1.5B自回归GPT-style TTS |
| 语言支持 | 中英双语(doteBench双语基准2081用例) | 中英为主(2.5版扩展日/西/阿语) |
| 开源协议 | Apache-2.0,代码+权重+数据管线全开放 | Bilibili自定义协议,商用需确认条款 |
dots.tts.edit V1.1的应用场景
- 播客与有声书后期 :读错的字、不满意的语气无需重新录制,直接局部修改即可,大幅降低返工成本。
- 配音与影视制作 :为同一台词快速生成悲伤、激动等不同情绪版本,方便导演比对选优。
- 短视频与口播内容 :创作者修改口误或调整语速节奏,保持原有音色不变,一条素材多次复用。
- 在线教育与课程录制 :修订课程中的错误表述或更新过期内容,不必整课重录。
- 语音助手与客服系统 :快速修正提示语音本、调整应答语气,避免重新录制整套语音库。
相关工具
与本文相关的 AI 工具