Soundka DEV Control ← 返回体验版

本机调试控制面板 · 仅连接 127.0.0.1 · 设备列表每 2 秒自动刷新,插入 USB 耳机后会自动出现

· 页面版本 __SOUNDKA_UI_STAMP__(= 控制服务启动时间)。 与终端里报告的时间不一致,说明这是重启前留下的旧标签页,按 Ctrl+F5 强制重新加载。

正在检测…

0 · 授权 检查中…

状态
--
授权给
--
有效期至
--
剩余天数
--
APO 侧确认
--
本机机器码
--

未授权时算法强制旁路且无法调节。请把上面的机器码发给供应方换取授权文件, 再在此加载。授权与机器绑定,换机器需要重新签发。

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 · 脚步声增强

0% · 0.0 dB

两个旁路的区别:「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 · 算法参数

0.0 dB

「提升脚步 +X dB」和「压低背景 X dB 再自己加音量」是同一个波形, 区别只是前者白白吃掉 X dB 的数字余量、必然削波。算法方建议 衰减 ≈ 增强强度的一半(10 dB 增强 → −5 dB),要彻底无过载就设成 −增强强度。

-1.0 dB

立体声联动、不增加时延。它是安全网不是主方案——正解是用上面的衰减留出余量, 让限幅器基本不介入。

左右各算各的掩码等于给两边乘不同增益,改写耳间电平差(ILD)——那是判断方位的 主要线索,人耳阈值约 1 dB。共用掩码后左右比值精确不变,还省一半计算。

0.60

掩码逐帧逐频点的抖动会被增益放大 10^(dB/10) 倍,听起来是沙沙声。但之前那次 沙沙声不是这么来的——是限幅器整块 128 样本一起压,形成 344.5 Hz 的增益台阶,算法 1.6.0 已修。平滑的代价是脚步起音变钝,所以现在默认关;确有掩码抖动时再开,建议 0.5~0.7, 频率平滑无时延、不影响瞬态。

5 · 所选输出端点音量

--

通过 Windows IAudioEndpointVolume 控制上方选中的输出端点,不改系统默认设备。

8 · 自定义 EQ 旁路

#类型频率 Hz增益 dBQ
20

15 段参量 EQ,位置在增强之后、限幅器之前——放在限幅器之后的话,EQ 的提升会直接 突破 ceiling,限幅器的天花板保证就不成立了。曲线可直接拖动(改频率和增益),类型与 Q 在下表里改。

曲线是按 RBJ 公式预测的合成频响,不是实测。EQ 与增强的旁路相互独立,关掉增强不会 连 EQ 一起关掉;注意干路不过限幅器,EQ 推大提升时旁路状态下仍可能超 0 dBFS。

正在连接…