Forums > MaxMSP

Pitch Shift in Jitter Phase Vocoder WITHOUT [gizmo~]

March 16, 2010 | 3:45 pm

I am making a phase vocoder using jitter matrices and I am having trouble implementing a pitch shift function. The patch is for a college project so I need to understand the theory and operation rather than just use the [gizmo~] object. Any help would be GREATLY appreciated.

Here is the pfft~ sub patch I have already:

– Pasted Max Patch, click to expand. –

March 16, 2010 | 4:02 pm

Hello !

You have one version of the vocoder in the example files of Max.
You can also take a look at Jean François Charles’s work.

Another example with the work of Richard Dudas (But not with Jitter Matrices).

I have written a document (based on other publications) which explains the implementation of the phase vocoder (Still not with Jitter Matrices) if you need it, it is more based on Short Time Fourier Transform. It is written in French by the way.

Mathieu


March 17, 2010 | 2:28 am

Well, implementing a spectral pitch shift function is quite an advanced task. First, you must be able to describe what kind of algorithm you want to use, before programming/patching. So, what kind of algorithm do you want to implement?
With Jitter matrices, it’s obvious to implement a simple frequency shifter. The simplest algorithm for a primitive version consists in shifting the whole matrix upwards or downwards. But pitch shifting is more complicated when you work in spectral domain.

But you’re lucky, Richard Dudas & Cort Lippe wrote a wonderful tutorial including a spectral transposer (pitch shifter) that doesn’t need gizmo~:

http://cycling74.com/2007/07/02/the-phase-vocoder-part-ii/#more-1693

And when you know that Richard Dudas did program the original gizmo~, you know you’re in good hands.
Best,
Jean-François.


March 17, 2010 | 11:52 am

Jean-Francois
I didn’t realize that he programmed the gizmo~ object. But ya I have already used that method in a buffer~ based vocoder and it works great. The problem I have is applying the same algorithm to the jitter matrix pvoc. They don’t really go into detail on the algorithm used. They seem to be applying the transposition algorithm prior to FFT analysis. I don’t understand this. Are they time-scaling first then playing back at the "wrong" sample rate somehow? It seems to me that in the jitter pvoc I need to transpose AFTER FFT analysis.

My project is basically a study of spectral analysis using the FFT~ in an educational context (that’s why I don’t want to use gizmo~). I’m going to end up with an array of different applications of the FFT including the buffer based pvoc and then as example of high quality extreme FFT analysis, the jitter pvoc. Ideally I would like to cover all aspects of pvoc applications in both. All I have left to do is transposition in the jitter pvoc.

Mayou,
Have you got a link for the documentation. I might be able to translate.

Thanks for replies


March 17, 2010 | 12:13 pm

I’ll send you a paper which helped me a lot on your gmail adress.

Mathieu


July 19, 2010 | 10:33 pm

Bonsoir Mathieu,

Can you send me by email the papar that helps you a lot to understandSTTF ,
Merci beaucoup!!

rtmloco@gmail.com


Viewing 6 posts - 1 through 6 (of 6 total)