crossfade loops

Jan 21, 2012 at 10:50am

crossfade loops

I want to crossfade loops and wondered how you guys do this.
So far I figured out how to do ducking, but I would like a crossfade instead.
Because, of course, it’s smoother.
And I have found a way to do it, but it isn’t a fancy way.

So yeah, anyone?

#61368
Jan 21, 2012 at 11:31am

I suppose it depends on what your definition of ‘fancy’ is….

– Pasted Max Patch, click to expand. –

Brendan

#221308
Jan 23, 2012 at 3:14pm

Actually I meant the patch below.
I searched the forums a bit more thoroughly and found something that helped.

– Pasted Max Patch, click to expand. –
#221309
Jan 23, 2012 at 3:57pm

nice one

#221310
Jan 23, 2012 at 4:17pm

and here’s a ‘reductive’ version using [trapezoid~] -> [sinx~] for crossfade time. Pretty much does exactly what the crossfade buffer does, but easier for a n00b like me to understand!

Brendan

– Pasted Max Patch, click to expand. –
#221311
Jan 23, 2012 at 4:59pm

#221312
Jan 23, 2012 at 5:07pm

#221313
Jan 23, 2012 at 5:27pm

edit:

[trapezoid~ 0.1 0.9] –>

[*~ 1.5] –>

[sinx~]

– Pasted Max Patch, click to expand. –
#221314
Jan 23, 2012 at 5:34pm

I see.

But actually, I think trapezoid doesn’t make a crossfade.
In my first example you see one player fades out and the other fades in.
I don’t see the same thing with the trapezoid example.

#221315
Jan 23, 2012 at 6:35pm

Are you sure?

– Pasted Max Patch, click to expand. –
#221316
Jan 23, 2012 at 7:37pm

Yeah, I’m sure.
The trick is the phasor goes from 0 to 2 in this case.
When the phasor’s value is bigger than 0 it triggers a fade-in
and when its value is bigger than 1 it triggers a fade-out.
So unfortunately trapezoid~ won’t work, I guess.
Which is a shame, because to me it looked a lot cleaner.

– Pasted Max Patch, click to expand. –
#221317
Jan 23, 2012 at 9:08pm

Sorry Dave
I have to put my hands up – the [cycle~] phase inlet wraparound theory is a bit beyond me I’m afraid, but I take your point.

Best
Brendan

#221318
Jan 23, 2012 at 11:09pm

Well,
The phasor going into [cycle~] is going from 0 to 1, so it doesn’t have to wrap around.
However the phasor going into [play~] is going from 0 to 2.
This way we can read the buffer from 0-1100ms.
And when one [play] reaches a 1000ms, the other [play~] starts at 0ms.

– Pasted Max Patch, click to expand. –
#221319

You must be logged in to reply to this topic.