Chapter 11. Integrating with other systems via MIDI, OSC, serial, and more

 

This chapter covers

  • The Musical Instrument Digital Interface
  • MIDI messages
  • Controlling ChucK with MIDI devices
  • MIDI output to other software, synthesizers, robots, and more
  • The Open Sound Control protocol for networked systems
  • Serial interfaces in ChucK

So far we’ve covered a lot of concepts, all in a creative context, emphasizing composing music and controlling sound in real time. You’ve learned about arrays, logic, functions, multithreading, classes, objects, events, and more. If you were new to programming, you’ll now be able to look at almost any other language and understand the basics right away. The fact that ChucK allows you to control sound and make music so easily and expressively is one of the things that sets it apart from other languages. One last step in your ChucK journey is to learn more tools that you can use for live performance. This will allow you to take your compositions and code-built instruments on stage. In chapter 10, you learned about events and how to start using the keyboard. Now you’ll learn about the Musical Instrument Digital Interface, how to use MIDI controllers with ChucK in real time, and how to use ChucK to control external MIDI synthesizers and devices.

We’ll also briefly introduce the Open Sound Control (OSC) protocol, which allows you to use ChucK in a networked context, and we’ll talk briefly about serial I/O in ChucK.

11.1. Using MIDI: history, basics, and advanced applications

11.2. Open Sound Control: networking music

11.3. Serial input/output to the outside world

11.4. Summary: looking outward and forward