Download - Programming for MIDI controllers
![Page 1: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/1.jpg)
Programming for MIDI controllers
@jordanorelliTuesday, August 20, 13
![Page 2: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/2.jpg)
This is an EWI.
Tuesday, August 20, 13
![Page 3: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/3.jpg)
An EWI does not make sound.
Tuesday, August 20, 13
![Page 4: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/4.jpg)
It only makes data.
Tuesday, August 20, 13
![Page 5: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/5.jpg)
It is a data horn.
Tuesday, August 20, 13
![Page 6: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/6.jpg)
The data that the EWI makes is MIDI.
MIDI
Tuesday, August 20, 13
![Page 7: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/7.jpg)
A MIDI message looks like this:
144 60 80
Tuesday, August 20, 13
![Page 8: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/8.jpg)
A MIDI message looks like this:
144 60 80
type
Tuesday, August 20, 13
![Page 9: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/9.jpg)
A MIDI message looks like this:
144 60 80
type data1
Tuesday, August 20, 13
![Page 10: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/10.jpg)
A MIDI message looks like this:
144 60 80
type data1 data2
Tuesday, August 20, 13
![Page 11: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/11.jpg)
MIDI
The EWI sends MIDI messages to a synthesizer.Tuesday, August 20, 13
![Page 12: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/12.jpg)
MIDI
The synthesizer is just a program. It was free.
(i.e., gratis)Tuesday, August 20, 13
![Page 13: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/13.jpg)
MIDI
The synthesizer sends sound to the speakers.
SOUND
Tuesday, August 20, 13
![Page 14: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/14.jpg)
(demo)
Tuesday, August 20, 13
![Page 15: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/15.jpg)
You can send MIDI messages anywhere you
like.
Tuesday, August 20, 13
![Page 16: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/16.jpg)
That is your right as a programmer.
Tuesday, August 20, 13
![Page 17: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/17.jpg)
MIDI
I like to send MIDI messages to Processing...
Tuesday, August 20, 13
![Page 18: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/18.jpg)
MIDI
... and have Processing generates
graphics.
LIGHT
Tuesday, August 20, 13
![Page 19: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/19.jpg)
You can use the synth and Processing at the same
time.
Tuesday, August 20, 13
![Page 20: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/20.jpg)
MIDI
MIDI
SOUND
LIGHT
Tuesday, August 20, 13
![Page 21: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/21.jpg)
(demo)
Tuesday, August 20, 13
![Page 22: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/22.jpg)
This is my Launchpad.
Tuesday, August 20, 13
![Page 23: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/23.jpg)
It also sends MIDI messages.
Tuesday, August 20, 13
![Page 24: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/24.jpg)
It sends MIDI messages when you push its
buttons.
Tuesday, August 20, 13
![Page 25: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/25.jpg)
Additionally, it can receive MIDI messages.
Tuesday, August 20, 13
![Page 26: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/26.jpg)
Sending MIDI message to the Launchpad can turn
lights on and off.
Tuesday, August 20, 13
![Page 27: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/27.jpg)
MIDI
I like to send MIDI messages to ChucK...
Tuesday, August 20, 13
![Page 28: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/28.jpg)
MIDI
... and have ChucK generate sound.
SOUND
Tuesday, August 20, 13
![Page 29: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/29.jpg)
ChucK is a strongly timed language. “one second” is always the same amount
of time.
Tuesday, August 20, 13
![Page 30: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/30.jpg)
Since rhythm is a function of time, ChucK is an excellent keeper of
rhythm.
Tuesday, August 20, 13
![Page 31: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/31.jpg)
Programming rhythm means programming time
itself.
Tuesday, August 20, 13
![Page 32: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/32.jpg)
(demo)
Tuesday, August 20, 13
![Page 33: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/33.jpg)
We can also send OSC messages from ChucK to
Processing.
OSC
Tuesday, August 20, 13
![Page 34: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/34.jpg)
...and have Processing generate graphics.
OSC
LIGHT
Tuesday, August 20, 13
![Page 35: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/35.jpg)
We can generate the sound and the graphics at the same
time.
OSC
LIGHT
MIDI
SOUND
Tuesday, August 20, 13
![Page 36: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/36.jpg)
(demo)
Tuesday, August 20, 13
![Page 37: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/37.jpg)
Let’s bring the EWI back.
Tuesday, August 20, 13
![Page 38: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/38.jpg)
MIDI
MIDI
MIDI
OSC
SOUND
SOUND
LIGHT
Tuesday, August 20, 13
![Page 39: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/39.jpg)
(demo)
Tuesday, August 20, 13
![Page 40: Programming for MIDI controllers](https://reader034.vdocuments.net/reader034/viewer/2022042607/558ec9ad1a28ab293c8b45a6/html5/thumbnails/40.jpg)
Thanks!@jordanorelli
github.com/jordanorelli
Tuesday, August 20, 13