Skip to content

Releases

全能音声工作台 · 补丁 v0.33

Choose a tag to compare

@Mars-1438 Mars-1438 released this 03 Nov 20:35

从一份台本,到一部可以直接交付的音声作品。

这一版补的不是新花样,而是整条流水线最容易翻车的两段:配音改完之后编排还在不在,
以及一次处理几百上千条时会不会悄悄出错。


一、换了音色,音效还站在原来那句旁边

最真实的场景不是「从零做一条音声」,而是原片已经剪好、音效也对好了位置,现在只想换个人声重录。
难点在于换音色必然改变时长 —— 我们拿一条 71 秒的片段实测:重录后变成 81 秒,
单句最长变成 2.94 倍、最短只剩 0.45 倍。音效如果按秒数硬搬,第 44 秒的关门声就会跑到别的句子上。

现在的做法是按字幕序号对位,不按秒数:

  1. 先判断这个音效落在第几条字幕(用你载入的那份 srt 判);
  2. 再找工程里同一条字幕对应的那句;
  3. 按句内相对位置放回去(句内 70% 的位置,放回去还是 70%)。

参照物是「哪一句」而不是「第几秒」,所以句子长了短了都不影响。

实测:上面那条片段,每句在 30% 和 70% 各切一个测试音效,共 26 段 ——
26/26 全部落在对应句内,句内相对位置一分不差。

顺带修掉一条写反的规则:字幕要跟「素材」同源,不是跟「工程」同源。
素材是原片就载原片 srt,素材是重录后的混音才载工程字幕。混了会整段错(实测 13 句错 10 句)。

二、批量操作不能靠运气

  • 编号不再错位:一次存/导上百个音频,自动编号改成按这一批总数补位
    (120 段 → 原音_001…_120)。原来固定两位,第 100 个叫 _100,按名字排序反而插到 _10 后面 ——
    剪映 / PR 按文件名合并素材就在这里断序。
  • 入库不再越存越慢:索引整批只读写一次,120 段 1.9 秒、1005 段 4.9 秒(原来 100 段要 2 分钟)。
  • 素材库支持多选:勾选框 / Ctrl 点选 / Shift 连选 + 批量移动 / 加标签 / 置顶 / 删除,
    右键已选条目菜单顶部直接是批量动作。

三、出错要能当场看见

对位最怕的不是报错,而是「看起来成功了,其实整体偏了两句」。所以现在会:

  • 自己判断素材是哪一版(原片还是重录后的),判定结果写在预览顶部,不用你选;
  • 字幕和素材不是同一版时直接提示(「这份字幕到 1:19,当前素材 1:12,两者不是同一版」);
  • 预览与写入走同一段后端代码,写出来和看到的一致。

四、人声分离:不是一个 BS 模型,而是一套可插拔的后端

接的是 pymss 推理后端 +
一个模型目录 vendor2/roformer/,放进什么模型就跑什么,代码不绑定某个权重:

可跑架构 说明
BS-Roformer(bs_roformer) 主力,Band-Split + RoPE 注意力,人声分离第一梯队
Mel-Band Roformer 梅尔刻度分带,更细更慢
BS-PolarFormer / BS-Conformer 同家族变体,权重出了就能用
MDX23C / SCNet / HTDemucs / VR 老模型也能挂进来对照

随包只带 Demucs(80MB,开箱可用);BS 系权重自备(275MB 起),放进目录后
在导入台「BS-Roformer 模型」点一下重新检测即可。处理链 BS-Roformer → Demucs → 中置提取,
选的那个挂了自动往下退。

相关链接


安装

这是扩展补丁,不是独立软件,需要先装 IndexTTS2.0 超级优化整合包 V3。

  1. 下载下面的 indextts2-longform-workbench-patch-v0.33.zip(约 121MB);
  2. 解压到整合包根目录,会多出一个同名文件夹;
  3. 进入该文件夹,双击 安装.bat。

补丁包含内置 ffmpeg、Demucs 与 htdemucs 权重(离线可用)、HRIR 数据、教程配图;
不含 BS-Roformer 权重(自备,见上)。

