Scale Compendium

Scale Compendium by Bryan Appel, v1.7

This script will quantize incoming MIDI notes to a preset scale, of which over 30 are included along with their associated modes. Also included are an assortment of common triads and 7th chords.

Scales are organized in three banks. There are up to ten scales per bank, with each scale having a number of modes equal to the number of notes in the scale (except for the symetrical scales, which are a special case).

Press the SHIFT key to change banks. Use the SCALE knob to select the scale and the MODE knob to select the mode. The KEY knob changes the root note.

It is possible to link two or more instances of Scale Compedium together so that any control change made in one instance will be reflected in the other(s). Press and hold the SHIFT key for one second to toggle LINK MODE on and off (the log screen will display the mode). All instances that have LINK enabled will synchronize when the host transport is playing.

the STYLE knob determines what the script will do when it encounters a note outside the scale. STYLE 1 will filter out all out-of-scale notes; only notes in the scale will sound. STYLE 2 & 3 will move out-of-scale notes to the nearest scale note, but if there are two equally distant notes, STYLE 2 will move to the higher note while STYLE 3 will move to the lower note. STYLE 4 will always move up to the next scale step regardless of distance whereas STYLE 5 will always move down to the previous step. STYLE 6 will quantize toward the root, perfect fifth, or major or minor third whenever possible. STYLE 7 uses a random coin toss to determine whether to quantize up or down.

STYLE 8 maps every scale to a chromatic row. This is intended to be used with controllers such as the Novation Launchpad that do not have a traditional piano keyboard.

STYLE 9 is White Keys Mode. This style allows you play scales using only the white keys. Keep in mind that in this style the sounding pitch of a note does not correspond to the value of the key that plays it.

NOTE: Both STYLE 8 & 9 have a starting note that is set by the variable ‘startNote.’ All notes below this note will be ignored. There is another variable called ‘startNotePitch.’ This variable controlls the pitch of the lowest note (and thus all subsequent notes). By default both these variables are set to MIDI Note 60 (middle C). You can find these variables at the top of the code.

For a scale quantizer with user-adjustable scales, see Wim’ Simple Sacler here: https://patchstorage.com/simple-scaler/

Author
1024 PM
  • Platform:
  • Category: Effect Utility
  • Revision: 1.7
  • License: MIT License
  • Views: 2,093
  • Modified: 8 months ago
