Click and pitch changes when changing time delay in real time.

Jean Loup Pecquais's icon

Hello there !

This is my first topic on this forum and I'm quiet new to Max. I'm working on my master thesis and my goal is to create a pan pot that not only does intensity differences, but also time and phase differences.
I ended struggling quiet a lot on the time differences part. The problem is, as far as I have read, very common when using delays : clicks or pitch changing while turning the pan pot. One thing to consider is that my delays are about 2 ms at maximum settings. As I'm very close to the order of magnitude of a sample, I can't use tapin~ / tapout~ because the minimum delay time need to be greater than the size of a vector.
I tried a lot of solution and they had never worked the way I want. My first try was a delay~ with a line~ but it still a bit clicky and the pitch change was to much audible. Now I delay the signal in a Gen abstract wich reduce a lot of click. But I still use an equivalent of line~ in Gen so there still an audible change in pitch when the pot is turned.
I've also tried ej.vdb~ and similar works, but they are build around tapin~ tapout~ so I can't use them. Finally I tried to overcome the problem of the vector size by using ej.vdb~ inside a poly~ patch to allow some oversampling, but it did not work.
I work on Max for only two month, so I assume I may miss some tools or other things.

I hope somebody could enlighten me on this one !

Cheers,
Jean-Loup

Jean-Francois Charles's icon

Bonjour Jean-Loup,
Think about how you achieve your goals with an analog set-up, with tape-based machines... When you change a delay time, you will have some pitch change if you keep the "playhead" and "recordhead" on the tape. So, whether you use delay~ or tapin~/out~, it's the same principle.
[ej.vdb~] "solves" the problem by using 2 delay lines, and playing back one while you change the delay value on the other one. You could build something similar with [delay~] instead of tapin~/out~ if it's what you want.
I think that using a poly~ for what you want to achieve will not help.
Jean-François.

nouserid's icon

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

Jean Loup Pecquais's icon

Thank you for both of your answers !
Jean-François : I also guess that this is the same in "real world" when we think about the doppler effect ;). In the case of my work it's a problem because it's not something you wish for when you decide to do pan automation in a mix.
Kyle Wells : Your patch is excellent ! I fine tune one or two little things and it works perfectly with the rest of my work ! Thank you very much !