// title: Apocalyptic Visions // author: Akash Kumar // description: // For my MUSC-115 Final. I decided that I would try to remake all that I could from Visions (my first song that I produced). It was a challenge to get the sounds just right but it began to all come together. As I was messing around with MouseY/X code my dog was playing around in my backpack and messed around with my bluetooth mouse. It created this almost apocalyptic feel when I was transitioning to a synth that I made to a recording. So naturally I let my dog take control of the mouse. I put it in front of him and he didn't do anything but he began to put his paw on it and move it around and that is how I got the transition. Finally, I took over the mouse to put the final long end to it to give it the ending that I was looking for. The last part of this code was stuff that I didn't use but I thought sounded great so I wanted to share it with you guys to make use of it in some way. // // Regards, // AK // code: "Hello World".postln; "We are going to make some great music".postln; "Lets do this.".postln; //Broken down into stuff that was damn near difficult to make in Super Collider (Samples), Stuff that I could make (Synths), and things that I tried, liked but couldn't fit anywhere (WTF?!). //SAMPLES //========= //OPENING //========= m = Buffer.read(s,"/Users/akashkumar/Desktop/SoundDesign/Opening.wav"); m.duration; ( s.record; m.play; ) s.stopRecording; //========= //SUB KICK //========= k = Buffer.read(s,"/Users/akashkumar/Desktop/SoundDesign/SUB KICK.wav"); k.play; //========= //Rising Synth...Coming to the close. //========= ~c = Buffer.read(s, "/Users/akashkumar/Desktop/SoundDesign/Slow down.wav"); c.play; ( {PlayBuf.ar(2, ~c, MouseX.kr(0.1, 0.9), doneAction:2)}.play; // mouse control s.record; ) s.stopRecording; //========= //Piano //========= p = Buffer.read(s, "/Users/akashkumar/Desktop/SoundDesign/Piano.wav"): (s.record; p.play; ) s.stopRecording; //========= //Apocolyptic Finish //========= ~b = Buffer.read(s, "/Users/akashkumar/Desktop/SoundDesign/Before Slow_1.wav"); ( {PlayBuf.ar(2, ~b, MouseX.kr(0.1, 0.9), doneAction:2)}.play; // mouse control //s.record; ) s.stopRecording; //SYNTHS //========= //OPENING //========= ( SynthDef("backandforth", { arg freq = 440, amp = 0.5, gate = 1, space = 0; var snd,env; snd = Pan2.ar(in:SinOsc.ar(freq, mul: amp), pos:SinOsc.kr(-3)); env = Env.perc(0.0001,0.9).kr(doneAction:2); snd = snd*env; Out.ar(0, snd); }).add; ) ( s.record; ( Pbind( \instrument, "backandforth", \tempo, 4/4, \midinote, Pseq([77,89,84,80,77,89,84,80],inf), \dur, 0.23, \amp, 0.6, ).play(TempoClock(128/60)); ) ) s.stopRecording; //For some reason going a bit slow need to fix that and splice it up so it works when put together. //=========== //White Noise Riser/DownRiser //=========== ( s.record; {Splay.ar(WhiteNoise.ar(Env.triangle(6 , 0.6).kr(2)))}.play; ) s.stopRecording; //=========== //Sunshine Thru Clouds //=========== ( SynthDef("SunshineThruClouds", { arg freq = 440, amp = 0.5; var snd, env; snd = Splay.ar(LFPulse.ar(freq, mul: amp)); env = Env.perc(0.001, 0.9).kr(2); snd = snd*env; Out.ar(0, snd); }).add; ) ( s.record; ( Pbind( \instrument, "SunshineThruClouds", \tempo, 4/4, \midinote, Pseq([Pseq([65,65],8), Pseq([63,63],8), Pseq([70,70], 8), Pseq([68,68],8)], inf), \dur, 0.12, \amp, 0.6, ).play(TempoClock(128/60)); ) ) s.stopRecording; //================================== //WTF?!?!?!?! //================================== //=========== //Synthesis Synergy - Mid //=========== ( SynthDef("SynthesisSynergy", { arg freq = 440, amp = 0.5; var snd, env; snd = Splay.ar(VarSaw.ar(freq, mul: amp)); env = Env.perc(0.001, 0.9).kr(2); snd = snd*env; Out.ar(0, snd); }).add; ) ( //s.record; ( Pbind( \instrument, "SynthesisSynergy", \tempo, 4/4, \midinote, Pseq([56, 56, 56, 56, 63, 63, 63, 63, 60, 60, 60, 60, 58, 58, 55, 56, 56, 56, 56, 56, 63, 63, 63, 63, 60, 60, 60, 60, 63, 63, 65, 68], inf), \dur, 0.38, \amp, 0.6, ).play(TempoClock(128/60)); ) ) s.stopRecording; //=========== //Synthesis Synergy - Top //=========== ( SynthDef("SynthesisSynergyT", { arg freq = 440, amp = 0.5; var snd, env; snd = Splay.ar(SyncSaw.ar(freq, mul: amp)); env = Env.perc(0.001, 0.9).kr(2); snd = snd*env; Out.ar(0, snd); }).add; ) ( //s.record; ( Pbind( \instrument, "SynthesisSynergy", \tempo, 4/4, \midinote, Pseq([56, 56, 56, 56, 63, 63, 63, 63, 60, 60, 60, 60, 58, 58, 55, 56, 56, 56, 56, 56, 63, 63, 63, 63, 60, 60, 60, 60, 63, 63, 65, 68], inf), \dur, 0.38, \amp, 0.6, ).play(TempoClock(128/60)); ) ) s.stopRecording; MIDIIn.connectAll; s.record; ( MIDIdef.noteOn(\blips, {arg vel, note; Synth("SynthesisSynergy", [ \freq, note.midicps, // converts to Hz \amp, vel.linlin(0, 127, 0, 1) // converts vel to amp 0-1 ]); ["note", note, "vel", vel].postln; }); )