通过 WebSocket 控制 PartyKeys MIDI 键盘 – 连接设备、12 色点亮按键、监听演奏、播放序列、音乐教学跟随模式
PartyKeys MIDI 键盘控制是一项面向实际任务的技能,主要用于通过 MCP 控制 PartyKeys MIDI 键盘(音乐密码)的 LED 灯光和监听弹奏;手机 App 和浏览器页面使用同一套通信协议 ,都连接 WebSocket 端口 18790:;
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
通过 MCP 控制 PartyKeys MIDI 键盘(音乐密码)的 LED 灯光和监听弹奏。
手机 App 和浏览器页面使用同一套通信协议,都连接 WebSocket 端口 18790:
MCP Server (端口 18790)
/
/
WebSocket / WebSocket
↓ ↓
┌──────────┐ ┌──────────┐
│ 手机 App │ │ 浏览器页面 │
│ │ │ │
│ BLE │ │ Web BT │
└────┬─────┘ └────┬─────┘
│ │
└──────┬──────┘
↓
MIDI 键盘
单一服务:调用 music_connect() 时,MCP 只启动 WebSocket 服务(端口 18790)。
首次使用前运行安装脚本:
bash {baseDir}/scripts/setup.sh
连接键盘前,先询问用户选择连接方式:
请选择 MIDI 键盘的连接方式:
- 🌐 浏览器连接 — 在 Chrome/Edge 浏览器中连接设备(推荐本机使用)
- 📱 手机 App — 通过手机 App 桥接蓝牙(推荐云端/远程使用)
两种连接方式使用同一套协议,可任选其一。
使用流程:
partykeys-bridge-web/standalone.html 网页ws://<本机 IP>:18790/ws适用系统:所有系统(Windows、Linux、macOS)
安全上下文(必读):Web Bluetooth 只在浏览器的「安全上下文」里可用,即 https:// 或本机的 http://localhost / http://127.0.0.1。远程 http://IP 无法使用 Web Bluetooth,需改用 手机 App。
使用流程:
ws://<服务器 IP>:18790/ws适用系统:所有系统(Windows、Linux、macOS、云端服务器)
连接 MIDI 键盘设备。
mode: mobile 或 web(可选,不传时让用户选择)断开设备连接。
点亮指定按键的 LED 灯。
keys: 音符列表(必填),如 ["C4", "E4", "G4"] 或 ["3c", "40", "43"] 或 "3c,40,43"colors: 颜色数组,每个键对应一个颜色(可选),如 [1, 3, 5]color: 单个颜色值,所有键共用(可选,已废弃,推荐使用 colors)| 值 | 颜色 | 值 | 颜色 |
|---|---|---|---|
| 0 | 关闭(熄灭) | 7 | 绿色 |
| 1 | 红色 | 8 | 青绿 |
| 2 | 橙红 | 9 | 青色 |
| 3 | 橙色 | 10 | 蓝色 |
| 4 | 黄橙 | 11 | 蓝紫 |
| 5 | 黄色 | 12 | 紫色 |
| 6 | 黄绿 |
监听用户弹奏输入。
timeout: 超时时间,毫秒(默认 5000)mode: "single" 或 "continuous"播放音符序列。
sequence: 音符序列数组,每个元素含 keys 和 delay(毫秒)跟弹模式。
notes: 音符序列timeout: 每个音符超时,毫秒(默认 30000)获取硬件连接状态。
切换键盘/设备工作模式。
mode: skin / free / game / skin_config / drum / free_light / singing / singing_advanced / app_connect设置键盘音区(8度偏移)。
octave: 整数,-3~3,0 为默认音区设置节拍速度。
bpm: 整数,20~300设置节拍类型(拍号)。
beat: "4/4" / "4/3" / "8/6"根据和弦名称点亮键盘对应按键(教学用)。
chord: 和弦名称,格式:根音+和弦类型,如 C、Dm、G7、FMaj7、Am7position: 把位偏移,0 为默认,正数升高,负数降低设置键盘/设备皮肤(色盘)。
skin_id: 色盘编号,0~127query: 若为 true 则仅查询已有皮肤列表查询设备在线状态,获取当前已连接的设备列表。
查询设备固件版本信息。
target: "all" / "box" / "keyboard"浏览器连接模式:
music_connect(mode="web") music_light_keys(keys=["3c", "40", "43"], colors=[1, 3, 5]) music_disconnect()
手机中转模式:
music_connect(mode="mobile") music_light_keys(keys=["C4", "E4", "G4"], color="blue") music_disconnect()
12 色渐变:
# 点亮 12 个键,每个键不同颜色 music_light_keys( keys=["30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "3a", "3b"], colors=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] )
关闭所有灯光:
music_light_keys(keys=[])
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章