thebabush/nanparty

GitHub: thebabush/nanparty

将 MIDI 信号桥接至 Nanlite PavoTube II 6C 管灯的 BLE mesh 控制工具,让任何 DAW 都能实时控制灯光参数。

Stars: 0 | Forks: 0

# nanparty 通过 BLE mesh 实现用 MIDI 控制 Nanlite PavoTube II 6C RGB 管灯。 创建一个虚拟 MIDI 端口,任何 DAW(Bitwig、Ableton 等)都可以向其发送信号, 将 CC 和音符实时映射到灯光参数。 ## 工作原理 PavoTube II 6C 使用带有厂商特定协议的 BLE mesh (公司 ID `0x1111`)。本项目使用我们自己的 mesh 密钥配置灯光, 然后将 MIDI 控制变化桥接到灯光命令。 完整的协议参考请参见 [PROTOCOL.md](PROTOCOL.md)。 ## 设置 ### 1. 安装 ``` uv sync ``` ### 2. 配置灯光 将 PavoTube 恢复出厂设置(按住电源按钮),然后: ``` uv run python provision.py ``` 这将运行 BT Mesh 配置协议,安装我们的 NetKey/AppKey, 并将派生密钥保存到 `mesh_keys.json`。 ### 3. 运行 MIDI 桥接 ``` uv run python midi_bridge.py ``` 这将连接到灯光,打开一个名为 **"PavoTube II 6C"** 的虚拟 MIDI 端口,并开始监听。 ### MIDI 映射 | MIDI | 参数 | 范围 | |------|-----------|-------| | CC 1 (Mod Wheel) | Hue (色相) | 0–360° | | CC 2 | Saturation (饱和度) | 0–100% | | CC 7 (Volume) | Brightness (亮度) | 0–100% | | CC 3 | CCT (Kelvin) | 2700–7500 K | | CC 4 | GM tint | — | | CC 5 | Mode select (模式选择) | 0–42 = CCT, 43–85 = HSI, 86–127 = Effects | | Note On | Hue flash (色相闪烁) | note × 3°, velocity → brightness | ## 文件 | 文件 | 用途 | |------|---------| | `midi_bridge.py` | MIDI → BLE 灯光桥接(主入口点) | | `controller2.py` | BLE mesh 加密、PDU 构建、网络栈 | | `provision.py` | BT Mesh 配置(首次设置) | | `PROTOCOL.md` | 整洁的协议参考 | ## 参考 - [kitprojects/nanlite-reverse-engineering](https://github.com/kitprojects/nanlite-reverse-engineering) — FS-300B BLE mesh 逆向工程(厂商 opcode 和 PDU 格式的来源)
标签:Ableton Live, Bitwig, BLE mesh, IoT, MIDI 控制, MIDI 映射, Python, RGB 灯光, 光影艺术, 协议逆向工程, 实时控制, 数字音频工作站, 无后门, 无线通信, 智能灯光控制, 灯光同步, 硬件控制, 舞台灯光, 蓝牙 mesh, 蓝牙低功耗, 虚拟 MIDI, 逆向工具, 音乐可视化