Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // MIDI
- MIDI
- s.boot
- MIDIIn.connectAll;
- MIDIdef.cc(\knobs, {arg ...args; args.postln}, (1..10)); // match cc 1-10
- MIDIdef.noteOn(\noteon, {arg vel, noteOn, channel, devID;
- // args[1].postln;
- [vel, noteOn, channel, devID].postln;
- /*
- if(noteOn== 36, { Synth("xylo", [\freq, 60.midicps]) });
- if(noteOn== 37, { Synth("xylo", [\freq, 61.midicps]) });
- */
- Synth("xylo", [\freq, (50+noteOn).midicps])
- });
- Synth("xylo", [\freq, 66.midicps])
- 60.midicps
- a = [11, 22, 33, 44, 55]
- {Saw.ar(MouseX.kr(100, 6000))}.freqscope
- a[0]
- s.scope
- SynthDef(\sine, {arg freq=440, amp=0.31, gate=1;
- var signal;
- signal = (Saw.ar(freq, amp) + Saw.ar(freq+0.5, amp) ) * 0.5;
- signal = signal * EnvGen.ar(Env.adsr(0.01, 0.3, 0.6, 1), gate:gate, doneAction:2);
- Out.ar(0, Pan2.ar(signal, 0));
- }).store
- a = Synth(\sine, [\freq, 333])
- a.free
- s.boot
- // OUR FIRST SOFTWARE APPLICATION .... THE MIDI KEYBOARD
- (
- var amp, noteArray;
- MIDIIn.connectAll;
- SynthDef(\sine, {arg freq=440, amp=0.31, gate=1;
- var signal;
- signal = (Saw.ar(freq, amp) + Saw.ar(freq+0.5, amp) ) * 0.5;
- signal = signal * EnvGen.ar(Env.adsr(0.01, 0.3, 0.6, 1), gate:gate, doneAction:2);
- Out.ar(0, Pan2.ar(signal, 0));
- }).store;
- amp = 0.1;
- MIDIdef.cc(\knobs, {arg ...args;
- amp = args[0] / 127;
- amp.postln;
- }, (1..10)); // match cc 1-10
- noteArray = Array.fill(127, {0});
- MIDIdef.noteOn(\noteon, {arg vel, noteOn, channel, devID;
- noteOn.postln;
- noteArray[noteOn] = Synth(\sine, [\freq, noteOn.midicps, \amp, amp]);
- noteArray.postln;
- }, nil, nil, nil, nil);
- MIDIdef.noteOff(\noteoff, {arg vel, noteOff, channel, devID;
- noteOff.postln;
- noteArray[noteOff].release
- }, nil, nil, nil, nil);
- )
- a = Synth(\sine, [\freq, 66.midicps]);
- a.release
- a = Array.fill(44100*2, {arg i; 1.0.rand2})
- b = Buffer.loadCollection(s, a);
- {PlayBuf.ar(1, b, 1, loop:1)}.play
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement