"Quantizer" Module / Scale selector
Hi,
i'd like to create a patch that would allow me to select notes within a Kslider, and force incoming note numbers to fit the scale.
Pretty much like the quantizer module from Beap, but without the rounding and all the scaling (and i admit i am a bit lost in the beap patcher).
Any ideas, any already made patch ?
In fact the rounding part would still be useful.
Modifying the Beap Quantizer would be the easiest way, i think. Just scale it from 0 127 to 0 127...
OR:
M4L.PitchScale.bpatch
if you don't have this one, perhaps you can still download it?
I'm sorry, where are my manners?
Many thanks. This is indeed super easy to use.
From my personal taste, i'd prefer the use of a keyslider, and then "round" to the closest higher note, but i can get used to it !
closest higher has its own problems though - for instance, let's say your allowed notes are C and A. Your input note is C#... where does it go? It goes to A, even though the C is right there. I'd reckon for the end-user this would feel almost buggy.
Hello everyone and sorry for reviving and old thread,
I would like to use the M4L.PitchScale.bpatch in a different way. I would like to avoid repeating notes when generating progressions in any scale. Therefore I would like to pass in "stepnumber" instead of "notenumber" into the bpatcher and it would always generate increasing or decreasing notes without ever repeating the same note due to a chromatic mapping problem.
I am using the following [coll] which is based on the original found at M4L.PitchScale.bpatch:
"
mode, transposition in semi-tones for each scale degree;
0 chromatic, 0 1 2 3 4 5 6 7 8 9 10 11;
1 ionian, 0 2 4 5 7 9 11;
2 dorian, 0 2 3 5 7 9 10;
3 phrygian, 0 1 3 5 7 8 10;
4 lydian, 0 2 4 6 7 9 11;
5 mixolydian, 0 2 4 5 7 9 10;
6 aeolian, 0 2 3 5 7 8 10;
7 locrian, 0 1 3 5 6 8 10;
8 wholetone, 0 2 4 6 8 10;
9 min7, 0 3 7 10;
10 dim7, 0 3 6 9;
11 octatonic2-1, 0 2 3 5 6 8 9 11;
12 octatonic1-2, 0 1 3 4 6 7 9 10;
13 major-pentatonic, 0 2 4 7 9;
14 minor-pentatonic, 0 3 5 7 10;
15 invert, 11 10 9 8 7 6 5 4 3 2 1 0;
"
As you can see I have removed the mappings from chromatic to other scales, but I'm afraid this is not enough to make it work because now the "octaves" differ in length depending on the scale and for example doing [%12] would not be allowed anymore.
I think I am trying to do a very simple thing looking at the M4L.PitchScale.bpatch which does much more complex stuff (mapping)... but I'm having a hard time understanding the whole thing.
Any ideas on how should I solve it?
Thanks in advance!
Hi again,
I think i managed to do what I wanted. Here is the patch: