List processing help
Hi there,
I am currently building a microtonal MIDI patch. So far, the tuning system works, but I have a problem.
MIDI is of course, note-based, and therefore microtonality is based on a pitch shift of a given note.
That's fine for widely spaced microtonal chords, but for close relationships - 110, 112, 115 Hz etc. it doesn't work and these pitches need to be sent to a different instance of a virtual instrument - I can't find a way of bending to instances of the same note at the same time.
So, what I'm looking to do is route duplicate MIDI note names to different instances of a virtual instrument, but I can't find an elegant way of doing it.
I'm also attaching the basic microtonality 'engine'. The idea is to have microtonal playback based on a list of input frequencies, not based on tuning an instrument to a scale.
(Or, if anyone has a microtonal MIDI patch that can handle polyphonies on the same pitch class that I can reverse engineer to accept a frequency list, please do let me know! ;)
use poly~ target based instead of midi note based.
All is explained in poly~ help file.
While not an answer to your specific question, this video of how I did some microtonal exploration might be interesting and have some useful ideas. https://www.youtube.com/watch?v=2L7edwef-5k&t=9s&ab_channel=MusicwithLisp
Bascially I take route of going from midi into some non-midi way of communicating with instruments. I have previously made pitch bend mappers using the same tools though.
HTH!
Hi all,
Thanks so much for getting back - this is very helpful.
I opted for something like this in the end - it works pretty well.
I figured that I probably wouldn't have more than five close beating frequencies at the same time, so I set it up so that the lists are split into groups of 5, with the first in *each* group going to one instrument, the second of each to the second, and so on. As long as I'm careful not to have more than five close frequencies, it works!