// title: Industrial Fantasia // author: Soheil Zarrinpour // description: // In the continuation of my inspiration drawn from unpitched sounds, I was on the path to discovering methods for fantasizing situations by incorporating musical elements. I retained the textures of the sounds but ensured they were not merely unintended sounds of actions. Through programming the sounds with their specific textures in varying ratios of rhythm, pitch, and different layers, I arrived at the fantastical scenario of non-musical sounds that I had envisioned in my mind. // The core of the piece took shape in my mind by fantasizing about the sounds in an industrial workshop. // In the piece, we witness an increase in layers of sound from a line to three lines, and the interaction between layers is designed with sonic ratios and rhythmic ratios. // Regarding sound design, my attention is drawn towards the interconnected ratios between SinGrains frequencies and the size and density of the grains. In fact, the created sounds follow an additive method, where the ratios between its partials are the same ratios considered in the size and density of the grains. // This type of sound design is a response to my curiosity to link the parameter ratios of everything in an algorithmic way. // Thanks to patterns in the supercollider, various types of different order arrangements have been applied to sound parameters, leading to the juxtaposition of various textures. // The ability to task has also helped me to implement a score and thus have complete control over the behavior of each sound layer against each other. // code: /* Firstly run the block of synths and patterns, then run the task. Enjoy. Soheil Zarrinpour Industrial Fantasia Composed: March 2023 */ ( /* The global array below, denoted as ~pan, is used to control the panning of various partials to specific spatial positions. For instance, when the values for right channel is 1 and left channel is -1, the fundamental partial is positioned at 0, the second partial at 0.1 (right), the third partial at -0.1 (left), and so on. */ ~pan = [0,1,-1,2,-2,3,-3,4,-4,5,-5,6,-6,7,-7,8,-8,9,-9,10,-10,11,-11,12,-12,13,-13,14,-14,15,-15,16,-16,17,-17,18,-18,19,-19,20,-20,21,-21,22,-22,23,-23,24,-24,25,-25,26,-26,27,-27]; /* synths Here are three synths with the same configuration. They supply three different patterns. --- the variables in synthdef 1. ratio : The ratio is an array representing specified proportions. During my sound exploration, I determined that this ratio should control four distinct parameters: the frequency, amplitude, duration, and density of the grains. 2. freq: This is considered as the fundamental frequency of a sine wave, and other frequencies are added to it with specific proportions 3. density : Density of grains. 4. dur : Duration of grains. 5. panmul : When the ~pan array values are multiplied by panmul, the panmul value is centered, and the other values are initialized in a specific distribution. If panmul is set to 0.03636, the distribution accommodates 55 values within the range of -1 to 1 with equal spacing. */ (SynthDef(\line1,{arg freq = 400, density = 0.1, dur =0.009, amp =0.15, panmul = 0.03636; var snd, ratio; ratio = Array.series(55,4,4.5921); snd = Mix.fill(ratio.size,{|i| GrainSin.ar(2,Impulse.kr(density*ratio.reverse[i]),dur/ratio[i]*1.1,freq*ratio[i],pan: ~pan[i]*panmul)*amp/ratio[i]}); Out.ar(0,snd); }).add); (SynthDef(\line2,{arg freq = 400, density = 0.1, dur =0.009, amp =0.15, midpoint = 0.03636; var snd, ratio; ratio = Array.series(55,4,4.5981); snd = Mix.fill(ratio.size,{|i| GrainSin.ar(2,Impulse.kr(density*ratio.reverse[i]),dur/ratio[i]*0.9,freq*ratio[i],pan:~pan.reverse[i]*midpoint)*amp/ratio[i]}); Out.ar(0,snd); }).add); (SynthDef(\line3,{arg freq = 400, density = 0.1, dur =0.009, amp =0.15, midpoint = 0.03636; var snd, ratio; ratio = Array.series(55,4,4.5921); snd = Mix.fill(ratio.size,{|i| GrainSin.ar(2,Impulse.kr(density*ratio.reverse[i]),dur/ratio[i]*1.1,freq*ratio[i],pan: ~pan[i]*midpoint)*amp/ratio[i]}); Out.ar(0,snd); }).add); // patterns (p = Pmono( \line1, \midpoint , Pdefn(\mypoint, 0.03636), \amp,Pdefn(\myamp,0.1), \freq,Pdefn(\myfreq,Pseq([50,15],inf)), \dur, Pdefn(\mydur, Pseq([6,0.5],inf)), \density, Pdefn(\myden,1), \delta,Pdefn(\mydelta,Pseq([0.1,1.5,0.35,1.2,2,0.3],inf)), ).play.stop); (o = Pmono( \line2, \midpoint , Pdefn(\mypoint2, 0.03636), \amp,Pdefn(\myamp2,0.1), \freq,Pdefn(\myfreq2,Pseq([50,15],inf)), \dur, Pdefn(\mydur2, Pseq([6,0.5],inf)), \density, Pdefn(\myden2,1), \delta,Pdefn(\mydelta2,Pseq([0.1,1.5,0.35,1.2,2,0.3],inf)), ).play.stop); (i = Pmono( \line2, \midpoint , Pdefn(\mypoint3, 0.03636), \amp,Pdefn(\myamp3,0.1), \freq,Pdefn(\myfreq3,Pseq([50,15],inf)), \dur, Pdefn(\mydur3, Pseq([6,0.5],inf)), \density, Pdefn(\myden3,1), \delta,Pdefn(\mydelta3,Pseq([0.1,1.5,0.35,1.2,2,0.3],inf)), ).play.stop); ) (Task({ // s.record; // Pdefn(\mypoint,Pseq(Array.series(6,-1,0.66),inf)); Pdefn(\mydelta,Pseq([0.1,1.5,0.35,1.2,2,0.3],inf)); p.stop; p.play; Pdefn(\myamp,0.1); Pdefn(\mydur,0.5); Pdefn(\myfreq,15); // Pdefn(\mydelta,10); 2.wait; Pdefn(\mydelta,Pseq([0.1,1.5,0.35,1.2,2,0.3],inf)); Pdefn(\mydur, Pseq([6,0.5],inf)); Pdefn(\myfreq,Pseq([50,15],inf)); 3.wait; Pdefn(\myfreq,Pseq([50,19],inf)); 3.wait; Pdefn(\myfreq,Pseq([50,17],inf)); 2.wait; Pdefn(\myfreq,Pseq([52,16],inf)); 3.wait; Pdefn(\myfreq,Pseq([50,22],inf)); 3.wait; Pdefn(\myfreq,Pseq([50,24],inf)); 3.wait; Pdefn(\myfreq,Pseq([48,24],inf)); 1.8.wait; Pdefn(\myfreq,Pseq([50,24],inf)); 3.wait; Pdefn(\myfreq,Pseq([53,48],inf)); Pdefn(\mydur, Pseq([6,6],inf)); // noise with line2 Pdefn(\myamp2,0.003); Pdefn(\myfreq2,50); Pdefn(\myden2,1); Pdefn(\mydur2,09); o.play; 1.wait; o.pause; 3.wait; Pdefn(\mydur, Pseq([6,0.5],inf)); Pdefn(\myfreq,Pseq([50,15],inf)); 6.wait; Pdefn(\mydelta,Pseq([0.1,1.5,0.35,1.2,2,0.3]/2,inf)); 2.wait; o.play; 1.wait; o.pause; 2.wait; Pdefn(\myfreq,Pseq([49,15],inf)); Pdefn(\mydelta,Pseq([0.1,1.5,0.35,1.2,2,0.3]/3,inf)); 6.wait; Pdefn(\mydelta,Pseq([0.1,1.5,0.35,1.2,2,0.3]/4,inf)); Pdefn(\myfreq,Pseq([53,15,48],inf)); 5.wait; Pdefn(\myfreq,Pseq([53,15,48,58],inf)); Pdefn(\myamp,Pseq([0,0.1],inf)); 2.wait; o.play; 1.wait; o.pause; 4.wait; Pdefn(\myamp,0.1); 5.wait; Pdefn(\myamp,Pseq([0,0.1,0.09,0],inf)); 5.wait; Pdefn(\myamp,0.1); 5.wait; Pdefn(\myfreq,Pseq([53,15,48,59],inf)); 5.wait; Pdefn(\myfreq,Pseq([53,15,48,56],inf)); 5.wait; Pdefn(\mydelta,Pseq([0.1,1.5,0.35,1.2,2,0.3,8]/4,inf)); 4.wait; Pdefn(\myfreq,Pseq([53,15,48,56],inf)); 15.wait; Pdefn(\myfreq,15); 10.wait; Pdefn(\myfreq,14); 5.wait; Pdefn(\myfreq,15); 4.wait; Pdefn(\myfreq,13); 4.wait; Pdefn(\myfreq,17); 3.wait; Pdefn(\myfreq,12); 5.wait; Pdefn(\myfreq,15); 10.wait; Pdefn(\myamp2,0.05); Pdefn(\mydurdiv2,1); Pdefn(\mydur2, Pseq([6,0.5],inf)); Pdefn(\myden2,1); o.play; 10.wait; Pdefn(\myfreq,13); Pdefn(\myfreq2,53); 2.wait; Pdefn(\myamp2,0.03); 3.wait; Pdefn(\myamp,0.1); Pdefn(\myamp2,0.04); 3.wait; Pdefn(\myamp,0.15); 2.wait; // first comination with panning modulation Pdefn(\mypoint,-4); Pdefn(\myamp,Pseq([0,0.13],inf)); 5.wait; Pdefn(\myamp,Pseq([0.09,0.001],inf)); // trial Pdefn(\myamp2,Pseq([0,0.065,0.03],inf)); 2.wait; Pdefn(\myamp2,0.07); 6.wait; Pdefn(\myamp,Pseq([0.07,0.001],inf)); Pdefn(\mydelta,0.05); Pdefn(\myfreq2,55); 2.wait; Pdefn(\myamp,Pseq([0.06,0],inf)); Pdefn(\mydelta,0.03); Pdefn(\myfreq,12); 4.wait; Pdefn(\myfreq2,59); Pdefn(\myfreq,9); 4.wait; Pdefn(\myfreq2,45); 3.wait; Pdefn(\myfreq,19); 4.wait; // stable situation after colmination Pdefn(\mydelta,Pseq([0.1,1.5,0.35,1.2,2,0.3],inf)); Pdefn(\myamp,0.1); 1.wait; Pdefn(\myamp2,0.07); Pdefn(\myamp2,0.1); Pdefn(\myfreq2, 40); 1.wait; Pdefn(\myfreq, 23); 4.wait; Pdefn(\myfreq2, 35); Pdefn(\myfreq, 26); 4.wait; Pdefn(\myfreq2, 31); 1.wait; Pdefn(\myfreq, 30); 6.wait; Pdefn(\myfreq2, 27); Pdefn(\myfreq, 26); 5.wait; Pdefn(\myfreq2, 23); Pdefn(\myfreq, 22); Pdefn(\myamp2,Pseq([0,0.13],inf)); 4.wait; Pdefn(\myamp2,0.1); Pdefn(\myfreq2, 33.1); Pdefn(\myfreq, 32.9); Pdefn(\myamp2,Pseq([0,0.13],inf)); 4.wait; Pdefn(\myamp,0); Pdefn(\myamp2,0); 1.3.wait; Pdefn(\myfreq,30); Pdefn(\myfreq2,37); Pdefn(\myamp,0.1); Pdefn(\myamp2,0.1); 3.wait; Pdefn(\myamp,0); Pdefn(\myamp2,0); 1.5.wait; Pdefn(\myfreq,25); Pdefn(\myfreq2,42); Pdefn(\myamp,0.1); Pdefn(\myamp2,0.1); 0.5.wait; Pdefn(\myamp,0); Pdefn(\myamp2,0); 0.1.wait; Pdefn(\myamp,0.1); Pdefn(\mydelta,Pseq(Array.series(20,0.01,0.01))); 2.wait; Pdefn(\mydelta,2); 2.wait; Pdefn(\mydelta,Pseq(Array.series(20,0.01,0.01))); 2.wait; Pdefn(\mydelta,2); 2.wait; Pdefn(\mydelta,Pseq(Array.series(20,0.01,0.01))); 2.wait; Pdefn(\mydelta,2); 2.wait; Pdefn(\mydelta,Pseq(Array.series(20,0.01,0.01))); 2.wait; Pdefn(\mydelta,2); Pdefn(\myamp,0.3); Pdefn(\mydur,1); Pdefn(\myden,0.015); 4.wait; (Task({ Pdefn(\myamp2,0.07); Pdefn(\myfreq2,Pseq(Array.series(20,45,-1))); Pdefn(\mydelta2,Pseq(Array.series(20,0.01,0.01))); o.play; 2.wait; Pdefn(\mypoint3,-3); Pdefn(\myamp3,0.06); Pdefn(\myfreq3,Pseq(Array.series(20,35,-1))); Pdefn(\mydelta3,Pseq(Array.series(20,0.01,0.01))); i.play; Pdefn(\myamp2,0); Pdefn(\mydelta2,2); Pdefn(\myfreq2,25); 2.wait; Pdefn(\myamp3,0); Pdefn(\mydelta3,0.1); Pdefn(\myfreq3,25); Pdefn(\myamp2,0.07); Pdefn(\myfreq2,Pseq(Array.series(20,45,-1))); Pdefn(\mydelta2,Pseq(Array.series(20,0.01,0.01))); 0.6.wait; Pdefn(\myamp2,0); Pdefn(\mydelta2,2); Pdefn(\myfreq2,25); 0.2.wait; Pdefn(\myamp3,0.06); Pdefn(\myfreq3,Pseq(Array.series(30,35,1))); Pdefn(\mydelta3,Pseq(Array.series(20,0.01,0.01))); 1.wait; Pdefn(\myamp3,0); Pdefn(\mydelta3,2); Pdefn(\myfreq3,25); // repeat Pdefn(\myamp2,0.07); Pdefn(\myfreq2,Pseq(Array.series(20,55,-1))); Pdefn(\mydelta2,Pseq(Array.series(20,0.01,0.01))); 2.wait; Pdefn(\mypoint3,-6); Pdefn(\myamp3,0.06); Pdefn(\myfreq3,Pseq(Array.series(20,25,-1))); Pdefn(\mydelta3,Pseq(Array.series(20,0.01,0.01))); i.play; Pdefn(\myamp2,0); Pdefn(\mydelta2,2); Pdefn(\myfreq2,25); 2.wait; Pdefn(\myamp3,0); Pdefn(\mydelta3,0.1); Pdefn(\myfreq3,25); Pdefn(\myamp2,0.07); Pdefn(\myfreq2,Pseq(Array.series(20,65,-1))); Pdefn(\mydelta2,Pseq(Array.series(20,0.01,0.01))); 0.6.wait; Pdefn(\myamp2,0); Pdefn(\mydelta2,2); Pdefn(\myfreq2,25); 0.2.wait; Pdefn(\myamp3,0.06); Pdefn(\myfreq3,Pseq(Array.series(50,5,1))); Pdefn(\mydelta3,Pseq(Array.series(50,0.01,0.01))); 5.wait; Pdefn(\myamp3,0); Pdefn(\mydelta3,0.2); Pdefn(\myfreq3,25); 0.5.wait; // repeat2 Pdefn(\myamp2,0.07); Pdefn(\myfreq2,Pseq(Array.series(20,65,-0.35))); Pdefn(\mydelta2,Pseq(Array.series(20,0.01,0.01))); 2.wait; Pdefn(\mypoint3,-3); Pdefn(\myamp3,0.06); Pdefn(\myfreq3,Pseq(Array.series(20,15,3))); Pdefn(\mydelta3,Pseq(Array.series(20,0.01,0.01))); Pdefn(\myamp2,0); Pdefn(\mydelta2,2); Pdefn(\myfreq2,25); 2.wait; Pdefn(\myamp3,0); Pdefn(\mydelta3,0.1); Pdefn(\myfreq3,25); Pdefn(\myamp2,0.07); Pdefn(\myfreq2,Pseq(Array.series(20,45,-1))); Pdefn(\mydelta2,Pseq(Array.series(20,0.01,0.01))); 0.6.wait; Pdefn(\myamp2,0); Pdefn(\mydelta2,2); Pdefn(\myfreq2,25); 0.2.wait; Pdefn(\myamp3,0.06); Pdefn(\myfreq3,Pseq(Array.series(30,65,1))); Pdefn(\mydelta3,Pseq(Array.series(20,0.01,0.01))); 1.wait; Pdefn(\myamp3,0); Pdefn(\mydelta3,2); Pdefn(\myfreq3,25); // repeat Pdefn(\myamp2,0.07); Pdefn(\myfreq2,Pseq(Array.series(20,25,-0.3))); Pdefn(\mydelta2,Pseq(Array.series(20,0.01,0.02))); 2.wait; Pdefn(\mypoint3,-6); Pdefn(\myamp3,0.06); Pdefn(\myfreq3,Pseq(Array.series(20,65,-4))); Pdefn(\mydelta3,Pseq(Array.series(20,0.01,0.01))); Pdefn(\myamp2,0); Pdefn(\mydelta2,2); Pdefn(\myfreq2,25); 2.wait; Pdefn(\myamp3,0); Pdefn(\mydelta3,0.1); Pdefn(\myfreq3,25); Pdefn(\myamp2,0.07); Pdefn(\myfreq2,Pseq(Array.series(20,5,4))); Pdefn(\mydelta2,Pseq(Array.series(20,0.01,0.01))); 0.6.wait; Pdefn(\myamp2,0); Pdefn(\mydelta2,2); Pdefn(\myfreq2,25); 0.2.wait; Pdefn(\myamp3,0.06); Pdefn(\myfreq3,Pseq(Array.series(50,40,-1))); Pdefn(\mydelta3,Pseq(Array.series(50,0.01,0.01))); 6.wait; // after repeat Pdefn(\myamp3,0); Pdefn(\mydelta3,0.005); Pdefn(\myfreq3,25); 2.wait; // together Pdefn(\myamp2,0.04); Pdefn(\myfreq2,Pseq(Array.series(20,45.5,-1))); Pdefn(\mydelta2,Pseq(Array.series(20,0.01,0.01))); 1.wait; Pdefn(\myamp2,0); Pdefn(\mydelta2,2); 2.wait; Pdefn(\myamp2,0.07); Pdefn(\myfreq2,Pseq(Array.series(20,45,-1))); Pdefn(\mydelta2,Pseq(Array.series(20,0.01,0.01))); 1.wait; Pdefn(\myamp2,0); Pdefn(\mydelta2,2); Pdefn(\myfreq2,25); 2.wait; Pdefn(\myamp2,0.07); Pdefn(\myfreq2,Pseq(Array.series(20,45,-1))); Pdefn(\mydelta2,Pseq(Array.series(20,0.01,0.01))); 0.6.wait; Pdefn(\myamp2,0); Pdefn(\mydelta2,2); Pdefn(\myfreq2,25); 2.wait; Pdefn(\myamp2,0.07); Pdefn(\myfreq2,Pseq(Array.series(20,45,-1))); Pdefn(\mydelta2,Pseq(Array.series(20,0.01,0.01))); 1.wait; Pdefn(\myamp2,0); Pdefn(\mydelta2,2); Pdefn(\myfreq2,25); 1.wait; Pdefn(\myamp2,Pseq((0.07 !19) ++ 0)); Pdefn(\myfreq2,Pseq(Array.series(20,55,-1))); Pdefn(\mydelta2,Pseq(Array.series(20,0.01,0.01))); Pdefn(\mypoint,0.03636); 2.wait; Pdefn(\myamp2,0); Pdefn(\mydelta2,2); 1.wait; Pdefn(\myamp2,0.07); Pdefn(\mydelta2,0.1); Pdefn(\myfreq2,Pseq(Array.series(4,30,2).mirror2,inf)); Pdefn(\myfreq,40); // modulation 6.wait; Pdefn(\myamp2,0.07); Pdefn(\mydelta2,0.1); Pdefn(\myfreq2,Pseq(Array.series(4,35,2).mirror2,inf)); Pdefn(\myfreq,43); 3.wait; Pdefn(\myamp3,0.01); Pdefn(\mydelta3,0.1); Pdefn(\myfreq3,Pseq(Array.series(4,55,0.5).mirror2,inf)); Pdefn(\myfreq,42); 4.wait; Pdefn(\myamp2,0); Pdefn(\myfreq,25); Pdefn(\myamp3,0.01); Pdefn(\mydelta3,0.15); Pdefn(\myfreq3,Pseq(Array.series(4,45,1).mirror2,inf)); Pdefn(\myamp2,0.07); 1.wait; Pdefn(\mydelta2,0.05); Pdefn(\myfreq2,Pseq(Array.series(5,34,3).mirror2,inf)); 2.wait; Pdefn(\myfreq,35); Pdefn(\mydelta3,Pseq([0.1,0.3],inf)); Pdefn(\myfreq3,Pseq(Array.series(4,45,2).mirror2,inf)); 2.wait; Pdefn(\myamp3,0.02); Pdefn(\myfreq2,Pseq(Array.series(6,30,3).mirror2,inf)); 2.wait; Pdefn(\myfreq,30); Pdefn(\mydelta3,Pseq([0.1,0.3,0.35],inf)); Pdefn(\myfreq3,Pseq(Array.series(4,65,0.3).mirror2,inf)); 2.wait; Pdefn(\myfreq2,Pseq(Array.series(7,28,2).mirror2,inf)); 2.wait; Pdefn(\myfreq,15); Pdefn(\mydelta3,Pseq([0.1,0.3,0.35,1.5],inf)); Pdefn(\myfreq3,Pseq(Array.series(4,55,1).mirror2,inf)); 2.wait; Pdefn(\myfreq2,Pseq(Array.series(8,26,3).mirror2,inf)); Pdefn(\mydelta2,0.05); 2.wait; Pdefn(\myfreq,25); Pdefn(\myfreq2,Pseq(Array.series(8,26,3).mirror2,inf)); 2.wait; Pdefn(\myamp2,0.05); Pdefn(\myfreq2,Pseq(Array.series(9,24,4).mirror2,inf)); Pdefn(\mydelta3,Pseq([0.1,1.5,0.35,1.2,2,0.3],inf)); 2.wait; Pdefn(\myfreq,20); Pdefn(\myamp3,0.03); 2.wait; Pdefn(\myamp2,0.04); Pdefn(\myfreq2,Pseq(Array.series(10,20,5).mirror2,inf)); 2.wait; Pdefn(\myfreq,35); Pdefn(\myamp3,Pseq([0.04,0],inf)); 2.wait; Pdefn(\myamp2,0.03); Pdefn(\myfreq2,Pseq(Array.series(11,17,6).mirror2,inf)); Pdefn(\mydelta2,0.03); 2.wait; Pdefn(\mypoint2,Pseq(Array.series(55,-1,0.03636).mirror2,inf)); Pdefn(\myfreq,25); Pdefn(\myfreq2,Pseq(Array.series(12,16,7).mirror2,inf)); Pdefn(\myamp3,0.04); 2.wait; Pdefn(\mydelta2,0.04); Pdefn(\myamp3,0.05); 2.wait; Pdefn(\myfreq,10); Pdefn(\mydelta2,0.03); 2.wait; Pdefn(\myamp2,0.02); Pdefn(\myamp3,0.06); 2.wait; Pdefn(\myamp2,0.03); Pdefn(\myamp3,0.05); Pdefn(\myfreq2,Pseq(Array.series(13,15,8).mirror2,inf)); 2.wait; Pdefn(\myamp2,0.04); Pdefn(\myamp3,0.04); Pdefn(\myfreq2,Pseq(Array.series(14,15,8).mirror2,inf)); 2.wait; Pdefn(\myamp2,0.05); Pdefn(\myamp3,0.03); Pdefn(\myfreq2,Pseq(Array.series(15,15,8).mirror2,inf)); 2.wait; Pdefn(\myfreq,20); Pdefn(\myamp2,0.06); Pdefn(\myamp3,0.02); Pdefn(\myfreq2,Pseq(Array.series(16,15,7).mirror2,inf)); 2.wait; Pdefn(\myamp2,0.07); Pdefn(\myamp3,0.01); Pdefn(\myfreq2,Pseq(Array.series(17,14,6).mirror2,inf)); 4.wait; Pdefn(\myfreq,15); Pdefn(\mypoint2,Pseq(Array.series(18,-1,0.03636).mirror2,inf)); Pdefn(\myamp2,0.08); Pdefn(\myamp3,0.01); Pdefn(\myfreq2,Pseq(Array.series(18,14,6).mirror2,inf)); 6.wait; Pdefn(\myfreq,25); Pdefn(\mydelta2,0.04); 2.wait; Pdefn(\mydelta2,0.05); 3.wait; Pdefn(\myfreq,20); Pdefn(\mydelta2,0.06); 6.wait; Pdefn(\myfreq,30); Pdefn(\mypoint2,Pseq(Array.series(19,-1,0.03636).mirror2,inf)); Pdefn(\myamp2,0.08); Pdefn(\myfreq2,Pseq(Array.series(19,13,5).mirror2,inf)); Pdefn(\mydelta2,0.07); 4.wait; Pdefn(\myfreq,Pseq([50,15],inf)); Pdefn(\myfreq2,Pseq([50,15],inf)); Pdefn(\mydur2, Pseq([6,0.5],inf)); Pdefn(\myden2,1); Pdefn(\mydelta2,0.1); 2.wait; Pdefn(\mydelta2,Pseq([0.1,1.5],inf)); 2.wait; Pdefn(\mydelta2,Pseq([0.1,1.5,0.35],inf)); 2.wait; Pdefn(\mydurdiv2,1); Pdefn(\mydelta2,Pseq([0.1,1.5,0.35,1.2],inf)); 2.wait; Pdefn(\myamp2, Pseq([0,0.1],inf)); Pdefn(\mydelta2,Pseq([0.1,1.5,0.35,1.2,2],inf)); 2.wait; Pdefn(\mydelta2,Pseq([0.1,1.5,0.35,1.2,2,0.3],inf)); 6.wait; Pdefn(\myfreq,Pseq([55,10],inf)); 6.wait; Pdefn(\myamp,0.4); Pdefn(\myfreq,Pseq([45,30],inf)); 6.wait; Pdefn(\myamp,0.5); Pdefn(\myfreq,Pseq([55,25],inf)); 6.wait; Pdefn(\myamp,0.6); Pdefn(\myfreq,Pseq([35,32],inf)); 7.wait; Pdefn(\mypoint2,0.03636); Pdefn(\myamp2,0.1); 2.wait; Pdefn(\myfreq3,15); Pdefn(\myamp3,0.05); 4.wait; Pdefn(\myamp2,Pseq([0,0.1],inf)); Pdefn(\mydelta2,Pseq([0.1,1.5,0.35,1.2,2,0.3]/1.1,inf)); Pdefn(\myfreq2,28); 3.wait; Pdefn(\myamp3,Pseq([0,0.1],inf)); Pdefn(\myamp,0.4); Pdefn(\myfreq3,18); Pdefn(\mydelta3,Pseq([0.1,1.5,0.35,1.2,2,0.3]/1.2,inf)); 4.wait; Pdefn(\myamp,0.3); Pdefn(\mydelta2,Pseq([0.1,1.5,0.35,1.2,2,0.3]/1.3,inf)); Pdefn(\myfreq2,26); 3.wait; Pdefn(\myamp,0.2); Pdefn(\myfreq3,20); Pdefn(\mydelta3,Pseq([0.1,1.5,0.35,1.2,2,0.3]/1.4,inf)); 4.wait; Pdefn(\myamp,0.1); Pdefn(\mydelta2,Pseq([0.1,1.5,0.35,1.2,2,0.3]/1.5,inf)); Pdefn(\myfreq2,15); 3.wait; Pdefn(\myamp,0.01); Pdefn(\myfreq3,30); Pdefn(\mydelta3,Pseq([0.1,1.5,0.35,1.2,2,0.3]/1.6,inf)); 4.wait; Pdefn(\mydelta2,Pseq([0.1,1.5,0.35,1.2,2,0.3]/1.7,inf)); Pdefn(\myfreq2,14); 3.wait; Pdefn(\myfreq3,31); Pdefn(\mydelta3,Pseq([0.1,1.5,0.35,1.2,2,0.3]/1.8,inf)); 4.wait; Pdefn(\mydelta2,Pseq([0.1,1.5,0.35,1.2,2,0.3]/1.9,inf)); Pdefn(\myfreq2,13); 3.wait; Pdefn(\myfreq3,32); Pdefn(\mydelta3,Pseq([0.1,1.5,0.35,1.2,2,0.3]/1.9,inf)); 3.wait; p.stop; o.stop; i.stop; }).play) }).play) // end