.cc - week seven.
I have had a play around with the following IXI SC classes: Scroll Number Box, Midi Keyboard, Grid, BoxGrid and ParaSpace. From the outset I liked the look of ParaSpace the most, so chose to explore it and come up with this little bit of code. It's based on an example provided in the ParaSpace help, but has some more UI functionality.
(
var popMenu, popItem, popMenu2, popItem2;
//synth
SynthDef( "SimpleSaw",
{arg freq, amp=0.01;
Out.ar(0, VarSaw.ar(freq, 0, amp)!2 * EnvGen.ar(Env.perc(0.01,0.4), doneAction:2));
}).load(s);
w = SCWindow("ParaSpaced", Rect(0, 60, 1342, 800)); //WINDOW
a = ParaSpace.new(w, bounds: Rect(0, 0, 1140, 798)); //A = PARASPACE
//SLIDER = DOT SIZE
y = SCSlider(w, Rect(1200, 80, 100, 40))
.focusColor_(Color.red(alpha:0.2))
.action_({
a.setNodeSize_(y.value * 1000);
});
//POP-UP MENU = DOT TYPE
popItem = ["rect", "circle"];
popMenu = SCPopUpMenu(w, Rect(1200, 40, 100, 20));
popMenu.items = popItem;
popMenu.action = { arg popMenu;
popItem.at(popMenu.value).postln;
a.setShape_(popItem.at(popMenu.value));
};
//POP-UP MENU = Background Colour
//popItem2 = ["red", "blue"];
//popMenu2 = SCPopUpMenu(w, Rect(1200, 0, 100, 20));
//popMenu2.items = popItem2;
//popMenu2.action = { arg popMenu2;
// popItem2.at(popMenu2.value).postln;
// a.setBackgrColor_(Color.popItem2.at(popMenu2.value));
// };
//popItem.at(popMenu.value)
//36 RANDOM DOTS
36.do({arg i; a.createNode(1100.rand.round(100), 700.rand.round(100)); a.setFillColor_(Color.new255(0, 0, 0))});
//CONNECTING DOTS
a.connectAction_({arg node1, node2;
Synth( "SimpleSaw", [\freq, node1.nodeloc.y]);
Synth( "SimpleSaw", [\freq, node2.nodeloc.x]);
});
t = Task({
inf.do({arg i;
6.do({arg j; a.createConnection(35.rand, 35.rand);});
176.do({arg j; a.deleteConnection(35.rand, 35.rand);});
0.6.coin(a.setNodeLoc1_(35.rand, 1.0.rand, 1.0.rand);
a.setNodeColor_(35.rand, Color.new255(255.rand, 0, 0));
);
a.deleteConnections;
0.5.rand.wait;
})
}, AppClock);
t.start;
w.front; //BRING TO FRONT
//w.fullScreen; //FILLSCREEN
)
ParaSpaced.rtf (4 kB)
.sources.
Haines, Christian 11.09.08, "Graphical User Interface (3)," External Lecture of EMU, Adelaide University.
iieiwrmeieweeiimeemmwreiweremweireeemeimwieewwrwweereireeiimeewmiwwwemwiewimeeeremeiewmemweewieewerwemwiimiewmeiwireiiwrrewmwewree |
19.9.08
ParaSpace
0 comments copywrite 12:41 pm
18.9.08
Eraserhead
.forum - week eight.
Eraserhead, like many films by David Lynch, is open to interpretation, so I thought I would go into what I gathered about the film. First of all, the overarching theme I gathered from the film is that people are stupid. All the characters in this film are stupid, particularly the protagonist, Henry Spencer. Henry is dimwitted and slow. Henry meets his girlfriend's family who are deranged and extremely weird, but nevertheless agrees to marry Mary (under terrible circumstances). Mary soon leaves Henry and he is left alone with the ugly child. To me, the reason why the baby is a vulgar reptile is because its parents were Henry and Mary - two stupid people that really should not be having children. Also it's an ugly reptile because that's the way Henry perceives the baby - in many ways this is true of how male men see very young babies. In the scene in which the film takes its name "Eraserhead," Henry dreams his head falls off and is replaced by the baby's head. This is symbolic of the common idea that ones children are left to carry your legacy on after you pass away. However, what then happens to Henry's head is that it is taken to a factory by a child, and turned into an eraser in exchange for money. This again shows the stupidity of people, of Henry - he thought his ugly child would continue his legacy instead his "legacy" was sold and turned into an eraser - something that deletes things.
.sources.
Harris, David 18.09.08 "Eraserhead," Forum of EMU, Adelaide University.
0 comments copywrite 4:16 pm
Sound Design
.aa - week seven.
Randy Thom's article "Designing a Movie for Sound" has plenty of interesting thoughts about creating audio for a film. Many of his techniques and ideas are now well established in the field, however it is great to read an experienced expert go over some of the basics. I found his comments on the way all aspects of the sound design for a film should be formulated and woven together particularly pertinent:
"Sound, musical and otherwise, has value when it is part of a continuum, when it changes over time, has dynamics, and resonates with other sound and with other sensory
experiences." (Thom, 1999).
In a way this reminds me of the method with which most composers would work - not just sound designer's for film. All aspects of sound in a film must be considered a part of the overall composition. For example, character dialogue, 'foley' and sound effects become a part of the instrumentation in a high-quality piece of sound design.
.sources.
Harrald, Luke 09.09.08, “Designing a Movie for Sound,” Lecture of EMU, Adelaide University.
Thom, Randy 199, "Designing a Movie for Sound," FilmSound.org.
0 comments copywrite 12:47 pm
11.9.08
Music & Cogitation
.forum - week seven.
Today Sanad showed us a track he made called "The Disaster of August 30th," which was composed in a experimental and electronic vein. It was quite a good effort on his part, particularly as he mentioned he had spent little time on it. Once again the mixing and compositional ideas were great, however the area which I struggle to grasp in Sanad's pop music is the structure. While Stephen admitted to grasp some kind of a plot or story - a narrative - out of the piece, I must admit the flow of the piece on a meta-level was too hap hazardous. On a more micro-level the actual transitioned were composed quite nicely, I am just unsure about why they occurred where they did in the larger structure of the piece. Nonetheless, it was a promising work.
Edward Kelly presented an impressive Max/MSP patch, which iterates dots along a series of parabolas. I should congratulate Edward effort in refusing to shy away from the mathematics of Max, something I tend to do.
John Delany's piece "BinHex_25-06" (full marks on title) is quite an impressive one. It uses many different SuperCollider UGens as different sound sources - instruments for the music. I think the problem with the work is that while most of these sources are fantastically captivating - they bring the audience into the dark atmosphere - there are a couple that do not, and in my opinion detract from the piece.
.sources.
Whittington, Stephen 11.09.08 "Student Presentations," Forum of EMU, Adelaide University.
0 comments copywrite 4:10 pm
8.9.08
Nosferatu Rescore Progress
.aa - week six.
Both Dave Dowling and John Delany have opted to develop symphonic soundtracks for the Nosferatu re-scoring project. With the availability of incredible orchestra sound banks, like Garritan Personal Orchestra, there is potential both these projects to develop into something amazing. In my opinion a combination their orchestral pieces with subtly applied digital effects (such as reverbs) would really set their work apart.
Ben Probert - the man, the myth, the master – has thankfully decided to re-score a different section of Nosferatu to the rest of the class. He has decided to write some piano music for the film, which he intends to record on an old piano. This will be apart of his ‘old fashioned cinematic’ feel to the score. Ben did not expose much music in his presentation, which I am glad of, because I know when he is finished he will reveal something interesting and exciting.
Luke has an interesting theme of subtle aggravation in his re-score – the ambient sounds are designed to slowly were the audience down. What he revealed in his presentation was on-the-way to achieving this goal, and once it is finalised and polished the effect of this idea will be much greater in impact.
Crazy Matt seems to be in the drawing board stages still. A composition student played music by other composers to give us an idea for his influence for his project. His ideas for the score, such as a low-throbbing bass undercurrent throughout, seem well justified and I look forward to hearing take on scoring Nosferatu.
.sources.
Harrald, Luke 2008, “Foley and Music Presentations,” Workshop of EMU, Adelaide University.
1 comments copywrite 9:53 am
5.9.08
lets get physical
.cc - week six.
This week I attempted to use the physical modeling technique called Karplus-Strong string synthesis.
(
//SYNTHS
//WHITE NOISE SYNTH
// Delayed Noise Generator - Envelope > Noise Generator > Delay
SynthDef("White Noise", {
// Arguments
arg midiPitch = 50; //input
// Variables
var burstEnv, noise, delay, att = 0.00001, dec = 0.001, out,
delayDecay = 10, trigRate = 1;
//delayTime = midiPitch.midicps.reciprocal,
// Envelope
burstEnv = EnvGen.kr(
envelope: Env.perc(att, dec),
doneAction: 0
);
// Noise Generator
noise = WhiteNoise.ar(
mul: burstEnv
);
// Delay
delay = CombL.ar(
in: noise,
maxdelaytime: midiPitch.midicps.reciprocal,
delaytime: midiPitch.midicps.reciprocal,
decaytime: delayDecay,
add: noise
);
// Output
Out.ar(
bus: 0,
channelsArray: delay.dup
);
}).send(s);
//PINK NOISE SYNTH
// Delayed Noise Generator - Envelope > Noise Generator > Delay
SynthDef("Pink Noise", {
// Arguments
arg midiPitch = 50; //input
// Variables
var burstEnv, noise, delay, att = 0.00001, dec = 0.001, out,
delayDecay = 10, trigRate = 1;
// Envelope
burstEnv = EnvGen.kr(
envelope: Env.perc(att, dec),
doneAction: 0
);
// Noise Generator
noise = PinkNoise.ar(
mul: burstEnv
);
// Delay
delay = CombL.ar(
in: noise,
maxdelaytime: midiPitch.midicps.reciprocal,
delaytime: midiPitch.midicps.reciprocal,
decaytime: delayDecay,
add: noise
);
// Output
Out.ar(
bus: 0,
channelsArray: delay.dup
);
}).send(s);
//GREY NOISE SYNTH
// Delayed Noise Generator - Envelope > Noise Generator > Delay
SynthDef("Grey Noise", {
// Arguments
arg midiPitch = 50; //input
// Variables
var burstEnv, noise, delay, att = 0.00001, dec = 0.001, out,
delayDecay = 10, trigRate = 1;
// Envelope
burstEnv = EnvGen.kr(
envelope: Env.perc(att, dec),
doneAction: 0
);
// Noise Generator
noise = GrayNoise.ar(
mul: burstEnv
);
// Delay
delay = CombL.ar(
in: noise,
maxdelaytime: midiPitch.midicps.reciprocal,
delaytime: midiPitch.midicps.reciprocal,
decaytime: delayDecay,
add: noise
);
// Output
Out.ar(
bus: 0,
channelsArray: delay.dup
);
}).send(s);
//BROWN NOISE SYNTH
// Delayed Noise Generator - Envelope > Noise Generator > Delay
SynthDef("Brown Noise", {
// Arguments
arg midiPitch = 50; //input
// Variables
var burstEnv, noise, delay, att = 0.00001, dec = 0.001, out,
delayDecay = 10, trigRate = 1;
// Envelope
burstEnv = EnvGen.kr(
envelope: Env.perc(att, dec),
doneAction: 0
);
// Noise Generator
noise = BrownNoise.ar(
mul: burstEnv
);
// Delay
delay = CombL.ar(
in: noise,
maxdelaytime: midiPitch.midicps.reciprocal,
delaytime: midiPitch.midicps.reciprocal,
decaytime: delayDecay,
add: noise
);
// Output
Out.ar(
bus: 0,
channelsArray: delay.dup
);
}).send(s);
)
// GUI INTERFACE
(
//GUI
var w, b, line, titleBox;
var popper; //pop-up
~notes = Pseq([1, 12, 5, 7, 11], inf).asStream;
w = GUI.window.new( "WEIMER".scramble, Rect( 128, 64, 258, 150 )); //window size
w.view.decorator = FlowLayout( w.view.bounds );
w.view.background = Color( 0.0,0.714,0.96 );
//heading
titleBox = SCStaticText(
parent: w,
bounds: Rect(20, 100, 412, 65)
);
titleBox.stringColor_(Color.white);
titleBox.background_(Color(0.0,0.714,0.96));
titleBox.string_("STRINGZ¨");
titleBox.font_(Font("Arial Black", 25));
//button 1
SCButton(w, Rect(20,20,80,26))
.states_([["Play", Color.black, Color.white]])
.mouseDownAction_({
(
Pbind(
\dur, Prand([0.1,0.1,0.2,0.3,0.5,0.8,], inf), // [0.5, 1.0, 1.5]
\instrument, \++t.at(popper.value)
).play
);
});
//pop-up menu
t = [
"White Noise",
"Brown Noise",
"Pink Noise",
"Grey Noise"
];
popper = SCPopUpMenu(w,Rect(10,10,166,26));
popper.items = t;
popper.background_(Color.white);
popper.action = { arg popper;
t.at(popper.value).postln; //post selection
};
//slider
e = EZSlider(w, // window
250 @ 24, // dimensions
"MIDI Note:", // label
ControlSpec(0, 127, \lin, 1.0), // control spec
{|slid| Synth( \++t.at(popper.value), \midiPitch, 0)},// slid.value.asInteger.postln
50 // initVal
);
//a = SCSlider(w, Rect(20, 80, 100, 40))
// .focusColor_(Color.white)
// .step_(1)
// .action_({
// Synth(\++t.at(popper.value), \midiPitch, (a.value * 100).round(1)) //a.value (a.value * 100)
// });
w.front;
)
wksix.mp3 (788 kB) | letsgetphysical.rtf (12 kB)
.sources.
Haines, Christian 04.09.08, “Physical Modelling (1),” Lecture of EMU, Adelaide University.
0 comments copywrite 4:45 pm
4.9.08
Scientific
.forum - week six.
During forum student's presented the sound files they have created which are designed to embody each of the Nine Indian Emotions. Stephen mentioned a study which revealed that blind people were more able to perceive alterations in voice tone, and able to discern from that information about their emotion state more accurately than people with unimpaired vision. The findings of our own study conducted today (with no blind subjects) was that cliché motifs - sounds - were easiest to relate to the emotion they were linked with. From this information, in conjunction with the study using blind subjects, I would have to suggest my theory that sampling an idea is one of the easiest, quickest and most direct ways to convey an emotion to modern people. Modern people. The samples I provided for the task were taken mostly from very new music - it came to my attention that 'new' and 'cliché' is not as effective an old cliché. While that may seem bleedingly obvious, it has certainly given me a new perspective to consider when composing music using samples.
.sources.
Whittington, Stephen 04.09.08 "Emo Presentations," Forum of EMU, Adelaide University.
1 comments copywrite 5:27 pm
3.9.08
.cc - week five.
This week marks a bit of a breakthrough in terms of getting UI elements linked to SynthDefs. Thanks to Dave for helping me out. The program 'freezes' on Fast Fourier Transform frames and also the hop sizes can be altered. I also discovered an area of the FFT UGens - pack and unpack - which I may be able to use in relation to my research project on visual music. These UGens generate data related to an audio signal.
(
var fftBuf, sndBuf, chain,
path = ((PathName.new(Document.current.path)).pathOnly) ++"Samples/"; //PreGUI
// Buffer Creation - store FFT data
fftBuf = Buffer.alloc(
server: s,
numFrames: 2048,
numChannels: 1
);
// Place Sound into Buffer
sndBuf = Buffer.read(
server: s,
path: path++"houston.wav"
);
//Synth
SynthDef("AudioIce", { arg out=0, bufnum=0, soundBufnum=2, hopSize = 0.5, freeze = 0;
//freeze and hopSize to be effected by UI
var input, chain;
input = PlayBuf.ar(
1, //channels
soundBufnum, //buffer num
BufRateScale.kr(sndBuf), //rate
loop: 1);
chain = FFT(fftBuf, input, hop: hopSize);
chain = PV_MagFreeze(chain, freeze: freeze);
Out.ar(0, 0.5 * IFFT(chain).dup);
}).send(s);
//Make an instance:
~magFreeze = Synth("AudioIce", [\out, 0, \bufnum, fftBuf, \soundBufnum,sndBuf]);
)
(
//GUI
var w, b, line, titleBox;
w = GUI.window.new( "AudioIce", Rect( 128, 64, 180, 230 ));
w.view.decorator = FlowLayout( w.view.bounds );
w.view.background = Color( 0.0,0.714,0.96 );
titleBox = SCStaticText(
parent: w,
bounds: Rect(20, 100, 410, 65)
);
titleBox.stringColor_(Color.white);
titleBox.background_(Color(0.0,0.714,0.96));
titleBox.string_("Pausing effect:");
titleBox.font_(Font("Arial Black", 15));
SCButton(w, Rect(20,20,80,26))
.states_([["Freeze", Color.black, Color.white]])
.mouseDownAction_({ |freeze|
~magFreeze.set(\freeze, 1);
})
.mouseUpAction_({ |freeze|
~magFreeze.set(\freeze, 0);
});
titleBox = SCStaticText(
parent: w,
bounds: Rect(20, 100, 410, 65)
);
titleBox.stringColor_(Color.white);
titleBox.background_(Color(0.0,0.714,0.96));
titleBox.string_("FFT Windowsize:");
titleBox.font_(Font("Arial Black", 15));
a = SCSlider(w, Rect(20, 80, 100, 40))
.focusColor_(Color.white)
.action_({|hopSize|
~magFreeze.set(\hopSize, a.value);
});
w.front;
)
MagFFT.rtf | houstonnnnnnn.mp3 (804 kB)
.sources.
Haines, Christian 28.08.08, “FFT (1),” Lecture of EMU, Adelaide University.
0 comments copywrite 3:55 pm
2.9.08
THESE GUYS ARE FROM ENGLAND AND WHO GIVES A SHIT
.forum - week five.
Negativland - crude and slightly amusing, I must admit... I can't imagine the hysteria which lyrics like "Christianity is stupid / Communism is Good" must have caused (in the eighties) without grinning like an idiot. In fact Negativland used the track to create hoax - that they had been banned playing in the United States - and the news media ate it all up. Anyway, I found this interesting interview with Mark Hosler of Negativland, it provides an interesting insight into their work:
.sources.
Whittington, Stephen 28.08.08 "Negativland," Forum of EMU, Adelaide University.
0 comments copywrite 10:49 pm
Em oceans
.forum - week four.
A recent and growing interest in ‘mash-up art’ and ‘culture jamming’ has lead me to taking a slightly different approach for the Nine Indian Emotions composition exercise. Composing music using fragments of other artist's work is something that is faced with unfortunate controversy. After being rigorously schooled in the laws of copyright at university, I was again reminded of the problems mashup artists faced when I legally downloaded Girl Talk’s album Feed the Animals from illegal-art.net. He’s employed the same release model as Radiohead - pay what you want. After I selected to pay $0 a curious survey question came on screen:
Well I do value music made from sampling – so I’ve decided to sample the following tracks for my composition exercise. I have not used any lyrical sampling.
hasya (happiness, joy, humour)
MDSLKTR - Em oceans, Happy Birthday
adbhuta (wonder, reverence)
Phillip Glass – Vessels, Koyaanisqatsi
veera (courage, heroism)
Meshuggah – In Death Is Death, Catch 33
karuna (compassion, pathos, love)
The Ting Tings - Great DJ, We Started Nothing
krodha, rudra (anger, fury)
MDSLKTR: Em oceans, Happy Birthday
bhibatsa (disgust, loathing)
Meshuggah – In Death Is Death, Catch 33
bhayanaka, bhaya (fear, terror)
MDSLKTR - Em oceans, Happy Birthday
shoka (sorrow)
NIN – The Downward Spiral, The Downward Spiral
shanta (serenity, peace)
MDSLKTR: Em oceans, Happy Birthday
.sources.
Whittington, Stephen 21.08.08 “The 9 Classical Indian Emotions,” Forum of EMU, Adelaide University.
0 comments copywrite 12:53 pm