home/ atoms/ sc-midiout-iac-driver

MIDIOut sends MIDI from SuperCollider to a DAW via the macOS IAC Driver virtual MIDI bus

SuperCollider can send MIDI to external software using MIDIOut. On macOS, enable the IAC Driver (Inter-Application Communication) in Audio MIDI Setup to create virtual MIDI buses between applications. After reinitializing MIDIClient, create m = MIDIOut.new(portIndex). Send notes with m.noteOn(channel, noteNumber, velocity) and m.noteOff(channel, noteNumber). By default, MIDIOut has 200ms latency; set m.latency = 0 for immediate messages. SuperCollider counts MIDI channels 0-15, while most DAWs display them as 1-16 — an off-by-one that frequently causes confusion.

Examples

MIDIClient.init; m = MIDIOut.new(0); m.latency = 0; m.noteOn(0, 60, 80); m.noteOff(0, 60);

Assessment

A student targets MIDI channel 1 in Logic but SuperCollider sends notes on m.noteOn(1, 60, 80) and none are received. What is the likely cause? How should the channel argument be written?

“Logic thinks of this lowest numbered channel as channel 1, but SC, programming language that it is, treats it as channel 0.”
corpus · supercollider-tutorials-full-transcripts-and-code-eli-fields · chunk 61