Make a polyphonic midi signal Monophonic

Ludvig Ward's icon

I'm working on a midi effect, sort of a harmonizer thing. The idea is that you play a chord with your left hand, and then play a melody with your right hand, and then a harmony consisting of the notes in the left hand will follow the melody. It's really finicky, but I think I'm starting to see how to get it working

My only roadblock right now is that I need the right hand melody to be monophonic, if I allow polyphony in the right hand the harmonies can stack up and get super loud. So is there any way to turn a polyphonic midi message into a monophonic one that responds like a normal monoponic synth?

Source Audio's icon

1. split keyboard into lower (harmony) and upper (melody) part run through mono filter
2. use sustain pedal to grab chord notes, then use whole keyboard for melody using mono filter

that mono filter could be as simple as this ( keep last note)

in case you want real-feel mono synth which retriggers highest one from all held notes
then it would need a bit more work

Roman Thilenius's icon


you can do that with 2 chords, too, but the result will be musically useless.

something tells me you want to do the midi tutorials now. :)

Ludvig Ward's icon

Thanks! Last note priority is what I want, I really don't like the old-school highest note priority system. I'm a jazz musician and I find it impossible to play the fast stuff on old analog synths, last note priority works way better for me

Ludvig Ward's icon

the system I have in mind will be pretty complicated to set up, but I think most of it will be doable with the poly object and some math.

Ludvig Ward's icon

Source Audio, I just tried that mono filter and it works, but as you said it's really rudimentary. Any tips on how to create a more advanced and musical version of the same thing? I've tried googling but it's pretty hard to find accurate results/tutorials with words like "mono midi filter", I just get all sorts of stuff

schlam's icon

hello
you can have a look at the object [ddg.mono]

Ludvig Ward's icon

Thanks, actually found that object before I even saw your reply! When used in conjunction with the simple mono filter posted above, I got the exact result I was looking for