其它改动

智能导入的剧本 / SRT 判定、原文本预览不再重复、「导入原稿」下载真原文、
「识别说话人 · 分组 · 分音色」一键按钮、人物/音效标签库、设置分区折叠、
高级音频处理台(/sfxbench)与整页夜间模式等,详见
CHANGELOG.md。

v0.23 ~ v0.32 为开发期编号,内容全部合并进本版。

全能音声工作台 · 补丁 v0.22

Choose a tag to compare

@Mars-1438 Mars-1438 released this 01 Nov 04:37

这一版的主要提升:「智能导入」优化升级。

导入是整条链路的第一步,它认错一句,后面生成、剪辑、导出全跟着错。所以 0.22 没有铺新功能,
而是围绕「认得准 / 看得清 / 改得动 / 追得回」四件事重做了这一段。

认得准:谁说的话,终于能认出来

  • 🧠 高级识别(可选开关):稿子里没有「名字:」前缀、但名字写在旁白里
    (「你怎么才来?」李四说。、李四冷笑:「堵车?」)时,按
    前文点名 > 后置旁白 > 上文继承 的优先级判断每句归属,认不出才退回 角色A / 角色B。
    小说、剧本、纯文本三类都能用;剧本本身已有角色前缀时自动跳过;时间轴 / 指令类不提供(用不上)。
  • 不再是「猜人名」而是「排队判断」:加了负向预查(对/向/冲着…、没有/不/未、传来/听到)
    和幽灵角色三道闸 —— 参考实现会把「小翠在旁边小声说」切成角色「边小声」(边是姓氏),
    28,800 字里 600 段全归这个不存在的人;这一版挡掉了。
  • 对白符号做成一张表并可自定义:[] 【】 《》 {} 〔〕 〈〉 「」 『』 “” ﹁﹂ 「」 …
    方括号写对白的稿子不再被当成「括号备注」全扔进旁白([00:12]、[镜头 3]、[叹气]、《红楼梦》
    仍然不算台词)。不常见的符号可以在第 2 步「对白符号」里自己写。

看得清:把导入后的样子铺开给你看

  • 正文预览:按正式导入后的顺序连排成一份上了色的正文(不是一张张卡片),
    同色 = 同一组 = 同一音色;动作 / 镜头 / 时间码这类不朗读的内容是灰色小字、不上色。
  • 一句一个色块、对话自然换行,读起来就是「念出来会是什么样」。

改得动:半句也能单独处理

  • 拖选半句就只动那几个字(下划线标出,前后文不受影响);跨句拖选按整句;Ctrl 加选、Shift 连选。
  • 撤销 / 恢复(Ctrl+Z / Ctrl+Shift+Z),只作用于预览里的草稿。
  • 草稿模式:右下角「保存并按预览分组」点下去才生效;直接关掉(或 Esc)= 丢弃,会先问你一次。
  • 第 3 步的分组卡片同步标出「🚫 不配音(不进台本)」,组数和按钮计数只算真的会建出来的组。

追得回:导入时的原文,能核对也能重来

  • ⤓ 导入原稿 下载的是纯原文(一段一行、不带任何前缀或注释),
    用来核对「导入时有没有漏句、有没有被误设成不配音」;
    想重来一遍就选「纯文本 + 分段方式:一行一段(不切也不合)」,分段与当初完全一致。
  • 台本页新增 📄 原文本预览 / 📝 当前文本预览:一句一行带行号,切换停在同一句;
    原文本里对不上台本的那几段标灰(= 当时被去掉配音或删掉的)。

顺带修掉

  • 批量分行会吃掉句中标签(scope=all 时全丢),行级音效被复制成多份;
  • 时间轴拆分素材片段会把淡入淡出一起复制,切开处「先淡出再淡入」。

安装

  1. 下载 indextts2-longform-workbench-patch-v0.22.zip(约 120 MB);
  2. 解压到 IndexTTS2 v3 整合包根目录(会多出 IndexTTS2_全能音声工作台补丁_v0.22 文件夹);
  3. 双击其中的 安装.bat,重启服务;卸载用 卸载.bat(不动你的模型和台本)。

