scalemode
Sets gi_CurrentScale to a mode from gi_SuperScale.
Syntax
Usage
The rationale here is that gi_SuperScale represents a chromatic scale, while gi_CurrentScale represents a mode (e.g. a major scale, or dorian mode) from the super scale.
Scalemode extracts a subset of scale degrees from isuperscalefn according to the intervals specified in iSuperscaleIntervalPattern. The result updates the global table gi_CurrentScale.
scalemode12andscalemode31are convenience wrappers aroundscalemodeto quickly set some common pre-populated modes from common scales.scalemode12can be used to set major or minor in 12edo.scalemode31can be used to set a variety of scale types in 31edo.
Globals
gi_CurrentScale (default="major") -- The table holding the current mode.
gi_SuperScale (default=gi_31edo) -- The table holding the 'chromatic' scale or temperament.
giTonic_ndx (default=0) -- the key centre.
Outputs and Arguments
isuperscalefn -- A function table containing parameters suitable for the Csound cpstun opcode. Typically this is set to gi_SuperScale.
ikeyctr -- the scale degree in isuperscalefn on which to base the calculation of iSuperscaleIntervalPattern. For example, setting ikeyctr as '5' for a isuperscalefn of 31edo, will create a scale in 'D' in gi_CurrentScale.
iSuperscaleIntervalPattern -- an array specifying intervals in isuperscalefn which create the resulting mode. The sum of this array should be equal to the number of grades in isuperscalefn
idestifn (optional, default=gi_CurrentScale) -- the table number updated with the resulting scale degrees.
imode (for scalemode12) -- 0 = chromatic, 1 = major, 2 = minor.
imode (for scalemode31) -- 0 = chromatic, 1 = major, 2 = minor, 3 = major with a harmonic 7th, 4 = minor with a harmonic 7th, 5 = diminished, 6 = neutral, 7 = Orwell[9]
Smode (for scalemode12) -- Strings can specify "chromatic", "major", "minor".
Smode (for scalemode31) -- Strings can specify "chromatic", "major", "minor", "M7", "m7", "dim", "neutral", "orwell", "harmonic"