home *** CD-ROM | disk | FTP | other *** search
- #
- # scales.mh
- #
- # SCALE CONSTANTS
- #
- # Scales are defined by the following:
- # 1. a constant for the name which is used as an array index,
- # 2. 3 arrays. The first is used for scale size. The second and
- # third provide different ways of looking up a note.
- # Half-tone (chromatic) offsets are used in each case.
- #
- # Each scale is defined twice; i.e., there
- # are two forms of offset lookup tables.
- # The first table has the form of offsets in half-steps
- # from the base scale note; e.g.,
- # a major scale consists of 0,2,4,5 for the unison, major
- # second and major third.
- # The second table has the form of offsets from the last
- # scale note; e.g., a major scale consists of 0,2,2.., etc.
- #
- # These two arrays are referred to as
- # "baseScale" and "lastScale". With the first form
- # the note is calculated from the base note of the scale,
- # e.g.,
- # note = C + baseScale[IONIAN][FIFTH]
- #
- # The lastScale array permits easy access of the next
- # scale degree from the previous, e.g.,
- # nextnote = lastnote + baseScale[IONIAN][curindex]
- #
- # Functions:
- # riff printScale(scale) - print the string name of the scale
- #
-
- # church modes
- ##################################
- # major scale MAJOR
- MAJOR = 0
- IONIAN = 1
- # minor, jazzy
- DORIAN = 2
- # good with minor, major for flamenco
- PHRYGIAN = 3
- # good with major chord
- LYDIAN = 4
- # good with dominant 7th
- MIXOLYDIAN = 5
- # minor
- AEOLIAN = 6
- # minor,
- LOCRIAN = 7
-
- # classical minor
- ###################################
- PURE_MINOR = 8
- HARMONIC_MINOR = 9
- # major up in 6th and 7th , minor down
- MELODIC_MINOR_UP = 10
- MELODIC_MINOR_DOWN = 11
-
- # altered scales
- ###################################
-
- # this scale differs from the locrian in that
- # the "2nd" is not a minor 2nd but a major 2nd above the tonic
- # good with minor7b5.
- LOCRIAN_ON_SECOND = 12
- # goes with dominant chords, especially with b5, or #11.
- LYDIAN_DOMINANT = 13
- # altered dominant or diminished-whole tone scale. Chord
- # would have altered 5th or 9th. Starts out diminished and
- # then turns into a whole tone scale.
- SUPER_LOCRIAN = 14
- DIM = 15
- # diminished, blues, note minor third, minor fifth, possibly
- # minor chords and flatted fifth chords.
- DIMWHOLE = 16
- # dominant, polytonal implications, altered dominant as appropriate
- DIMHALF = 17
- # augmented or dom b five
- WHOLETONE = 18
- CHROMATIC = 19
- # pure minor blues
- BLUESONE = 20
- # minor and major 3rd in scale
- BLUESTWO = 21
- # could be more bluesy scales...
-
- # pentatonic scales
-
- # penta and pentaionian are the same
- #
- PENTA = 22
- PENTAIONIAN = 23
- PENTADORIAN = 24
- PENTAPHRYGIAN = 25
- PENTALYDIAN = 26
- PENTAAEOLIAN = 27
-
- NOSCALES = 28 # set to number of declared scales
- MAXNOTES = 15 # set to max of notes per scale
-
-