Microtonal synth or piano app
Hi everyone!
I've been trying to build a microtonal piano: The sixteenth-tone piano is pitched from key to key in 1/16 intervals. From the lowest to the highest tones, there is a span of exactly an octave on this piano.
So of course midi doesn't do this unless you do pitch bend.. which isn't great is you want to play more than 1 note.
the way I build this was to use a coll object with stores the frequencies and assign them to a midi value that a kslider outputs... it works and I was able to tweak the adsr to get an OK sound... the problem now is that I can't get around coll receiving only a message at a time and also giving the same output, 1 message. I need to have it be polyphonic but so far I haven't been able to find a way around this... btw I'm pretty new at max and would really appreciate all your help and comments!
This is my patch so far:
Thanks!
haven't looked at your patch but [poly] is one way
Yeah. poly~. Have you looked at "Polyphony Tutorial 1: Using the poly~ Object," by any chance. Might help....
for an equal tempered scale i would not use a transition table at all.
you can create this easily using a formula like this:
[expr ($f1-$f3)*(12./$f2)+$f3]
[mtof]
arguments:
divisions per octave (e.g. 16)
base key (e.g. 60.)
@Roman: how would you use this formula with a slider object?
Sorry if its too obvious but I just don't have the experience yet to integrate elaborate formulas into my patches.
Thanks!
not sure what you mean, do you have a slider with a range of 0-127 or something? then you would just connect it, so that the numbers get processed.
btw, when iwant to play obscure scales from a midi keyboard, i only use the white keys and put a towel on the black keys, so that i dont get disturbed by the octave paradigm.
i add some files, let me know if it now makes sense for you. the expression is a typical situation for making a subpatch out of it.
if you send note numbers into
[110.nnrescale 12 60]
[mtof]
you will get what you are used to, nothing is changed.
[110.nnrescale 19 60.5]
[mtof]
will convert incoming note numbers into a 19 tone tempered scale, pitchshifted for a halftone.
as usual i did not read the question :) as for the polyphony, poly might be the easiest. otherwise you´d have to split note on and note off events from each other, then you can collect chords into lists (using tresh) and process them as such.