Jump to content
IGNORED

SAE Education Essay on Aphex Twin/ Max Msp algorythm patch


Defn

Recommended Posts

Hey Zoe

 

i've read a bunch of your posts on other threads and they always prove to be very insightful!

 

Ill put this code into supercollider and check it out, thanks!!

Link to comment
Share on other sites

Thanks for the kind words!

 

can i ask? where you sourced this code from?

 

Sure. The SuperCollider mailing list archives, specifically this message:

 

Date: Tue, 16 Jan 2001 20:53:49 +0000
From: eric_hard_jams <---@---.--->
Subject: Re: [OT] Don't feed the trolls


> a dancing bears patch?
>
> cheers,
>
> christian
>
> umm.. no how about this its the only NON sound patch i've got,apart from a
tron game patch I posted here a long time ago,
looks pretty,
oh its SC 1 aswell of course.
let me know what ye think.

defaudioout L R;

var zss ox oy oz thX thY thZ;

init{

guiPort.setPort;

changeOR;

`startStop.dspStart;

}

startStop{

1.dspKill;

}

start{

}

C {arg r g b;

^newColor(r*64000,g*64000,b*64000)

}

changeOR{

zss=13.getItemValue;
thX=9.getItemValue;
thY=10.getItemValue;
thZ=11.getItemValue;
drawGraph

}

move3{arg i,x,y,z;

r=i.itemRect;
l=r.left;
t=r.top;
w=r.width- 1;
h=r.height- 1;
c=rot(x,y,0.5,0.5,thX);x=c@0;y=c@1;
c=rot(x,z,0.5,0.5,thY);x=c@0;z=c@1;
c=rot(y,z,0.5,0.5,thZ);y=c@0;z=c@1;
x=x*w;
y=y*h;
z=z*13.679+zss;
idx=1/(z/10+1);
x1=l+x;
y1=t+h-y;
x2=l+(0.5*w);
y2=t+h-(0.5*h);
x3=(x1*idx)+(x2*(1- idx));
y3=(y1*idx)+(y2*(1- idx));
ox=x3;
oy=y3;
oz=z;

}

line3{arg i,x,y,z;

r=i.itemRect;
l=r.left;
t=r.top;
w=r.width- 1;
h=r.height- 1;
c=rot(x,y,0.5,0.5,thX);x=c@0;y=c@1;
c=rot(x,z,0.5,0.5,thY);x=c@0;z=c@1;
c=rot(y,z,0.5,0.5,thZ);y=c@0;z=c@1;
x=x*w;
y=y*h;
z=z*13.679+zss;
idx=1/(z/10+1);
x1=l+x;
y1=t+h-y;
x2=l+(0.5*w);
y2=t+h-(0.5*h);
x3=(x1*idx)+(x2*(1- idx));
y3=(y1*idx)+(y2*(1- idx));
c=clip3(x3,y3,ox,oy,l,t,h,w);
if (c@2) then
moveTo(c@0,c@1);
c=clip3(ox,oy,x3,y3,l,t,h,w);
lineTo(c@0,c@1);
end.if
ox=x3;
oy=y3;
oz=z;

}

rot{arg a1,a2,b1,b2,th2;

r=((((b1-a1)**2).realPart)+(((b2-a2)**2).realPart))**0.5;
th=atan((b2-a2)/(b1-a1));
if ((b1-a1)>=0) then
th=(th)- º;
end.if
th=th+th2;
if r!=0 then
x=b1+(r*cos(th));
y=b2+(r*sin(th));
else
x=a1;
y=a2;
end.if
^[x,y];

}

clip3{arg x1,y1,x2,y2,l,t,h,w;
if ((y1.asInt)!=(y2.asInt)) then
y3=y2.clip(t,t+h);
x3=((y3-y1)*(x2-x1)/(y2-y1)+x1);
else
x3=x2.clip(l,l+w);
y3=y2;
end
if ((x1.asInt)!=(x3.asInt)) then
x4=x3.clip(l,l+w);
y4=(x4-x1)*(y3-y1)/(x3-x1)+y1
else
x4=x3;
y4=y3.clip(t,t+h);
end
x4=x4.clip(l,l+w);
y4=y4.clip(t,t+h);
^[x4,y4,1];
}

drawGraph{

i=1;
r=i.itemRect;
l=r.left;
t=r.top;
w=r.width- 1;
h=r.height- 1;

C(0,0,0).backColor;
C(0,1,0).foreColor;
r.eraseRect;

xm=5.getItemValue;
ym=6.getItemValue;
zm=7.getItemValue;
dp=8.getItemValue;

x=0;
x1=(x/xm).sin+1/2;
y1=(x+º/ym).sin+1/2;
z1=(x/zm).sin+1/2;
i.move3(x1,y1,z1);

for x=0;x<dp;x=x+1 do
x1=(x/xm).sin+1/2;
y1=(x+º/ym).sin+1/2;
z1=(x/zm).sin+1/2;
ci=(x1).map(0,1,0.3,1);
ci=(y1).map(0,1,0.3,1);
ci=(z1).map(0,1,0.3,1);
C(x1,y1,z1).foreColor;
i.line3(x1,y1,z1);
end.for

}
eric
:)

 

Warning: he doesn't come off very well in these archives. His music's often great, though.

Link to comment
Share on other sites

what is his moniker? on the link you posted

 

thanks zoe

sorry i mean if you click on the link you posted, then go on the message archives @ this link http://www.audiosynth.com/files/sc-users-archive/

 

then which user is it?

 

As above, Eric Hard Jams, a pretty simple anagram of Richard James (just move the E). Just search for "var zss ox oy oz thX thY thZ" to find that post.

Link to comment
Share on other sites

Does anyone have anything else to chip in with? maybe some handy tutorial vids or books on DSP?

 

I also have to do another essay next year and i was going to base it on controlling a analogue modular system, via a algorithm in max/msp and then have a interface with a ipad controlling the patch, using lemur or mira app!

 

so if anyone has any thoughts that be great!!

Link to comment
Share on other sites

The one on the right has pages that feel nice - sounds weird but when you get it you'll understand !

 

They're quite heavy going but I promise you - If you persevere (as I'm trying to !) you'll learn a hell of a lot about both the Max and MSP realm, and audio design in general

 

Online there's the Baz Tutorials that I've been meaning to follow, but they've come highly recommended - http://www.youtube.com/user/BazTutorials/videos

Link to comment
Share on other sites

Guest Jimmy McMessageboard

fair point. I just never put aphex down as a max user but I guess you can never tell because max is what you build not its own sound that you can spot, although maybe there are clues when you hear something in a certain way


cubus question - is your learning max etc why there has been no new cubus music since forever!

Link to comment
Share on other sites

Absolutely, Max can used for anything - to manipulate midi, hardware, audio, video, just anything you can chuck at it ! It's just a tool kit that can make whatever you to do, and can sound as organic and conservative - or as electronic and wild as you want it to be.

 

Aye, been learning Max & Ableton which has been why there's been so little over the last year. Plus work and personal commitments (especially for the other half of cubus) has meant I've just had so little time being able to focus on anything. This was my first real thing since moving from Buzz - http://cytoplantastic.bandcamp.com/track/rejected

 

And the soundtrack to this being my second -

 

Link to comment
Share on other sites

I wouldn't say Aphex is just a core MAX user, as he states on the super collider archives that he tends to use supercollider for big patches, where as he states that things like max & reaktor are good for just small patches.

 

all this + metasynth...me thinks?

 

but who knows could all be internet speculation

Link to comment
Share on other sites

I wouldn't say Aphex is just a core MAX user, as he states on the super collider archives that he tends to use supercollider for big patches, where as he states that things like max & reaktor are good for just small patches.

Aye but that was about 15 years back - Max has moved on quite a bit since then, especially with the implementation of externals/subpatches. And the 'new' Jitter & Gen~ just add to the amount of mischief you can get up to - If you know what you're doing (which I don't, cos at the moment all I can do is make is Eleh style sine waves drifting all over the shop)
Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.