Jump to content
IGNORED

SAE Education Essay on Aphex Twin/ Max Msp algorythm patch


Defn

Recommended Posts

Hey everyone!!

 

Ok so currently im at SAE Institute studying audio engineering and we've been given a written assignment task.

So i've decided to do mine on creating a Aphex Twin styled patch for Max/ Msp and to research how such a patch is put together and what it contains in order to produce this glitch, granulised style type of patch.

 

I've already had a long hard listen to Aphex Twins whole catalogue and it seems that two style of patches could be the following;-

 

PATCH 1

sound source (going into)>>>>FX_cycle generator containing various effects (bitcrusher, echo, delay, granulizer)

 

then the FX_cycle (goes to)>>>>>patch output

 

but then i also think that a arpegiator could be attached to the FX_cycle_generator to control the cycling through the various effects.

 

PATCH 2

cumulative patch (going into)>>>>Sampler (Modulated with a LFO Pitch/Rate)>>>>echo>>>>compressor>>>>

(+ Envelope + modulated Flanger with LFO)>>>>patch output

 

If anyone had any ideas on what type of patches he might of created or had created by others in the past. Or if anyone knows of any previous forums posts, or texts on this type of thing. I'd be extremely grateful!!!

 

Or if anyone has any other better ideas for a aphex twin styled patches?

I've heard a lot of people say that he used Metasynth in the past but im more interested in doing a patch in Max/Msp or Pure Date.

 

And please people if we could try keep this post on topic :wacko:

 

Cheers people!

 

Looking forward to what you guys have to think!

 

Eric

 

 

Link to comment
Share on other sites

Hey everyone!!

 

Ok so currently im at SAE Institute studying audio engineering and we've been given a written assignment task.

So i've decided to do mine on creating a Aphex Twin styled patch for Max/ Msp and to research how such a patch is put together and what it contains in order to produce this glitch, granulised style type of patch.

 

I've already had a long hard listen to Aphex Twins whole catalogue and it seems that two style of patches could be the following;-

 

PATCH 1

sound source (going into)>>>>FX_cycle generator containing various effects (bitcrusher, echo, delay, granulizer)

 

then the FX_cycle (goes to)>>>>>patch output

 

but then i also think that a arpegiator could be attached to the FX_cycle_generator to control the cycling through the various effects.

 

PATCH 2

cumulative patch (going into)>>>>Sampler (Modulated with a LFO Pitch/Rate)>>>>echo>>>>compressor>>>>

(+ Envelope + modulated Flanger with LFO)>>>>patch output

 

If anyone had any ideas on what type of patches he might of created or had created by others in the past. Or if anyone knows of any previous forums posts, or texts on this type of thing. I'd be extremely grateful!!!

 

Or if anyone has any other better ideas for a aphex twin styled patches?

I've heard a lot of people say that he used Metasynth in the past but im more interested in doing a patch in Max/Msp or Pure Date.

 

And please people if we could try keep this post on topic :wacko:

 

Cheers people!

 

Looking forward to what you guys have to think!

 

Eric

 

 

aphex twin definitely uses a lot of phase vocoding/FFT based convolution effects, especially on his stuff after the Richard D James album. There are some example patches that come with Max/msp on ways to use a phase vocoder to manipulate one sound. Mostly people use these effects to do cross synthesis (2 sounds effecting eachothers FFT) but I think he sticks to just using it to manipulate time, almost like a more smooth and interesting version of a traditional time stretching effect.

 

He also used a lot of midi-stuttering auto-drum roll type triggering on Richard D James album, Come to Daddy and Hangable Autobulb. A lot of people have tried to recreate these sounds with post processing audio effects (like granular effects, etc) but my personal opinion is that he uses actual midi rolls much more often than any type of post processing stutter or glitch to make that similar type of sound. For this era of the 'drill and bass' sound of RDJ i'd look at midi fx in max/msp, like doing delay taps or bouncing ball type delays only in the midi domain. Of course this same technique can be done manually by drawing out very small notes on a piano roll like 64ths blending into a 16th triplet roll

 

in response to your patch ideas, the 1st one sounds like something akin to a rhythm controlled 'fx switcher' where you can program or trigger very quick successive effect changes, a technique used also by Squarepusher heavily on the album Go Plastic.

 

