[Request] Transposing MIDI keyboard patch

antwoorden's icon

I have an idea for a Max patch, but my Max skills are 0,0. Is there someone out there who could realize my idea?
I've explained the whole concept here: http://bit.ly/iYbULA

If you think you could help me out with this, please let me know. If you'd like something in return, I'd even pay for it.

Thanks in advance,

J.

antwoorden's icon

Is really no one interested? Or at least willing to give me a push in the right direction?

It shouldn't be too complex, yet I'm failing.

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

Thank you so much Chris! I tried to go on with it myself, but I have a question.

See my patcher below, how can I add +3 to the transposed notes when Minor is selected?

Example: when minor is selected, and the user chooses E, now he hears an E when he plays a C, but that should only be in Major. When minor, he should hear an E when he plays an A.

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

Chris Muir's icon

I have a comprehensive note quantizer / scale generator patch, called ScaleMaster, which can be found here:
http://www.xfade.com/max/

antwoorden's icon

Wow, that looks quite impressive Chris! I've looked into it but am not sure how to use it in my patch. :(

If you open my patch, basically what I want right now is to add a [+ 3] after the umenu when Minor is selected. Do you know how?

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

maybe this helps? (I'm not 100% sure I know what you're asking)

antwoorden's icon

Thanks, but that doesn't change anything. What I mean: if minor is selected, and say you selected to play in E, the A-key should trigger the note E (instead of the C-key triggering the E as in major). So, in minor everything should be transposed + 3 compared to major.

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

Do you still have ScaleMaster around? Make sure it's included in one of your Max File Preferences, open the main ScaleMaster patch, then look at this to see if this is more or less the right thing:

There are some changes needed for use with MIDI, but if this is in the right ballpark, those changes are easy.

antwoorden's icon

Yes Chris, I do have it around, but that's not what I mean.

When I put a [+ 3] object between the [umenu] and the [t i b] in my patch, it works. But this [+ 3] should only be there when [message:Minor] is selected (not when the user chose major).

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

Doesn't the gate take care of that difference in your patch? At any rate:

seejayjames's icon

use the message:Minor to determine how much to add, you can translate the message into a 1 or 2 (1 for major, 2 for minor, for example) and then use a [select] or [gate 2].

Chris Muir's icon

One more thing, have you gone through the tutorials? If not, that should be your next step, I think,

Florent Ghys's icon

Just wanted to thank Chris for his work.
I am using your Scale_Master2 and it is awesome. I love the ability to add scales to the main coll very fast and to re-draw the tables. Really awesome. Thanks a lot.

