«Controlling DSI tetra with Supercollider--some examples» by jamescaf
on 25 Oct'17 20:16 in1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
s.boot; MIDIClient.init; // check the array of midi destinations for the device you are using, and then create a MIDIOut // at the index of the destination you plan on using // in the case that the midi destination you are using is the first in the destinations array: m = MIDIOut(0); //playing a simple pattern of midi notes to the hardware synth listening to midi channel 1 // see also the documentation page "Pattern Guide Cookbook 04: Sending MIDI" ( Pbind( \type, \midi, \midicmd, \noteOn, \midiout, m, \chan, 0, \midinote, Pseq([48, 67, 52], inf), // C, G, E \dur, Pseq([4, 2, 2], inf), \legato, 1.01, \amp, 1, ).play; ) // sending a control message. second argument is control number, third is control value: m.control(0, 23, 110); //NRPN control of filter pole on DSI Tetra: // first, set parameter number (24 in this case) // set most significant byte for parameter number (0 in this case) m.control(0, 99, 0); // then least significant byte for parameter number (24 in this case) m.control(0, 98, 24); // then set value (1 for 4 pole) // first set most significant byte for this value (0 in this case) m.control(0, 6, 0); // then least significant byte for parameter number (1 in this case) m.control(0,38, 1);
reception
comments