ワンクリックで
quneo-controller
Configure Keith McMillen QuNeo MIDI controller via SysEx on Linux — preset loading, reload command, mido port naming
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Configure Keith McMillen QuNeo MIDI controller via SysEx on Linux — preset loading, reload command, mido port naming
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Use when working with the Sleepy Circuits Hypno 2 video synthesizer/resampler — 2-channel video mixer/looper, shader engine, MIDI CC mapping, CV/modulation, sampler. Firmware v0.0.163+.
Hardware instrument skills — reference guides for each device in the music studio setup.
GLSL fragment shader techniques adapted for the Hypno 2 video synthesizer — single-pass generative visuals and video effects optimized for Raspberry Pi 5, 5-uniform limit, CC-mapped parameters
Korg KAOSS DJ — USB DJ controller with X-Y touchpad, Serato DJ Intro integration, KAOSS effects, EQ, crossfader, and MIDI on Linux
Korg KAOSSILATOR dynamic phrase synthesizer (2007 model) — X-Y touchpad, 100 programs, gate arpeggiator, phrase loop recording, USB MIDI on Linux
Use when working with the Korg kaossilator 2S dynamic phrase synthesizer — X-Y touchpad, 150 programs, 50 arp patterns, loop recording, audio player, master recorder, microSD storage, and USB MIDI on Linux.
| name | quneo-controller |
| description | Configure Keith McMillen QuNeo MIDI controller via SysEx on Linux — preset loading, reload command, mido port naming |
| category | quneo |
Keith McMillen QuNeo 3D multi-touch pad controller requiring SysEx messages for preset configuration.
amidi -l | grep -i quneo
# Typical device: hw:2,0,0 at /dev/snd/midiC2D0
QuNeo has exactly 16 presets (slots 0-15), accessed by pressing pads 1-16 after tapping MODE button.
Preset Load Verification:
Use --device hw:24:0 BEFORE the subcommand:
cd ~/Documents/git/quneo-linux
python3 quneo-linux.py --device hw:24:0 preset \
--preset_file presets_1.2.3/QuNeo_FactoryPresets.json \
--in 1 --out 1
import { open, close, write } from 'fs';
const sysex = hexFile.split(' ').map(h => parseInt(h, 16));
const fd = await open('/dev/snd/midiC2D0', 'w');
for (let i = 0; i < sysex.length; i += 64) {
await write(fd, Buffer.from(sysex.slice(i, i+64)));
}
await close(fd);
import mido
# Raw ALSA: hw:2,0,0
# mido port name: 'QuNeo:QuNeo MIDI 1'
mido.get_output_names()
port = mido.open_output('QuNeo:QuNeo MIDI 1')
Sending preset SysEx alone does NOT activate the preset. MUST send reload command after SysEx.
Reload SysEx format: [0xf0, 0x00, 0x01, 0x7b, 0x30, 0x00, , 0xf7]
def reload_preset(preset_number):
# SysEx: F0 00 01 7B 30 00 <preset> F7
return bytes([0xf0, 0x00, 0x01, 0x7b, 0x30, 0x00, preset_number, 0xf7])
sysex = build_syx_preset_data(preset, preset_number=0)
port_out.send(mido.Message.from_bytes(sysex))
time.sleep(0.5)
port_out.send(mido.Message.from_bytes(reload_preset(0)))
Factory Preset 1: CC for sliders/rotaries, Note On for pads/buttons.
# SLIDERS & ROTARIES — use CC
port.send(mido.Message('control_change', channel=0, control=CC, value=127))
# PADS & BUTTONS — use Note On (velocity=127 ON, velocity=0 OFF)
port.send(mido.Message('note_on', channel=0, note=N, velocity=127))
Sustained hold required: re-send every ~50ms or LED disappears.
| Component | CC | Effect |
|---|---|---|
| LongSlider | 5 | LED position: 0=left, 127=right |
| Left Rotary | 16 | LED position: 0=bottom, 127=top |
| Right Rotary | 17 | LED position: 0=bottom, 127=top |
| HSlider2 | 2 | VU gradient green-yellow-red |
| HSlider3 | 3 | VU gradient |
| VSlider2 | 8 | VU gradient |
| VSlider3 | 9 | VU gradient |
Load preset: python3 -c "from quneo.exporter import json2syx; print(json2syx(preset, slot).hex())" Flash: node ~/Documents/git/quneo-node/commands/flash.js presets/Custom.json --slot 0 Factory reset: node ~/Documents/git/quneo-node/commands/factory.js Monitor: node ~/Documents/git/quneo-node/commands/monitor.js