Top Level Namespace
Defined Under Namespace
Modules: Archaeopteryx Classes: Array, Feigenbaum, InfiniteBeats, InfiniteStream, Struct
Constant Summary
- SCALE =
parts stolen from jvoorhis music.rb, idea partly original, partly jvoorhis-stolen also
{"C" => 0, "C#" => 1, "D" => 2, "D#" => 3, "E" => 4, "F" => 5, "F#" => 6, "G" => 7, "G#" => 8, "A" => 9, "A#" => 10, "B" => 11}
- OCTAVES =
assuming C major! this isn't quite right. we're not really representing notes here but positions in the scale.
{-1 => (0..11), # starting note is C-1 0 => (12..23), 1 => (24..35), 2 => (36..47), 3 => (48..59), 4 => (60..71), 5 => (72..83), 6 => (84..95), 7 => (96..107), 8 => (108..119), 9 => (120..127)}
- MINOR_7TH =
chords! this can also happen with scales!
[0, 2, 6, 9]
- MAJOR_7TH =
[0, 4, 7, 11]
- MAJOR_TRIAD =
[0,4,7]
- MAJOR_SCALE =
[0, 2, 4, 5, 7, 9, 11]
- MINOR_SCALE =
[0, 2, 3, 5, 7, 8, 10]
- CIRCLE_OF_FIFTHS =
higher-resolution nomenclature exists but I won't have time to use it
%w{C
- CIRCLE_OF_FOURTHS =
relative minor is always x + 3 this data structure is of course a ring
CIRCLE_OF_FIFTHS.reverse