Commit Graph

  • d331128e88 输出设备不写死: 面板设备选择 + 自动挂载守护(治开机后"双重混响") main v1.0.9 糖糖 2026-09-24 09:36:36 +08:00
  • 117a0c65d6 stop: 清锁改用通配 —— 锁文件是每声道一份(.lock0/.lock1), 只删基名会留残留 lou 2026-09-23 21:11:18 +08:00
  • 717842f0a9 场所预设: 「电影院」「歌剧院」一键切 EQ + 混响 v1.0.8 lou 2026-09-20 17:15:59 +08:00
  • 2566307e6c EQ 预设加「电影院」「歌剧院」+ 预设按钮选中高亮 v1.0.7 lou 2026-09-20 13:51:25 +08:00
  • 3b6ce2c57e 参数持久化: 面板改动落盘, 重启/开机后自动恢复 v1.0.6 lou 2026-09-20 13:40:06 +08:00
  • 5c6a982210 修低频过量的四条: HRIR 均衡 + 房间 IR 校平 + LN_MAX_BOOST + EQ 平直 v1.0.5 lou 2026-09-20 13:05:10 +08:00
  • c9e9a5ac28 混响立体声丢失: 重做 IR 的工具把双声道压成了单声道 -> conf 改用 convolver 的 channel 按声道取 lou 2026-09-20 12:55:51 +08:00
  • c362aabb5e 修"播着播着没声音" + 响度目标 -16 调到 -12 lou 2026-09-20 12:55:51 +08:00
  • 3f64190187 修'刷几条视频后没声音': 归一化 DSP 原来拿'连续 10 秒无数据'当'链路已断'的判据, 但音频流本来就有静默期(视频间隙/暂停/切歌), 于是正常使用时自己退出 -> pipe 断 -> 没声音, 刷新页面重连才恢复。改用'启动时的 ppid'比对(filter-chain 死后子进程被 systemd 收养, ppid 必变), 静默不再退出; IDLE_LIMIT 降级为 600s 兜底。实测: 静默 15s 后归一化进程仍在(修前降为 0) lou 2026-09-19 21:12:08 +08:00
  • 43919f5f97 开机自启: 链路靠 PipeWire 自动加载 conf(不需要服务); 面板加 systemd --user 服务 collaplex-audio-panel.service(start 时自动装并 enable, Restart=no); 修 stop 漏杀按相对路径起的面板进程(端口被占导致新服务起不来); 打包带上 systemd/; README 加自启段 + 进程匹配要按后段的坑 v1.0.4 lou 2026-09-19 20:48:47 +08:00
  • 3aa10897ba 打包脚本排除 IR 备份文件(.orig.wav 只留源码树), deb 从 2.8M 回到 968K v1.0.2 lou 2026-09-19 20:32:31 +08:00
  • a422792df2 修回声: 房间 IR 含 30ms 传播延迟(声源到麦克风 10.3m 的声程)且前两次反射与直达声同量级(30ms 处 0dB/40ms 处 -1.6dB), 与零延迟的干声相加 -> 湿声晚 30ms 还很响 = 回声; 处理 IR(裁前 22ms 静音 + 前 55ms 余弦渐入, 直达声段 0 -> -23.6dB)再把 gain 重标 0.126->0.4 补回混响量; 脉冲取证: 修前 120ms 处 -26dBFS 孤立峰(+12dB), 修后包络单调衰减无孤立峰; 新增 测试/test_echo.py 与 工具/重做混响IR.py, 原 IR 备份 .orig.wav lou 2026-09-19 20:32:07 +08:00
  • ddd642b772 主命令改成日常三个动作: start(接管系统音频) / stop(恢复默认输出+停面板) / web(起面板并打开浏览器); 安装脚本 /proc 进程消失竞态静默; README 与 deb 描述同步; 版本 1.0.1 v1.0.1 lou 2026-09-19 20:13:12 +08:00
  • 489a8a79c2 README: 第二代声明(对第一代 cinema-spatial 推倒重构) + 代际对比表(架构/EQ/响度/混响/控制/分发) v1.0.0 lou 2026-09-19 20:04:12 +08:00
  • f1d6f84b2f 发布准备: 主命令 collaplex-audio(install/uninstall/status/panel) + 打包deb.sh(deb 1.9MB, Arch all, 依赖 python3-numpy/scipy, 装完不自动启用) + 安装脚本支持系统解释器(deb 场景无 venv) + 自检补湿量进程 + README 重写(链路图/面板/预设/数据来源/坑表/实测表/测试脚本清单) lou 2026-09-19 20:02:21 +08:00
  • 6a43111d5a EQ 预设 10 个(平直/流行/摇滚/爵士/古典/人声/低音/高音/深夜/柔化): 用控制点在对数频率轴插值成 32 段; CDP 点击实测低音[7,7,7,7,6.5,6]+后段-1、柔化前段-2后段-4.5 均写入 DSP lou 2026-09-19 19:56:58 +08:00
  • bd9238e8b0 面板刷新率 4Hz -> 62Hz: 服务端加 SSE 推送 /api/stream(FRAME_SEC=16ms), 前端改用 EventSource; 电平表加'上升立刻跟 + 下落每帧最多 0.9dB 平滑 + 峰值保持 1.6 秒', 归一化电平/增益同套平滑, 增益显示两位小数 lou 2026-09-19 19:54:11 +08:00
  • 00c9ced2c0 前端: 归一化加输入电平与动态增益显示(读归一化 DSP 状态); 修总音量滑块回弹(activeElement 判断不准 -> 显式 busy 标志 + 松手静默期), CDP 真鼠标拖动实测 4->10.5 停住不回弹 lou 2026-09-19 19:47:11 +08:00
  • 6f5729baf2 前端加 4 个电平表(入L/出L/入R/出R, 双声道由 flock 分槽) + 混响湿度滑块(实时); 湿量抽成独立 DSP 增益级(wet_gain.py), 混响仍用 PipeWire convolver 跑 3 秒长 IR; 实测湿量 0 无尾巴 / 1 有 3 秒衰减尾巴 lou 2026-09-19 19:37:54 +08:00
  • 927309b1a9 README 补 SADIE II 来源(约克大学 H4, Zenodo DOI); 更新已修的残留描述(块间插值/限幅阈值); 记下'峰值失真纯音测不出'的教训 lou 2026-09-19 19:28:21 +08:00
  • b154ac46c1 修限幅介入过早: 阈值 -3.9 -> -0.63 dBFS(ceiling 0.99/knee 0.06). 纯音峰值因子仅3dB测不出, 音乐(10-14dB)峰值长期落在旧阈值内被压 -> 中低频谐波; 类音乐实测非瞬态增益精确 +6.00dB, 纯音+6dB 谐波 -65.6 -> -91.1 dB; 新增 test_limit.py(高峰值因子素材) lou 2026-09-19 19:27:04 +08:00
  • f3069cdb15 96k 时钟 conf 收进项目(原来只在系统侧, 重装会丢 -> HRIR 被按 48k 降采样); 安装脚本一并部署 91-clock.conf lou 2026-09-19 19:23:20 +08:00
  • 38ae1fa22e 修块间台阶残留: 归一化增益改块内逐样本线性插值(zipper 噪声); 谐波(相对基频) +0/+6dB 由 -12.1/-15.9 降到 -90.1/-70.6 dB; 调试用的测试脚本收进 测试/, 清理全部调试残留 lou 2026-09-19 19:22:48 +08:00
  • a81adb616b 修中低频沙沙: 房间混响 IR 未归一化(中低频频响 +20dB), 湿路径干湿相加使 HRTF 级 +19dB, 把归一化的 -14dBFS 顶到 +5dBFS 导致软限幅持续工作生成谐波; 给混响 convolver 加线性增益 0.126(-18dB); EQ入峰值 +5.16->-15.57 dBFS, 600Hz 谐波 -9.9->-28.9dB lou 2026-09-19 19:17:31 +08:00
  • 2dd51e3324 修沙沙声: eq.py 块长不再假设固定的 1024 样本(quantum 在 32~2048 间变化, 原来用 np.resize 重复填充 -> 周期性伪影); 改为按实际块长一对一处理; 实测 4096/2048/1024/512/384 字节全部一对一 lou 2026-09-19 18:58:30 +08:00
  • b25770cd51 修第二处放大 bug: 删掉 20- 里残留的固定 +6dB 音量级和多余 param_eq(与面板总音量叠了两级, 把归一化的 -3dBFS 顶到 +3dBFS); 逐级实测排除归一化与混响; 修后 +0/+6/+12dB 输出峰值 -12.28/-6.35/-1.11 dBFS lou 2026-09-19 18:53:18 +08:00
  • e8b402472c 修削峰: 总音量输出级 np.clip 硬削 -> soft_limit 软限幅(上限-1dBFS, tanh 渐近); +12dB 时贴顶样本 64.6%->0%, 峰值 -1.01 dBFS lou 2026-09-19 18:45:12 +08:00
  • 5a4b11092c 前端: 抽公共层(dsp/common.py 共享内存协议)+ 32段EQ/总音量 DSP(dsp/eq.py, scipy sosfilt) + 本地控制面板(web/, 滑块+滚轮捕捉); 安装脚本接 30-collaplex-eq; pyright strict 0 error lou 2026-09-19 18:34:56 +08:00
  • f32c2cad24 核心后加 EQ(三段平直) + 总音量放大(+6dB, VOL_DB 可调); param_eq 端口须带编号(In 1/Out 1); README 补调参与坑 lou 2026-09-19 18:24:18 +08:00
  • 0dc55ddcb5 归一化接在核心前面: 全局音频 -> 虚拟声卡 -> 响度归一化 -> HRTF(湿量0.3) -> 数字输出; 安装脚本单脚本可复现(含残留DSP清理) lou 2026-09-19 18:16:43 +08:00
  • 1b93498096 虚拟声卡接入 HRTF 直出: 全局音频 -> 虚拟声卡 -> HRTF(湿量0.3) -> 数字输出; 安装脚本重写为两级独立部署+自检 lou 2026-09-19 18:09:29 +08:00
  • 0840c7d398 HRTF 独立实例: 接入(collaplex_hrtf_in) -> 双耳 HRTF + 房间混响(湿量0.3) -> 数字输出; 虚拟声卡退回纯转发 lou 2026-09-19 18:06:23 +08:00
  • f1a3c80fd4 固化链路: 虚拟声卡 + 响度归一化 -> 数字输出 (安装脚本可复现部署) lou 2026-09-19 17:22:03 +08:00
  • 4ca821011b 初始化: collaplex音效 项目骨架 (venv + gitignore) lou 2026-09-19 17:07:19 +08:00