Documentation ¶
Overview ¶
A Scale Interval is how the members of the scale are counted, from 1 (the "root") to e.g. 3 (the "third") or 5 (the "fifth")
It's possible to export a list of all known scale parsing rules.
Scales have different Modes, such as Triad, Seventh, Extended, Added/Omitted, Specific or General.
In music theory, a scale is any set of musical notes ordered by fundamental frequency or pitch.
https://en.wikipedia.org/wiki/Scale_(music)
A scale ordered by increasing pitch is an ascending scale, and a scale ordered by decreasing pitch is a descending scale. Some scales contain different pitches when ascending than when descending. For example, the Melodic minor scale.
Credit ¶
Charney Kaye <hi@charneykaye.com> https://charneykaye.com
XJ Music https://xj.io
Scales are expressed in readable strings, e.g. CMb5b7 or Cm679-5
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Interval ¶
type Interval int
Interval within a scale, counted from 1 (the "root" to e.g. 3 (the "third") or 5 (the "fifth") up to 16.
type Mode ¶
type Mode struct { Name string // contains filtered or unexported fields }
Mode is identified by positive/negative regular expressions, and then adds/removes pitch classes by interval from the root of the scale.
func (*Mode) MatchString ¶
MatchString processes the positive/negative regular expressions to determine if this mode matches a string.
type ModeIntervals ¶
type ModeIntervals []int
ModeAdd maps an interval-from-scale-root to a +/1 semitone adjustment