|
|
|
# OSC2MidiGateway
|
|
|
|
|
|
|
|
(Fork of https://github.com/tadas-s/OSC2Midi with extensions)
|
|
|
|
|
|
|
|
ESP8266 based OSC <-> Midi wireless bridge.
|
|
|
|
|
|
|
|
It is mostly meant to be used with [TouchOSC][1] but it will work with
|
|
|
|
any [OSC message source][2].
|
|
|
|
|
|
|
|
## Library dependencies
|
|
|
|
|
|
|
|
Project uses:
|
|
|
|
* https://github.com/FortySevenEffects/arduino_midi_library/
|
|
|
|
* https://github.com/CNMAT/OSC
|
|
|
|
|
|
|
|
## Hardware
|
|
|
|
|
|
|
|
Based on a generic ESP8266-01 board using both GPIO pins as MIDI-I/O.
|
|
|
|
|
|
|
|
## OSC message formats
|
|
|
|
|
|
|
|
All messages are expected to have payload of 1 or 2 floats with range
|
|
|
|
from 0 to 127.
|
|
|
|
|
|
|
|
### /midi/cc/channel/{cc} + 1 float
|
|
|
|
|
|
|
|
Will send control change message for `{cc}` number.
|
|
|
|
|
|
|
|
### /midi/cc/channel/{ccA}/{ccB}/.../{index} + 1 float
|
|
|
|
|
|
|
|
Will send control change message for CC specified by `{index}`. For
|
|
|
|
example:
|
|
|
|
|
|
|
|
* /midi/cc/1/10/12/15/1 -> CC to 10 on channel 1
|
|
|
|
* /midi/cc/1/10/12/15/3 -> CC to 15 on channel 1
|
|
|
|
|
|
|
|
This is meant to be used with TouchOSC groups of faders. For example,
|
|
|
|
my [MicroKORG][6] preset includes a fader group of 4 to control
|
|
|
|
amp ADSR: `/midi/cc/1/73/75/70/72`
|
|
|
|
|
|
|
|
### /midi/cc/channel/{ccA}/{ccB} + 2 floats
|
|
|
|
|
|
|
|
This sends two control change messages to `{ccA}` and `{ccB}`. This is
|
|
|
|
meant to be used with TouchOSC XY pads.
|
|
|
|
|
|
|
|
[1]: http://hexler.net/software/touchosc
|
|
|
|
[2]: https://en.wikipedia.org/wiki/Open_Sound_Control
|
|
|
|
[3]: https://www.arduino.cc/en/Tutorial/Midi
|
|
|
|
[4]: http://libremusicproduction.com/tutorials/arduino-and-midi-in
|
|
|
|
[5]: https://www.arduino.cc/en/Reference/SoftwareSerial
|
|
|
|
[6]: http://www.korg.com/us/products/synthesizers/microkorg/
|
|
|
|
[7]: https://www.microchip.com/wwwproducts/en/en027785
|
|
|
|
[8]: https://github.com/tadas-s/esp8266-autoreset
|
|
|
|
|