ScaleMaster – a note quantizer & scale database

Apr 16, 2010 at 10:38pm

ScaleMaster – a note quantizer & scale database

I’ve just uploaded ScaleMaster, which implements a suite of quantizers and a scale database containing a large handful of scales. Hopefully it’s fairly self-explanatory, but ask away, if not.

Apr 17, 2010 at 12:11am

ace! is this similar to the function of the scaler patch in the max examples? will have a look :)

edit: just playing with it now, this is really helpful, thanks very much :)

Apr 17, 2010 at 8:26am

Glad you like it.

Could you point me to the scaler patch you mentioned? I couldn’t find it with a quick look.

Apr 17, 2010 at 10:32am

it’s in examples/max-tricks/notes-and-pitch

Apr 17, 2010 at 10:35am

maybe the_man361 is talking about the Max for Live examples? you can find bits of them in /patches/m4l-patches/Tools resources/M4L.PitchScale.bpatch.maxpat and M4L.PitchModes.txt.

however, chris, can i just say that your scalemaster is like the big daddy, and it is completely awesome, and demonstrates a really musical way of presenting all the logic, and congratulations, and thanks very very much.

Apr 17, 2010 at 10:51am

the max example referred to here is quite basic; Chris’ patch goes WAY beyond it – big daddy indeed

Apr 17, 2010 at 5:19pm

Oh yeah, I remember now… I think I that example has been around for a long time. ScaleMaster goes well beyond that patch. For example, I have gone out of my way to make sure I don’t have any “harmonic mysteries” in ScaleMaster. I used conundrums, instead.

Apr 20, 2010 at 6:32am

I got some email asking me if there was a good way to limit the scales that are in the scale menu. I do have some plans along this line, but in the mean time, I thought I would show people what the current interface in my Gyre program looks like for scale selection.

Right now the scale selection stuff is too tied to the rest of the program and the block controller I’m using it with, but I do have some plans to try and extricate it.

Dec 3, 2010 at 5:08pm

Hi ive connected / implemented this patch from the pack “NoteQuantize_MIDI_BP” into my project….

im just wondering how i change the scale? is it one of the other patches?

bit of a newcomer to Max… sorry if this is a silly question


Dec 3, 2010 at 6:47pm

Great stuff as always…

I have to ask… any chance of sharing that sweet looking Guitar Mode Viz in your Gyre app? That is Brilliant! How did you ever get that to work? Different colls per string or is it a single matrix with the setting saved?

Dec 3, 2010 at 6:53pm

@carltaylor43: the ScaleMaster world is a little easier to use than you’re trying to make it, I think. Attached is your patch with the bottom right section edited.

Dec 3, 2010 at 6:54pm

@tohm: Next time I’m mucking about with the Gyre internals I’ll take a look at what it would take to make the Visualizer stand alone.

Dec 3, 2010 at 8:43pm

OP, why dont you put the patch here instead of a unecessary download?

Dec 3, 2010 at 8:47pm

big big patch, plus we can track number of downloads…?

Dec 3, 2010 at 10:56pm

It wouldn’t let me post in-line, fwiw.

Dec 5, 2010 at 2:10pm

@ Chris… ah right… so does the ‘p scalemasterdata’ address sub pathes then? do I have to put your ‘scalemaster’ folder’ in a certain place in the max file path?


what to I connect to what? I see the ‘bpatcher’ box is sitting there and the ‘p scalemasterdata’ to the right of it… how to I connect it between my incoming midi data and then send it to the imput of the ‘vst~’

Thanks a lot


Dec 5, 2010 at 5:18pm

using custom scales with midi or with VST plug-ins will not work, at least not
very straightforward and not with every hard- or software but only with a few.
try to use it with custom maxmsp synths, that will work. :)

Dec 5, 2010 at 6:04pm

@carltaylor43, If all you plan on using are the quantizers (NoteQuantizeSimple_BP, NoteQuantize_MIDI_BP and NoteQuantizeDegree_BP) only they need to be in your path. The [p scalemasterdata] sub-patcher I added to your patch contains all the data that the quantizers need to work, and it does not need to be directly connected to anything.

The top level patcher [Scale_Master2] has a couple examples in the lower right quadrant.

@Roman: ScaleMaster doesn’t deal with anything other than standard tuning, it just constrains notes to specific note patterns in equal temperament. It will work over MIDI or between a note source and a VST plugin.

Dec 5, 2010 at 6:12pm

oh i havent looked at it as it seems :) well then.

Dec 6, 2010 at 7:10pm


thanks Chris… however I still dont understand it :(

Im playing on the keyboard yet, the notes arnt changing????

Ive attached my patch again….


Dec 6, 2010 at 7:31pm

Start simply, then once you understand things a little better, you will have better luck adapting Scale_Master to your world. Here’s a pretty simple example:

– Pasted Max Patch, click to expand. –
Dec 6, 2010 at 10:17pm

this thing is great, like all your others, Chris.

thanks for sharing again!

Dec 7, 2010 at 12:07am

Thanks for the kind words.

Dec 7, 2010 at 7:13pm

im sorry boys I still dont understand how it interacts with note data :(

ive copy and pasted the above patcher and added a vst… i still wont work for me… in fact i cant even get a sound out of it using the above example… heres a pic if anyone fancies helping me?



Dec 7, 2010 at 8:08pm

So, I guess it’s time to ask the obvious question: have you gone through the Max/MSP tutorials? It seems that you might be trying to run before you can walk.

Here’s that demo patch with a little more information in it:

– Pasted Max Patch, click to expand. –
Sep 9, 2012 at 1:01pm

Sep 9, 2012 at 3:26pm

also, vst~ instruments, last i checked, don’t take straight note numbers in Max – you need to do some processing to turn them into proper MIDI/VST note events – check out the qs.vstizer abstraction in here:

Sep 9, 2012 at 3:35pm

nice icon on the page :)

does this take floats? I recently wrote something like this in javascript to quantize floating point numbers on the MIDI pitch scale to proper integer MIDI notes in particular musical scales – for turning time series data into scores. Could share if anyone’s interested.

i found that using js it was a lot easier to handle this sort of translation than max, even with my dismal js skills!


You must be logged in to reply to this topic.