Accelerating and decelerating clicks with delays

Dr. Spankenstein's icon

Hi guys,

I'm currently trying to implement acceleration and deceleration in my patch and was wondering if anyone had any bright ideas or indeed a much more efficient way of achieving this.

Currently I've got a convoluted setup involving exponential scales but unfortunately I cannot accelerate and decelerate "on the fly"
with this setup?!

Any useful suggestions are welcome:

Max Patch
Copy patch and select New From Clipboard in Max.

Many thanks

Rhys

Owen Green's icon

Hi Rhys,

How does this work for you? You could do even more sophisticated things
with zig-zig~ as well:

Max Patch
Copy patch and select New From Clipboard in Max.

Rhys Perkins wrote:
> Hi guys,
>
> I'm currently trying to implement acceleration and deceleration in my
> patch and was wondering if anyone had any bright ideas or indeed a
> much more efficient way of achieving this.
>
> Currently I've got a convoluted setup involving exponential scales
> but unfortunately I cannot accelerate and decelerate "on the fly"
> with this setup?!
>
> Any useful suggestions are welcome:
>

Peter McCulloch's icon

Here you go. This uses poly~ and vexpr. Poly~ isn't producing any
audio, it's just handling the delay times. (hence the stupid number
of instances) 3 patches total.

Peter McCulloch

ClickPlayer.pat

Max Patch
Copy patch and select New From Clipboard in Max.

PM.ClickVoice.pat:

Max Patch
Copy patch and select New From Clipboard in Max.

PM.TimeDistribution:

Max Patch
Copy patch and select New From Clipboard in Max.

Dr. Spankenstein's icon

Fantastic options both of them.

I'll have to get my head around that equation first though Peter but in time it should make sense and I will find a way of implementing it in a way I fully understand.

Thanks for your help guys

Rhys

Peter McCulloch's icon

Hi, Rhys,

Here's how the equation works:

-Decide how many numbers to use in the list = 5. (so list is 0 1 2 3 4)
-Divide list by (number of numbers in the list -1). Now list is
0-1. (0. 0.2 0.4 0.6 0.8 1.)
-Numbers between 0-1 stay between 0-1 when taken to an exponent/log
which means start and endpoints stay fixed while stuff in middle
moves. This is what skews the list.
-Multiply list by range (e.g. 1000 so 0 200 400 600 800 1000)
-Add time offset (e.g. 10 so 10 210 410 610 810 1010)

You can just use the abstraction that I posted, and it'll work fine.

Peter McCulloch

Dr. Spankenstein's icon

Thank you for taking the time out to explain it clearly. I have a better understanding of what is going on now!

Rhys