Soundka DEV Control ← 返回体验版
本机调试控制面板 · 仅连接 127.0.0.1 · 设备列表每 2 秒自动刷新,插入 USB 耳机后会自动出现
· 页面版本 __SOUNDKA_UI_STAMP__(= 控制服务启动时间)。
与终端里报告的时间不一致,说明这是重启前留下的旧标签页,按 Ctrl+F5 强制重新加载。
0 · 授权 检查中…
- 状态
- --
- 授权给
- --
- 有效期至
- --
- 剩余天数
- --
- APO 侧确认
- --
- 本机机器码
--
未授权时算法强制旁路且无法调节。请把上面的机器码发给供应方换取授权文件, 再在此加载。授权与机器绑定,换机器需要重新签发。
授权已更新,但 audiodg 中已加载的实例仍是旧判定 —— 请点「解绑」再「绑定」一次(会重启音频服务)使其生效。
1 · 目标设备 未绑定
上面是各输出端点的实时电平。有电平跳动的那个,才是声音真正出来的设备; 它必须就是带「已绑定」的那个,否则音频不经过算法。
绑定会把 APO 的 CLSID 写入该端点的 mode-effect 链,并重启 Windows 音频服务让新链生效。 重启音频栈会让已经在播放的程序静默失效——它们不会自己恢复。 绑定完成后请重启播放器(或游戏)再播放。
2 · 运行前提
- 控制服务以管理员运行--
- APO CLSID 已注册--
- DisableProtectedAudioDG=1--
- APO DLL 已部署--
- 算法 fse.dll + 权重已部署--
- 共享控制映射可用--
全部为 ✓ 才能在 audiodg 中加载算法。缺项请用
scripts\run_dev_stack.ps1 以管理员身份安装并启动本服务。
3 · 实机算法状态 未加载
- audiodg
- --
- Initialize / Lock
- --
- 流格式
- --
- 算法已请求
- --
- 流水线模式
- --
- 算法错误码
- --
- 累计处理块数
- --
- 处理模式
- --
- APO 实际参数
- --
- 处理增益
- --
处理增益是 APO 实测的输出/输入能量比(0.5 秒窗口)。 它是唯一能证明「算法真的改变了你正在播的声音」的指标:接近 0.00 dB 表示 信号被原样送过去了。流水线模式 2 = 真实算法在跑;1 = 等延迟直通回退。
4 · 脚步声增强
两个旁路的区别:「Bypass 算法」只让算法透传,音频仍会经过 48↔44.1 kHz 重采样, 而重采样本身有音色;「完全旁路」连重采样一起跳过,输出与输入逐样本相同,只剩固定延时。 所以要判断"是不是我们造成的",用完全旁路对照;它和「未绑定」的唯一差别就是那点延时。
拖动即时生效:参数经 shared_memory_v8 在音频 block 边界送进 audiodg 中的 APO。
0..1 映射到 0..30 dB(功率域,只作用于被判定为脚步的频点)。
约 +12 dB 以上,接近满幅的素材就会顶到满幅。
限幅器(第 7 节,默认开)会兜住不让它硬削波,但它是宽带整体增益——
压脚步时会把环境声一起压下去,增益越高这个起伏越明显。要高增益又要环境声平稳,
就配合第 7 节的输出衰减用(建议 −增强/2,那里会实时算给你)。
6 · 调试录音 未录制
- 状态
- --
- 缓冲长度
- --
在四个节点各录一份,**分别**存成 WAV,便于定位问题出在哪一段:
- ① capture-1-host-in.wav48 kHz · 音频引擎给我们的
- ② capture-2-algorithm-in.wav44.1 kHz · 重采样之后
- ③ capture-3-algorithm-out.wav44.1 kHz · 算法输出
- ④ capture-4-host-out.wav48 kHz · 我们交回去的
比 ①② 看进方向重采样,比 ②③ 看算法本身,比 ③④ 看出方向重采样,比 ①④ 看整条链路。 四个点分处两个采样率,合成一个文件必须重采样其中一半——那正好会把要查的失真混进证据里,所以分开存。
播放开始即自动录制,无需手动开启。滚动保留最近 120 秒, 听到问题随时点导出即可;不足两分钟也能导出,有多少存多少。
点「导出录音」会先让你选保存位置,确认后打包成一个 zip 存下来,完成时给出提示。 导出不会中断录音,也不会清空缓冲——存的时候把四个环形缓冲各拷一份出来再写文件, 缓冲本身继续滚动,所以导出完还能接着抓下一段。
录音只是旁路观察缓冲,不进信号路径,不增加任何延时;缓冲在录音武装时一次性分配 (四个抽头合计约 169 MB,实测约 35 ms),音频线程只做拷贝,不分配、不加锁、不碰文件。 导出时会再临时占用同样大小,写完即释放。
7 · 算法参数
「提升脚步 +X dB」和「压低背景 X dB 再自己加音量」是同一个波形, 区别只是前者白白吃掉 X dB 的数字余量、必然削波。算法方建议 衰减 ≈ 增强强度的一半(10 dB 增强 → −5 dB),要彻底无过载就设成 −增强强度。
立体声联动、不增加时延。它是安全网不是主方案——正解是用上面的衰减留出余量, 让限幅器基本不介入。
左右各算各的掩码等于给两边乘不同增益,改写耳间电平差(ILD)——那是判断方位的 主要线索,人耳阈值约 1 dB。共用掩码后左右比值精确不变,还省一半计算。
掩码逐帧逐频点的抖动会被增益放大 10^(dB/10) 倍,听起来是沙沙声。但之前那次 沙沙声不是这么来的——是限幅器整块 128 样本一起压,形成 344.5 Hz 的增益台阶,算法 1.6.0 已修。平滑的代价是脚步起音变钝,所以现在默认关;确有掩码抖动时再开,建议 0.5~0.7, 频率平滑无时延、不影响瞬态。
5 · 所选输出端点音量
通过 Windows IAudioEndpointVolume 控制上方选中的输出端点,不改系统默认设备。
8 · 自定义 EQ 旁路
| # | 类型 | 频率 Hz | 增益 dB | Q |
|---|
15 段参量 EQ,位置在增强之后、限幅器之前——放在限幅器之后的话,EQ 的提升会直接 突破 ceiling,限幅器的天花板保证就不成立了。曲线可直接拖动(改频率和增益),类型与 Q 在下表里改。
曲线是按 RBJ 公式预测的合成频响,不是实测。EQ 与增强的旁路相互独立,关掉增强不会 连 EQ 一起关掉;注意干路不过限幅器,EQ 推大提升时旁路状态下仍可能超 0 dBFS。