Polyphonic Gizmo Harmonizer

May 17, 2011 at 9:33am

Polyphonic Gizmo Harmonizer

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 at 7:33am


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. –
Jun 1, 2011 at 8:38pm

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

You must be logged in to reply to this topic.