FrankieMa77/qudelix

GitHub: FrankieMa77/qudelix

一款 macOS 原生菜单栏应用,通过 IOKit 直接与 Qudelix 5K DAC 通信,解决了官方 WebHID 应用在 Mac 上不稳定的问题,并提供参数均衡器编辑和 AutoEq 预设导入功能。

Stars: 0 | Forks: 0

# 适用于 macOS 的 Qudelix 一款原生 macOS 菜单栏应用,可通过 USB 配置 **Qudelix 5K** DAC/功放。 [![下载](https://img.shields.io/github/v/release/FrankieMa77/qudelix?label=download&style=flat-square)](https://github.com/FrankieMa77/qudelix/releases/latest) [![下载量](https://img.shields.io/github/downloads/FrankieMa77/qudelix/total?style=flat-square)](https://github.com/FrankieMa77/qudelix/releases) [![macOS 14+](https://img.shields.io/badge/macOS-14%2B-black?style=flat-square&logo=apple)](https://github.com/FrankieMa77/qudelix/releases/latest) [![通用](https://img.shields.io/badge/binary-Apple%20Silicon%20%2B%20Intel-blue?style=flat-square)](https://github.com/FrankieMa77/qudelix/releases/latest) [![MIT](https://img.shields.io/badge/licence-MIT-green?style=flat-square)](LICENSE) 非官方应用,与 Qudelix, Inc 无任何关联,也未经其认可。 Qudelix 提供了一款基于浏览器的配置应用。在 macOS 上,它非常不稳定 — Chrome 的 WebHID 使用的系统调用与之前相同,如果某个报告的帧结构 哪怕只有一字节的偏差,也会导致 5K 停止响应并从 USB 总线上掉线。本 应用转而通过 IOKit 直接与设备通信,并确保了帧结构的正确性。 ## 截图 | 均衡器 | 预设 | 导入 | |---|---|---| | ![均衡器](https://static.pigsec.cn/wp-content/uploads/repos/cas/dc/dc26b54484290c4797895e8724375b04cb667c95ee3b285cb6d92881e178434b.png) | ![预设](https://static.pigsec.cn/wp-content/uploads/repos/cas/0e/0eb7d19b4e43a2021f4022dc105b2b14d0dbc1c31177849d4365f2b92812e012.png) | ![导入](https://static.pigsec.cn/wp-content/uploads/repos/cas/e4/e4c68bf4b0b8238aa9f2774e6a5132d2d316209ccfcbf152fc10a527613ec76d.png) | ## 功能 - **实时设备状态** — 电池、充电、固件、采样率、输入源 - **音量**控制(支持静音) - **10 段参数 EQ** 编辑器:滤波器类型、频率、增益、Q 值以及前置增益 - **20 段模式** — 跟随设备当前所处的任意 EQ 模式 - **实时响应曲线**,展示组合后的滤波器形状 - **20 个预设槽位**,支持按名称加载和保存 - **预设导入**,可从文件或 [AutoEq](https://github.com/jaakkopasanen/AutoEq) 数据库(6000+ 款耳机)导入 - 以标准参数格式**导出**你的 EQ - **诊断面板**,记录与设备交换的每一个数据包 未使用蓝牙。本应用通过 USB HID 控制接口与 5K 通信,且 绝不触碰音频传输路径,因此播放不受任何影响。 ## 安装 从 [Releases](../../releases) 下载 `.dmg`,将其拖入 “应用程序”,然后启动。 macOS 在首次打开时会拒绝运行它 — 因为该应用仅使用了临时签名,而非 付费的 Apple Developer ID。要允许运行,请打开**系统设置 → 隐私与 安全性**,滚动至安全性部分,然后点击**仍要打开**。(旧版的 右键点击 → 打开的技巧在当前的 macOS 上已不再有效。) 如果你不想信任二进制文件,可以自行构建 — 见下文。 要求 macOS 14 或更高版本。通用二进制文件,支持 Apple Silicon 和 Intel。 ## 支持的设备 原版 **Qudelix 5K**,固件版本 3.x,支持 10 段或 20 段 EQ 模式。 应用会在连接握手期间识别设备,如果发现 尚未实现的功能,它会明确告知且不会写入任何内容, 而不是静默地执行错误的操作: | 情况 | 原因 | |---|---| | 5K Plus, T71, Aura Vita | 不同的 EQ 命令集 | | 固件 2.x | Qudelix 在固件 3 中更改了命令格式 | | 固件 1.x | 版本过旧;官方应用也会拒绝这些版本 | ## 从源码构建 ``` git clone https://github.com/FrankieMa77/qudelix.git cd qudelix/QudelixBar ./build-app.sh # current architecture, fast ./build-app.sh --universal # arm64 + x86_64 ./make-dmg.sh # universal build, packaged as a DMG ``` 仅需 Swift 5.9+ 和 Xcode 命令行工具;没有 任何第三方依赖。 ## 隐私 - 唯一会连接的主机是 `raw.githubusercontent.com`,且仅用于获取 AutoEq 耳机列表和你选择的预设。这仅在你打开 导入面板时发生,绝不在启动时进行。 - 无任何遥测、分析、标识符或崩溃报告。 - 仅会写入一个本地文件:`~/Library/Logs/QudelixBar.log`,用于保存设备 数据包跟踪记录。该文件永远不会被传输。 - 仅 EQ、音量和预设设置会被写入设备 — 这与 官方应用写入的内容完全相同。绝不触碰固件。 ## 协议说明 5K 的 USB 协议记录在 [`docs/`](docs/) 中,是为了实现互操作性,从 Qudelix 自家的浏览器应用中逆向工程得出的: - [`FINDINGS.md`](docs/FINDINGS.md) — 传输、HID 报告布局、EQ 组, 以及导致设备从 USB 总线掉线的 report-ID 陷阱 - [`PROTOCOL_STATUS.md`](docs/PROTOCOL_STATUS.md) — 状态/配置位域 结构体、通知和预设格式 这些内容可能对任何想要编写自己的 Qudelix 工具的人有所帮助。 ### 开发者工具 `Sources/qxusb` 和 `Sources/qxprobe` 是用于诊断的 CLI,并非应用的组成部分。 如果误用,它们可能会导致设备不稳定 — `qxusb --noid` 会刻意 复现总线掉线故障,而 `qxprobe` 会发送蓝牙 GAIA 命令。 在运行它们之前,请先阅读源码。 ## 已知限制 - 目前仅开放了用户(耳机)EQ 组,未开放扬声器组。 - 除非你已在设备上命名,否则预设槽位会显示通用名称。 - 20 段模式是根据 Qudelix 的预设格式实现的,但尚未 在真实硬件上进行过测试。写入行为应该与 10 段模式完全一致;如果 20 段曲线回读错误,应用会保持平直的默认设置,而不会 显示无意义的数据。欢迎反馈。 - 暂无自动更新机制。 ## 反馈与贡献 欢迎提交 Bug 报告、想法和 Pull Request — 请提交 [issue](../../issues) 或 PR。 目前特别有用的反馈: - **20 段 EQ 模式** 已实现,但从未在真实硬件上运行过。如果你 使用了该模式,请告诉我你的曲线是否能正确回读。 - **非 3.1.8 版本的其他固件**,或任何表现异常的 5K 设备 — 诊断 面板和 `~/Library/Logs/QudelixBar.log` 会捕获所需的一切信息。 - **Intel Mac。** 该二进制文件虽然是通用的,但目前仅在 Apple Silicon 上运行过。 ## 许可证 [MIT](LICENSE)。可随意使用、构建、复刻;不提供任何担保。 ## 致谢 - [devicePEQ](https://github.com/jeromeof/devicePEQ) — 针对 Qudelix HID 协议的开源先行工作 - 由 Jaakko Pasanen 开发的 [AutoEq](https://github.com/jaakkopasanen/AutoEq) — 耳机修正数据库
标签:Qudelix 5K, 均衡器, 硬件控制, 菜单栏应用, 音频处理