0 %

Nodes

Integration nodes

Bridge a Voice on the canvas to external synthesis — SuperCollider, Max, Pure Data, or anything that listens for OSC over UDP.

NodeInputsOutputsDescription
OSC Send voice voice
text host (default: 127.0.0.1)
number port (default: 57120)
text address (default: /grafer/note)
voice (pass-through) Send the wired Voice as OSC messages over UDP. Each note becomes one message of the form <address> <onset_s:f> <duration_s:f> <pitch_mc:i> <velocity:f>. The dedicated editor exposes the Send button, host/port/address fields, a live preview of the message count, and a copy-paste SuperCollider receiver snippet. Host is restricted to loopback and private-network ranges by default (override with OSC_ALLOW_ANY_HOST=1 server-side). The voice passes through unchanged so the OSC node can sit inline in a chain.

SuperCollider receiver snippet — paste once at boot, then click Send on any OSC Send node:

OSCdef.new(\graferNote, { |msg|
  var onset = msg[1], dur = msg[2], pitchMc = msg[3], vel = msg[4];
  SystemClock.sched(onset, {
    Synth(\default, [
      \freq, (pitchMc / 100).midicps,
      \sustain, dur,
      \amp, vel,
    ]);
    nil
  });
}, "/grafer/note");

The same pattern works in Max (udpreceive 57120 → route /grafer/note) and Pure Data (netreceive -u -b 57120). Microtonal pitches in midicents (6000 = C4, 6050 = quarter-tone above C4) survive intact — cents-level resolution from Grafer's tuning system arrives at the synth as a continuous value.

Wire these nodes into a piece of your own.

Create a free account14 days of Composer Pro, no card needed. Every account opens with the Examples folder.