{
   "labels" : [
      "teatro",
      "live"
   ],
   "code" : "//=====================================================================\r\n//live-performance com samplers, alguns eletrônicos e controlador midi\r\n//=====================================================================\r\n\r\n\r\n/*\r\n\r\ncódigo ultilizado para live performance na peça teatral do agrupamento andar7:\r\n\"Fausto in Progress\",\r\nse constroi a partir de alguns eletronicos e manipulação de samplers ultilizando um\r\ncontrolador midi Korg Nono Kontrol como interface.\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n//======================================================================\r\n//iniciando e alocando samplers na memória:\r\n//======================================================================\r\n\r\n\r\n\r\nb = ();\r\nb.media = \"/home/caio/live_1/media/*.wav\".pathMatch.collect { |i| Buffer.read(s, i)};\r\nb.new = \"/home/caio/live_1/new/*.wav\".pathMatch.collect { |i| Buffer.read(s, i)};\r\n\r\n(\r\n\r\ns = Server.local.boot;\r\n\r\nMIDIIn.connect;\r\n\r\n\r\n//=======================================================================\r\n// synth`s para manipulação da leitura dos áudios\r\n//=======================================================================\r\n\r\n\r\n\r\n\r\n   SynthDef(\\bufsampler,  {\r\n\r\n   | vol = 0, rate=1, buf = 0 |\r\n  \r\n   var  phase = Phasor.ar(0, BufRateScale.kr(buf) * rate, 0, BufFrames.kr(buf));\r\n   var  sinal = BufRd.ar(2, buf, phase , 1, 2)*vol;\r\n                Out.ar(0, sinal);\r\n }).add;\r\n\r\n\r\n\r\n   SynthDef(\\bufsampler_1, { \r\n\r\n   | vol = 0, buf = 0, pulse = 5, alt = 1000, osc = 100 |\r\n  \r\n   var  phase = LFSaw.ar(Pulse.kr(pulse, osc), 0, alt);\r\n   var  sinal = BufRd.ar(2, buf, phase)*vol;\r\n                Out.ar(0, sinal);\r\n }).add;\r\n\r\n\r\n   SynthDef(\\bufsampler_2, {\r\n\r\n   | buf = 0, vol = 0, time = 1, altura = 400 |  \r\n\r\n   var  control = SinOsc.kr(time, 200, altura);\r\n   var  phase   = SinOsc.ar(control)*BufFrames.ir(buf);\r\n   var  sinal   = BufRd.ar(2, buf, phase)*vol;\r\n                  Out.ar(0, sinal);\r\n}).add;\r\n\r\n\r\n   SynthDef(\\bufsampler_3, {\r\n  \r\n   | buf = 0, vol = 0 |\r\n  \r\n   var phase = SinOsc.ar(0.007)*BufFrames.ir(0);\r\n   var sinal = BufRd.ar(2, buf, phase)*vol;\r\n               Out.ar(0, sinal);\r\n }).add;\r\n\r\n\r\n   SynthDef(\\bufsampler_4, {\r\n\r\n   | vol = 0, buf = 0, velo = 2, alt = 0.02 |\r\n\r\n   var control = {SinOsc.ar(velo, 0, alt)};\r\n   var frames  = BufFrames.ir(buf);\r\n   var phase   = Mix.new (Array.fill(2, control));\r\n   var sinal   = BufRd.ar(2, buf, phase*frames)*vol;\r\n                 Out.ar(0, sinal);\r\n}).add;\r\n\r\n\r\n   SynthDef(\\bufsampler_5, {\r\n   \r\n   | buf = 0, vol = 0, time = 3, alt = 0 |\r\n \r\n   var frames  = BufFrames.ir(buf);\r\n   var phase   = LFNoise1.ar(time, 1, alt);\r\n   var sinal   = BufRd.ar(2, buf, phase*frames)*vol;\r\n                 Out.ar(0, sinal);\r\n}).add;\r\n\r\n \r\n\r\n   SynthDef(\\bufsampler_6, {\r\n\r\n   | buf = 0, velo = 1, vol = 0, rate = 1 |\r\n\r\n   var frames = {BufFrames.ir(buf)*rate};\r\n   var phase  = LFSaw.ar(velo);\r\n   var sinal  = BufRd.ar(2, buf, phase*frames ) * vol;\r\n                Out.ar(0, sinal);\r\n}).add;\r\n\r\n\r\n \r\n   SynthDef(\\bufsampler_7, { \r\n\r\n   | vol = 0, buf = 0, vel = 5, alt  = 0.9 |\r\n\r\n   var control = {LFNoise1.ar(vel, alt)};\r\n   var sinal   = Mix.new(Array.fill(2, control));\r\n   var out     = BufRd.ar(2, buf, sinal * BufFrames.ir(buf))*vol;\r\n                 Out.ar(0,out);\r\n\r\n }).add;\r\n\r\n\r\n\r\n\r\n\r\n//========================================================================\r\n// definições de synths eletronicos\r\n//========================================================================\r\n\r\n\r\n    SynthDef(\\eletronicos, {\r\n\r\n    |  freq = 440, amp = 1.0, endReflection = 0.5,\r\n       jetReflection = 0.5, jetRatio = 0.32, noiseGain = 0.15,\r\n       vibFreq = 5.925, vibGain = 0.0, outputGain = 0               |\r\n\r\n\r\n\tvar adsr           = (amp*0.2) + EnvGen.ar(\r\n                 Env.adsr(0.005, 0.01, 1.1, 0.01), 1, doneAction: 2);\r\n\tvar noise          = WhiteNoise.ar(noiseGain);\r\n\tvar vibrato        = SinOsc.ar(vibFreq, 0, vibGain);\r\n\tvar delay          = (freq*0.66666).reciprocal;\r\n\tvar lastOut        = LocalIn.ar(1);\r\n\tvar breathPressure = adsr*Mix([1.0, noise, vibrato]);\r\n\tvar filter         = LeakDC.ar(OnePole.ar(lastOut.neg, 0.7));\r\n\tvar pressureDiff   = breathPressure - (jetReflection*filter);\r\n\tvar jetDelay       = DelayL.ar(pressureDiff, 0.025, delay*jetRatio);\r\n\tvar jet            = (jetDelay * (jetDelay.squared - 1.0)).clip2(1.0);\r\n\tvar boreDelay      = DelayL.ar(jet + (endReflection*filter), 0.05, delay);\r\n\t                     LocalOut.ar(boreDelay);\r\n\t                     Out.ar(0, Pan2.ar(0.3*boreDelay*outputGain));\r\n                       \r\n}).add; \r\n\r\n\r\n    SynthDef(\\walkingBass, { \r\n  \r\n    | trig = 2, vol = 0.7 |\r\n \r\n      \r\n    var  trigger =  Impulse.kr(trig);\r\n    var  freq    =  TRand.kr(30, 50, trigger).midicps;\r\n    var  sinal   =  SinOsc.ar(freq);  \r\n    var  out     =  Pan2.ar(sinal, TRand.kr(-1.0, 1.0, trigger));\r\n                    Out.ar(0, out*vol)\r\n\r\n  }).add;\r\n\r\n\r\n    SynthDef(\\pan, { \r\n   \r\n    | velPan = 2, freqAmp = 100, quantNote = 10, vol = 0.7 |\r\n\r\n    var line   = Dseq([-0.9, -0.7, -0.5, -0.3, -0.1,\r\n 0.2, 0.4, 0.6, 0.8, 0.5, 0.3, 0.1, -0.2, -0.4, -0.6, -0.8], inf);\r\n    var test   = Demand.kr(Impulse.kr(velPan), 0, line);\r\n    var lfo    = LFNoise0.kr(quantNote, freqAmp, freqAmp*5);\r\n    var sinal  = SinOsc.ar(lfo);\r\n    var pan    = Pan2.ar(sinal, test);\r\n                 Out.ar(0, pan*vol);\r\n}).add;\r\n\r\n\r\n   SynthDef(\\bass, {\r\n     \r\n   | vol = 0.7, vel = 2, rangerA = 30, rangerB = 80 |\r\n\r\n   var sinal = SinOsc.ar(SinOsc.kr(vel).range(rangerA, rangerB));\r\n                 Out.ar(0, sinal*vol);\r\n }).add;\r\n\r\n\r\n\r\n  SynthDef(\\osc, {\r\n \r\n  | pulse = 0.02, osci  = 0.01 |\r\n\r\n  var trigger = TRand.kr(Line.kr(0, 0.4, 0.02), Line.kr(0, 0.7, 0.02));\r\n  var env = EnvGen.kr(Env.perc(0.001, 3.05, 0.5, 0.5, -30), trigger, doneAction:3);\r\n  var control  = LFNoise2.ar([osci, osci+2, osci*4]).range(60.0, 90.0);\r\n  var sinal = Mix.ar(SinOsc.ar(control, 0,  env));\r\n              Out.ar(0, sinal*0.07)\r\n }).store;\r\n\r\n\r\n  SynthDef(\\osci, {\r\n \r\n  | freq = #[200, 220], pulse = 0.01, osci  = 0.01, vol = 0.3 |\r\n\r\n  var trigger = Pulse.kr(0.001);\r\n  var env = EnvGen.kr(Env.perc(), trigger, doneAction:3);\r\n  var sinal = Mix.ar(SinOsc.ar(freq, 0,  env));\r\n              Out.ar(0, Pan2.ar(sinal*vol, Line.kr(-1, 1, 3)))\r\n  }).store;\r\n\r\n\r\n\r\n\r\n\r\n//=======================================================================\r\n// definindo variáveis globais\r\n//=======================================================================\r\n\r\n\r\n//cena 1 (controlador midi)\r\n\r\n~s_001  = Synth.newPaused(\\bufsampler_5, [\\buf, b.media[0].bufnum, \\vol, 0]);\r\n~s_002  = Synth.newPaused(\\bufsampler_4, [\\buf, b.media[1].bufnum, \\vol, 0]);\r\n~s_003  = Synth.newPaused(\\bufsampler_2, [\\buf, b.media[2].bufnum, \\vol, 0]);\r\n~s_004  = Synth.newPaused(\\bufsampler_6, [\\buf, b.media[3].bufnum, \\vol, 0]);\r\n~s_005  = Synth.newPaused(\\bufsampler_7, [\\buf, b.media[4].bufnum, \\vol, 0]);\r\n~s_006  = Synth.newPaused(\\bufsampler_7, [\\buf, b.media[5].bufnum, \\vol, 0]);\r\n~s_007  = Synth.newPaused(\\bufsampler_5, [\\buf, b.media[6].bufnum, \\vol, 0]);\r\n~s_008  = Synth.newPaused(\\bufsampler_5, [\\buf, b.media[7].bufnum, \\vol, 0]);\r\n~s_009  = Synth.newPaused(\\bufsampler_1, [\\buf, b.media[0].bufnum, \\vol, 0]);\r\n~s_010  = Synth.newPaused(\\bufsampler_2, [\\buf, b.media[0].bufnum, \\vol, 0]);\r\n~s_011  = Synth.newPaused(\\bufsampler_3, [\\buf, b.media[0].bufnum, \\vol, 0]);\r\n~s_012  = Synth.newPaused(\\bufsampler_4, [\\buf, b.media[0].bufnum, \\vol, 0]);\r\n~s_013  = Synth.newPaused(\\walkingBass,[\\trig, 3]);\r\n~s_014  = Synth.newPaused(\\pan, [\\velPan, 6, \\freqAmp, 20, \\quantNote, 200]);\r\n~s_015  = Synth.newPaused(\\eletronicos, [\\freq, rand(200)]);\r\n~s_016  = Synth.newPaused(\\eletronicos,[\\freq, rrand(20, 500)]);\r\n~s_bass = Synth.newPaused(\\bass, [\\vel, 10, \\rangerA, 40, \\rangerB, 70]);\r\n\r\n// cena 2 (controlador midi)\r\n\r\n\r\n~s_021  = Synth.newPaused(\\bufsampler_5, [\\buf, b.media[9].bufnum,  \\vol, 0]);\r\n~s_022  = Synth.newPaused(\\bufsampler_4, [\\buf, b.media[10].bufnum, \\vol, 0]);\r\n~s_023  = Synth.newPaused(\\bufsampler_2, [\\buf, b.media[17].bufnum, \\vol, 0]);\r\n~s_024  = Synth.newPaused(\\bufsampler_6, [\\buf, b.media[13].bufnum, \\vol, 0]);\r\n~s_025  = Synth.newPaused(\\bufsampler_7, [\\buf, b.media[14].bufnum, \\vol, 0]);\r\n~s_026  = Synth.newPaused(\\bufsampler_7, [\\buf, b.media[12].bufnum, \\vol, 0]);\r\n~s_027  = Synth.newPaused(\\bufsampler_5, [\\buf, b.media[06].bufnum, \\vol, 0]);\r\n~s_028  = Synth.newPaused(\\bufsampler_5, [\\buf, b.media[01].bufnum, \\vol, 0]);\r\n~s_029  = Synth.newPaused(\\bufsampler_1, [\\buf, b.media[03].bufnum, \\vol, 0]);\r\n~s_030  = Synth.newPaused(\\bufsampler_2, [\\buf, b.media[06].bufnum, \\vol, 0]);\r\n~s_031  = Synth.newPaused(\\bufsampler_3, [\\buf, b.media[18].bufnum, \\vol, 0]);\r\n~s_032  = Synth.newPaused(\\bufsampler_4, [\\buf, b.media[17].bufnum, \\vol, 0]);\r\n~s_033  = Synth.newPaused(\\walkingBass,[\\trig, 3]);\r\n~s_034  = Synth.newPaused(\\pan, [\\velPan, 6, \\freqAmp, 20, \\quantNote, 200]);\r\n~s_035  = Synth.newPaused(\\eletronicos, [\\freq, rand(200)]);\r\n~s_036  = Synth.newPaused(\\eletronicos,[\\freq, rrand(20, 500)]);\r\n\r\n\r\n //cena 3 (Controlador Midi)\r\n\r\n\r\n~s_041  = Synth.newPaused(\\bufsampler_3, [\\buf, b.new[0].bufnum, \\vol, 0]);\r\n~s_042  = Synth.newPaused(\\bufsampler_4, [\\buf, b.new[1].bufnum, \\vol, 0]);\r\n~s_043  = Synth.newPaused(\\bufsampler_2, [\\buf, b.new[2].bufnum, \\vol, 0]);\r\n~s_044  = Synth.newPaused(\\bufsampler_6, [\\buf, b.new[3].bufnum, \\vol, 0.7]);\r\n~s_045  = Synth.newPaused(\\bufsampler_7, [\\buf, b.new[4].bufnum, \\vol, 0]);\r\n~s_046  = Synth.newPaused(\\bufsampler_7, [\\buf, b.new[5].bufnum, \\vol, 0]);\r\n~s_047  = Synth.newPaused(\\bufsampler_5, [\\buf, b.new[6].bufnum, \\vol, 0]);\r\n~s_048  = Synth.newPaused(\\bufsampler_5, [\\buf, b.new[7].bufnum, \\vol, 0]);\r\n~s_049  = Synth.newPaused(\\bufsampler_1, [\\buf, b.new[8].bufnum, \\vol, 0]);\r\n~s_050  = Synth.newPaused(\\bufsampler_2, [\\buf, b.new[9].bufnum, \\vol, 0]);\r\n~s_051  = Synth.newPaused(\\bufsampler_3, [\\buf, b.new[10].bufnum, \\vol, 0]);\r\n~s_052  = Synth.newPaused(\\bufsampler_4, [\\buf, b.new[11].bufnum, \\vol, 0]);\r\n~s_053  = Synth.newPaused(\\walkingBass,[\\trig, 3]);\r\n~s_054  = Synth.newPaused(\\pan, [\\velPan, 6, \\freqAmp, 20, \\quantNote, 200]);\r\n~s_055  = Synth.newPaused(\\eletronicos, [\\freq, rand(200)]);\r\n~s_056  = Synth.newPaused(\\eletronicos,[\\freq, rrand(20, 500)]);\r\np = Pbind(\\instrument, \\osc,\\dur, Pseq([2, 3, 5], inf)/8,\\vol, 0.9).play.stop;\r\n\r\n\r\n// cena 4 (controlador midi)\r\n\r\n~s_061  = Synth.newPaused(\\bufsampler, [\\buf, b.media[0].bufnum, \\vol, 0]);\r\n~s_062  = Synth.newPaused(\\bufsampler, [\\buf, b.media[1].bufnum, \\vol, 0]);\r\n~s_063  = Synth.newPaused(\\bufsampler, [\\buf, b.media[2].bufnum, \\vol, 0]);\r\n~s_064  = Synth.newPaused(\\bufsampler, [\\buf, b.media[3].bufnum, \\vol, 0]);\r\n~s_065  = Synth.newPaused(\\bufsampler, [\\buf, b.media[4].bufnum, \\vol, 0]);\r\n~s_066  = Synth.newPaused(\\bufsampler, [\\buf, b.media[5].bufnum, \\vol, 0]);\r\n~s_067  = Synth.newPaused(\\bufsampler, [\\buf, b.media[6].bufnum, \\vol, 0]);\r\n~s_068  = Synth.newPaused(\\bufsampler, [\\buf, b.media[7].bufnum, \\vol, 0]);\r\n~s_069  = Synth.newPaused(\\bufsampler, [\\buf, b.media[0].bufnum, \\vol, 0]);\r\n~s_070  = Synth.newPaused(\\bufsampler, [\\buf, b.media[0].bufnum, \\vol, 0]);\r\n~s_071  = Synth.newPaused(\\bufsampler, [\\buf, b.media[0].bufnum, \\vol, 0]);\r\n~s_072  = Synth.newPaused(\\bufsampler, [\\buf, b.media[0].bufnum, \\vol, 0]);\r\n~s_073  = Synth.newPaused(\\walkingBass,[\\trig, 3]);\r\n~s_074  = Synth.newPaused(\\pan, [\\velPan, 6, \\freqAmp, 20, \\quantNote, 200]);\r\n~s_075  = Synth.newPaused(\\eletronicos, [\\freq, rand(200)]);\r\n~s_076  = Synth.newPaused(\\eletronicos,[\\freq, rrand(20, 500)]);\r\n\r\n\r\n\r\n//====================================================================\r\n// programação do controlador midi\r\n//====================================================================\r\n\r\n\r\n\r\nMIDIIn.control = { arg src, chan, num, vel;\r\n\r\n\r\n[chan, num, vel].postln;\r\n\r\n\r\n\t//cena1 == trilha1//\r\n\r\ncase {[num, vel] == [23, 127]}   {~s_001.run(true)}\r\n     {[num, vel] == [23, 0]}     {~s_001.run(false)}\r\n            \r\n     {num == 14}                 {~s_001.set(\\alt, vel*299);\r\n                                  ~s_002.set(\\velo, vel/50, \\alt, vel/200)}\r\n     \r\n     {num == 2}                  {~s_001.set(\\vol, vel/127);\r\n                                  ~s_002.set(\\vol, vel/127)}\r\n\r\n     {[ num, vel] == [33, 127]}  {~s_002.run(true)}\r\n     {[ num, vel] == [33, 0]}    {~s_002.run(false)}\r\n\r\n\r\n\t//cena1 == trilha2//\r\n\r\n     {[num, vel] == [24, 127]}   {~s_003.run(true)}\r\n     {[num, vel] == [24, 0]}     {~s_003.run(false)}\r\n\r\n     {num == 15}                 {~s_003.set(\\altura, vel/100); \r\n                                  ~s_004.set(\\rate, vel/50)}\r\n\r\n     {num == 3}                  {~s_003.set(\\vol, vel/127);    \r\n                                  ~s_004.set(\\vol, vel/127)}\r\n\r\n     {[num, vel] == [34, 127]}   {~s_004.run(true)}\r\n     {[num, vel] == [34, 0]}     {~s_004.run(false)}\r\n\r\n\r\n\t//cena1 == trilha3//\r\n\r\n     {[num, vel] == [25, 127]}   {~s_005.run(true)}\r\n     {[num, vel] == [25, 0]}     {~s_005.run(false)}\r\n\r\n     {num == 16}                 {~s_005.set(\\alt, vel*3);   \r\n                                  ~s_006.set(\\alt, vel/50)}\r\n\r\n     {num == 4}                  {~s_005.set(\\vol, vel/127); \r\n                                  ~s_006.set(\\vol, vel/127)}\r\n \r\n     {[num, vel] == [35, 127]}   {~s_006.run(true)}\r\n     {[num, vel] == [35, 0]}     {~s_006.run(false)} \r\n\r\n\r\n\t//cena1 == trilha4//\r\n\r\n      {[num, vel] == [26, 127]}  {~s_007.run(true)}\r\n      {[num, vel] == [26, 0]}    {~s_007.run(false)}\r\n\r\n      {num == 17}                {~s_007.set(\\rate, vel/50)}\r\n      {num == 5}                 {~s_007.set(\\vol, vel)}\r\n\r\n      {[num, vel] == [36, 127]}  {~s_008.run(true)}\r\n      {[num, vel] == [36, 0]}    {~s_008.run(false)}\r\n\r\n      {num == 17}                {~s_008.set(\\time, vel/127)}\r\n\r\n    //    if( num == 5,  {~s_008.set(\\vol, vel)});\r\n\r\n\t//cena1 == trilha5//\r\n\r\n      {[num, vel] == [27, 127]}  {~s_bass.run(true)}\r\n      {[num, vel] == [27, 0]}    {~s_bass.run(false)}\r\n          \r\n      {num == 18}                {~s_bass.set(\\vel, vel/5);\r\n                                  ~s_010.set(\\buf, vel/80)}\r\n\r\n      {num == 6}                 {~s_bass.set(\\vol, vel/127);\r\n                                  ~s_010.set(\\vol, vel/127)}\r\n\r\n      {[num, vel] == [37, 127]}  {~s_010.run(true)}\r\n      {[num, vel] == [37, 0]}    {~s_010.run(false)}\r\n           \r\n\r\n\t//cena1 == trilha6//\r\n\r\n      {[num, vel] == [28, 127]}  {~s_011.run(true)}\r\n      {[num, vel] == [28, 0]}    {~s_011.run(false)}\r\n          \r\n      {num == 19}                {~s_011.set(\\buf,vel/80);\r\n                                  ~s_012.set(\\buf, vel/80)}\r\n\r\n      {num == 8}                 {~s_011.set(\\vol, vel/127);\r\n                                  ~s_012.set(\\vol, vel/127)}\r\n\r\n      {[num, vel] == [38, 127]}  {~s_012.run(true)}\r\n      {[num, vel] == [38, 0]}    {~s_012.run(false)}\r\n          \r\n\r\n\t//cena1 == trilha7//\r\n\r\n      {[num, vel] == [29, 127]}  {~s_013.run(true)}\r\n      {[num, vel] == [29, 0]}    {~s_013.run(false)}\r\n            \r\n      {num == 20}                {~s_013.set(\\trig, vel/127*15);\r\n                                  ~s_014.set(\\freqAmp, vel, \\quantNote, vel*1600)}\r\n\r\n      {num == 9}                 {~s_013.set(\\vol, vel/127);\r\n                                  ~s_014.set(\\vol, vel/127)}\r\n\r\n      {[num, vel] == [39, 127]}  {~s_014.run(true)}\r\n      {[num, vel] == [39, 0]}    {~s_014.run(false)}\r\n            \r\n\r\n\t//cena1 == trilha 8 e 9//\r\n\r\n      {[num, vel] == [30,127]}   {~s_015.run(true)}\r\n      {[num, vel] == [40, 127]}  {~s_015.run(false)}\r\n      {[num, vel] == [31, 127]}  {~s_016.run(true)}\r\n      {[num, vel] == [41, 127]}  {~s_016.run(false)}\r\n\r\n\r\n      {num == 21}                {~s_015.set(\\jetRatio, vel/80)}\r\n      {num == 22}                {~s_016.set(\\jetRatio, vel/80)}\r\n      {num == 12}                {~s_015.set(\\outputGain, vel/100)}\r\n      {num == 13}                {~s_016.set(\\outputGain, vel/100)} \r\n\r\n\r\n            \t//cena2\r\n\r\n\r\n\t//cena2 == trilha1//\r\n\r\n\r\n\r\n     {[num, vel] == [67, 127]}   {~s_021.run(true)}\r\n     {[num, vel] == [67, 0]}     {~s_021.run(false)}\r\n            \r\n     {num == 57}                 {~s_021.set(\\alt, vel*299);\r\n                                  ~s_022.set(\\velo, vel/50, \\alt, vel/200)}\r\n\r\n     {num == 42}                  {~s_021.set(\\vol, vel/127);\r\n                                   ~s_022.set(\\vol, vel/127)}\r\n\r\n     {[ num, vel] == [76, 127]}  {~s_022.run(true)}\r\n     {[ num, vel] == [76, 0]}    {~s_022.run(false)}\r\n\r\n\r\n\t//cena2 == trilha2//\r\n\r\n     {[num, vel] == [68, 127]}   {~s_023.run(true)}\r\n     {[num, vel] == [68, 0]}     {~s_023.run(false)}\r\n\r\n     {num == 58}                 {~s_023.set(\\altura, vel/100);\r\n                                  ~s_024.set(\\rate, vel/50)}\r\n\r\n     {num == 43}                 {~s_023.set(\\vol, vel/127);\r\n                                  ~s_024.set(\\vol, vel/127)}\r\n\r\n     {[num, vel] == [77, 127]}   {~s_024.run(true)}\r\n     {[num, vel] == [77, 0]}     {~s_024.run(false)}\r\n\r\n\r\n\t//cena2 == trilha3//\r\n\r\n     {[num, vel] == [69, 127]}   {~s_025.run(true)}\r\n     {[num, vel] == [69, 0]}     {~s_025.run(false)}\r\n\r\n     {num == 59}                 {~s_025.set(\\alt, vel*3);\r\n                                  ~s_026.set(\\alt, vel/50)}\r\n\r\n     {num == 50}                 {~s_025.set(\\vol, vel/127);\r\n                                  ~s_026.set(\\vol, vel/127)}\r\n \r\n     {[num, vel] == [78, 127]}   {~s_026.run(true)}\r\n     {[num, vel] == [78, 0]}     {~s_026.run(false)} \r\n\r\n\r\n\t//cena2 == trilha4//\r\n\r\n      {[num, vel] == [70, 127]}  {~s_027.run(true)}\r\n      {[num, vel] == [70, 0]}    {~s_027.run(false)}\r\n\r\n      {num == 60}                {~s_027.set(\\rate, vel/50);\r\n                                  ~s_028.set(\\time, vel/127)}\r\n\r\n      {num == 51}                {~s_027.set(\\vol, vel)}\r\n\r\n      {[num, vel] == [79, 127]}  {~s_028.run(true)}\r\n      {[num, vel] == [79, 0]}    {~s_028.run(false)}\r\n\r\n\r\n\r\n    //    if( num == 5,  {~s_008.set(\\vol, vel)});\r\n\r\n\t//cena2 == trilha5//\r\n\r\n      {[num, vel] == [71, 127]}  {~s_029.run(true)}\r\n      {[num, vel] == [71, 0]}    {~s_029.run(false)}\r\n          \r\n      {num == 61}                {~s_029.set(\\buf, vel); \r\n                                  ~s_030.set(\\buf, vel/80)}\r\n\r\n      {num == 52}                {~s_009.set(\\vol, vel/127);\r\n                                  ~s_30.set(\\vol, vel/127)}\r\n\r\n      {[num, vel] == [80, 127]}  {~s_030.run(true)}\r\n      {[num, vel] == [80, 0]}    {~s_030.run(false)}\r\n            \r\n\r\n\t//cena2 == trilha6//\r\n\r\n      {[num, vel] == [72, 127]}  {~s_031.run(true)}\r\n      {[num, vel] == [72, 0]}    {~s_031.run(false)}\r\n          \r\n      {num == 62}                {~s_031.set(\\buf,vel/80);\r\n                                  ~s_032.set(\\buf, vel/80)}\r\n\r\n      {num == 53}                {~s_031.set(\\vol, vel/127);\r\n                                  ~s_032.set(\\vol, vel/127)}\r\n\r\n      {[num, vel] == [81, 127]}  {~s_032.run(true)}\r\n      {[num, vel] == [81, 0]}    {~s_032.run(false)}\r\n           \r\n\r\n\r\n\t//cena2 == trilha7//\r\n\r\n      {[num, vel] == [73, 127]}  {~s_033.run(true)}\r\n      {[num, vel] == [73, 0]}    {~s_033.run(false)}\r\n            \r\n      {num == 63}                {~s_033.set(\\trig, vel/127*15);\r\n                                  ~s_034.set(\\freqAmp, vel, \\quantNote, vel*1600)}\r\n\r\n      {num == 54}                {~s_033.set(\\vol, vel/127);\r\n                                  ~s_034.set(\\vol, vel/127)}\r\n\r\n      {[num, vel] == [82, 127]}  {~s_034.run(true)}\r\n      {[num, vel] == [82, 0]}    {~s_034.run(false)}\r\n            \r\n          \r\n\t//cena2 == trilha 8 e 9//\r\n\r\n      {[num, vel] == [74,127]}   {~s_035.run(true)}\r\n      {[num, vel] == [83, 127]}  {~s_035.run(false)}\r\n      {[num, vel] == [75, 127]}  {~s_036.run(true)}\r\n      {[num, vel] == [84, 127]}  {~s_036.run(false)}\r\n\r\n\r\n      {num == 65}                {~s_035.set(\\jetRatio, vel/80)}\r\n      {num == 66}                {~s_036.set(\\jetRatio, vel/80)}\r\n      {num == 55}                {~s_035.set(\\outputGain, vel/100)}\r\n      {num == 56}                {~s_036.set(\\outputGain, vel/100)} \r\n\r\n   \r\n\t                 // cena 3\r\n\r\n\t//cena3 == trilha1//\r\n\r\n\r\n\r\n     {[num, vel] == [107, 127]}   {~s_041.run(true)}\r\n     {[num, vel] == [107, 0]}     {~s_041.run(false)}\r\n            \r\n     {num == 94}                  {~s_041.set(\\time, vel/80, \\alt, vel/200);\r\n                                   ~s_042.set( \\alt, vel/2000)}\r\n\r\n     {num == 85}                  {~s_041.set(\\vol, vel/127);\r\n                                   ~s_042.set(\\vol, vel/127)}\r\n\r\n     {[ num, vel] == [116, 127]}  {~s_042.run(true)}\r\n     {[ num, vel] == [116, 0]}    {~s_042.run(false)}\r\n\r\n\r\n\t//cena3 == trilha2//\r\n\r\n     {[num, vel] == [108, 127]}   {~s_043.run(true)}\r\n     {[num, vel] == [108, 0]}     {~s_043.run(false)}\r\n\r\n     {num == 95}                  {~s_043.set(\\altura, vel/100);\r\n                                   ~s_044.set(\\rate, vel/50)}\r\n\r\n     {num == 86}                  {~s_043.set(\\vol, vel/127);\r\n                                   ~s_044.set(\\vol, vel/127)}\r\n\r\n     {[num, vel] == [117, 127]}   {~s_044.run(true)}\r\n     {[num, vel] == [117, 0]}     {~s_044.run(false)}\r\n\r\n\r\n\t//cena3 == trilha3//\r\n\r\n     {[num, vel] == [109, 127]}   {~s_045.run(true)}\r\n     {[num, vel] == [109, 0]}     {~s_045.run(false)}\r\n\r\n     {num == 96}                  {~s_045.set(\\alt, vel*3);\r\n                                   ~s_046.set(\\alt, vel/50)}\r\n\r\n     {num == 87}                  {~s_045.set(\\vol, vel/127);\r\n                                   ~s_046.set(\\vol, vel/127)}\r\n \r\n     {[num, vel] == [118, 127]}   {~s_046.run(true)}\r\n     {[num, vel] == [118, 0]}     {~s_046.run(false)} \r\n\r\n\r\n\t//cena3 == trilha4//\r\n\r\n      {[num, vel] == [110, 127]}  {~s_047.run(true)}\r\n      {[num, vel] == [110, 0]}    {~s_047.run(false)}\r\n\r\n      {num == 97}                 {~s_047.set(\\rate, vel/50);\r\n                                   ~s_048.set(\\time, vel/127)}\r\n\r\n      {num == 88}                 {~s_047.set(\\vol, vel)}\r\n\r\n      {[num, vel] == [119, 127]}  {~s_048.run(true)}\r\n      {[num, vel] == [119, 0]}    {~s_048.run(false)}\r\n\r\n\r\n    //    if( num == 5,  {~s_008.set(\\vol, vel)});\r\n\r\n\t//cena3 == trilha5//\r\n\r\n     {[num, vel] == [111, 127]}  {p.play}  \r\n   \r\n     {[num, vel] == [111, 0]}    {p.pause}\r\n          \r\n     {num == 102}                {~s_050.set(\\buf, vel/80)}\r\n\r\n     {num == 89}                 {~s_050.set(\\vol, vel/127)}\r\n\r\n     {[num, vel] == [120, 127]}  {~s_050.run(true)}\r\n     {[num, vel] == [120, 0]}    {~s_050.run(false)}\r\n           \r\n\r\n\t//cena3 == trilha6//\r\n\r\n      {[num, vel] == [112, 127]}  {~s_051.run(true)}\r\n      {[num, vel] == [112, 0]}    {~s_051.run(false)}\r\n          \r\n      {num == 103}                {~s_051.set(\\buf,vel/80);\r\n                                   ~s_052.set(\\buf, vel/80)}\r\n\r\n      {num == 90}                 {~s_051.set(\\vol, vel/127);\r\n                                   ~s_052.set(\\vol, vel/127)}\r\n\r\n      {[num, vel] == [121, 127]}  {~s_052.run(true)}\r\n      {[num, vel] == [121, 0]}    {~s_052.run(false)}\r\n         \r\n\r\n\t//cena3 == trilha7//\r\n\r\n      {[num, vel] == [113, 127]}  {~s_053.run(true)}\r\n      {[num, vel] == [113, 0]}    {~s_053.run(false)}\r\n            \r\n      {num == 104}                {~s_053.set(\\trig, vel/127*15);\r\n                                   ~s_054.set(\\freqAmp, vel, \\quantNote, vel*1600)}\r\n\r\n      {num == 91}                 {~s_053.set(\\vol, vel/127);\r\n                                   ~s_054.set(\\vol, vel/127)}\r\n\r\n      {[num, vel] == [122, 127]}  {~s_054.run(true)}\r\n      {[num, vel] == [122, 0]}    {~s_054.run(false)}\r\n            \r\n\r\n\t//cena3 == trilha 8 e 9//\r\n\r\n      {[num, vel] == [114,127]}   {~s_055.run(true)}\r\n      {[num, vel] == [123, 127]}  {~s_055.run(false)}\r\n      {[num, vel] == [115, 127]}  {~s_056.run(true)}\r\n      {[num, vel] == [124, 127]}  {~s_056.run(false)}\r\n\r\n\r\n      {num == 105}                {~s_055.set(\\jetRatio, vel/80)}\r\n      {num == 106}                {~s_056.set(\\jetRatio, vel/80)}\r\n      {num == 92}                {~s_055.set(\\outputGain, vel/100)}\r\n      {num == 93}                {~s_056.set(\\outputGain, vel/100)}; \r\n\r\n\r\n            \t//cena4\r\n\r\n\r\n\t//cena4 == trilha1//\r\n\r\n\r\n\r\n    case { [chan, num, vel] == [0, 16, 127] }      { ~s_061.run(true) }\r\n         { [chan, num, vel] == [0, 16, 0] }        {~s_061.run(false)}\r\n\r\n            \r\n     {[chan, num] == [0, 10]}                  {~s_061.set(\\rate, vel/127);\r\n                                                 ~s_062.set(\\rate, vel/127)}\r\n\r\n     {[chan, num] == [0,  7]}                  {~s_061.set(\\vol, vel/127);\r\n                                                ~s_062.set(\\vol, vel/127)}\r\n\r\n     {[chan, num, vel] == [0, 17, 127]}  {~s_062.run(true)}\r\n     {[chan, num, vel] == [0, 17, 0]}    {~s_062.run(false)}\r\n\r\n\r\n\t//cena4 == trilha2//\r\n\r\n     {[chan, num, vel] == [1, 16, 127]}   {~s_063.run(true)}\r\n     {[chan, num, vel] == [1, 16, 0]}     {~s_063.run(false)}\r\n\r\n     {[chan, num] == [1, 10]}                 {~s_063.set(\\rate, vel/100);\r\n                                                ~s_064.set(\\rate, vel/50)}\r\n\r\n     {[chan, num] == [1, 7]}                  {~s_063.set(\\vol, vel/127);\r\n                                               ~s_064.set(\\vol, vel/127)}\r\n\r\n     {[chan, num, vel] == [1, 17, 127]}   {~s_064.run(true)}\r\n     {[chan, num, vel] == [1, 17, 0]}     {~s_064.run(false)}\r\n\r\n\r\n\t//cena4 == trilha3//\r\n\r\n     {[chan, num, vel] == [2, 16, 127]}   {~s_065.run(true)}\r\n     {[chan, num, vel] == [2, 16, 0]}     {~s_065.run(false)}\r\n\r\n     {[chan, num] == [2, 10]}                 {~s_065.set(\\rate, vel*3);\r\n                                               ~s_066.set(\\rate, vel/50)}\r\n\r\n     {[chan, num] == [2, 7]}                  {~s_065.set(\\vol, vel/127);\r\n                                               ~s_066.set(\\vol, vel/127)}\r\n \r\n     {[chan, num, vel] == [2, 17, 127]}   {~s_066.run(true)}\r\n     {[chan, num, vel] == [2, 17, 0]}     {~s_066.run(false)} \r\n\r\n\r\n\t//cena4 == trilha4//\r\n\r\n      {[chan, num, vel] == [3, 16, 127]}  {~s_067.run(true)}\r\n      {[chan, num, vel] == [3, 16, 0]}    {~s_067.run(false)}\r\n\r\n      {[chan, num] == [3, 10]}                {~s_067.set(\\rate, vel/50);\r\n                                                ~s_068.set(\\vol, vel/127)}\r\n\r\n      {[chan, num] == [3, 7]}                 {~s_067.set(\\vol, vel)}\r\n\r\n      {[chan, num, vel] == [3, 17, 127]}  {~s_068.run(true)}\r\n      {[chan, num, vel] == [3, 17, 0]}    {~s_068.run(false)}\r\n\r\n\r\n\r\n    //    if( num == 5,  {~s_008.set(\\vol, vel)});\r\n\r\n\t//cena4 == trilha5//\r\n\r\n      {[chan, num, vel] == [4, 16, 127]}  {~s_069.run(true)}\r\n      {[chan, num, vel] == [4, 16, 0]}    {~s_069.run(false)}\r\n          \r\n      {[chan, num] == [4, 10]}                {~s_069.set(\\rate, vel/127);\r\n                                               ~s_070.set(\\rate, vel/127)}\r\n\r\n      {[chan, num] == [4, 7]}                 {~s_069.set(\\vol, vel/127);\r\n                                               ~s_070.set(\\vol, vel/127)}\r\n\r\n      {[chan, num, vel] == [4, 17, 127]}  {~s_070.run(true)}\r\n      {[chan, num, vel] == [4, 17, 0]}    {~s_070.run(false)}\r\n            \r\n\r\n\t//cena4 == trilha6//\r\n\r\n      {[chan, num, vel] == [5, 16, 127]}  {~s_071.run(true)}\r\n      {[chan, num, vel] == [5, 16, 0]}    {~s_071.run(false)}\r\n          \r\n      {[chan, num] == [5, 10]}                {~s_071.set(\\rate,vel/127);\r\n                                               ~s_072.set(\\rate, vel/127)}\r\n\r\n      {[chan, num] == [5, 7]}                 {~s_071.set(\\vol, vel/127);\r\n                                                ~s_072.set(\\vol, vel/127)}\r\n\r\n      {[chan, num, vel] == [5, 17, 127]}  {~s_072.run(true)}\r\n      {[chan, num, vel] == [5, 17, 0]}    {~s_072.run(false)}\r\n          \r\n\r\n\t//cena4 == trilha7//\r\n\r\n      {[chan, num, vel] == [6, 16, 127]}  {~s_073.run(true)}\r\n      {[chan, num, vel] == [6, 16, 0]}    {~s_073.run(false)}\r\n            \r\n      {[chan, num] == [6, 10]}                {~s_073.set(\\rate, vel/127*15);\r\n                                              ~s_074.set(\\freqAmp, vel, \\quantNote, vel*1600)}\r\n\r\n      {[chan, num] == [6, 7]}                 {~s_073.set(\\vol, vel/127);\r\n                                               ~s_074.set(\\vol, vel/127)}\r\n\r\n      {[chan, num, vel] == [6, 17, 127]}  {~s_074.run(true)}\r\n      {[chan, num, vel] == [6, 17, 0]}    {~s_074.run(false)}\r\n            \r\n\r\n\t//cena4 == trilha 8 e 9//\r\n\r\n      {[chan, num, vel] == [7, 16, 127]}   {~s_075.run(true)}\r\n      {[chan, num, vel] == [7, 17, 127]}  {~s_075.run(false)}\r\n      {[chan, num, vel] == [8, 16, 127]}  {~s_076.run(true)}\r\n      {[chan, num, vel] == [8, 17, 127]}  {~s_076.run(false)}\r\n\r\n\r\n      {[chan, num] == [7, 10]}                {~s_075.set(\\jetRatio, vel/80)}\r\n      {[chan, num] == [7, 7]}                {~s_076.set(\\jetRatio, vel/80)}\r\n      {[chan, num] == [8, 10]}                {~s_075.set(\\outputGain, vel/100)}\r\n      {[chan, num] == [8, 7]}                {~s_076.set(\\outputGain, vel/100)} \r\n\r\n\r\n\r\n};)",
   "id" : "1-17-w8hSfBrD7e",
   "is_private" : 1,
   "author" : "Caio Bonvenuto",
   "name" : "live performance no teatro: \"Fausto in Progress\"",
   "description" : "live_performance com teatro",
   "ancestor_list" : []
}
