Scales
scale
Interprets a pattern of note numbers into a particular named scale. For example:
scaleList
Outputs this list of all the available scales:
scaleTable
Outputs a list of all available scales and their corresponding notes. For
example, its first entry is ("minPent",[0,3,5,7,10]
) which means that
a minor pentatonic scale is formed by the root (0), the minor third (3 semitones
above the root), the perfect fourth (5 semitones above the root), etc.
As the list is big, you can use the Haskell function lookup to look up a
specific scale: lookup "phrygian" scaleTable
. This will output
Just [0.0,1.0,3.0,5.0,7.0,8.0,10.0]
.
You can also do a reverse lookup into the scale table. For example:
The above example will output all scales of which the first three notes are the root, the major second (2 semitones above the fundamental), and the major third (4 semitones above the root).
getScale
Build a scale function, with additional scales if you wish. For example:
The above takes the standard scaleTable
as a starting point and adds two custom scales to it. You’ll be able to use the new function in place of the normal one: