Category Archives: SuperCollider

Sounds created with SuperCollider program

Shorts #44: November 2024

November 2024

This piece titled by Sonia Elks. Artistic feedback from Paula Gazzard.

There’s a principle in psychoacoustics called “stream segregation”. When you listen to somebody playing a lot of notes on the piano, but there’s a clear melody, this is because your brain groups some of the notes together. It “segregates” “streams” of notes by pitch. However, there are only so many streams you can recognise at a time. If you have more than that, the phenomenon is called “wall of noise.” In that case, your brain doesn’t know where the melody is. A constantly changing texture has some voices seem to come to the front and then retreat. No two people hear a wall of noise in the same way.

This piece has 47 different voices of sinusoidal grains. Each voice varies it’s pitch and panning position very slightly with every note. Each note is extremely short, although they do gradually double in average duration and then return to their original lengths. The longer pitches become “glissons”, which is a short sine wave that moves from one pitch to another instead of staying steady. The very end overlaps the 47 granular voices with 47 glissandos.

Play

Shorts #42: Lacewing

Lacewing

This piece was commissioned and titled by Tim Walters.

This piece has two instruments – one uses the Ringz Ugen in SuperCollider and the other is a Sine wave which is phase modulated by another sine wave where both are tuned to the same frequency. It is in harmonic minor, tuned with the default just tuning.

Harmonic minor is known as “Mogen Ovos” to klezmer musicians. Rather than apply western harmony practice (except for the final cadence), every player is picking notes independently. The just tuning helps hold the notes in a key centre.

Play

Glass

Glass – for Irene’s birthday

This piece was composed using SuperCollider and a synthesiser for Irene’s birthday. It was presented as a part of an installation at the Rupture Gaming Festival in Kent.

The source material is recorded with an analogue modular synthesiser. The SuperCollider program takes that material and granulates it, dramatically changing the playback speed.

Play

Sawtooth Minimalism

Sawtooth Minimalism

My colleague, Jackie Walduck, was showing students how to create phase music by putting loops out of synch in a DAW. Then I went home from teaching and created a PD patch to play low-pass filtered sawtooth waves, as an example for a different class. I got curious how much easier it would be in SuperCollider and created a tiny program that did the same thing and set it going at the same time. Then I started it again. The phasing was fixed, but it called to mind the shifting relationships of earlier that day.





This version is only SuperCollider, but it uses a non band limitted sawtooth to mimic phasor~ in PD. This version is 7 minutes long, but the proper version should be about 3 hours. I get lost in the phasing and feel relaxed.

I’ve attached the code below. If you want to to last longer, look for the number 340 – that’s 5’40” in seconds. Make it as long as you’d like.

s.waitForBoot({
	var scale, dur, pb, steps=16, loops = 4, loop_calc, env_dur, db = -14, fade_in=40, decay = 20;

	loop_calc = {|note_dur, section_dur|
		var loop_dur, total_dur;

		loop_dur = note_dur * steps * loops;
		total_dur = loop_dur * (section_dur/loop_dur).ceil;
	};

	SynthDef(\saw, {|out=0, freq, amp, dur, pan|
		var saw, env, lop, pan2;
		saw = LFSaw.ar(freq);
		lop = LPF.ar(saw, freq*4);
		env = EnvGen.kr(Env.triangle(dur), doneAction:2);
		pan2 = Pan2.ar(lop, pan, env);
		Out.ar(out, pan2 * amp);
	}).add;

	//s.prepareForRecord("/home/celesteh/Documents/Pieces/SawtoothMinimalism/take-" ++ Date.getDate.rawSeconds ++".wav" , 2);

	s.sync;

	//s.record;

	dur = 60 / 250; // 250 BPM

	env_dur = loop_calc.(dur, 340) - (fade_in+ decay);
	env_dur.postln;

	scale = Scale.minorPentatonic(Tuning.choose(5));

	pb = {|limit = 7|
		Pbind(
			\instrument, \saw,
			\db, db,
			\dur, dur,
			\scale, scale,
			\degree, Prout({
				var loop;

				inf.do({
					loop = steps.collect({ /*scale.degrees[5.rand]*/ limit.rand });
					loop = loop.scramble;
					loops.do({
						loop.do({|step|
							step.yield;
						})
					})
				})
			}),
			//\midinote, Pkey(\add) + offset,
			\out, 0
		);
	};

	s.sync;

	Pseq([
		Pbindf(pb.value, \octave, 4, \pan, 0, \continue, Pn(1,loops*steps)),
		Ptpar([
			0, Pseq([
				Pbindf(pb.value, \octave, 4, \pan, -75, \continue, Pn(1, loops*steps*4)),
				Pbindf(pb.value(5), \octave, [4, 5], \pan, -1, \db, Penv([db, db-2, db, db], [fade_in,decay, env_dur])),
				Pbindf(pb.value, \octave, 4, \pan, -0.88, \db, Pn(db+1, 1), \degree, [0, 2], \dur, dur*8)
			] ),
			0.0008.rrand(dur/10), Pseq([
				Pbindf(pb.value, \octave, 5, \pan, 75, \continue, Pn(1, loops*steps*4)),
				Ptpar([
					0, Pseq([Pbindf(pb.(5), \octave, [4,5], \pan, 1, \db, Penv([db, db-2, db, db], [fade_in,decay, env_dur])),
						Pbindf(pb.value, \octave, 4, \pan, 0.88, \db, Pn(db+1, 1), \degree, [1, 4], \dur, dur*8)]),
					(dur * 0.3).rrand(dur*0.7), Pseq([ Pbindf(pb.value,
						\octave, 5,
						\pan, Pwhite(-0.1, 0.1),
						\dur, Pwhite((dur / -700), (dur/700)) + dur,
						\db, Penv([-60, db+1, db, db], [fade_in, decay, env_dur])),
					Pbindf(pb.value, \octave, 5, \pan, 0, \db, Pn(db+1, 1), \degree, [0, 3, 5], \dur, dur*8)
					])
				])
			])

		]),

		Pbind(
			\dur, dur,
			\freq, Prout({
				\rest.yield;
				//s.stopRecording;
			})
		)
	]).play;
});

