I got a tape stop effect working by modulating a DelayLine with a Line object, increasing the delay time from 1 sample to the max delay over a set time using an x^2 curve to get the slowing effect instead of the pitch shift that a linear curve gives.
How can I get the tape start effect as well? i.e. starts pitch shifted down and speeds up to match the dry audio. There are some plugins that do this but I can’t find an example of any code. Here’s what I’ve tried:
Reverse direction, max delay to 1 sample. Starts pitch shifted up and slows down until it aligns with the dry signal.
Reverse direction, square root curve. Starts at original pitch and speeds up.
Same direction, square root curve. Starts pitch shifted down and speeds up, but doesn’t align with dry signal at the end.
I’m not sure where to go from here. Maybe delaying the dry signal so that you can approach it from both directions? But that would introduce a lot of latency.