Polyphonic vocoder with live midi

For this project I used FFT to create a simple voccoder using a an input vocal file and simple saw waves. In order to allow the user to play chords and such in real time, I also added a poly midi system that takes in multiple notes, routes them to voices, and kills them when the velocity reaches zero (note release).

 

To use this patch simple load and play a file in the sfplay object, and then connect a midi device and play notes. As you play notes the file loaded into sfplay will be output in the frequencies being played on the midi controller.

To demonstrate how this works in practice I played my favorite jazz standard, Misty, while running an accapella for the death grips song “Death Heated” through the vocodder.

EXPLICIT CONTENT WARNING

It didn’t occur to me until after I was finished that this content might be too offensive to post, so I apologize in advance. I thought it was funny at the time and it didn’t really occur to me I was turning this in for a grade.

If I were given more time I would want to add an ADSR envelope to the voccoder. Currently there is a lot of cutting out because as soon as I lift my hand from one chord to play the next the velocity drops to zero and the voices die. Adding a sustain on note release would make the audio less choppy and make this vocodder more playable in multivoice situations.

MAIN PATCH

VOCODDER PATCH

SYNTH VOICE PATCH

SOURCES CITED

I had a lot of issues with the polyphony aspect, and I got a lot of help from https://cycling74.com/2011/05/05/polyphonic-synthesizer-video-tutorial/