Play

The Last Christmas: III Misterioso

The Last Christmas: III Misterioso

As per holiday tradition, I have again produced a Christmas album, although only an EP this year – or a virtual chamber ensemble playing once piece in five movements. This movement is the odd one out, using the same MIDI data for pitch and rhythm as the other movements use. The only sound used, however, is one sample. The same sample appears in all the movements at least once, but in them it is untransformed.

Also per holiday tradition, this is intended as a fundraiser for a worthy cause. Please consider donating to UKLGIG. cafdonate.cafonline.org/111#/DonationDetails They support LGBTQI+ people through the asylum and immigration process. Their vision is a world where there is equality, dignity, respect and safety for all people in the expression of their sexual or gender identity.

Or, if you are in the US, please donate to the National Center for Transgender Equality secure2.convio.net/ncftge/site/Donation2;jsessionid=00000000.app268b?df_id=1480&mfc_pref=T&1480.donation=form1&NONCE_TOKEN=C5EA18E62F736227261DC4CE5C50ADBE

If you are interested in hearing the rest of the album, it’s on bandcamp https://charleshutchins.bandcamp.com/album/the-last-christmas. This movement is my favourite one and the only one I’ll post here, lest this turn into a Christmas podcast. I’ve written a post about how the whole piece was made on my blog.

Play

Santa Loves You

[play] Santa Loves You

I was extremely startled to hear the religious content in the second verse of Here Comes Santa Claus. It seems the authors were responding to criticism of the secular/commercial focus of most Santa-based songs and thus were trying to have it both ways.

The addition of God only increases the tension of the culture war’s resonances within this song. Instead of including Jesus, the song instead seemingly elevates Santa to part of a pantheon.

The attempt to tackle class is even less successful – Santa may love children who are rich and poor equally, but they don’t get equal presents.

This is the last song in this year’s Christmas album. If you enjoyed it (or not), please consider making a donation to the Hackney Night Shelter, which my wife has been volunteering at. There are very few shelter beds in East London. This roving shelter makes up a large percentage of them.

If you’d like to download this album in higher fidelity than is available here, you can find it and cover art over at bandcamp. It’s a free download, but please do make a donation directly to the shelter!

Play

Sledge Trudge

[play] Sledge Trudge

Some songs have hidden dystopian meanings or inner, subtle depth. And some are just dull but still popular. From Kenny G’s wholly regrettable key changes to the Ronnette’s questionable special effects, the recorded history of pop acts covering Sleigh Ride is one of desperation to make anything interesting happen. Somehow, this song lingers in the top 20 of seasonal favourites, safe, boring, predicatable and no actual mention of any holidays at all.

I uncovered some bug in Audacity that would not allow me to cut out Johnny Matthis saying ‘Just’ at the start of the song, so he remains.

All of my Christmas songs this year are fundraising for the Hackney Night shelter, which my wife has been volunteering at. There are very few shelter beds in East London. This roving shelter makes up a large percentage of them.

Play

Funky (The Slow Jam)

[play] Funky (The Slow Jam)

This uses three different audio sources. In this version, there’s no effort to do beat matching and the playback rates are all based on the same minor pentatonic scale, but without coordination between the rates. I like the end.

All of my Christmas songs this year are fundraising for the Hackney Night shelter, which my wife has been volunteering at. There are very few shelter beds in East London. This roving shelter makes up a large percentage of them.

Play

Walking in a Winter No Man’s Land

[play]Walking in a Winter No Man’s Land

Perhaps the strangest part of the lyrics of the original song is when a snow man demands to know if the narrator is single and the narrator immediately suggests polyamoury:

[The snow man will] say ‘Are you married?’
We’ll say ‘no, man.
But you can do the job,
When you’re in town.’

This rendition primarily relies on the Andrews Sisters, but also on Dean Martin and Johnny Mathis. The title was suggested by a member of the Mastodon social network, @oliviadahling@mastodon.social,

All of my Christmas songs this year are fundraising for the Hackney Night shelter, which my wife has been volunteering at. There are very few shelter beds in East London. This roving shelter makes up a large percentage of them.

Play