Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2017
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.90 KB | None | 0 0
  1.  
  2. // MIDI
  3.  
  4. MIDI
  5. s.boot
  6.  
  7. MIDIIn.connectAll;
  8.  
  9. MIDIdef.cc(\knobs, {arg ...args; args.postln}, (1..10)); // match cc 1-10
  10.  
  11.  
  12.  
  13. MIDIdef.noteOn(\noteon, {arg vel, noteOn, channel, devID;
  14. // args[1].postln;
  15. [vel, noteOn, channel, devID].postln;
  16.  
  17. /*
  18. if(noteOn== 36, { Synth("xylo", [\freq, 60.midicps]) });
  19. if(noteOn== 37, { Synth("xylo", [\freq, 61.midicps]) });
  20. */
  21. Synth("xylo", [\freq, (50+noteOn).midicps])
  22.  
  23. });
  24.  
  25.  
  26.  
  27. Synth("xylo", [\freq, 66.midicps])
  28.  
  29. 60.midicps
  30.  
  31. a = [11, 22, 33, 44, 55]
  32.  
  33.  
  34. {Saw.ar(MouseX.kr(100, 6000))}.freqscope
  35.  
  36. a[0]
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49. s.scope
  50. SynthDef(\sine, {arg freq=440, amp=0.31, gate=1;
  51. var signal;
  52. signal = (Saw.ar(freq, amp) + Saw.ar(freq+0.5, amp) ) * 0.5;
  53. signal = signal * EnvGen.ar(Env.adsr(0.01, 0.3, 0.6, 1), gate:gate, doneAction:2);
  54. Out.ar(0, Pan2.ar(signal, 0));
  55. }).store
  56.  
  57. a = Synth(\sine, [\freq, 333])
  58. a.free
  59.  
  60. s.boot
  61.  
  62. // OUR FIRST SOFTWARE APPLICATION .... THE MIDI KEYBOARD
  63. (
  64. var amp, noteArray;
  65.  
  66. MIDIIn.connectAll;
  67.  
  68. SynthDef(\sine, {arg freq=440, amp=0.31, gate=1;
  69. var signal;
  70. signal = (Saw.ar(freq, amp) + Saw.ar(freq+0.5, amp) ) * 0.5;
  71. signal = signal * EnvGen.ar(Env.adsr(0.01, 0.3, 0.6, 1), gate:gate, doneAction:2);
  72. Out.ar(0, Pan2.ar(signal, 0));
  73. }).store;
  74.  
  75. amp = 0.1;
  76. MIDIdef.cc(\knobs, {arg ...args;
  77. amp = args[0] / 127;
  78. amp.postln;
  79. }, (1..10)); // match cc 1-10
  80.  
  81. noteArray = Array.fill(127, {0});
  82.  
  83. MIDIdef.noteOn(\noteon, {arg vel, noteOn, channel, devID;
  84. noteOn.postln;
  85.  
  86. noteArray[noteOn] = Synth(\sine, [\freq, noteOn.midicps, \amp, amp]);
  87. noteArray.postln;
  88. }, nil, nil, nil, nil);
  89.  
  90. MIDIdef.noteOff(\noteoff, {arg vel, noteOff, channel, devID;
  91. noteOff.postln;
  92. noteArray[noteOff].release
  93.  
  94. }, nil, nil, nil, nil);
  95.  
  96. )
  97.  
  98.  
  99. a = Synth(\sine, [\freq, 66.midicps]);
  100. a.release
  101.  
  102.  
  103.  
  104. a = Array.fill(44100*2, {arg i; 1.0.rand2})
  105.  
  106. b = Buffer.loadCollection(s, a);
  107.  
  108. {PlayBuf.ar(1, b, 1, loop:1)}.play
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement