Home > Composing Your Way Out of Plato’s Cave with Ted Moore

Composing Your Way Out of Plato’s Cave with Ted Moore

Ted-Moore-Composer-Quest

In episode 18 of Composer Quest, electroacoustic composer Ted Moore enlightens us about coding music to interact with human performers. He also shares his ideas on choosing a musical form for your piece, like sonata form (ABA) or binary form (AB). We also talk some philosophy when I bring up Ted’s piece Eyes May Be Impaired, which he based on Plato’s allegory of the cave.

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Right click to download Ep. 18, or open in iTunes.

For more of Ted’s music, visit his website or Soundcloud page.

Episode Soundtrack

  • 0:00 – Original Composer Quest theme by Ted Moore
  • 0:40 – Existence – Ted Moore
  • 1:04 – Eyes May Be Impaired – Ted Moore
  • 2:46 – Fiery Walls – Ted Moore
  • 8:00 – Wind and Chimes – Ted Moore
  • 12:17 – Epic of Gilgamesh – Ted Moore

Further Listening

Arvo Pärt – Cantus in Memory of Benjamin Britten

Subscribe to Composer Quest

Ted’s Intro Theme SuperCollider Code

{
var pan, chain, freq, trig, chain2;

trig = Dust.kr(LFDNoise1.kr(1,1,1.1));
pan = TRand.kr(-0.9,0.9,trig);
freq = TRand.kr(200,20000,trig) + LFDNoise1.kr(3,250);
chain = Resonz.ar(BPF.ar(PinkNoise.ar(1),freq,0.01),freq,0.5);
chain = chain * EnvGen.kr(Env.perc(0.1,1,0.5,-3),trig);
chain = chain * pan.abs.linlin(0,1,0.25,1);
chain = Pan2.ar(chain,pan);

chain2 = BPF.ar(BrownNoise.ar(1),LFDNoise1.kr(1,25,75),0.5);
chain2 = Pan2.ar(chain2,LFDNoise1.kr(1,0.8));
chain2 = (chain2 * 0.25) + (chain2 * EnvGen.kr(Env.perc(0.5,1.5,1,-3),Dust.kr(1)));
chain2 = chain2 * 0.01;

GVerb.ar(chain + chain2,100,2,0.5,0.5,0.5,0.5);
}.play(fadeTime:3);

p = [64,66,67,71,72];
p = p ++ (p + 12) ++ (p + 24);

p.do({
arg pitch;
play {
var chain;
chain = Ringz.ar(WhiteNoise.ar(0.00002),(pitch+LFDNoise1.kr(4,0.25)).midicps);
chain = Pan2.ar(chain,LFDNoise1.kr(3.reciprocal));
chain = chain * EnvGen.kr(Env([0.1,1,0.1],[2,2],\sine),Dust.kr(10.reciprocal));
chain;
};
});


Leave a Reply

Your email address will not be published. Required fields are marked *