Forums > MaxMSP

Microtones in Midi out

June 12, 2013 | 5:30 am


Could anyone give me advice on using microtones whilst sending midi messages out of max. I’ve been fine with in max, using decimal points and and mtof to control synths patches, i.e. using 60 60.5 61 to get three ascending quarter tones, but I’ve been trying to send midi out to a VSL instruments player and standard midi messages only seem to recognise semitones, rounded integers only.

I tried using midiformat to convert the decimal part to a pitchbend message, but the pitchbend affects all notes currently playing – so if i send midi note 60 (C) and then midi note 60.5 (C quarter sharp) the first note (C or midi note 60) then also gets raised by quarter tone.

Can anyone think of a better way of doing this?

Many thanks,


June 12, 2013 | 5:39 am
– Pasted Max Patch, click to expand. –

June 12, 2013 | 6:18 am

Most handle it by having each note on its own midi channel – this way you can do 16-note poly using PB.

June 12, 2013 | 1:19 pm

i would not try to use custom tuning via midi with an instrument which does not support custom tuning.

theoretically there are a single note frequency change messages for midi, but if there are really any devices which support it, then thats definitely hardware and not VST plug-ins.

devices which have a custom tuning table option built-in are more common, and even those are only around 50 different instruments or so.

regarding the VSL, you might want to consider to buy their "pro" hardware, when i remeber right, with that option VSL has custom tuning including an editor and scala format file import.

using the pitchbend is an opttion if you need that once but it is not an option for every day use, starting with the problem that the pitchbend range is part of each patch and every patch will have a different setting for it. and the resolution of pitch bend … well, for electronic experiments with a just scale i would not choose that … though it might be okay for a violin sampler.


June 12, 2013 | 2:22 pm

according to werner mohrlok (the inventor of hermode tuning) the VSL actually understands single note tuning midi data. so it is an absolute exception among plug-ins, and looking into the midi specifications should allow you to do what you want.

June 12, 2013 | 11:10 pm

deffo recommend checking out the CNMAT externals – there’s a few ways of doing this in there.

June 14, 2013 | 10:34 am


Thanks for all the responses. I doubled checked with VSL Instruments and VSL ensemble but still couldn’t send anything less than semitones. I’m starting to wonder whether it’s Max – I tried linking up a midiformat object to and midiparse object, and a notein receiving signals sent from a noteout in the same patch so I could check exactly what was going out of Max and in both of those cases all decimal points were lost. So maybe Max doesn’t use floats in midi messages.


June 14, 2013 | 11:49 am

Hi Liam,

I have no idea for VSL instruments, but if you have the bach libary installed ( you can have a look at [bach.ezmidiplay]. It automatically splits incoming data into different channels (with different detuning), depending on you microtonal division.
This is transparent to you. (On the other hand, it expects from bach.roll’s or bach.score’s playout, but you can of course use it independently.)

Viewing 8 posts - 1 through 8 (of 8 total)