how does the gizmo~ object work

Mikulas's icon

Hi,

I would like to re-implement the gizmo~ object in pure max/msp, for educational purposes, to see how it's done. Can anyone here give me any pointers as of where to start? I am familiar with basic spectral processing - I have experimented with various spectral freezes and other stuff based on the tutorials I could find online. But pitch shifting, my ultimate goal, is still unclear to me. I can imagine that one has to shift the bins exponentially, to preserve the timbres (as opposed to bin shift), but I have no idea how to treat the phase.
Thank you very much.

Jean-Francois Charles's icon

Here is the article in which Richard Dudas explains some of the insides of [gizmo~]:
http://quod.lib.umich.edu/i/icmc/bbp2372.2002.028/--spectral-envelope-correction-for-real-time-transposition
Click the 'pdf' button to get it.

Mikulas's icon

Amazing, thank you very much!