Forums > MaxMSP

Polyphonic Gizmo Harmonizer

May 17, 2011 | 9:33 am

Hi Guys, long time listener, first time caller. I’m trying to make a harmonizer for voice. The idea being that the voice or instrument coming in through the ADC is transposed to the notes of the chord playing from the sfplay~ object. Sigmund~ is used to gather data about the two inputs and a transposition factor is calculated from the two sigmund~ objects. This is then routed to a pfft~ and a poly~ object. I’ve looked around the forums and updated my approach to this a lot but I still can’t get it to work. Even when I do manage to get some sort of transposition going, its always too fleeting, it kind of jumps between higher notes at such a speed as to render the voice transposed incomprehensible as a voice. I’ve attached the Max files. For the sfplay~ object any sound file where chords are decipherable should work. I would ideally want to use this with guitar and voice. Any input would be appreciated. Thanks!

May 21, 2011 | 7:33 am


this is just part of your solution – a four voice pitchshifter (not truly a harmonizer), using gizmo~, and some automated panning and volume changes. works well for me. hope it’s some use.

i’d be interested to see if you get the full patch up and running – good luck!


– Pasted Max Patch, click to expand. –
June 1, 2011 | 8:38 pm

Hey Sean,

Thank you for the response. That’s a very nifty patch, very similar to what I am trying to create. I am still hoping to bypass the midi protocol with sigmund~ so that the harmonizing can be done live with any two instruments. It was useful to see how you structured your patch and to hear what the transposed voice sounds like.

I have done alot more tinkering around with my original design and (finally) got it to work with two voices. My issue now is with creating larger polyphony. Now when I attempt to increase both the voices of poly~ and sigmund~ the patch stops functioning. I have a suspicion that the flaw is how I am parsing the data that is coming from sigmund~ before it goes into poly~. I have attached the patch in its most current form. Once again any input you might have to offer would be appreciated. Thanks again!


  1. polygizmo.maxpat
Viewing 3 posts - 1 through 3 (of 3 total)