# 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