这是扩展补丁,不是独立软件 —— 需要先有 IndexTTS2.0 超级优化整合包 V3。

教程与细节见包内 docs/使用说明.txt(配图 12 → 25 张)与 docs/技术路线_长篇台本与时间轴.md §5.59–5.60。

全能音声工作台 · 补丁 v0.20

Choose a tag to compare

@Mars-1438 Mars-1438 released this 28 Oct 12:29

全能音声工作台 · 补丁 v0.20

装法:把 zip 解压到整合包根目录(和 server.py、runtime\ 同级)→ 进多出来的 IndexTTS2_全能音声工作台补丁_v0.20 文件夹 → 双击 安装.bat → 看到「完成」后关窗,重新双击包根的 start_server.bat。

装好后:/longform 台本工作台 · /timeline 时间轴 · /guide 内置教程。

这一版一共改了多少

项 数量
修补轮次 6 轮(第 9 ~ 14 轮,从「多选手感」到「导出啪声」)
修掉的缺陷 22 处,其中 5 处会造成实际损失
新增 / 重做功能 16 项
改动规模 17 个文件 / +1468 −125 行(代码 9 个文件 +974 −116,其余为文档与版本号)
测试 新增 4 套 / 89 项断言,53 套回归 FAIL = 0

五处会直接造成损失的

  1. 「只生成选中行」= 跑整篇 —— 前后端对渲染范围的枚举没对齐,选 2 句跑 5 句,白烧显卡和时间。
    现在「选中行」按 uid 精确下发,缺参数或未知范围一律 400 拒绝,不再「猜成全篇」;
  2. 渲染线程 [WinError 5] 拒绝访问 script.json.tmp —— 保存与读取撞车,整次生成中止。
    改成唯一临时名 + 全局写锁 + 退避重试,读也重试;
  3. 变速片段导出丢句 / 音调升高 / 边界「啪」 —— 预渲染缓存把 22050 的样本标成 44100,
    后半段还是补零。现在按源采样率取长度、写文件,缓存加版本号自动作废旧数据;
  4. ASMR / 低语近场破音、像劣质麦克风 —— HRTF 数据集没做响度标定 + 近场双重增益,直接顶进软限幅。
    现在所有数据集按 1 kHz 灵敏度统一标定、近场增益封顶 +1.9dB、低频补偿 6→3dB,
    试听端与导出端共用同一条距离律;
  5. 导出里每秒一声「嗒」 —— 双耳渲染每 1 秒被重新调用一次,块边界有相位跳变(试听走 WebAudio,所以听不到)。
    现在整段渲染一次再按块切片,块边界跳变从 0.046 降到 0.0013。

6 轮分别做了什么

轮次 主题 主要产出
第 9 轮 多选手感 框选后按 L 生效、右键不再打散多选、悬浮窗锁定 / 静音合成两态按钮
第 10 轮 生成范围 「选中行」按 uid 精确下发;未知或缺参数的渲染范围一律 400
第 11 轮 写盘稳定性 + 分组编辑 根治 WinError 5;编辑分组可直接加减句;拆分句子继承分组
第 12 轮 生成过程 生成中询问「等这轮结束 / 加入当前队列」;本轮完成汇总;「▤ 分组」标签与句数补齐
第 13 轮 音频质量 人声分离默认 Demucs;变速缓存采样率;近场破音三处一起收
第 14 轮 导出啪声 双耳改「整段渲染 + 按块切片」;缓存版本号;超长片段按实际长度收尾