Chat about this patch on Discord! Download (126)
Appreciate 23
27 comments on “Scale Compendium
  • Pejman on said:

    Very very useful and perfect.
    But pantatonics and blues scales?

  • Bryan on said:

    Version 1.1 update changes:

    * Added a new quantization style: Random.
    * Added a blurb to the description to prompt the user to scroll down.

  • Bryan on said:

    Hi Pejman, thanks for your comment. There are pentatonic scales in bank 2, scales 6-9. I didn’t add the blues scale since it’s just the minor pentatonic with the flat 5 used as a passing tone. But I can include it in the next update.

  • Bryan on said:

    There is one “blues scale already included in my script; namely, the 2nd mode of the Harmonic Major (Bank 1, Scale 3, Mode 2). In my script this mode is called “Dorian b5” but it’s identical to the Heptatonic Blues Scale described here: https://en.wikipedia.org/wiki/Blues_scale

    In the next update I will include the other two blues scales, the Hexatonic Blues Scale (i.e., the minor pentatonic with a flat 5) and the Nonatonic (9-note) Blues Scale.

  • Bryan on said:

    Version 1.3 changes:

    * Added blues scales
    * Version number correct in description.

  • Pejman on said:

    Hi
    Thanks Bryan.
    You’re right. I did not notice . The new version is perfect . Very Thanks .

  • Pejman on said:

    Hi Bryan
    Can I request for creating patch in mozaic ?. Because for me is difficult. Although I have read the mozaic guide, it still seems to me to be complex.
    I have 2 ideas, that there is no still in mozaic patches.
    Or Where can I put my request publicly in the mozaic section. If you do not want to build them.
    Or help me for creating them , If you have the time.

  • Bryan on said:

    Version 1.4 changes:

    * MIDI handling has been completely rewritten to be more robust. (Thanks to user mbncp on the Audiobus forum for the helpful advice!)

    * All non-note MIDI data (pitch bends, mod wheel, CC’s, etc.) passes through unaltered, meaning you can now use this script for live playing.

    * Legato playing is supported.

    * New scale added: “Scriabin’s Prometheus”

    * Scales have been re-ordered to make them more accessible; e.g., pentatonics are at the beginning of Bank 2 and triads & chords are at the beginning of Bank 3, thus making it easy to switch between them using only the Shift button.

  • Pejman on said:

    Thanks Bryan. I will post my requests to audiobus forum , thanks for help .
    I have downloaded new version of scale compendium 1,4 but in script , shows 1,3 version, instead of 1,4 .

  • Bryan on said:

    Pejman, That’s strange. I just downloaded it myself and it is definitely the correct version with the correct version number. Anyway, perhaps try downloading it again and see if that helps. Sorry about the hassle.

  • Pejman on said:

    I should have erased previous versions , Until the new version is installed properly .
    Now is ok.

  • Bryan on said:

    Version 1.4.1 Bugfix

    * Fixed a spelling error in the 3rd mode of the Major Pentatonic (Man Gong). The scale should have a flat 7th, not a major 6th.

    * The 4th mode of the Major Pentatonic, which I refer to as the Scottish Pentatonic, is the same as the Japanese Yo scale. Since this name is used in several other apps, I have added this to the scale name. In general, every scale has multiple names, depending on the musical tradition. I have sometimes chosen the most common name, sometimes the most descriptive relative to the Western European tradition, and sometimes I have chosen the most “interesting” name.

  • Bryan on said:

    Version 1.5

    * Added MIT Licensing information.

  • Bryan on said:

    Version 1.5.1

    * Corrected a couple minor typos in the scale descriptions.

  • Bryan on said:

    Version 1.5.2

    * Script should now respond properly to those controllers that use a note on with zero velocity midi message instead of a note off.

  • midicode on said:

    THANK YOU SO MUCH for all this work! I am yet to test this out but I am impressed by your work!

  • Bryan on said:

    Version 1.6

    * Added Link Mode: It is now possible to link two or more instances of Scale Compedium together so that any control change made in one instance will be reflected in the other(s). Press and hold the SHIFT key for one second to toggle LINK MODE on and off (the log screen will display the mode). All instances that have LINK enabled will synchronize when the host transport is playing.

    * State Saving now works.

  • Bryan on said:

    Version 1.7 changes

    * Scale and Mode names are now displayed above knobs.
    * Two new styles added: Chromatic and White Keys.

    STYLE 8 maps every scale to a chromatic row. This is intended to be used with controllers such as the Novation Launchpad that do not have a traditional piano keyboard.

    STYLE 9 is White Keys Mode. This style allows you play scales using only the white keys. Keep in mind that in this style the sounding pitch of a note does not correspond to the value of the key that plays it.

    NOTE: Both STYLE 8 & 9 have a starting note that is set by the variable ‘startNote.’ All notes below this note will be ignored. There is another variable called ‘startNotePitch.’ This variable controlls the pitch of the lowest note (and thus all subsequent notes). By default both these variables are set to MIDI Note 60 (middle C). You can find these variables at the top of the code.

    * Optimizations and bug fixes.

  • Raz-mataz on said:

    Fantastic Bryan!
    🎹📱🏢
    Big thanks in the name of iOS Launchpad users

  • Jay Zen on said:

    Oha MY GOODNESS! Thanks a TON, Brian 🙌

  • Doggylama on said:

    Hi Bryan, I was wondering if this patch or one like it could be used for some basic pitch rounding, kind of like Geoshred if you ever played it… Except for a hardware instrument. I have an artiphon that is set up in such away that in fretless mode the pitch is not on the fret but slightly behind it and pitch bend is not linear( kind of notched quarter tones?). Could a program like this be set up so as to quantize the start point of any pitch to always be in tune(chromatically)…Then pass pitch bend unaltered, allowing for more complex chords and expression within them?
    Desperate here, thanks
    Terry

  • Raz-mataz on said:

    Hi Brian.

    Always grateful for this nice useful script.
    I want to make it easier to find the exact scale.
    Is there a list with all scales and intervals?

  • Raz-mataz on said:

    Here’s a list of all the scales and their modes, along with the intervals for each. The intervals are just the number of semitones up from the root: so 0 = root; 2 = major 2nd; 4 = major 3rd; 5 = perfect 4th; 7 = perfect 5th; 9 = major 6th; 11 = major 7th; 12 = octave, etc.

    Note: there are a couple errors in here that I have yet to fix. They mostly occur in the more exotic scales.

    ////////// BANK 1 //////////
    // 0 DIATONIC (MAJOR)
    data[000] = [00, 02, 04, 05, 07, 09, 11, 12] // Ionian
    data[010] = [00, 02, 03, 05, 07, 09, 10, 12] // Dorian
    data[020] = [00, 01, 03, 05, 07, 08, 10, 12] // Phyrgian
    data[030] = [00, 02, 04, 06, 07, 09, 11, 12] // Lydian
    data[040] = [00, 02, 04, 05, 07, 09, 10, 12] // Mixolydian
    data[050] = [00, 02, 03, 05, 07, 08, 10, 12] // Aeolian
    data[060] = [00, 01, 03, 05, 06, 08, 10, 12] // Locrian

    // 1 MELODIC MINOR
    data[100] = [00, 02, 03, 05, 07, 09, 11, 12] // Melodic Minor
    data[110] = [00, 01, 03, 05, 07, 09, 10, 12] // Dorian â™­2
    data[120] = [00, 02, 04, 06, 08, 09, 11, 12] // Lydian Augmented
    data[130] = [00, 02, 04, 06, 07, 09, 10, 12] // Lydian Dominant
    data[140] = [00, 02, 04, 05, 07, 08, 10, 12] // Hindu
    data[150] = [00, 02, 03, 05, 06, 08, 10, 12] // Locrian â™®2
    data[160] = [00, 01, 03, 04, 06, 08, 10, 12] // Super Locrian

    // 2 HARMONIC MINOR
    data[200] = [00, 02, 03, 05, 07, 08, 11, 12] // Harmonic Minor
    data[210] = [00, 01, 03, 05, 06, 09, 10, 12] // Locrian â™®6
    data[220] = [00, 02, 04, 05, 08, 09, 11, 12] // Ionian ♯5
    data[230] = [00, 02, 03, 06, 07, 09, 10, 12] // Dorian ♯4
    data[240] = [00, 01, 04, 05, 07, 08, 10, 12] // Phrigian â™®3
    data[250] = [00, 03, 04, 06, 07, 09, 11, 12] // Lydian ♯2
    data[260] = [00, 01, 03, 04, 06, 08, 09, 12] // Alt bb7

    // 3 HARMONIC MAJOR
    data[300] = [00, 02, 04, 05, 07, 08, 11, 12] // Harmonic Major
    data[310] = [00, 02, 03, 05, 06, 09, 10, 12] // Dorian â™­5
    data[320] = [00, 01, 03, 04, 07, 08, 10, 12] // Phrygian â™­4
    data[330] = [00, 02, 03, 06, 07, 09, 11, 12] // Lydian â™­3
    data[340] = [00, 01, 04, 05, 07, 09, 10, 12] // Dominant â™­2
    data[350] = [00, 03, 04, 06, 08, 09, 11, 12] // Lydian Augmented ♯2
    data[360] = [00, 01, 03, 05, 06, 08, 09, 12] // Locrian â™­â™­7

    // 4 HUNGARIAN MINOR
    data[400] = [00, 02, 03, 06, 07, 08, 11, 12] // Hungarian Minor
    data[410] = [00, 01, 04, 05, 06, 09, 10, 12] // Oriental
    data[420] = [00, 03, 04, 05, 08, 09, 11, 12] // Ionian Augmented ♯2
    data[430] = [00, 01, 02, 05, 06, 08, 09, 12] // Locrian â™­â™­3 â™­â™­7
    data[440] = [00, 01, 04, 05, 07, 08, 11, 12] // Double Harmonic
    data[450] = [00, 03, 04, 06, 07, 10, 11, 12] // Lydian ♯6 ♯2
    data[460] = [00, 01, 03, 04, 07, 08, 09, 12] // Alt 5 â™­â™­7

    // 5 HUNGARIAN MAJOR
    data[500] = [00, 03, 04, 06, 07, 09, 10, 12] // Hungarian Major
    data[510] = [00, 01, 03, 04, 06, 07, 09, 12] // Alt â™­â™­6 â™­â™­7
    data[520] = [00, 02, 03, 05, 06, 08, 11, 12] // Locrian â™®2 â™®7
    data[530] = [00, 01, 03, 04, 06, 09, 10, 12] // Alt â™®6
    data[540] = [00, 02, 03, 05, 08, 09, 11, 12] // Melodic Augmented
    data[550] = [00, 01, 03, 06, 07, 09, 10, 12] // Dorian b2 ♯4
    data[560] = [00, 02, 04, 06, 08, 09, 11, 12] // Lydian Augmented ♯3

    // 6 NEAPOLITAN MINOR
    data[600] = [00, 01, 03, 05, 07, 08, 11, 12] // Neapolitan Minor
    data[610] = [00, 02, 04, 06, 07, 10, 11, 12] // Lydian ♯6
    data[620] = [00, 02, 04, 05, 08, 09, 10, 12] // Dominant Augmented
    data[630] = [00, 02, 03, 06, 07, 08, 10, 12] // Hungarian Gypsy
    data[640] = [00, 01, 04, 05, 06, 08, 10, 12] // Locrian â™®3
    data[650] = [00, 03, 04, 05, 07, 09, 11, 12] // Ionian ♯2
    data[660] = [00, 01, 02, 04, 06, 08, 09, 12] // Alt â™­â™­3 â™­â™­7

    // 7 NEAPOLITAN MAJOR
    data[700] = [00, 01, 03, 05, 07, 09, 11, 12] // Neapolitan Major
    data[710] = [00, 02, 04, 06, 08, 10, 11, 12] // Lydian Augmented ♯6
    data[720] = [00, 02, 04, 06, 08, 09, 10, 12] // Lydian Dominant Augmented
    data[730] = [00, 02, 04, 06, 07, 08, 10, 12] // Lydian Minor
    data[740] = [00, 02, 04, 05, 06, 08, 10, 12] // Major Locrian
    data[750] = [00, 02, 03, 04, 06, 08, 10, 12] // Alt â™®2
    data[760] = [00, 01, 02, 04, 06, 08, 10, 12] // Alt â™­â™­3

    // 8 ENIGMATIC MINOR
    data[800] = [00, 01, 03, 04, 07, 10, 11, 12] // Enigmatic Minor
    data[810] = [00, 02, 05, 06, 09, 10, 11, 12] // Mode 2
    data[820] = [00, 03, 04, 07, 08, 09, 10, 12] // Mode 3
    data[830] = [00, 01, 04, 05, 06, 07, 09, 12] // Mode 4
    data[840] = [00, 03, 04, 05, 06, 08, 11, 12] // Mode 5
    data[850] = [00, 01, 02, 03, 05, 09, 10, 12] // Mode 6
    data[860] = [00, 01, 02, 04, 07, 08, 11, 12] // Mode 7

    // 9 ENIGMATIC
    data[900] = [00, 01, 04, 06, 08, 10, 11, 12] // Enigmatic
    data[910] = [00, 03, 05, 07, 09, 10, 11, 12] // Mode 2
    data[920] = [00, 02, 04, 06, 07, 08, 09, 12] // Mela Kantamani
    data[930] = [00, 02, 04, 05, 06, 07, 10, 12] // Mode 4
    data[940] = [00, 02, 03, 04, 05, 08, 11, 12] // Mode 5
    data[950] = [00, 01, 02, 03, 06, 08, 10, 12] // Mode 6
    data[960] = [00, 01, 02, 05, 07, 09, 11, 12] // Mela Manavati

    ////////// BANK 2 //////////
    // 10 MAJOR PENTATONIC
    data1[000] = [00, 02, 04, 07, 09, 12] // Major Pentatonic
    data1[010] = [00, 02, 05, 07, 10, 12] // Egyptian Pentatonic
    data1[020] = [00, 03, 05, 08, 10, 12] // Man Gong
    data1[030] = [00, 02, 05, 07, 09, 12] // Scottish Pentatonic (Yo)
    data1[040] = [00, 03, 05, 07, 10, 12] // Minor Pentatonic

    // 11 KUMOI PENTATONIC
    data1[100] = [00, 02, 03, 07, 09, 12] // Kumoi
    data1[110] = [00, 01, 05, 07, 10, 12] // Insen
    data1[120] = [00, 04, 06, 09, 11, 12] // Raga Hindol
    data1[130] = [00, 02, 05, 07, 08, 12] // Han-Kumoi
    data1[140] = [00, 03, 05, 06, 10, 12] // Raga Jayakauns

    // 12 HIROJOSHI PENTATONIC
    data1[200] = [00, 02, 03, 07, 08, 12] // Hirojoshi
    data1[210] = [00, 01, 05, 06, 10, 12] // Iwato
    data1[220] = [00, 04, 05, 09, 11, 12] // Raga Bhinna Shadja
    data1[230] = [00, 01, 05, 07, 08, 12] // In
    data1[240] = [00, 04, 06, 07, 11, 12] // Lydian Pentatonic

    // 13 RAGA CHHAYA TODI PENTATONIC
    data1[300] = [00, 01, 03, 06, 08, 12] // Raga Chhaya Todi
    data1[310] = [00, 02, 05, 07, 11, 12] // Raga Desh
    data1[320] = [00, 03, 05, 09, 10, 12] // Raga Chandrakauns
    data1[330] = [00, 02, 06, 07, 09, 12] // Raga Shri Kalyan
    data1[340] = [00, 04, 05, 07, 10, 12] // Raga Savethri

    // 14 PELOG
    data1[400] = [00, 01, 03, 04, 07, 08, 12] // Pelog
    data1[410] = [00, 02, 03, 06, 07, 11, 12] // Raga Amarasenapriya
    data1[420] = [00, 01, 04, 05, 09, 10, 12] // Raga Rudra Pancama
    data1[430] = [00, 03, 04, 08, 09, 11, 12] // Mode 4
    data1[440] = [00, 01, 05, 06, 08, 09, 12] // Mode 5
    data1[450] = [00, 04, 05, 07, 08, 11, 12] // Raga Paraju

    // 15 SCRIABIN’S PROMETHEUS
    data1[500] = [00, 02, 04, 06, 09, 10, 12] // Scriabin’s Prometheus
    data1[510] = [00, 02, 04, 07, 08, 10, 12] // Bythimic
    data1[520] = [00, 02, 05, 06, 08, 10, 12] // Padimic
    data1[530] = [00, 03, 04, 06, 08, 10, 12] // Boptimic
    data1[540] = [00, 01, 03, 05, 07, 09, 12] // Stogimic
    data1[550] = [00, 02, 04, 06, 08, 11, 12] // Eskimo Hexatonic 2

    // 16 CHROMATIC HYPOLYDIAN
    data1[600] = [00, 01, 04, 06, 07, 08, 11, 12] // Chromatic Hypolydian
    data1[610] = [00, 03, 05, 06, 07, 10, 11, 12] // Chromatic Hypophrygian
    data1[620] = [00, 02, 03, 04, 07, 08, 09, 12] // Chromatic Hypodorian
    data1[630] = [00, 01, 02, 05, 06, 07, 10, 12] // Chromatic Mixolydian
    data1[640] = [00, 01, 04, 05, 06, 09, 11, 12] // Chromatic Lydian
    data1[650] = [00, 03, 04, 05, 08, 10, 11, 12] // Chromatic Phrygian
    data1[660] = [00, 01, 02, 05, 07, 08, 09, 12] // Chromatic Dorian

    // 17 IONIAN b5
    data1[700] = [00, 02, 04, 05, 06, 09, 11, 12] // Ionian â™­5
    data1[710] = [00, 02, 03, 04, 07, 09, 10, 12] // Dorian â™­4
    data1[720] = [00, 01, 02, 04, 07, 08, 10, 12] // Phrygian â™­â™­3
    data1[730] = [00, 01, 04, 06, 07, 09, 11, 12] // Lydian â™­2
    data1[740] = [00, 03, 05, 06, 08, 10, 11, 12] // Super Lydian Augmented
    data1[750] = [00, 02, 03, 05, 07, 08, 09, 12] // Aeolian â™­â™­7
    data1[760] = [00, 01, 03, 05, 06, 07, 10, 12] // Locrian â™­â™­6

    // 18 LOCRIAN 7
    data1[800] = [00, 01, 03, 05, 06, 08, 11, 12] // Locrian â™®7
    data1[810] = [00, 02, 04, 05, 07, 10, 11, 12] // Ionian ♯6
    data1[820] = [00, 02, 03, 05, 08, 09, 10, 12] // Dorian Augmented
    data1[830] = [00, 01, 03, 06, 07, 08, 10, 12] // Phrygian ♯4
    data1[840] = [00, 01, 05, 06, 07, 09, 11, 12] // Lydian ♯3
    data1[850] = [00, 03, 04, 05, 07, 09, 10, 12] // Dominant ♯2
    data1[860] = [00, 01, 02, 04, 06, 07, 09, 12] // Alt Alt

    // 19 CHROMATIC HYPOPHRYGIAN INVERSE
    data1[900] = [00, 01, 02, 05, 06, 07, 09, 12] // Chromatic Hypophrigian Inverse
    data1[910] = [00, 01, 04, 05, 06, 08, 11, 12] // Raga Lalita
    data1[920] = [00, 03, 04, 05, 07, 10, 11, 12] // Mela Calanata
    data1[930] = [00, 01, 02, 04, 07, 08, 09, 12] // Chromatic Phrygian Inverse
    data1[940] = [00, 01, 03, 06, 07, 08, 11, 12] // Todi That
    data1[950] = [00, 02, 05, 06, 07, 09, 11, 12] // Chromatic Mixolydian Inverse
    data1[960] = [00, 03, 04, 05, 07, 10, 10, 12] // Chromatic Hypodorian Inverse

    ////////// BANK 3 //////////
    // 20 TRIADS AND 7th CHORDS
    data2[000] = [00, 04, 07, 12] // Major Triad
    data2[010] = [00, 03, 07, 12] // Minor Triad
    data2[020] = [00, 04, 08, 12] // Augmented Triad
    data2[030] = [00, 03, 06, 12] // Diminished Triad
    data2[040] = [00, 04, 07, 11, 12] // Major 7th Chord
    data2[050] = [00, 03, 07, 10, 12] // Minor 7th Chord
    data2[060] = [00, 04, 07, 10, 12] // Dominant 7th Chord
    data2[070] = [00, 03, 06, 09, 12] // Diminished 7th Chord
    data2[080] = [00, 03, 06, 10, 12] // Half Diminshed Chord
    data2[090] = [00, 04, 08, 10, 12] // Augmented 7th Chord

    // 21 SYMETRICAL SCALES
    data2[100] = [00, 12] // Octave
    data2[110] = [00, 06, 12] // Octave ÷ 2 (Tritone)
    data2[120] = [00, 04, 08, 12] // Octave ÷ 3 (Augmented Triad)
    data2[130] = [00, 03, 06, 09, 12] // Octave ÷ 4 (Diminished Chord)
    data2[140] = [00, 02, 04, 06, 08, 10, 12] // Octave ÷ 6 (Whole Tone)
    data2[150] = [00, 02, 03, 05, 06, 08, 09, 11, 12] // WH Diminished
    data2[160] = [00, 01, 03, 04, 06, 07, 09, 10, 12] // HW Diminished
    data2[170] = [00, 03, 04, 07, 08, 11, 12] // Augmented
    data2[180] = [00, 01, 04, 05, 08, 09, 12] // Augmented Mode 2

    // 22 DOMINANT SUS
    data2[200] = [00, 02, 05, 07, 08, 10, 12] // Dominant Sus
    data2[210] = [00, 03, 05, 07, 08, 10, 12] // Mode 2
    data2[220] = [00, 02, 04, 05, 07, 08, 12] // Raga Suddha Bangala
    data2[230] = [00, 02, 03, 05, 07, 10, 12] // Raga Gandharavam
    data2[240] = [00, 01, 03, 05, 08, 10, 12] // Raga Mruganandana
    data2[250] = [00, 02, 04, 07, 09, 11, 12] // Mode 6

    // 23 BLUES SCALE
    data2[300] = [00, 03, 05, 06, 07, 10, 12] // Blues Scale
    data2[310] = [00, 02, 03, 04, 07, 09, 12] // Country Scale
    data2[320] = [00, 01, 02, 05, 07, 10, 12] // Pyrimic
    data2[320] = [00, 01, 04, 06, 09, 11, 12] // Raga Hamsanandi
    data2[330] = [00, 03, 05, 08, 10, 11, 12] // Mixolimic
    data2[340] = [00, 02, 05, 07, 08, 09, 12] // Dadimic

    // 24 BEBOP MAJOR
    data2[400] = [00, 02, 04, 05, 07, 08, 09, 11, 12] // Bebop Major
    data2[410] = [00, 02, 03, 05, 06, 07, 09, 10, 12] // Mode 2
    data2[420] = [00, 01, 03, 04, 05, 07, 08, 10, 12] // Mode 3
    data2[430] = [00, 02, 03, 04, 06, 07, 09, 11, 12] // Mode 3
    data2[440] = [00, 01, 02, 04, 05, 07, 09, 10, 12] // Mode 5
    data2[450] = [00, 01, 03, 04, 06, 08, 09, 11, 12] // Mode 6
    data2[460] = [00, 02, 03, 05, 07, 08, 10, 11, 12] // Mode 7
    data2[470] = [00, 01, 03, 05, 06, 08, 09, 10, 12] // Mode 8

    // 25 BEBOP DORIAN
    data2[500] = [00, 02, 03, 05, 07, 09, 10, 11, 12] // Bebop Dorian
    data2[510] = [00, 01, 03, 05, 07, 08, 09, 10, 12] // Mode 2
    data2[520] = [00, 02, 04, 06, 07, 08, 09, 11, 12] // Mode 3
    data2[530] = [00, 02, 04, 05, 06, 07, 09, 10, 12] // Mode 3
    data2[540] = [00, 02, 03, 04, 05, 07, 08, 10, 12] // Mode 5
    data2[550] = [00, 01, 02, 03, 05, 06, 08, 10, 12] // Mode 6
    data2[560] = [00, 01, 02, 04, 05, 07, 09, 11, 12] // Mode 7
    data2[570] = [00, 01, 03, 04, 06, 08, 10, 11, 12] // Mode 8

    // 26 BEBOP DOMINANT
    data2[600] = [00, 02, 04, 05, 07, 09, 10, 11, 12] // Bebop Dominant
    data2[610] = [00, 02, 03, 05, 07, 08, 09, 10, 12] // Bebop Minor
    data2[620] = [00, 01, 03, 05, 06, 07, 08, 10, 12] // Bebop Locrian Add 5
    data2[630] = [00, 02, 04, 05, 06, 07, 09, 11, 12] // Mode 3
    data2[640] = [00, 02, 03, 04, 05, 07, 09, 10, 12] // Mode 5
    data2[650] = [00, 01, 02, 03, 05, 07, 08, 10, 12] // Mode 6
    data2[660] = [00, 01, 02, 04, 06, 07, 09, 11, 12] // Mode 7
    data2[670] = [00, 01, 03, 05, 06, 08, 10, 11, 12] // Mode 8

    // 27 BEBOP LOCRIAN 2
    data2[700] = [00, 02, 03, 05, 06, 08, 10, 11, 12] // Bebop Locrian 2
    data2[710] = [00, 01, 03, 04, 06, 08, 09, 10, 12] // Mode 2
    data2[720] = [00, 02, 03, 05, 07, 08, 09, 11, 12] // Mode 3
    data2[730] = [00, 01, 03, 05, 06, 07, 09, 10, 12] // Mode 3
    data2[740] = [00, 02, 04, 05, 06, 08, 09, 11, 12] // Mode 5
    data2[750] = [00, 02, 03, 04, 06, 07, 09, 10, 12] // Mode 6
    data2[760] = [00, 01, 02, 04, 05, 07, 08, 10, 12] // Mode 7
    data2[770] = [00, 01, 03, 04, 06, 07, 09, 11, 12] // Mode 8

    // 28 EIGHT TONE SPANISH
    data2[800] = [00, 01, 03, 04, 05, 06, 08, 10, 12] // 8 Tone Spanish
    data2[810] = [00, 02, 03, 04, 05, 07, 09, 11, 12] // Mode 2
    data2[820] = [00, 01, 02, 03, 05, 07, 09, 10, 12] // Mode 3
    data2[830] = [00, 01, 02, 04, 06, 08, 09, 11, 12] // Mode 4
    data2[840] = [00, 01, 03, 05, 07, 08, 10, 11, 12] // Mode 5
    data2[850] = [00, 02, 04, 06, 07, 09, 10, 11, 12] // Mode 6
    data2[860] = [00, 02, 04, 05, 07, 08, 09, 10, 12] // Mode 7
    data2[870] = [00, 02, 03, 05, 06, 07, 08, 10, 12] // Mode 8

    // 29 BLUES NONATONIC
    data2[900] = [00, 02, 03, 04, 05, 07, 09, 10, 11, 12] // Blues Nonatonic
    data2[910] = [00, 01, 02, 03, 05, 07, 08, 09, 10, 12] // Diatonic Dorian Mixed
    data2[920] = [00, 01, 02, 04, 06, 07, 08, 09, 11, 12] // Mode 3
    data2[930] = [00, 01, 03, 05, 06, 07, 08, 10, 11, 12] // Mode 4
    data2[940] = [00, 02, 04, 05, 06, 07, 09, 10, 11, 12] // Taishikicho
    data2[950] = [00, 02, 03, 04, 05, 07, 08, 09, 10, 12] // Houseini
    data2[960] = [00, 01, 02, 03, 05, 06, 07, 08, 10, 12] // Locrian/Aeolian Mixed
    data2[970] = [00, 01, 02, 04, 05, 06, 07, 09, 11, 12] // Mode 8
    data2[980] = [00, 01, 03, 04, 05, 06, 08, 10, 11, 12] // Mode 9

  • herrproff on said:

    I have an akai programmable pad controller, if I wanted to use programs 8 or 9, what notes should I program my pads to? I was thinking just do it to chromatic c, but its a half step flat.

  • herrproff on said:

    Nevermind! Got it sorted! ^

  • Leave a Reply