Tuesday, September 09, 2008

Week 7 Forum - 2nd / 3rd Year Presentations

This week's forum was on presentations. I presented my SuperCollider piece from last semester. I had the same problem when executing the code as I did when I was doing the assignment. That was the second part of the piece didn't play. It's a strange problem as it depends on the computer. It didn't matter so much as I just played the audio recording. I don't know what people thought of my piece. Personally I think it's a collection of meaningless sounds that equates to nothing. Surprisingly I got a good mark for it!

I was going to play my latest song that has been signed to a record label in Melbourne. I decided not too seeing as though the majority of EMU don't appreciate real music and would rather listen to sine tones.


It's depressing getting older


Yes today is my birthday



[1] Stephen Whittington, "Music Technology Forum: Semester 2 - Week 7 – 2nd / 3rd Year Presentations". Lecture presented at the Electronic Music Unit, University of Adelaide, South Australia, 11th September 2008

CC3 Week 7 - GUI III

I have incorporated the IXI GUI code of a fancy spinning circle with a waveform oscillating. The GUI doesn't have any function in the patch I have just used it for visual feedback. The animation goes for as long as the duration of the note. I tried to change some of the parameters in the IXI code to change the way it behaves but for some reason SuperCollider kept crashing. So I have used the default code and have just changed the dimensions and colour.

Incase you forgot, you trigger the notes by clicking on the background and control the frequency and duration of the notes using the sliders. The drop down menu changes the timbre of the notes.