the 2nd patch I'm not so sure about, if you want to get his rapid fire timbres and rolls, i'd focus on doing it in the midi domain first and see what kind of results you get that way. I can only think of one Aphex twin song where it sounds like he's using a delay effect to create his rolls rather than an actual midi pattern.....

song 2 off windowlicker:

N

∆Mᵢ⁻¹=−α ∑ Dᵢ[η][ ∑ Fjᵢ[η−1]+Fextᵢ [η⁻¹]]

η=1 j∈C{ᵢ}

 

but i think that track is an anomaly, the other interesting thing about this track is he runs a lot of drums through phase vocoding processing, which could be metasynth or max/msp. Either one can achieve these types of ways of turning drums into tones

good luck on your quest!

Link to comment
Share on other sites

@John Ehrlichman

 

'FFT' stand for (Fast Fourier Transform)...correct? I get what you mean by FFT but what convolution effect are you talking about in particular. Is it frequency response of say a filter?

 

or maybe someone can point out a particular section in a track and maybe describe how they think he managed to do it? or something along those line.

 

Cheers

Link to comment
Share on other sites

sorry for being unnecessarily esoteric. Yes an FFT is Fast Fourier Transform, when using 2 FFT datasets in combination it's sometimes called phase vocoding (the vocoding part dervies from the idea that a traditional analog vocoder uses a lot of band pass filter working in conjunction, where an FFT does a much larger array of frequency data, more than any traditional vocoder would be capable of).

I think though that it might not be that important to focus on this aspect of aphex twin, since normally he uses it pretty sparringly. Windowlicker the EP probably has the most of it, and it's only continuous on that complex equation track.


4:34 - 4:41 in the song you can hear him doing some kind of FFT processing to alter the sounds, adding some high frequency harmonics to one part (can easily be done in metasynth), and then seemingly stretching a sound using some kind of spectral/fft time stretching effect on that ambient textural sound. That 2nd part can be done using a program like Spear or Paulstretch fairly easily. I'm not enough of a max/msp guy though to know how one would do this in it

at 5:26 he does a very quick edit where he uses the spectral/FFT time stretching effect again when they clank glasses
5:57 & 7:05 almost sounds like traditional granular time stretching, but it has a timber that makes me think again it's an FFT based stretch

the most obvious part of the song that uses FFT though (and it sounds like metasynth to me) is
9:12 till the end, unmistakable FFT fuckery.

i think this is not a very important aspect of aphex twin personally, it's just something I notice about his productions that set him very much apart from anybody trying to clone his sound, even people who nail every other aspect of it.
Link to comment
Share on other sites

Guest RadarJammer

I'd probably drop the aphex twin connection. Cycling through fx isn't the sound of aphex but the sound of vst plugins circa 2006. Check out this autechre patch (translated to PD) which makes use of navier stokes/fluid dynamics for generating automation http://puredata.hurleur.com/sujet-6878-envelope-out-bounds-crash if you can pull this patch apart and learn something from it then you should be well on your way to discovering your very own algorithms to impress your class with.

Link to comment
Share on other sites

Your example of

N
∆Mᵢ⁻¹=−α ∑ Dᵢ[η][ ∑ Fjᵢ[η−1]+Fextᵢ [η⁻¹]]
η=1 j∈C{ᵢ}

 

​is definitely the most apparent and the time examples you gave, i cant totally see what your saying about the FFT time-stretching and also about phase vocoding!

 

what i'm wondering to do is wether to combine both of these ideas in one major patch or design two designated patches

 

1. FFT-Timestretch

2. Midi studdering device

 

Can i enquire about where you got all this knowledge and if you know of any good books, websites, text/ video resources.

As I'm sure you can imagine how much referencing i need to do!

 

Really helpful stuff, please keep it coming!!

 

Cheers Nick

Link to comment
Share on other sites

You can read a lot about FFT by looking into the spectral music phenomenon. If I could get access to my old class notes, I could be able to give you a book or something along those lines.

Something that was mentioned and that would really help you get a better understanding of FFT and spectral music would be messing around in Metasynth.

