ScaleMaster - a note quantizer & scale database

Chris Muir's icon

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.

the_man361's icon

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 :)

Chris Muir's icon

Glad you like it.

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

brendan mccloskey's icon

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

pid's icon

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.

brendan mccloskey's icon

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

Chris Muir's icon

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.

Chris Muir's icon

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.

carltaylor43's icon

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

thanks!

1477.carltwiiproject.maxpat
Max Patch
tohm's icon

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?

Chris Muir's icon

@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.

1478.ScaleMasterProblem.maxpat
Max Patch
Chris Muir's icon

@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.

ADHD101's icon

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

seejayjames's icon

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

Chris Muir's icon

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

carltaylor43's icon

@ 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?

also..

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

Carl.

Roman Thilenius's icon

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. :)
-110

Chris Muir's icon

@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.

Roman Thilenius's icon

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

carltaylor43's icon

@Chris...

thanks Chris... however I still dont understand it :(

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

Ive attached my patch again....

Thanks

1488.carltwiiproject2.maxpat
Max Patch
Chris Muir's icon
Max Patch
Copy patch and select New From Clipboard in Max.

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:

Chris Muir's icon

Thanks for the kind words.

carltaylor43's icon

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?

Thanks

Carl.

Chris Muir's icon

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.

Max Patch
Copy patch and select New From Clipboard in Max.

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

Beep's icon
Arvid Tomayko's icon

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: https://cycling74.com/tools/grosse-quickstart/

Arvid Tomayko's icon

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!

Geoff Hood's icon

Hi everyone, sorry to bring back a post from 2012! I'm trying without luck to get Scale Master to work.
If I load the main ScaleMaster2 max patch and patch up the notein through to the noteout in the examples section (bottom right) I can verify that scale master is quantizing - however it seems stuck in major. Selecting a different scale in the drop down box does nothing (see screenshot).

Can anyone help with where I'm going wrong please? I've tried the stripped back examples above and there's definitely something funny going on - I can't for the life of me get it come out of major.
I have the whole ScaleMaster 2 folder (and subfolders/patches) etc. in both my Max 7 library folder and in my Projects/patches folder so they should, to my knowledge, be within my Max search path.

Any assistance greatly appreciated!
Geoff

Screen-Shot-2017-02-11-at-14.16.21.png
png
Geoff Hood's icon

Sorry to bump, just hoping someone may be able to shed some light!
Thanks
Geoff

Geoff Hood's icon

Hi all

I'm coming back to this after a week or so and have realised that the Max Console is displaying two errors when I open the patch:

Coll - refer: User ToTable12Name is not a coll
Coll - refer: UserToTable36Name is not a coll

I can't find where these coll's are / are meant to be to see if I can figure out what's going wrong. Any help greatly appreciated. I'd really like to get this scale database working for my patches.
All the best,
Geoff

Jonatan Ewald's icon

Hi!
I also tried this out and I have some problems.
I sort of got it working when I moved all the files to the same folder as my main patch.
But for some reason it does not read all the scales?
For example; I can use it with the scale for "Fifths" or "PentaMaj" just fine but if I try to use "Octaves" or "Fourths" it just returns the error message "refer: Fourths_12 is not a table".
I do not really get this.
All scales are in the same master txt document, why can it read some of them and not others?
I found the structure of the whole patch a bit confusing.
Just wanted to try scale quantization and I guess this patch do a lot more things than that...