Final composition
Here is my final piece using supercollider linked into logic where I used the ‘Steinway Piano Hall’ as my software instrument.
s.boot
MIDIClient.init(0, 1);
m = MIDIOut(0, MIDIClient.destinations[0].uid);
//this is the scale i used C – D – Eflat – F – G -Aflat – Bflat – Bnatural – C so its T-S-T-T-S-T-S-S-T.
(
Pdef(\a,Pbind(\type, \midi, \chan, 0, \midiout, m,
\scale, [ 0, 2, 3, 5, 7, 8, 10, 11, 12],
\degree, Pseq([1,2,3,4,5,6,7,8,9]-1, inf),
\dur, 1,
\db, -4,
\octave, 5
)
)
)
(
//the piece starts with one note playing and then gradually i add more notes.
(
Pdef(\b,Pbind(\type, \midi, \chan, 0, \midiout, m,
\scale, [ 0, 2, 3, 5, 7, 8, 10, 11, 12],
\degree, Pseq([1]-1, 8),
\dur, 1,
\db, Pseq([-8,-6,-4,-2],2),
\octave, 7
)
)
);
(
Pdef(\c,Pbind(\type, \midi, \chan, 0, \midiout, m,
\scale, [ 0, 2, 3, 5, 7, 8, 10, 11, 12],
\degree, Pseq([3]-1,16),
\dur, 1/8,
\db, Pseq([-7,-6,-4,-2,-8,-7,-4,-2], 2),
\octave, 7
)
)
);
(
Pdef(\d,Pbind(\type, \midi, \chan, 0, \midiout, m,
\scale, [ 0, 2, 3, 5, 7, 8, 10, 11, 12],
\degree, Pseq([2,4]-1,8),
\dur, 1/2,
\db,Pseq([-8,-6],8),
\octave, 7
)
)
);
(
Pdef(\bb,Pbind(\type, \midi, \chan, 0, \midiout, m,
\scale, [ 0, 2, 3, 5, 7, 8, 10, 11, 12],
\degree, Pseq([1]-1, 16),
\dur, 1/8,
\db, Pseq([-8,-6,-4,-2,-8,-6,-4,-2],16),
\octave, 8
)
)
);
(
Pdef(\bbb,Pbind(\type, \midi, \chan, 0, \midiout, m,
\scale, [ 0, 2, 3, 5, 7, 8, 10, 11, 12],
\degree, Pseq([1]-1, 16),
\dur, 1/8,
\db, Pseq([-10,-8],16),
\octave, 8
)
)
);
//Then i start my piece by playing my scale and then i use Prand to add more notes
(
Pdef(\f,Pbind(\type, \midi, \chan, 0, \midiout, m,
\scale, [ 0, 2, 3, 5, 7, 8, 10, 11, 12],
\degree, Pseq([3,5,7,10,12]-1,5),
\dur, 1/4,
\db, Pwhite(-9,-2),
\octave, 5
)
)
);
(
Pdef(\h,Pbind(\type, \midi, \chan, 0, \midiout, m,
\scale, [ 0, 2, 3, 5, 7, 8, 10, 11, 12],
\degree, Prand([3,5,7,10,11]-1,12),
\dur, 1/4,
\db,Pwhite(-4,0),
\octave, 6
)
)
);
(
Pdef(\hh,Pbind(\type, \midi, \chan, 0, \midiout, m,
\scale, [ 0, 2, 3, 5, 7, 8, 10, 11, 12],
\degree, Prand([3,5,7,10,11]-1,12),
\dur, 1/8,
\db,Pwhite(-4,0),
\octave, 6
)
)
);
(
Pdef(\i,Pbind(\type, \midi, \chan, 0, \midiout, m,
\scale, [ 0, 2, 3, 5, 7, 8, 10, 11, 12],
\degree, Prand([3,5,7,10]-1,12),
\dur, 1/4,
\db,Pwhite(-5,0),
\octave, 7
)
)
);
(
Pdef(\j,Pbind(\type, \midi, \chan, 0, \midiout, m,
\scale, [ 0, 2, 3, 5, 7, 8, 10, 11, 12],
\degree, Pxrand([1,2,3,4, \nil]-1,10),
\dur, 1/8,
\db, Pwhite(-9,0),
\octave, 7
)
)
);
(
Pdef(\q,Pbind(\type, \midi, \chan, 0, \midiout, m,
\scale, [ 0, 2, 3, 5, 7, 8, 10, 11, 12],
\degree, Pxrand([1,2,3,4, \nil]-1,10),
\dur, 1/4,
\db, Pwhite(-9,0),
\octave, 7
)
)
);
//i transpose and go a semitone up so now its Csharp – Dflat – E – Fsharp – Gsharp – A – B – C – Csharp
(
Pdef(\k3,Pbind(\type, \midi, \chan, 0, \midiout, m,
\scale, [ 0, 2, 3, 5, 7, 8, 10, 11, 12],
\degree, Pseq([1,2,3,4,5,6,7,8,9]-1),
\dur,1,
\db, -2,
\octave,5,
\ctranspose,1
)
)
);
(
Pdef(\k,Pbind(\type, \midi, \chan, 0, \midiout, m,
\scale, [ 0, 2, 3, 5, 7, 8, 10, 11, 12],
\degree, Pseq([3,\nil,5,7,\nil,10,11]-1,2),
\dur,1/8,
\db, -2,
\octave, 7,
\ctranspose, 1
)
)
);
(
Pdef(\kk,Pbind(\type, \midi, \chan, 0, \midiout, m,
\scale, [ 0, 2, 3, 5, 7, 8, 10, 11, 12],
\degree, Pseq([3,\nil,5,7,\nil,10,11]-1,2),
\dur, 1/4,
\db, -2,
\octave, 6,
\ctranspose, 1
)
)
);
(
Pdef(\o,Pbind(\type, \midi, \chan, 0, \midiout, m,
\scale, [ 0, 2, 3, 5, 7, 8, 10, 11, 12],
\degree, Prand([3,5,7,\nil,10]-1,4),
\dur, 1/2,
\db,Pwhite(-4,0),
\octave,Prand([ 8,6]),
\ctranspose,1
)
)
);
(
Pdef(\oo,Pbind(\type, \midi, \chan, 0, \midiout, m,
\scale, [ 0, 2, 3, 5, 7, 8, 10, 11, 12],
\degree, Prand([3,5,7,\nil,10]-1,4),
\dur, 1/4,
\db,Pwhite(-4,0),
\octave,7,
\ctranspose,1
)
)
);
(
Pdef(\ooo,Pbind(\type, \midi, \chan, 0, \midiout, m,
\scale, [ 0, 2, 3, 5, 7, 8, 10, 11, 12],
\degree, Prand([3,5,7,\nil,10]-1,4),
\dur, 1/8,
\db,Pwhite(-4,0),
\octave,6,
\ctranspose,1
)
)
);
(
Pdef(\tt,Pbind(\type, \midi, \chan, 0, \midiout, m,
\scale, [ 0, 2, 3, 5, 7, 8, 10, 11, 12],
\degree, Prand([1,2,3,4,5,6,7]-1,7),
\dur, 1/8,
\db, Pwhite(-1,-4),
\octave, Pxrand([4,5],7),
\ctranspose, 1
)
)
);
//i transpose again and go a minor 3rd up so now its Eflat – F – Fsharp – Aflat – Bflat – B – Csharp – D – Eflat
(
Pdef(\jj3,Pbind(\type, \midi, \chan, 0, \midiout, m,
\scale, [ 0, 2, 3, 5, 7, 8, 10, 11, 12],
\degree, Pseq([1,2,3,4,5,6,7,8,9]-1,inf),
\dur, 1,
\db, -4,
\octave, 5,
\ctranspose, 3
)
)
);
(
Pdef(\jj,Pbind(\type, \midi, \chan, 0, \midiout, m,
\scale, [ 0, 2, 3, 5, 7, 8, 10, 11, 12],
\degree, Prand([1,2,3,4,5,6,7]-1,7),
\dur, 1/8,
\db, Pwhite(-1,-4),
\octave, Pxrand([6,5],7),
\ctranspose, 3
)
)
);
(
Pdef(\ii,Pbind(\type, \midi, \chan, 0, \midiout, m,
\scale, [ 0, 2, 3, 5, 7, 8, 10, 11, 12],
\degree, Pxrand([3,\nil, 5,7,\nil,10]-1,12),
\dur, 1/8,
\db,Pwhite(-4,0),
\octave, Prand([4,5],12),
\ctranspose,3
)
)
);
(
Pdef(\jj2,Pbind(\type, \midi, \chan, 0, \midiout, m,
\scale, [ 0, 2, 3, 5, 7, 8, 10, 11, 12],
\degree, Prand([1,2,3,4]-1,4),
\dur, Prand ([1/4,1/2],4),
\db, Pwhite(-7,0),
\octave, Pxrand([5,4],4),
\ctranspose, 3
)
)
);
(
Pdef(\ii2,Pbind(\type, \midi, \chan, 0, \midiout, m,
\scale, [ 0, 2, 3, 5, 7, 8, 10, 11, 12],
\degree, Pxrand([3,5,7,\nil,10]-1,5),
\dur, 1/8,
\db,Pwhite(-5,0),
\octave, Prand([4,3],5),
\ctranspose,3
)
)
);
// and then i go back to my original scale
(
Pdef(\d3,Pbind(\type, \midi, \chan, 0, \midiout, m,
\scale, [ 0, 2, 3, 5, 7, 8, 10, 11, 12],
\degree, Pseq([2,4,2,\nil,4]-1,5),
\dur, 1/2,
\db,Pseq([-8,-2],5),
\octave, 7
)
)
);
(
Pdef(\f4,Pbind(\type, \midi, \chan, 0, \midiout, m,
\scale, [ 0, 2, 3, 5, 7, 8, 10, 11, 12],
\degree, Pseq([3,\nil,5,7,\nil,10,12]-1,7),
\dur, 1/4,
\db, Pwhite(-6,-4),
\octave, 5
)
)
);
(
Pdef(\g3,Pbind(\type, \midi, \chan, 0, \midiout, m,
\scale, [ 0, 2, 3, 5, 7, 8, 10, 11, 12],
\degree, Pseq([3,\nil,3,5,10,\nil,3,7,]-1,8),
\dur, 1/8,
\db, Pwhite(-4,-1),
\octave, 3
)
)
);
)
//this is how my piece is laid out and played
(
(
Pseq( [Pdef(\b)],1)
++
Ppar( [Pdef(\b), Pdef(\c)],1)
++
Ppar( [Pdef(\b), Pdef(\c), Pdef(\d)],1)
++
Ppar( [Pdef(\c), Pdef(\d), Pdef(\bb)],1)
++
Pseq( [Pdef(\bb)],2)
++
Ppar( [Pdef(\bbb),Pdef(\f)],1)
++
Ppar( [Pdef(\f), Pdef(\h)],2)
++
Ppar( [Pdef(\hh), Pdef(\i)],2)
++
Ppar( [Pdef(\i), Pdef(\j)],2)
++
Ppar( [Pdef(\f), Pdef(\q)],2)
++
Pseq( [Pdef(\q)],3)
++
Ppar( [Pdef(\kk)],1)
++
Ppar( [Pdef(\kk), Pdef(\k)],1)
++
Ppar( [Pdef(\k), Pdef(\o)],2)
++
Pseq( [Pdef(\oo)],2)
++
Pseq( [Pdef(\ooo)],4)
++
Pseq( [Pdef(\jj)],4)
++
Ppar( [Pdef(\jj), Pdef(\ii)],2)
++
Ppar( [Pdef(\jj), Pdef(\jj2)],2)
++
Ppar([Pdef(\jj2), Pdef(\ii2)],2)
++
Pseq([Pdef(\ii2)],2)
++
Ppar([Pdef(\d3), Pdef(\f4), Pdef(\g3)],2)
).play
)
week 10
Today at our laptop musicianship lecture we had our second try on group improvisations which i think went better than the previous week.
My group: we tried having more dynamics and a clearer structure. We also communicated better this time and we tried imitating each others sounds.
Group one: was too slow and there weren’t a lot of things happening and it was just the same thing over and over again. Everyone had similar sounds which i think wasn’t that interesting.
Group two: they should have left the first sound last longer and not hurry putting the other sounds in. This time they added more sounds and I really liked it when they used the speech sound more than the previous time. I also liked the way they approached the ending, where everyone started fading out and got slower.
Group three: they were missing two people so it was kind of poor but they did pretty well. This time they didn’t use the drum beat loop and they used more effects like reverb which made it sound much better.
Group four: each person had very different and interesting sounds which made it very atmospheric. On the other hand I felt that there wasn’t any structure but they just came in randomly.
Group improvisations
Yesterday on our laptop musicianship lecture we had our group improvisations which we had been working on for a week. My group had James play the granular synth, Pete and Gemma the Sound Scratcher, Trent the predators and i messed around with the SoundDrops. I think we did pretty well although we needed to practice more. So these are my thoughts of the other groups who performed.
The first group was very different from all the others and made some quite interesting sounds. They were really listening to what each other was doing and had a sort of dialogue because they would imitate each other with similar sounds.
The second group was process music based, where each member would come in at different beats and then when each member had their improvisation they would gradually fade out . This made it sound very similar to steve reich’s compositions.
The fourth group kind of had a structure but it was based on a looped beat where they just started coming in and started improvising on that.
The fifth group started with a steady beat but then they started improvising with the beat and changed the tempo. After that they started improvising with other sounds.
I think that listening to the other groups has really helped me because they’ve given me different ideas which are useful for my group.
Scales and Patterns
Pseq plays the degree in the order you’ve written it.
Prand chooses notes from the scale given at random.
(
Pbind(
\scale, [0,2,4,5,7,9,11],
\degree, 1,
\dur,1/2).play
)
\scale – major scale
\degree – its basically which octave it’s playing
\dur – tempo
other scales are:
Dorian: T S T T T S T
0 2 3 5 7 9 10 12
Phrygian: S T T T S T T
0 1 3 5 7 8 10 12
Lydian: T T T S T T S
0 2 4 6 7 9 11 12
Aeolian: T S T T S T T
0 2 3 5 7 8 10 12
Locrian: S T T S T T T
0 1 3 5 6 8 10 12
//Pseq
(Pdef(\a,
Pbind(
\scale, [0,2,4,5,7,9,11],
\degree,Pseq([6,3,1,5]-1,inf),
\dur,1/4
).play
)
//so what is doing here is play the major scale infinitely in these degrees with a tempo of 1/4
//randomise
(
Pdef(\b,
Pbind(
\scale, [0,2,4,5,7,9,11],
\degree, Prand ([6,3,1,5,4]-1, inf),
\dur,1/4)
).play
)
//transposition
(
Pdef(\b,
Pbind(
\scale, [0,2,4,5,7,9,11],
\degree, Prand ([6,3,1,5,4]-1, inf),
\ctranspose,1,
\dur,1/4)
).play
)
//play only 4 times
(
Pdef(\f,
Pbind(
\scale, [0,2,4,5,7,9,11],
\degree, Pseq ([6,3,1,5,4]-1, 4),
\dur,1/4)
).play
)
//for changing things together use this:
(Pdef(\a).play ++(\b)).play
SuperCollider basics
I’ m finally going to start working on my blog and I’m just going to write the basics of supercollider and just hope its correct…
cmd + n to start a new file
s.boot to boot the system
.play to play the sound
cmd + . to stop the sound
UGens (unit generators) are used to process audio or control signals and arguments such as Frequency, Phase, Multiply, Addition are stated in the Ugen.. Some examples of UGens is:
{WhiteNoise.ar}
{PinkNoise.ar}
{Dust.ar}
{Impulse.ar}
{Crackle.ar}
(.ar = audio rate)
hi :]
This is my first time to write a blog and I’m not really sure what we’re supposed to write. I transferred from music to cmt and everything is so new to me that it excites me and scares me at the same time. I’m not really sure what to expect from this module cause I’m kind of lost at the moment but I think I’ll do just fine and can’t wait to start composing!
Hello world!
Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!