I added a few transposition of the pentatonic major and altered modes as well as minor harmonic and minor melodic:
Octaves, 1;
Fifths, 1 5;
PentAmbig, 1 2 5;
Fourths, 1 4 b7;
cbm_q1, 1 3 4 6;
cbm_q2, 1 b3 4 b6;
Tristan, 1 b3 b5 b7;
cbm_p1, 1 2 4 5 7;
Pentatonic-Natural-Major, 1 2 3 5 6;
Pentatonic-Natural-Mode2, 1 2 4 5 b7;
Pentatonic-Natural-Mode3, 1 b3 4 b6 b7;
Pentatonic-Natural-Mode4, 1 2 4 5 6;
Pentatonic-Natural-Mode5, 1 b3 4 5 b7;
Pentatonic-Minor, 1 2 b3 5 b6;
Pentatonic-Altered-Mode1, 1 b2 3 5 b7;
Pentatonic-Altered-Mode2, 1 2 3 5 b7;
Pentatonic-Altered-Mode3, 1 b3 3 5 b7;
Pentatonic-Altered-Mode4, 1 b2 b3 b5 6;
Pelog, 1 b2 b3 5 b6;
Miyako-bushi, 1 b2 3 5 b6;
Blues, 1 b3 4 b5 5 b7;
SixtoneSym, 1 b2 3 4 b6 6;
Petrushka, 1 b2 3 b5 5 b7;
Prometheus, 1 2 3 b5 6 b7;
Japanese, 1 b2 4 5 b6 b7;
Wholetone, 1 2 3 b5 b6 b7;
Augmented, 1 b3 3 b5 b6 7;
Augmented-Major, 1 b3 3 4 5 b6 7;
Ionian-Major, 1 2 3 4 5 6 7;
Dorian, 1 2 b3 4 5 6 b7;
Phrygian, 1 b2 b3 4 5 b6 b7;
Lydian, 1 2 3 b5 5 6 7;
Mixolydian, 1 2 3 4 5 6 b7;
Aeolian-Minor, 1 2 b3 4 5 b6 b7;
Locrian, 1 b2 b3 4 b5 b6 b7;
Bebop-Major, 1 2 3 4 5 b6 6;
Bebop-Minor, 1 b3 3 4 5 6 b7;
Bebop-MelMin, 1 2 b3 4 5 b6 6;
Harmonic-Major, 1 2 3 4 5 b6 7;
Harmonic-Minor-Mode1, 1 2 b3 4 5 b6 7;
Harmonic-Minor-Mode2, 1 b2 b3 4 b5 6 b7;
Harmonic-Minor-Mode3-Ionian5#, 1 2 3 4 b6 6 7;
Harmonic-Minor-Mode4-Dorian4#, 1 2 b3 b5 5 6 b7;
Harmonic-Minor-Mode5-SuperPhrygian, 1 b2 3 4 5 b6 b7;
Harmonic-Minor-Mode6-Lydian2#, 1 b3 3 b5 5 6 7;
Harmonic-Minor-Mode7, 1 b2 b3 4 b5 b6 6;
Minor-Melodic-Mode1, 1 2 b3 4 5 6 7;
Minor-Melodic-Mode2-Dorian2b, 1 b2 b3 4 5 6 b7;
Minor-Melodic-Mode3-AugmentedLydian, 1 2 3 b5 b6 6 7;
Minor-Melodic-Mode4-Bartok, 1 2 3 b5 5 6 b7;
Minor-Melodic-Mode5-Mixolydian6b, 1 2 3 4 5 b6 b7;
Minor-Melodic-Mode6-Locrian2#, 1 2 b3 4 b5 b6 b7;
Minor-Melodic-Mode7-SuperLocrian, 1 b2 b3 3 b5 b6 b7;
Neopolitan-Major, 1 b2 b3 4 5 6 7;
Neopolitan-Minor, 1 b2 b3 4 5 b6 7;
Algerian, 1 2 b3 4 b5 5 b6 7;
Enigmatic, 1 b2 3 b5 b6 b7 7;
Arabic, 1 b2 3 4 5 b6 7;
Todi, 1 b2 b3 b5 5 b6 7;
Purvi, 1 b2 3 b5 5 b6 7;
OvertoneDom, 1 2 3 b5 5 6 b7;
PhrygianDom, 1 b2 3 4 5 b6 b7;
Octatonic, 1 b2 b3 3 b5 5 6 b7;
Lydian-Minor, 1 2 3 b5 5 b6 b7;
Rag-Madhukant, 1 2 b3 b5 5 6 b7;
Rag-Madhuvanti, 1 2 b3 b5 5 6 7;
Rag-Ahir_Bhairav, 1 b2 3 4 5 6 b7;
Rag-Arnand-Bhairav, 1 b2 3 4 5 6 7;
BebopDom, 1 2 3 4 5 b7 7;
Saranga, 1 2 b3 b5 5 b7 7;
Sambah, 1 2 b3 3 5 b6 b7;
Hungarian-Major, 1 b3 3 b5 5 6 b7;
Hungarian-Minor, 1 2 b3 b5 5 b6 7;
InstantJazz, 1 b2 b3 b5 5 6 7;
Jeth, 1 2 b3 4 b5 6 7;
Mixolydian-Blues, 1 b3 3 4 b5 5 b7;
Diminished, 1 2 b3 4 b5 b6 6 7;
Bhairav-That, 1 b2 2 4 5 b6 7;
Spanish-EightTone, 1 b2 b3 3 4 b5 b6 b7;
Ninetone, 1 2 b3 3 b5 5 b6 6 7;
Chromatic, 1 b2 2 b3 3 4 b5 5 b6 6 b7 7;

ps: what do the scales ''cbm_q1'' and ''cbm_q2'' stand for ?

Chris Muir's icon

Glad that you're using it. I didn't include most of the modal rotations on purpose. I have vague plans on an "alias" mechanism that would cover some of the alternate scale names and modal rotations, but no timetable on implementing this. In the [equivalent_modes] subpatch I talk about this a little:

This is not done yet, but optionally, there should be a superset coll that maps aliases to existing scales, as well as a 1:1 mapping of existing names, e.g.:
Major, Major;
Ionian, Major;
This gets a little complicated if we try to accomodate modes of a given scale, in which case a second scale degree parameter would have to be given, e.g.:
Major, Major 0;
Ionian, Major 0;
Dorian, Major 2;
Phrygian, Major, 3;

At some level, it would be nice, for completeness' sake, to have all the modes of all the scales included here, but that can get sort of silly. I mean, technically there are 11 other modes of the chromatic scale, but...

In the ScaleEnter utility that is part of Scale_Master2, you can enter a scale then click to see if the pattern matches any existing scale and at what transposition. For example, your Minor-Melodic-Mode4-Bartok, 1 2 3 b5 5 6 b7; is the same as OvertoneDom 1, Hindu 2, Altered 4, Minor 5, Javaneese 6

cbm_q1 and cbm_q2 are just a couple of quad-note scales I use sometimes, which I didn't find in any literature, so I named them with my initials and an identifier.

Florent Ghys's icon

Thanks for your answer Chris. I was trying to do the same thing but didn't get the idea of two separate tables. You saved me hours of work!
The alias mechanism would be great, especially for going out of the base-C system.
all best.