libs | ||
.gitignore | ||
midicontrol.py | ||
miredis.json | ||
miredis.py | ||
OSC3.py | ||
README.md |
Forward Midi events to redis/OSC
Miredis hooks to all midi devices connected and listen for events. Miredis can optionnaly hook to opensourced Link protocol (200+ music & videos apps) -> "/beat" & "/bpm" All events are forwarded to your redis server and your OSC server.
Run (not with python 3.9)
python3 miredis.py
See options :
python3 miredis.py -h
To enable Link :
python3 miredis.py -link
(for cheap midi interface midisport/midiman from audio on Linux : apt-get install midisport-firmware)
New Features
- Client example : midicontrol.py
- Added verbose mode -v
- Added redis subscribe events
- Added Clitools program selection mode for Launchpads
- Added custom redis 'key event', to be more semantic/hardware agnostic with Configuration file : miredis.json. i.e "/feedback/1/114/value" is generated each time a CC message on channel 1, CC 114 is recevied.
OSC
Following messages will be sent to an outside OSC server :
/midi/noteon midichannel note velocity
/midi/noteoff midichannel note
/midi/cc midichannel ccnumber value
/midi/clock
/midi/start
/midi/stop
/beat beatnumber
/bpm bpm
/Your custom (see configuration file). Ex : /feedback midichannel ccnumber value
Redis keys
"/midi/noteon/midichannel" value : "note/velocity"
"/midi/noteoff/midichannel" value : "note"
"/midi/cc/midichannel/ccnumber" value : "ccvalue"
"/beat" value : "beatnumber"
"/bpm" value : "currentbpm"
custom ones
Redis : midi events published to "/midi/last_event"
"/midi/noteon/midichannel/note/velocity"
"/midi/noteoff/midichannel/note
"/midi/cc/midichannel/ccnumber/ccvalue"
customs one like "/feedback/1/114/value"