Help with gizmo~ and pitching whole of Max/msp audio output

Alan Joesbury's icon

Hello,
I am hoping to be able to control the whole of my audio output so that it can be pitched depending on a value - I will already have many samples being played and altered in various ways.

I have used the gizmo help file to find out how to pitch things, and I have managed to pitch a sample (code found below). However, as I say above I wish to not just pitch a single sample but pitch the output of Max/msp so that the whole pitch of my patch will be decided by an incoming value (from arduino).

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

Also, although I am using the [pfft~ gizmo_loadme 4096 4] and [expr pow(2.,$f1/12)] I am not actually sure what they are doing. Can somebody please explain these to me?
Can the gizmo_loadme part be replaced with my own subpatch? If so I wish to do this so that I can gain more of an understanding of why how and why it is working.
Thanks,
Alan

tep's icon

the whole output of maxmsp is [dac~] / [ezdac~], nothing more.

of course you can replace gizmo_loadme by whatever you want, for example make a stereo version, check pfft~ help file

[expr pow(2.,$f1/12)] changes midi values into a ratio where 1 is original pitch, 2 is a octave higher etc

Jean-Francois Charles's icon

To pitch the output of a sample based (buffer playback, granulation, etc) synth, I would recommend to link a pitch function to the playing speed of each sample. Using gizmo~ (or any other global re-pitch approach) might have inconvenient side-effects on sound quality. In the case of gizmo~ itself, you add the inconvenience of FFT analysis re-synthesis latency.

Alan Joesbury's icon

Thanks for the replies.

Jean-Francois, I do not want to change the speed of my piece - I want to be able to control the pitch independently.
I will see if I can use the [dac~] with the pitch shifting patch I currently have (the one in my first post) however I do not think it can control the dac, and if I can and the effects are as bad as you say, Jean-Francois, I will look into linking all of my samples to the one pitch shifter.