//PINK NOISE
(
// Delayed Noise Generator - Envelope > Noise Generator > Delay
SynthDef("plucked-pink", {

// Arguments
arg midiPitch = 80, duration = 10;

// Variables
var burstEnv, noise, delay, att = 0, dec = 0.001, out,
delayTime = midiPitch.midicps.reciprocal, trigRate = 1;

// Envelope
burstEnv = EnvGen.kr(
envelope: Env.perc(att, dec)
);

// Noise Generator
noise = PinkNoise.ar(
mul: burstEnv
);

// Delay
delay = CombL.ar(
in: noise,
maxdelaytime: delayTime,
delaytime: delayTime,
decaytime: duration,
add: noise
);

// Output
Out.ar(
bus: 0,
channelsArray: delay.dup
);

}).send(s);


//WHITE NOISE

// Delayed Noise Generator - Envelope > Noise Generator > Delay
SynthDef("plucked-white", {

// Arguments
arg midiPitch = 80, duration = 10;

// Variables
var burstEnv, noise, delay, att = 0, dec = 0.001, out,
delayTime = midiPitch.midicps.reciprocal, trigRate = 1;

// Envelope
burstEnv = EnvGen.kr(
envelope: Env.perc(att, dec)
);

// Noise Generator
noise = WhiteNoise.ar(
mul: burstEnv
);

// Delay
delay = CombL.ar(
in: noise,
maxdelaytime: delayTime,
delaytime: delayTime,
decaytime: duration,
add: noise
);

// Output
Out.ar(
bus: 0,
channelsArray: delay.dup
);

}).send(s);


//BROWN NOISE

// Delayed Noise Generator - Envelope > Noise Generator > Delay
SynthDef("plucked-brown", {

// Arguments
arg midiPitch = 80, duration = 10;

// Variables
var burstEnv, noise, delay, att = 0, dec = 0.001, out,
delayTime = midiPitch.midicps.reciprocal, trigRate = 1;

// Envelope
burstEnv = EnvGen.kr(
envelope: Env.perc(att, dec)
);

// Noise Generator
noise = BrownNoise.ar(
mul: burstEnv
);

// Delay
delay = CombL.ar(
in: noise,
maxdelaytime: delayTime,
delaytime: delayTime,
decaytime: duration,
add: noise
);

// Output
Out.ar(
bus: 0,
channelsArray: delay.dup
);

}).send(s);


//CLIP NOISE

// Delayed Noise Generator - Envelope > Noise Generator > Delay
SynthDef("plucked-clip", {

// Arguments
arg midiPitch = 80, duration = 10;

// Variables
var burstEnv, noise, delay, att = 0, dec = 0.001, out,
delayTime = midiPitch.midicps.reciprocal, trigRate = 1;

// Envelope
burstEnv = EnvGen.kr(
envelope: Env.perc(att, dec)
);

// Noise Generator
noise = ClipNoise.ar(
mul: burstEnv
);

// Delay
delay = CombL.ar(
in: noise,
maxdelaytime: delayTime,
delaytime: delayTime,
decaytime: duration,
add: noise
);

// Output
Out.ar(
bus: 0,
channelsArray: delay.dup
);

}).send(s);



//GREY NOISE

// Delayed Noise Generator - Envelope > Noise Generator > Delay
SynthDef("plucked-grey", {

// Arguments
arg midiPitch = 80, duration = 10;

// Variables
var burstEnv, noise, delay, att = 0, dec = 0.001, out,
delayTime = midiPitch.midicps.reciprocal, trigRate = 1;

// Envelope
burstEnv = EnvGen.kr(
envelope: Env.perc(att, dec)
);

// Noise Generator
noise = GrayNoise.ar(
mul: burstEnv
);

// Delay
delay = CombL.ar(
in: noise,
maxdelaytime: delayTime,
delaytime: delayTime,
decaytime: duration,
add: noise
);

// Output
Out.ar(
bus: 0,
channelsArray: delay.dup
);

}).send(s);


// w.close;

// WHOLE WINDOW
w = SCWindow.new.front;
w.bounds = Rect(170,150,450,280);
w.name_("Strings II");
w.alpha_(0.8);



p = ParaSpace.new(w, bounds: Rect(10,50,430,210));

p.setShape_("circle");

36.do({arg i;
p.createNode(3+(i*10), 130)
});
35.do({arg i;
p.createConnection(i, i+1);
});

p.setBackgrDrawFunc_({
10.do{
Color.blue(rrand(0.0, 1), rrand(0.0, 0.5)).set;
Pen.addWedge(200@150, rrand(10, 100), 2pi.rand, 2pi.rand);
Pen.perform([\stroke, \fill].choose);
}
});



t = Task({
inf.do({arg i;
36.do({arg j;
(3+((j%36)*10));
p.setNodeLoc_(j, 3+((j%36)*10), ((i*j/100).sin*120)+130);
});
0.01.wait;
})
}, AppClock);

//// PANEL
//e = SCCompositeView(w,Rect(10,50,430,210));
//e.background = Color.new255(100,0,50);
////Gradient(Color.blue,Color.black);


// TRIGGER BUTTON
f = SCButton(w, Rect(10,50,430,210))
.states_([
[" ", Color.white, Color.new255(10,0,100,0.1)]
])
.font_(Font("Arial", 10))
.action_({r.reset;
r.play;


~noisetype.switch(0,{Synth("plucked-pink", [\midiPitch, ~pitch, \duration, ~dur])},
1,{Synth("plucked-white", [\midiPitch, ~pitch, \duration, ~dur])},
2,{Synth("plucked-brown", [\midiPitch, ~pitch, \duration, ~dur])},
3,{Synth("plucked-clip", [\midiPitch, ~pitch, \duration, ~dur])},
4,{Synth("plucked-grey", [\midiPitch, ~pitch, \duration, ~dur])});
});


// DROP DOWN MENU
l = [
"Twang","Harsh","Warm","Tin","Nylon"];
m = SCPopUpMenu(w,Rect(10,10,150,20));
m.items = l;
m.background_(Color.new255(10,0,100));
m.stringColor_(Color.white);

m.action = { arg m;
~noisetype = m.value.postln};

//c.value=""++(slider.hi) ++"Hz";




//PITCH
c = SCTextField(w, Rect(350, 100, 50, 20));
a = SCSlider(w, Rect(40, 100, 300, 20))
.focusColor_(Color.red(alpha:0.2))
.action_({
c.value_(""++((a.value*70)+30).midicps.round(0.1)++"Hz");
~pitch = ((a.value*70)+30)
});


//DURATION
d = SCTextField(w, Rect(350, 200, 50, 20));
b = SCSlider(w, Rect(40, 200, 300, 20))
.focusColor_(Color.red(alpha:0.2))
.action_({
d.value_(""++((b.value*10)+0.1).round(0.1)++"s");
~dur = ((b.value*10)+0.1)
});

r = Routine({
t.resume;
~dur.wait;
t.pause;});
a.valueAction = 0.5;
b.valueAction = 0.5;)

[1] Christian Haines. "Creative Computing: Semester 2 - Week 7 -GUI III". Lecture presented at the Electronic Music Unit, University of Adelaide, South Australia, 11th September 2008

AA3 Week 7 - Randy Thom

I appreciated Randy Thoms approach to sound design. It is important to plan the sound and music with the actual visual aspects of the film and not just leave it till the end. In my experience (which isn’t a lot) of working with visual media I have always been presented with the finished movie and asked to write music for it. I had no control over the planning an production of the work. Unfortunately this is always due the either budget or attitude of the producers.

I had a look at the movies that Randy Thom did the sound design for. I have only seem a small number of his many films:

Final Fantasy: The Spirits Within
What Lies Beneath
Snow Falling on Cedars
Jumanji
Miracle on 34th Street
Forrest Gump
[1]

All these films posses very good sound design. I particually enjoyed the film What Lies Beneath. This was actually one of the films that interested me in film sound to begin with.


[3]



[1] imdb, 'Randy Thom'. www.imdb.com/name/nm0858378/ (Accessed 11/9/8)

[2] Luke Harrald. "Audio Arts: Semester 2 - Week 7 - Randy Thom". Lecture presented at EMU, University of Adelaide, South Australia, 9th September 2008

[3] Skywalker Sound, 'Randy Thom'. www.skysound.com (Accessed 11/9/8)