Repository navigation
Releases: synchain-oss/scvb
Release list
Synchain Vocal Balancer v0.10.0-beta.1 (Windows x64)
Synchain Vocal Balancer v0.10.0-beta.1 (Windows x64)
SCVB 是一对配套插件(Input + Output),必须同时安装、成对使用;zip 里的第三个插件 SCVB Monitor 是可选的只读旁观窗口。
这是预发布(beta)。本 Release 先只放 Windows x64;macOS arm64(Apple Silicon)的 VST3 + AU beta 包在真机验收后补传到本 Release。macOS 版未签名、未公证,未在 Logic 实测。
⚠️ 升级须知
- Input、Output、Monitor 三个一起升级,不要混装。 新旧版本混装没有验证过;本版 Output 对「宿主挂起」「路由失准」的判断口径变了(见下「契约变更」),只换一部分时行为可能不一致。
- 与 v0.9.0-rc.1 存档格式兼容。 本版没有改 state abi 与 IPC abi,也没有改 123 个自动化参数:用 rc.1 保存的工程可直接在本版打开,本版保存的工程也可以回到 rc.1 打开。
- 平衡算法没有改。 本版改的是宿主调度边界下的行为(宿主暂停 / 停止调用插件、被宿主提前处理的轨);个别情形下句首、循环结尾或旁路时的听感会变,详见下「本次更新」。
- 本说明里的文档链接固定在
v0.10.0-beta.1这个 tag 上,是这一版的手册。插件里的文档链接(设置页「文档」按钮、九条使用规则里的 DAW 兼容表地址)固定指向prod分支;prod随每次发布(含预发布)前移,本版发布时它就是本版,所以现在打开的就是本版的手册。以后发了新版,这些链接打开的会是新版的手册,要看本版的请用本说明里的链接,或 zip 里INSTALL.txt的手册链接(同样固定在v0.10.0-beta.1上)。
如遇问题如何回退
- 关掉 DAW,删除
C:\Program Files\Common Files\VST3\下的SCVB Input.vst3、SCVB Output.vst3与SCVB Monitor.vst3三个文件夹; - 到 v0.9.0-rc.1 的 Release 下载上一版的 zip,核对 SHA-256 后照同样的步骤装回三个插件(三个一起换,不要混装);
- 工程兼容性:本版与 rc.1 的存档格式相同,用本版保存过的工程可以在 rc.1 里打开。
本次更新
⚠️ 契约变更
- 「挂起」不再等于「掉线」:走带在跑时,宿主暂停调用的 SCVB Input(例如 Cubase 在无信号时挂起处理)不再被 Output 断开,只要心跳正常、采样率一致、没有失准,它就留在已连接集合与混音里;Input 面板在宿主挂起期间仍显示「已连接」。停止播放时照旧约 0.5 秒后断开。行为变化:单独旁路唯一一条 Input(更一般地:正在混音的轨全部停住、而总线上还有声音)时,总线约 0.5 秒后经 80 毫秒交叉切回未平衡的原声;旁路超过约 5.5 秒再解除时,原声直接停、SCVB 混音 80 毫秒淡入。数据布局、abi 与 Input 侧行为都没有变(#387)
- 「路由失准」多了一种成因:已连接、但 Output 一直读不到数据:一条人声轨的 Input 在正常写数据、Output 却从一段开头起持续读不到它(超过约 0.2 秒)时,同样计为失准,沿用「路由失准」横幅与轨道行的 ⚠;要等 Output 重新读到这条轨的数据后才撤下。字段、类型与界面都没有变(#388)
- 宪法升 v2.4:写明 macOS arm64 的 VST3 + AU(beta)(文档,零行为):macOS 仅 Apple Silicon、最低 macOS 11,VST3 加 Audio Unit,首批 macOS 产物为 beta,不签名不公证,不支持 Intel / Rosetta / GarageBand,Logic 未实测、不作支持承诺。三个插件、bundle id、123 个参数、共享内存布局与 abi 都没有变(#404)
新增
- macOS(Apple Silicon)beta 的底层与打包:macOS 版的界面适配(系统 WKWebView;WebKit 26.4 之前缩放固定 100% 并提示)、共享内存后端、发行包脚本与发版流水线已就位;macOS 包本身稍后补传到本 Release。声像轨迹图的横向缩放除 Ctrl+滚轮外也认 Cmd+滚轮,快捷键文案三语改为「Ctrl 或 Cmd」。Windows 上插件行为不变(#360、#369、#374、#377)
变更
- 发版通道加 beta:推
vX.Y.Z-beta.N的 tag 与-rc.N同样走发版流水线,草稿勾 pre-release。插件本身没有变化(#364) - 发版流程:每次发布(含预发布)都先经 PR 把
dev晋升到staging、再到prod,然后才打 tag;prod因此是「最新一个已发布的版本(含预发布)」。插件本身没有变化(#380) - README(中英两版)新增主视觉、「三步用法」图和界面截图。插件本身没有变化(#381)
修复
- 宿主停止调用 SCVB Output 时,人声不再一直无声(已知问题 KI-6):Ableton Live 停用设备、FL Studio smart disable 这类「播放中不经 bypass、直接不再调用 Output」的情况,人声此前会一直无声。现在整个停调期间保持断开,约 5.5 秒后转为未平衡的原始声像;宿主恢复调用后,已转成原声的轨每隔约 0.2 秒按通道号逐条接回,停调不到约 5.5 秒的轨当即接回。停止播放时的行为不变(#379)
- 部分人声轨被宿主提前处理时,循环与回跳后不再整圈无声,恢复时不再混进旧音频:REAPER 预先处理、Cubase ASIO-Guard 这类机制提前算好部分轨时,此前可能出现循环从第 2 圈起整圈无声、往回定位后约 3 秒无声、起播时所有轨无声、句首混进约 11 秒之前的旧音频等问题,且都不报警。现在 Output 只读能确认是写方为当前位置写下的数据。代价:从静音段恢复时的句首,或宿主播放中重算处,可能少一小段(约 21 毫秒),不错音、不报警(见已知问题 KI-11)(#386)
- 宿主在静音段暂停调用 Input 之后,下一句开头不再被吃掉:Cubase「无信号时挂起 VST3 处理」、没有 region 的段落这类情况,停顿超过约 0.5 秒时,下一句开头此前可能被吃掉约 85–170 毫秒。现在这类暂停只在 Output 面板该轨显示「暂无数据(挂起)」,不再断开(#387)
- 已连接但 Output 一直读不到数据的人声轨,不再静音且不报警:例如人声轨没有送进装 Output 的总线时,这条轨此前在混音里静音而不提示;现在通常约 0.5 秒内亮「路由失准」并持续到读到数据为止(提前量越大亮得越晚)。播放中途才开始读不到的轨,以前会亮但每秒熄一下,现在一直亮着(#388)
- 循环圈长接近约 10.9 秒(48 kHz)整数倍时,被宿主提前处理的轨不再每圈结尾少约一个提前量:现在每圈至多少约 21 毫秒,与其他循环相同。每条已连接的人声轨在 Output 里多占约 2 MB 内存(#400)
- macOS(Apple Silicon)上的内存序问题:几处线程间同步原先只靠 x86 的强内存序才成立,在 arm64 上可能收下半新半旧的快照;已补上屏障。Windows 上行为不变(#366、#401)
- 缩放比例下拉展开后不再是浏览器默认的白底列表:Monitor、Output 设置页与 Input 右下角的缩放下拉统一为深色下拉;超出当前屏幕的档位灰显并标注,可用方向键 / Enter / Esc 操作;选回当前档只收起列表,不再弹确认框(#402)
- 浏览器预览里 Monitor「声像轨迹」每段线条开头多出的小钩已修复(只影响 web-preview,插件本身没有变化)(#362)
下载与安装
| 资产 | 说明 |
|---|---|
SCVB-v0.10.0-beta.1-win64.zip |
含 SCVB Input.vst3、SCVB Output.vst3(必装)与 SCVB Monitor.vst3(可选),都是完整 bundle 目录;解压前先解除锁定(见下),解压后把整个 .vst3 文件夹复制到 C:\Program Files\Common Files\VST3\;zip 根目录另含 LICENSE.txt、THIRD-PARTY-NOTICES.md、LICENSES/、third_party/notices/、INSTALL.txt |
SCVB-v0.10.0-beta.1-win64.zip.sha256 |
独立校验文件(sha256sum -c 可直接用) |
package-summary.md |
版本 / 文件名 / 大小 / SHA-256 / 发布日期 / 源码提交 / zip 内逐条目哈希 |
macOS arm64(Apple Silicon)VST3 + AU 的 beta 包将在真机验收后补传到本 Release。
SHA-256:
b9c33ca21c8d35b4e7ecf4e5d7788a3592eb5a07d8ba9d34bfcad262f8d7fcee
大小:8 322 166 字节
系统要求:Windows 10 1809+ / WebView2 Evergreen Runtime(通常已随 Windows 预装)
源码(GPL-3.0-or-later):本版对应的完整源码在 https://github.com/synchain-oss/scvb/tree/v0.10.0-beta.1(Release 页下方 GitHub 自动附带的「Source code」压缩包是同一份),源码提交 bc04686a3634e0b58169ec85a6ef2144b7c1d564,构建方法见 README「从源码构建」。
本项目未做代码签名,浏览器或 Windows 可能提示「未知发布者」。先核对 SHA-256;解压前右键 zip → 属性 → 常规 → 勾选「解除锁定」→ 确定(或 PowerShell
Unblock-File .\SCVB-v0.10.0-beta.1-win64.zip);SmartScreen 拦下时点「更多信息 → 仍要运行」(浏览器里选「保留」)。zip 里的INSTALL.txt有同样的中英文步骤,分步说明也见用户手册 · 安装。你也可以自行从源码构建校验(见 CONTRIBUTOR_ONBOARDING.md)。
首次使用?
先读 九条使用规则 —— 路由摆错会直接出静音。
验证
- pluginval strictness 5(CI,
--skip-gui-tests):✅ - pluginval strictness 5 全量含 GUI(本地 Windows 11):✅
- DAW 实测矩阵:见 DAW_COMPATIBILITY.md
- 已知问题:KNOWN_ISSUES.md(本版相关:KI-6、KI-11)
完整变更
Full Changelog: v0.9.0-rc.1...v0.10.0-beta.1
Synchain Vocal Balancer v0.9.0-rc.1 (Windows x64)
Synchain Vocal Balancer v0.9.0-rc.1 (Windows x64)
SCVB 是一对配套插件(Input + Output),必须同时安装、成对使用;zip 里的第三个插件 SCVB Monitor 是可选的只读旁观窗口。
这是 SCVB 的首个公开版本,以预发布(release candidate)形式发布。
⚠️ 升级须知
- Input、Output、Monitor 三个一起安装 / 升级,不要混装。 IPC 协议版本不同的两侧会拒绝互连;协议相同时虽然能连上,但新 Output 配旧 Input 做离线渲染,两侧的交接方式不同,人声可能被双路叠加 —— 所以一律三个一起换。
- state abi = 6(首个公开版本)。此前的内部测试包保存的工程(state abi 5 及以下)在本版打开时自动迁移。用本版保存的工程,拿到 state abi 更低的旧版本(含此前的内部测试包)里打开时会被拒载:Output 显示「工程来自较新版本」横幅,Input 以默认值运行(没有横幅)。建议不要在旧版本里打开并保存这类工程。
- 自动化参数面(123 个参数的编号、顺序、取值范围与默认值)与工程存档格式自本版起冻结:之后的版本不再改动参数编号与布局;存档格式如需变更,会升级 state abi 并提供从本版的迁移。
- 本说明里的文档链接固定在
v0.9.0-rc.1这个 tag 上,是这一版的手册;插件里的文档链接(设置页「文档」按钮、九条使用规则里的 DAW 兼容表地址)固定指向prod分支,本版发布时prod与本版是同一个提交,打开的就是这一版的手册。
如遇问题如何回退
- 关掉 DAW,删除
C:\Program Files\Common Files\VST3\下的SCVB Input.vst3、SCVB Output.vst3与SCVB Monitor.vst3三个文件夹; - 这是首个公开版本,没有更早的公开版本可回;如需回到之前在用的内部测试包,照同样的步骤装回它的三个插件(三个一起换,不要混装);
- 工程兼容性:用本版保存过的工程,拿到 state abi 更低的旧版本里打开会被拒载(见上「升级须知」)。回退前先确认手上有一份用旧版保存的工程副本;建议不要在旧版本里打开并保存用本版保存过的工程。
本次更新
v0.1.0 是一个只能构建、不能用的空壳骨架。下面这一节因此是 SCVB 作为一件产品的第一份变更记录 —— 它描述的是从零到可用的全过程,而不是相对某个能用的旧版本的增量。v0.1.0 从未打过 git tag、也没有发过 Release(仓库公开后 [SL-73] 核实两个链接均 404 才发现),下面
## [0.1.0]小节因此不再挂 Release 链接,本节的比较区间也因此从首个 commit 起算(见文末链接)。
⚠️ 契约变更
- pan 增益曲线拖动时实时生效(DSP 可闻变化 + 桥面新增一个函数,用户裁定 [J157],[SL-447]):此前曲线编辑器里拖一个点,要松手之后声音才变(拨 Q 滑杆、滚轮调 Q 要停手约 0.14 秒)—— 用户反馈「一般的 eq 都是实时的」。现在拖动过程中声音就跟着变,每次变化照常 30 ms 交叉淡入,不会咔哒。撤销不变:拖动途中的变化只是预览,不进撤销栈、不写进工程;松手那一下才记成一条撤销步,与以前完全一样;松手的曲线与最后一次预览相同时直接沿用那张增益表,松手瞬间声音零变化。打印出来的自动化、Monitor 显示、分析用的左右平衡都不受预览影响(它们本来就不读这张增益表,分析读的是松手后存下的曲线)。频率:预览最多每秒 20 次;曲线特别复杂(十几个 bell 点)时,为了不占用宿主界面线程,自动降到约每秒 5–6 次。内存:建立在 #306 的快照回收之上 —— 音频在跑时连拖 10 秒,留着的快照始终不超过 2 份;音频链不在跑(只读观察 / 无时间线 / 无注入轨)时拖多久也只多留 1 张表,不比以前「只在松手时提交」更糟。桥面新增
previewPanCurve(v, points)(契约 §1.37;§5.6 失败原因新增staleVersion),setPanCurve本身不变;变更文档docs/contract-changes/20260928-j157-pan-curve-live-preview.md(#329) - Input 点通道卡 / 切组失败时不再报「成功」(桥契约 §3.2/§3.3 返回并集加宽,[J156],卡 [SL-463];变更文档
docs/contract-changes/20260929-j156-sl463-claim-failure-receipt.md):除「通道被占」之外的两种认领失败 —— 两端 SCVB 版本不匹配、插件间通信用的共享内存段打不开 —— 此前桥面都回{ok:true}:段打不开时界面只剩一个灰 pill「未选择通道」,换通道时本轨退回原通道则连它都没有,点了卡像没点。现在回{ok:false, reason:"abiMismatch"}/{ok:false, reason:"unavailable"},被点的卡(切组时是组胶囊)抖一下并弹一条说明原因的提示;换通道失败时本轨仍留在原通道照常工作。同一处顺带修了改组时新组的共享内存段打不开、组号其实没换却回「成功」的问题。仍未覆盖:载入工程时遇到的这类失败仍只有灰 pill(载入路径没有回执可挂,要提示得另加错误码)。(#328) - 轨道页的每轨设置与整体调整页的 WIDTH / MS BALANCE / 主唱选择现在都能用 Ctrl+Z 撤销(桥契约 §0.9 / §1.12-§1.16 / §1.25 的「撤销」行改判,[J140] 2026-09-28 用户批准;变更文档
docs/contract-changes/20260928-j140-undo-coverage.md)。此前这些控件上按 Ctrl+Z 看着没反应 —— 实际撤掉的是更早的某一次段编辑。现在覆盖:轨道页的启用 / 名称 / 优先级 / 主唱锁定 / 音量豁免 / 参与自动声像 / 配对、冻结 P / V 开关、每轨宽度旋钮、冻结态下的声像旋钮与音量卡箍;整体调整页的 WIDTH / MS BALANCE / 主唱选择。首次拖音量卡箍(把该轨交给手动)那一下的撤销,现在连冻结开关一起回到拖之前,旋钮与声音都回去。与段编辑、分析同一条撤销栈,按时间倒序弹;一次拖动 = 一步,方向键 / 滚轮 / 优先级 ± 连按(相隔 0.3 秒以内)合成一步,开关每点一次一步。与宿主自动化的关系:撤销写回参数走的是与你手动拧旋钮同一条宿主通路 —— 宿主对该参数有自动化且处于读取档时,播放或定位会按自动化把值改回;处于写入 / 触动 / 锁存档且在走带时,这次撤销会被宿主录成一段自动化(与你在那一刻拧旋钮相同);没有自动化时,插件的撤销就是回退它的办法。按住旋钮或滑杆拖动时按 Ctrl+Z,这次拖动会先被取消(回到按下时的值)再撤销。载入只带参数的轨道 / 参数预设时插件撤销栈整栈清空,与载入工程同口径(段编辑的撤销步也一并清掉)—— 栈里有了参数步,留着它的话载入后按 Ctrl+Z 会把预设里的值撤回载入前(#311) - 主唱居中进入分析计算([SL-216] / J136,用户 2026-09-28 裁定;state 新增独立块
LEAD,容器 abi 不升、参数面零变化):
Lead Select 选中的轨,此前只在播放时被强制拉到正中 —— 分析和音量平衡照旧按「它不在中间」给其余声部排位,
主唱一被拉回中间,原来给它留的位置就空着,左右平衡也跟着歪。现在 Output 在走带播放时记下 Lead Select
每一段时间的值,重新分析时选中的轨在它被选中的时段按主唱锁处理(居中、不占位),其余声部按剩下的轨数
左右排开,音量平衡也把它算作居中的那一轨;写进段表、打印进宿主自动化的曲线本身就是这个排布。
用户可感知:改了 Lead Select(或它的自动化)之后,点重新分析,其余声部才会围绕新主唱重新排布(什么时候
要先播一遍,见下一条 J143b);没重新分析时,选中的轨照旧被实时拉到正中(这层兜底保留)。旧工程重开听到的与之前
相同,重新分析之后才会得到新排布。详见docs/contract-changes/20260928-sl216-lead-into-analysis.md(#305) - Lead Select 在插件里改完直接重新分析即可,改完试听一段也不影响([SL-545] / J143 + J143b,统筹 2026-09-28,
上一条 J136 的实现细节;参数面、桥面零变化;stateLEAD块 minor 1 → 2,容器 abi 不变):
上一条只认播放时记下的 Lead Select,而采集本身就是走带播放 —— 采集过的地方全记着采集那会儿的值(通常 0),
于是「采完改了 Lead Select、不重播直接点分析」选中的轨照样不居中,旧工程同理。现在 Output 记下每段值的同时记下
是谁写的:只有 DAW 写进来的值(自动化回放 / DAW 的参数面板)记下的段算自动化,分析在这些段照记录走,其余地方
(一段都没有时就是整条时间线)按点分析那一刻的 Lead Select 排布;在插件界面上改的、撤销 / 重做写回的、打开工程
时恢复的值记下的段一律不看。这取代了同日早些时候按「记录里有两个以上不同的值」判自动化的做法(J143a)—— 那样
改完旋钮试听一小段再分析,只有试听过的那段拿到主唱。
用户可感知:在插件里选好 Lead Select 直接重新分析,试听与否都一样;写了或改了 Lead Select 的 DAW 自动化之后,
把自动化所在的段落播一遍再重新分析。边角:自动化播到的值与此刻的值相同时插件看不到一次改动,那一段按点分析那一刻的值
走 —— 典型是自动化开头那段的值等于播放前的值、播放头又停在自动化是别的值的地方;点分析前把播放头停在自动化是开头那个值
的地方(通常是歌曲开头),或在插件里选成那个值即可。已分析过的工程在重新分析之前段表不变。本条之前的开发构建存下的
LEAD(minor 1)照读,其中的记录按「不是 DAW 写的」处理。详见docs/contract-changes/20260928-sl216-lead-into-analysis.md
「追加:J143 / J143a / J143b」(#317) - VAD 五项与过渡时间随工程保存(state 容器 abi 4→5,[SL-416],用户 v5.6.15 回验 A24):
analysis.vad.{threshold_db, hysteresis_db, hangover_ms, padding_pre_ms, padding_post_ms}与analysis.transition_ramp_ms此前只活在内存里 —— 存盘重开后五杆全回默认,而分析确实按默认跑(用户报的是「MIN SEG 回来了,但 THRESHOLD −45 dB / HYSTERESIS 3 dB / HOLD 200 ms / PAD PRE 120 ms / PAD POST 全部回默认」)。现在CFGS尾部再扩一整档 24 字节承载它们,容器 abi 4→5 +migrate_4_to_5(no-op;abi≤4 的旧工程整档缺席 ⇒ 回落规格默认 −38/6/250/120/200/80 且不计回落),golden 新增abi5.bin(abi1–abi4 保留作迁移基线)。连带(有意,报批):这六项的引擎初值此前是 −45/3/200(T29 遗留,与 02 §0.3 的出厂档、与 web 滑杆def都不一致),本版把引擎初值 / 滑杆 def / 解码缺席与越界回落三处收到同一处(§0.3 的 −38/6/250),四杆的行程也按 §0.3 收正(hysteresis0..20→3..12、hangover0..500→100..600、pad_pre0..500→20..400、pad_post0..500→50..400;threshold 与 ramp 一字未动),零回归(core / host 全量套件实跑;读数见 PR 描述)。详见docs/contract-changes/20260914-sl416-vad-persist.md(#263) - 分析结果现在可以撤销(桥契约 §1.6 的「撤销」行由「否」改判为「是」,[J89] 2026-08-28 用户批准;变更文档
docs/contract-changes/20260827-sl209-analyze-undoable.md)。一次分析(全量 / 选区 / 单轨重新识别)= 一条撤销步:Ctrl+Z 回到分析前的段表,Ctrl+Y 重放分析结果;与「重新分析不覆盖你手改过的段」天然共存 —— 撤销恢复的是「分析前的那一刻」,那一刻本就含着会被保留的手改段。此前分析是工具里唯一不可撤销的破坏性操作,不满意只能手工改回去(#152) - 插件自有撤销栈的深度与内存改为显式定参:预算 64 MiB、最少保 16 步。此前吃的是
juce::UndoManager的默认值,配上按段数记账的新口径后,真实工程的撤销深度会固定在 30 步、而内存并没有上限(密集工程约 115 MB 常驻)。改后典型工程约 174 步可撤、密集工程约 17 步,内存有了真正的天花板。用户可感知:密集工程能回退的步数变少了,换来的是内存不再无限长(变更文档docs/contract-changes/20260827-sl209-analyze-undoable.md的「撤销预算的定参与推导」一节)(#152) - viz 可视化段的发布频率 4 Hz → 30 Hz(用户拍板「好歹每秒保证 30Hz」)。段名 / abi / 布局 /
字段语义一个字节未动,不需要 abi+1、不需要段名升 v2;读方按 seqlock 的 seq 消费,新旧版本
互通不受影响。实测代价:写方 0.005% 一颗核、读方 0.023%
(见 docs/contract-changes/20260827-viz-30hz.md 的实测表)(#115) - 工程存档 abi 1 → 2:新增 analysis.loudness_mode / analysis.center_slot_policy 两字段的持久化,
旧工程经 migrate_1_to_2 自动迁移,响度口径与中心槽策略回落各自默认值
(见 docs/contract-changes/20260825-cfgs-persistence.md)(#81) - 特征流不再自动转存外部文件:「压缩后 >8MB 自动转 sidecar」加了单点开关,
v1 出厂值 = 关 ⇒ 压缩后的特征流一律内嵌(embedded=1),不再产生
sessions/<GUID>/目录;把工程发给他人时,不会再有「特征体不在工程里」的坑。
只关写、不关读:embedded=0+ 合法引用的老工程照常载入,文件缺失照常明确报
「特征文件缺失」。容器布局、FEAT 节编码、桥面载荷字段零变化(abi 不升、段名不升 v2);
sidecar 的读写代码、8MB/6MB 回滞、事件与文案全部保留 —— 开关是双向的,打开即逐字回到
ADR-007 原文行为。打开一份带 sidecar 的老工程并保存一次 ⇒ 特征收回内嵌、外部那份目录被回收
(store.remove(),不可逆,工程体积随之变大;这是开关关掉的直接后果,不是新增行为)
(变更文档docs/contract-changes/20260911-sl395-sidecar-autoswitch-off.md)(#258) - 最短段长上限 500ms → 2000ms(
segmentation.min_segment_ms;下限 50ms、默认 120ms 不变,
ParamID / index / 顺序 / versionHint 与 state 编码都不动,abi 不升)。用户可感知:长句素材上
段数变少、每段更长,波形页 MIN SEG 滑杆的行程随之变宽。本卡落地时该值不随工程保存、
重开工程回到默认 120ms —— 这一句已由 SL-411 取代:自 abi=4 起分段三项随工程保存
(见下面「分段三项参数随工程保存」那条);值域 50..2000 本身没有变
(变更文档docs/contract-changes/20260911-sl398-min-segment-2000.md)(#258) - 分段三项参数随工程保存(
analysis.segmentation.{mode, sensitivity, min_segment_ms};
state 容器 abi 3→4,CFGS尾扩一整档 12 字节,旧工程经 no-opmigrate_3_to_4自动迁移并取
规格默认 valley / 50 / 120)。用户可感知:MIN SEG 拖到 1000ms、分析、存盘、重开工程,
滑杆与读数还是 1000ms,最短段长与灵敏度按它跑 —— 修复前一律跳回 120ms(而分析同样按 120 跑,
于是「设置没生效」与「设置没被记住」在界面上长得一模一样)。
⚠ 分段方式(mode)在 v1 里是保留位([SL-413] 定谳:界面上从来没有这个下拉 —— 不是这一版
藏起来的;引擎也不消费它,SegmentationParams里没有mode。落盘只保证它不丢,不影响分析结果。
详见变更文档docs/contract-changes/20260914-sl413-seg-mode-reserved.md)。参数面零变化:三项都不是
自动化参数,ParamID / index / 顺序 / versionHint 一个字节未动
(变更文档docs/contract-changes/20260914-sl411-segmentation-persist.md)(#259) analysis.segmentation.mode标注为 v1 保留位(契约文本口径变更,零布局 / 零 abi / 零迁移:
CFGS尾部那一档里segmentationMode那一个 u32 照旧在(载荷偏移40 + languageBytes,
随uiLanguage长度浮动),容器abi本 PR 不升(基线b06d37a上为 4;[SL-416] 已在 #263
把它升到 5 —— 两处改动互不相交,本条一个字节都没碰 abi),kMigrators本条不加
(现为四条,第四条的migrate_4_to_5来自 [SL-416]),
tests/golden/state/*.bin本 PR 一份未动)。mode的两档valley/vad_only只活在规格里:
UI 全仓没有对应控件
(web/output/index.html里valley/vad_only/分段方式三个字面全 0 命中;valley在
tab-wave.js只作注释与契约 §1.19 整包缓存的初值),引擎侧SegmentationParams里也没有mode
(恒按valley走 S1),所以生产路径恒写0=valley,vad_only留待接线那张卡启用。
用户可感知:界面上什么都不会变 —— 这一条是把规格追认成事实(用户 2026-09-14 裁 ②
「把『分段方式』从 UI/规格摘掉」),不是新增一项行为;此前 CHANGELOG 与用户指南里那句
「分段方式今天只回到原位」读起来像一个「你找得到、按了却没用」的控件,现已改成实话。
⚠ 「恒写 0」是生产路径的实况,不是编解码的不变量:segModeOrdinal/segModeString
仍按原样往返(手写成1的工程读进来仍是vad_only、存回去仍是1)——
契约 §7.3「不得静默丢数据」压过「统一成 0」。参数面零变化:123/124 个自动化参数一个字节未动
(变更文档docs/contract-changes/20260914-sl413-seg-mode-reserved.md)(#264)- 你画的 pan 增益曲线现在真的会响(DSP 可闻变化,[SL-442])。曲线编辑器里画的那条
「pan 角度域增益曲线」此前只画不响 —— 它进了分析(左右平衡按它算)、进了存盘、也画在
界面上,唯独没有接进实时音频链;拖出一个 −12 dB 的深槽,听感上一点变化都没有。现在它按
规格 02 §8.1 步骤 5 施加:增益查在全局 width 缩放之后的角度上,立体声轨的左右两个
子声像各查各的。
⚠ 谁会听到变化:从没画过曲线的工程,声音一个字节都不会变(空曲线 = 0 dB = 增益
恰为 1,有逐位相等的用例钉住)。画过曲线的工程声音会变 —— 变成你当初画的样子:这是补上
一直没生效的效果,不是回归。
改曲线或切版本时增益在 30 ms 内交叉淡入,不会咔哒(实测:单次提交造成的增益跳变上界 12 dB,
最温和的手势——滚轮拧一格 Q——也有约 1 dB,没有「小到听不见」的档位)。
⚠ 已知缺口,本卡不修:规格 §6.5 要求「改完曲线要提示重新平衡」,该提示至今没有实现
(全局 width、每轨 width、participate_in_auto_pan 三个触发源同样没有)。后果是:改了曲线之后
声音变了,而分析算出的左右平衡仍基于旧曲线、不再最优,而界面上没有任何提示。这个缺口在
接上曲线之前就存在(width 早就是立即生效的),本卡只是多了一个触发源;已另行登记整族卡收口
...
SCVB 宣传素材 · 插件界面渲染图(2026-10-03)
SCVB 宣传素材 · 插件界面渲染图(2026-10-03)
这不是软件版本:这里只有宣传用的界面渲染图,没有插件安装包。插件请从 v0.9.0-rc.1 下载。以「预发布」挂出,不会成为 Latest。
内容
三个 zip,按界面语言分:中文 zh、英文 en、法文 fr。每个 zip 里 10 张 PNG,对应 5 个画面 × 2 个版本。
| 文件名前缀 | 画面 |
|---|---|
01-output-master |
SCVB Output ·「整体调整」 |
02-output-tracks |
SCVB Output ·「轨道」(电平为回放中的一帧) |
03-output-wave |
SCVB Output ·「波形与分段」 |
04-monitor |
SCVB Monitor |
05-input |
SCVB Input |
两个版本:
-scene.png:3840×2160(4K),插件窗放在 synchain.ca/scvb 页面同款的棱镜背景上,带投影。-cutout.png:透明底,只有插件窗,尺寸是设计尺寸的 3 倍。Output 3540×2340,Monitor 2880×2160,Input 1380×1680。
数据与渲染方式
- 全部是演示数据,不来自任何真实用户工程。
- 工程设定:12 轨人声、120 BPM。
- 编曲:各段落谁唱、每句是否缺席、响度起伏都是合成的。
- 声像:按插件 AutoAssign 的槽位与代价规则逐区间计算,中心位策略取「主唱独占中心」。
- Monitor 的声像轨迹:按引擎 CurveEvaluator 的段间过渡取值。
- 界面由 Synchain 网站 /scvb 页的代码复刻件渲染,与插件 v0.9.0-rc.1 的界面对齐。
- 「设置」tab 不在复刻范围内,所以这批图里没有它。
- 需要真插件界面的录屏,可用本仓
web-preview/预览器(feature/v1≥d943843)。
English summary: promotional UI renders of the SCVB plugins (Output Master / Tracks / Waveform, Monitor, Input) in zh / en / fr, each as a 4K scene on the synchain.ca/scvb background and a transparent 3× cutout. Demo data only (a synthetic 12-track vocal arrangement); not a software release — get the plugin from v0.9.0-rc.1.