这一版新增的功能

  • 分组可以直接加减句子:每张分组卡片多一对 + / -,把左侧勾选的句子一键加进 / 移出本组
    (加入时补上「▤ 分组」标签并套用本组参数,不动已有行);「编辑」弹窗顶部也有全台本句子清单;
  • 拆分的句子留在分组里:回车拆分、插入空行、复制句子都会继承分组,行上带「▤ 分组」标签;
    合并两句时两边的组会并到一起;智能分行也一样;
  • 分组勾选后一键生成:卡片左上角有勾选框,底部「已勾 N 个分组 · 共 M 句」+ 全选 / 清空 +
    「生成勾选的 N 个分组」,与生成页的「按批量任务」列表双向同步;
  • 生成中再点生成会问一句:⏳ 等这轮结束再单独生成 或 + 加入当前队列(追加到正在跑的任务,
    进度总数变大,跑完在同一份汇总里一起看);生成中「开始生成」不再禁用,文案变成「+ 加进队列 / 排队…」;
  • 一轮跑完弹「本轮生成完成」:成功 / 失败 / 跳过 / 未跑各几句、总用时,逐句列出行号 + 文本 + 时长 + 状态,
    失败的在底部汇总原因;之前排过队的话主按钮直接是「开始排队的 N 句」;
  • 生成页每个渲染范围标出句数:选中行 2 句 / 未生成 6 句 / 未勾选分组 / 全部 6 句,
    上方还有「已选 N 句 · 未选 M 句 · 共 T 句」的常驻提示;
  • 导出改成体检报告:报告真实峰值(贴上限时提示降 2~3dB)、重建了几段变速缓存、
    几段比音频长(已按实际长度收尾);
  • 人声分离默认 Demucs(实测与干净语音相关性 0.99,中置提取 0.71),不可用时自动退回中置提取。

功能一览

01 台本 —— 智能识别与分句(时间轴稿 / 剧本 / 小说 / 指令 / 纯文本)、三种分行方案与单段上限、
按章节·角色·场景·段数分组、逐段预览拆分合并、句内音效标记。

02 配音 —— 逐句独立生成与试听、按分组配置音色与情感、选中行 / 未生成 / 全部批量生成、
修改追踪、连续与非连续多选、批量删除与复制(含已生成音频)。

03 素材 —— 音频与视频导入(自动提取音轨)、去伴奏与中置提取、降噪与响度标准化、裁剪、
音色库与音效库沉淀、默认保留原始素材便于二次处理。

04 时间轴 —— 多轨编排与整组拖动、框选与 Ctrl 加选、台本与工程副本衔接、
按句序重排台词(只改开始时间)、片段位置 / 时长 / 源起点 / 音量 / 声像 / 淡入淡出 / 变速、
变速到指定时长、多段复制与选择性粘贴属性、音声片段复制成独立素材。

05 空间音频 —— 句内音效落点、基于 HRIR 的空间定位(方位 / 仰角 / 距离)、房间混响与干湿比、
13 种运动脚本预设(往返、绕头、掠过耳侧、头顶环绕、背后低语…)。

06 自动化 —— 音量 / 声像 / 空间距离三条关键帧曲线,播放中推滑杆即可实时录制。

07 导出 —— WAV / MP3 / FLAC / OGG 混音(可选采样率、声道、时段、轨道、总时长口径)、
REAPER .rpp、PR / 达芬奇 .edl、Audacity 分轨 WAV + 标签,附分轨 stems 与 timeline.csv / markers.csv。

08 教程 —— 内置离线图文教程:六步上手 + 按备料 / 台本 / 生成 / 时间轴 / 导出五个阶段的功能索引 + 快捷键 + 常见问题。

包里有什么

内容 说明
工作台前后端代码 longform_api.py / lf_import.py / timeline_api.py / hrir.py / rooms.py + web/
bin\ffmpeg.exe 视频抽音频,离线可用(约 84MB)
vendor2\torch\ Demucs htdemucs 权重,去伴奏离线可用(约 80MB)
assets\hrir\ KEMAR / KU100 近场 HRIR

整个 zip 约 119MB。用不到「去伴奏」或「视频导入」的话,可以删掉 vendor2\torch\ 或 bin\,
功能会退化成「只有轻量中置提取 / 只能导入普通音频」。

前置条件

需要先安装 「IndexTTS2.0 超级优化整合包 V3」(作者:B 站 十一君Jun)。
下载方式与原作者信息见仓库 README。

整合包本体、模型与环境问题请找原作者;这个补丁只负责工作台那一层。