Personally, I'm more of RadarJammer's opinion and check out the Autechre patch. FFT is something quite easy to grasp as soon as you understand what you can do with it (nomnomnom Spectral Delay <3) but try to check what you can do with generative music. Max/MSP would be a more appropriate tool for that than FFT and phase vocoding in general in my opinion.

Link to comment
Share on other sites

that autechre patch is cool and so is generative music, but the only similarity in any max/msp autechre patch that I know of to aphex twin is that they utilize their own stuttering technique, which like Aphex is not done as a post-fx processing at least in that patch. Autechre though seems to be not just doing some kind of midi or envelope controlled roll, the sound itself is being synthesized in max/msp and is not a sample.

Link to comment
Share on other sites

Guest RadarJammer

that autechre patch is cool and so is generative music, but the only similarity in any max/msp autechre patch that I know of to aphex twin is that they utilize their own stuttering technique, which like Aphex is not done as a post-fx processing at least in that patch. Autechre though seems to be not just doing some kind of midi or envelope controlled roll, the sound itself is being synthesized in max/msp and is not a sample.

 

 

i think the keywords here are

Max Msp algorythm patch

i don't think focusing on production cliches like glitching and stuttering is a worthwhile educational pursuit. everything you plan on doing with the stuttering and the glitching can be done easier and better inside a DAW, aphex was probably using his *experimetal nerd tools* in the same way that we use vst's today, because now the basic modern functionality kinda matches with what he was doing (just look up AudioDamage or whatever). if you are gonna use max or PD you should be focusing on the network of things happening instead just stringing effect chains together until shit starts sounding bonkers.

using max/pd like that seems gratuitous

Link to comment
Share on other sites

well if the goal is to create some kind of max/msp patch that portrays the production methods of Aphex twin in one go, I would agree that it's not the best way to approach it. Autechre's music on the other hand would be perfectly suited for something like this since we know at least on 2 occasions they made something akin to an auto song generator in Max/msp alone (including all the synthesis)

Link to comment
Share on other sites

Which would make it more interesting homework-wise. :) Then again that would depend of Defn's skills with synthesis in general.

 

Seriously, all of this makes me think of is DBlue Glitch/Effectrix/Artillery or any other vst that has been used and overused from 2007 to 2011 (and even still today).

 

Go generative.

Link to comment
Share on other sites

@RadarJammer

 

to be honest i totally understand your opinion on this, i'm not really into cliches or riding on the coat tails of someones else. Aphex Twin was only a reference point to start my preliminary research from and i just though this particular dedicated forum, contained some very knowledgable people, such as yourself and John Ehrlichman

 

I think what the essay will eventually evolve into is using ones own custom max patch and how it can be deployed in ones studio workflow and how also this workflow could transmit itself into live performances, whether it be using ableton push or an ipad with mira and max being synced over wifi.

 

So if anyone wants to take it slightly off topic and talk about this aspect, then feel free!

 

But i would like to hear if anyone has any other ideas for aphex twin style patches?

 

Cheers once again all!

Link to comment
Share on other sites

this gives a pretty good overview: http://en.wikipedia.org/wiki/Generative_music

it can really be any sort of automatic system where there are rules or events which determine the flow of a pre-existing seed composition or can be entirely self generated (no seed necessary).


for me personally i never fell in love with max/msp, i am more of a Reaktor guy, mostly because of the plentiful user library and openness of the community. Max/msp's community was always a lot more guarded and private about sharing patches, but recently this changed with Max4Live.

I recently found this Reaktor patch that allows me to do bouncing ball type midi fx
http://co.native-instruments.com/index.php?id=userlibrary&type=0&ulbr=1&plview=detail&patchid=10031

Link to comment
Share on other sites

on the 'generative' tip though, there are only 2 aphex songs that sounded like they could employ generative elements that come to mind

one is parts of the mid section of his Come to Daddy (mummy mix)



and the other is Crappy, an unreleased song from his late 90s live sets


the only reason I say they sound generative is they have a sort of reigned in 'random' feel to me.
Sometimes one would only be able to seriously use a piece of or layer 100% human composition over something generated by a generative system, otherwise it would sound on it's own too loose or random. Don't take my word seriously on this though because I'm purely speculating. When it comes to how something was composed vs what DSP is being used I'm a lot less confident about my guesswork

