Polyfluous: MIDI-enhanced keyboard polyphony
March 2, 2022 6:03 AM   Subscribe

Polyfluous: MIDI-enhanced keyboard polyphony
I wanted to play polyphonic music (e.g., Bach) on my keyboard and give each voice a different sound, so I wrote some software to make it so. Link goes to 2 min. youtube video of a somewhat rough demonstration of my progress so far. Still lots to do, but I think there's something there.
Role: programmer player
posted by mpark (6 comments total)

Whoa! So, how does it decide what to play from the score? Does it search for the closest events in the score to the "note on" event's time from the midi input? Or is it using the score at all?
posted by ignignokt at 7:26 PM on March 2, 2022 [1 favorite]


It follows along in the score note-by-note as I play. It currently doesn't use any time information, which lets me play with a lot of, shall we say, "unintentional rubato" (lol) but if I miss a note the program gets confused. I would like to make it more forgiving of mistakes and maybe that'll mean incorporating time (but idk it seems a little scary).
posted by mpark at 9:26 AM on March 3, 2022


Ohh, so it does a pitch search, then plays back the rest of the chord with the appropriate voices. That's a really neat way to get "add-on" accompaniment without the stress of being on time! I wouldn't have thought of that.
posted by ignignokt at 3:00 PM on March 3, 2022 [1 favorite]


Not sure what you mean by "the rest of the chord" -- the only notes that get played are notes that I press on the keyboard. It's really just passing MIDI messages through with a little edit to the channel nibble. (The exception to that is some extra trickery when two parts intersect, in which case the program might, for example, have to duplicate a note-on so the flute and oboe both sound the note.) I'm probably not explaining this very well.
posted by mpark at 7:05 PM on March 3, 2022


Having let "the rest of the chord" stew in my brain overnight, I've just come to a realization. I've been so focused on my use case of I-will-play-every-note-thank-you-very-much that I hadn't even considered that Polyfluous could add notes beyond those actually being pressed. Like I could tell it to add an E and G when I play a C at this particular point. Is that what you meant? Because that just might be genius. I mean it's basically cheating, given my original intentions for this program, but wow, thank you for opening my mind!
posted by mpark at 1:32 PM on March 4, 2022


That's actually what I thought it was doing.

I now realize that you played every note, and Polyfluous just used the score to figure out which instrument gets which note, thanks to your explanation. It's a different thing, but if it doesn't get too confusing, a way to approach being a one-person live orchestra!
posted by ignignokt at 6:53 PM on March 4, 2022 [1 favorite]


« Older Quantle...   |   A cryptic clue a day for Enigm... Newer »


You are not currently logged in. Log in or create a new account to post comments.