Easy microtonal poly~ synth?

grogulous's icon

Hey, I am really digging Timo's th.scala package: https://github.com/tmhglnd/th.scala.

I'd like to be able to play the output frequencies in polyphonic synthesizer, but I'm struggling to come up with an easy way. Does anyone have an example of a poly~ patcher that can take frequencies instead of MIDI notes? MIDI seems to be the problem here, but all the examples of seen use it.

TFL's icon

It's best to post a patch when asking for help (select the relevant objects in your patch, then in the menu bar: Edit > Copy compressed, then past the code here).

You can stay with MIDI notes instead of using frequencies. Use [th.ftomb] to split the integer midi note number from the pitch bend, send your note message to the poly~ and use the 'notemessage' or 'target' messages to pass the pitchbend value to the corresponding voice. Or maybe a combination of the midievent message and [polymidiin] is a better solution. Another one would be to use only plain midi notes, and insert a [coll] in your poly~ with your detune information for each note. Many possible approaches, several of them can be found in the forum alrady.

grogulous's icon

Thanks, I appreciate it. Seems like midiformat, polymidiin and th.ftomb are the way to go.

Not quite sure what to do with the pitch bend 0-127 on the poly~ side. If I scale back to [-1.,1.] the result isn't the same as th.stof.

P.S. if you found a solution elsewhere on the forums, please let me know, I did not find anything.

poly-microtonal.maxpat
Max Patch


microtonal-synth.maxpat
Max Patch

redhexagonal's icon

Check out the "scala" tab of the mtof help file. You can just name a scale in the archive and mtof will convert midi notes to the frequencies of your chosen scale. Or you can define your own scale as a list.