this track by Autechre is entirely created with one generative Max/msp patch, and I only know this because the patch was floating around on the internet that made it.

http://youtu.be/FZY9GOPhsSI
Link to comment
Share on other sites

Guest RadarJammer

@john seen this? http://co.native-instruments.com/index.php?id=userlibrary&type=0&ulbr=1&plview=detail&patchid=10641 this is pretty huge

and someone recently translated the supercollider chaos classes http://co.native-instruments.com/index.php?id=userlibrary&type=0&ulbr=1&plview=detail&patchid=13540

 

that's autechre nuts and bolts type stuff

Link to comment
Share on other sites

i think the two of you may have cracked it for me!!

 

a generative styled step, sequencer, sounds and seems like exactly what i had in my mind, initially.

 

Just couldn't think what to call the damn thing!

 

:sorcerer: but hey presto, now i have it!!!

 

 

if i can try write this style patch but also have the 'generative' step seqencer/arpegiator attached to a dialog box which cycled through FXs, such as the phase vocoding and FFT timestretching.

 

then i think that'll be a pretty tasty patch indeed!

 

cheers to the two of you!


By the way, never heard that 'crappy' track!!!!!

 

what a belter!

Link to comment
Share on other sites

@john seen this? http://co.native-instruments.com/index.php?id=userlibrary&type=0&ulbr=1&plview=detail&patchid=10641 this is pretty huge

and someone recently translated the supercollider chaos classes http://co.native-instruments.com/index.php?id=userlibrary&type=0&ulbr=1&plview=detail&patchid=13540

 

that's autechre nuts and bolts type stuff

hey, I havent seen the first one, thanks for pointing me in the direction of it. It's been a while since I actually built a synth in reaktor but would be fun to give it a go with these types of things, new oscillators and such.

 

been losing a lot of hours on the serge emulation on the user library, awesome synth. A friend of mine who's an avid serge user at first thought it sounded very chunky and weird but he suggested turning the Reaktor sampling rate to 192, and it sounded totally different, like a real analog modular. I guess I never realized how much sampling rate effected the way so of these more complex modulating synthesizers actually sounded,

Link to comment
Share on other sites

Guest RadarJammer

 

@john seen this? http://co.native-instruments.com/index.php?id=userlibrary&type=0&ulbr=1&plview=detail&patchid=10641 this is pretty huge

and someone recently translated the supercollider chaos classes http://co.native-instruments.com/index.php?id=userlibrary&type=0&ulbr=1&plview=detail&patchid=13540

 

that's autechre nuts and bolts type stuff

hey, I havent seen the first one, thanks for pointing me in the direction of it. It's been a while since I actually built a synth in reaktor but would be fun to give it a go with these types of things, new oscillators and such.

 

been losing a lot of hours on the serge emulation on the user library, awesome synth. A friend of mine who's an avid serge user at first thought it sounded very chunky and weird but he suggested turning the Reaktor sampling rate to 192, and it sounded totally different, like a real analog modular. I guess I never realized how much sampling rate effected the way so of these more complex modulating synthesizers actually sounded,

 

those are called osscilators but what they are is fluid dynamic models that take input variables and then running wild never repeating, its an entire collection of the things that sean spends his time learning physics to impliment in max. give it a deeper look!

Link to comment
Share on other sites

Cheers RadarJammer

For the zip file!! i dont have reaktor at the moment, can anyone point in the direction to a stable mac crack for it??

 

not sure if were allowed to talk about that type of thing on here? :diablo:

 

so do you guys agree that i should be going down this line of things?

 

PATCH

'generative' step seqencer/arpegiator attached to a dialog box which cycled through FXs, such as the phase vocoding and FFT timestretching.

 

i'm just trying to think of the most efficient way to obtain the knowledge to write such a patch? so if any one has some specific tutorial videos or text!!

 

would be really grateful

 

cheers Nick

 

 

forf

Link to comment
Share on other sites

On a semi-related note, you can always use an actual Aphex Twin patch:

 

 

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

}

 

Although I never tried it myself and it's apparently not for audio. It runs in SuperCollider 1, at any rate.

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.