New blog

February 15, 2010

I have moved cause wordpress is lame.

http://superkaleidoscope.blogspot.com/

Week 3 : part 2

February 10, 2010

Modulation Synthesis

Modulation synthesis is the use of one wave (the modulator), to modulate a parameter of another (the carrier). This could be amplitude modulation (tremolo), frequency modulation (vibrato), ring modulation or phase modulation.

FM synthesis was discovered by John Chowning in 1973 and can be used to make metallic tinkling sounds at high frequencies, and siren-like laser tones at lower frequencies.
Ring modulation is the multiplication of the carrier and the modulator and if done with two sine tones, produces the sum and difference of the input frequencies as sidebands. Eg:
Carrier= 400Hz, Modulator= 500Hz, Sideband 1= 900Hz, Sideband 2= 100Hz. If noisier
AM and RM synthesis are similar, except that in AM modulation the modulator oscillates between 1 and 0, rather than 1 and -1.

Modulation synthesis tends to increase the spectral content of a sound, creating a sense of texture.

FM example
({var wobble;
wobble= SinOsc.ar(freq: 1450, add:50, mul: 270);
SinOsc.ar(freq: wobble,mul: 0.9);}.scope)

AM example (cyber pigeons)
({
var carryer, moder, modfq, carrfq, shark, osc1, tone1, tone2, mess;

shark= EnvGen.kr(Env.new([147,466,130,147,466,440,147,466,147],[0.3,0.3,0.3,0.1,0.6,0.3,0.1,5],[0,10,88,0,2,0,65,0]),doneAction:2);

carrfq= XLine.kr(440,3520,4);
modfq= XLine.kr(5000,1,4);

tone1= XLine.kr(469,587,4);
tone2= XLine.kr(749,932,4);

carryer= SinOsc.ar(freq: shark, mul: 0.5);
moder= SinOsc.ar(freq: modfq, mul: 0.5, add: 0.5);

osc1= carryer*3*moder+2;

mess= Mix.new([osc1, Pulse.ar(freq: [tone1,tone2], mul: XLine.kr(0.4,0.001,4))]);

mess*carryer+osc1;

}.scope
)

Cool Stuff

http://obiwannabe.co.uk/tutorials/html/tutorials_main.html – sound design
http://www.youtube.com/watch?v=y_wjLW2LUC8&feature=related – using the WiMote with SC
http://www.youtube.com/watch?v=rMbcqv8rxnA – generative music w/SC and Processing

http://www.berkeleynoise.com/celesteh/code/tutorials/supercollider05%20synthesis%20techniques.pdf

Week Three!

February 1, 2010

Envelopes

There are various different ways of drawing envelopes in SuperCollider, from creating one entirely from scratch to using built-in envelopes with preset parameters, eg:

Env.linen(attackTime, sustainTime, releaseTime, level, curve)

Env.triangle(duration, level)

Env.sine(duration, level)

Env.perc(attackTime, releaseTime, peakLevel, curve)

Env.adsr(attackTime, decayTime, sustainLevel,  releaseTime, peakLevel, curve)

Envelopes can be used as a multiplier, eg to control the volume of this sine wave:

{Saw.ar(440,0.1)*EnvGen.kr(Env.new([1,0,1,0,1],[1,1,1,1]),doneAction:2)}.play <- The amplitude envelope is in the shape of a ‘W’

In this patch, two envelopes are used, one controlling frequency (pitch) and the other controlling amplitude:

{(Saw.ar(EnvGen.kr(Env.new([900,240],[0.5])),EnvGen.kr(Env.new[0.01,0.1],[1])))}.play

Seashell sound: {Resonz.ar(WhiteNoise.ar(0.5),SinOsc.ar(1,0,17,90))}.play

Week Two

February 1, 2010

Subtractive and Additive Synthesis

Subtractive Synthesis

Subtractive synthesis is the process of sculpting a sound by cutting out frequencies using a filter. The filter can remain static, for example:

{Resonz.ar(WhiteNoise.ar(0.5),500)}.play

It can also be dynamic, like this:

{Resonz.ar(WhiteNoise.ar(0.5),Line.kr(1000,10,4),SinOsc.ar(4))}.play

…in which a Line creates a downward sweep on the cut-off frequency, and the resonance is modulated by a sine wave at 4Hz.

Additive Synthesis

Additive synthesis is the process of adding tones together to create more complex sounds.

This can be done with a sine wave at different intervals to produce a chord:

{Pan2.ar(Mix(SinOsc.ar([262,330,415,466],0.1)),Line.kr(1,-1,3,doneAction:2))}.play

The Pan and Mix UGens are used to make the sound stereo, and a Line used to automate the panning.

A multiplier can be used to control all frequencies at once, some of which are also automated by themselves:

{Mix(SinOsc.ar(440*[2.62,Line.kr(300,200,0.6),4.15,Line.kr(9.3,3.9,0.3,doneAction:2)],0,0.1))}.play

Mul and Add

Mul and add are used to scale signals appropriately. They can be directly accessed by using the colon syntax, eg SinOsc.ar(mul:4,add:4). Mul sets up an amplitude multiplier, whilst add offsets the signal on the y axis.

{SinOsc.ar(440,0,Line.kr(0,0.7,3,doneAction:2),0)}.play#

This creates a rising amplitude.

{SinOsc.ar(440,0,0.5,EnvGen.ar(Env.new([0.1,1,0.1,1,0.1,1],[0.5,0,0.5,0,0.5]),doneAction:2),1)}.play

This code uses an envelope on the add function to create an interesting sound.

{SinOsc.ar([262,370],0.5,0.5,EnvGen.ar(Env.new([0.1,1,0.1,1,0.1,1],[0.5,0,0.5,0,0.5]),doneAction:2),1)}.play

This is a similar envelope on the add function of a Resonz filter:

{Resonz.ar(SinOsc.ar([262,370],0,0.7,0),Line.kr(1000,200,1),EnvGen.ar(Env.new([0.1,7,3,5,7],[0.5,0.1,0.5,0.1])))}.play

Hello World

January 18, 2010

Journey into world of Supercollider starts today. I have started off by listening to the SC_140 compilation album, in which all pieces are created with 140 characters of code.

It has some interesting soundscapes. There seems to be a tendency towards making noise with music-like nuances, as opposed to making conventional computer music like dance or pop, but this might be because of the 140-character limit.

I think it seems like an interesting tool for exploring sound, specifically textures, outside of conventional genre-based constructions of what ‘music’ is.

The pieces are all very atmospheric and evokative of sensations rather than emotions, for example, the Sciss piece almost sounds like the journey of a carbon atom, one second you’re in a piece of paper, next a tree and then a massive supercomputer.

The MCLD 19 piece sounds like a load of random sine-y tones falling over each other, but there’s also a weird sense of some kind of benevolent guiding hand being present.

The BBCut library looks interesting, and fun to play with.

Follow

Get every new post delivered to your Inbox.