Module: MTK::Lang::Intervals
- Extended by:
- PseudoConstants
- Defined in:
- lib/mtk/lang/intervals.rb
Overview
Defines a constant for Core::Intervals up to an octave using diatonic naming conventions
Naming conventions
P#: perfect interval
M#: major interval
m#: minor interval
TT: tritone
a#: augmented interval
d#: diminished interval
These can be thought of like constants, but in order to support the lower case names, it was necessary to define them as “pseudo constant” methods. Like constants, these methods are available either through the module (MTK::Lang::Intervals::m2) or via mixin (include MTK::Lang::Intervals; m2). They are listed under the “Instance Attribute Summary” of this page.
Constant Summary collapse
- INTERVALS =
All “psuedo constants” defined in this module
[P1, d2, m2, a1, M2, d3, m3, a2, M3, d4, P4, a3, TT, a4, d5, P5, d6, m6, a5, M6, d7, m7, a6, M7, d8, P8, a7].freeze
- INTERVAL_NAMES =
The names of all “psuedo constants” defined in this module
MTK::Core::Interval::ALL_NAMES
Instance Attribute Summary collapse
-
#a1 ⇒ MTK::Core::Interval
readonly
augmented unison: 1 semitones.
-
#a2 ⇒ MTK::Core::Interval
readonly
augmented second: 3 semitones.
-
#a3 ⇒ MTK::Core::Interval
readonly
augmented third: 5 semitones.
-
#a4 ⇒ MTK::Core::Interval
readonly
augmented fourth: 6 semitones.
-
#a5 ⇒ MTK::Core::Interval
readonly
augmented fifth: 8 semitones.
-
#a6 ⇒ MTK::Core::Interval
readonly
augmented sixth: 10 semitones.
-
#a7 ⇒ MTK::Core::Interval
readonly
augmented seventh: 12 semitones.
-
#d2 ⇒ MTK::Core::Interval
readonly
diminished second: 0 semitones.
-
#d3 ⇒ MTK::Core::Interval
readonly
diminished third: 2 semitones.
-
#d4 ⇒ MTK::Core::Interval
readonly
diminished fourth: 4 semitones.
-
#d5 ⇒ MTK::Core::Interval
readonly
diminished fifth: 6 semitones.
-
#d6 ⇒ MTK::Core::Interval
readonly
diminished sixth: 7 semitones.
-
#d7 ⇒ MTK::Core::Interval
readonly
diminished seventh: 9 semitones.
-
#d8 ⇒ MTK::Core::Interval
readonly
diminished octave: 11 semitones.
-
#m2 ⇒ MTK::Core::Interval
readonly
minor second: 1 semitones.
-
#M2 ⇒ MTK::Core::Interval
readonly
major second: 2 semitones.
-
#m3 ⇒ MTK::Core::Interval
readonly
minor third: 3 semitones.
-
#M3 ⇒ MTK::Core::Interval
readonly
major third: 4 semitones.
-
#M6 ⇒ MTK::Core::Interval
readonly
major sixth: 9 semitones.
-
#m6 ⇒ MTK::Core::Interval
readonly
minor sixth: 8 semitones.
-
#M7 ⇒ MTK::Core::Interval
readonly
major seventh: 11 semitones.
-
#m7 ⇒ MTK::Core::Interval
readonly
minor seventh: 10 semitones.
-
#P1 ⇒ MTK::Core::Interval
readonly
perfect unison: 0 semitones.
-
#P4 ⇒ MTK::Core::Interval
readonly
perfect fourth: 5 semitones.
-
#P5 ⇒ MTK::Core::Interval
readonly
perfect fifth: 7 semitones.
-
#P8 ⇒ MTK::Core::Interval
readonly
perfect octave: 12 semitones.
-
#TT ⇒ MTK::Core::Interval
readonly
tritone: 6 semitones.
Method Summary
Methods included from PseudoConstants
Instance Attribute Details
#a1 ⇒ MTK::Core::Interval (readonly)
augmented unison: 1 semitones
45 |
# File 'lib/mtk/lang/intervals.rb', line 45 define_interval 'a1', MTK::Core::Interval[1], 'augmented unison', 1 |
#a2 ⇒ MTK::Core::Interval (readonly)
augmented second: 3 semitones
59 |
# File 'lib/mtk/lang/intervals.rb', line 59 define_interval 'a2', MTK::Core::Interval[3], 'augmented second', 3 |
#a3 ⇒ MTK::Core::Interval (readonly)
augmented third: 5 semitones
73 |
# File 'lib/mtk/lang/intervals.rb', line 73 define_interval 'a3', MTK::Core::Interval[5], 'augmented third', 5 |
#a4 ⇒ MTK::Core::Interval (readonly)
augmented fourth: 6 semitones
82 |
# File 'lib/mtk/lang/intervals.rb', line 82 define_interval 'a4', MTK::Core::Interval[6], 'augmented fourth', 6 |
#a5 ⇒ MTK::Core::Interval (readonly)
augmented fifth: 8 semitones
100 |
# File 'lib/mtk/lang/intervals.rb', line 100 define_interval 'a5', MTK::Core::Interval[8], 'augmented fifth', 8 |
#a6 ⇒ MTK::Core::Interval (readonly)
augmented sixth: 10 semitones
114 |
# File 'lib/mtk/lang/intervals.rb', line 114 define_interval 'a6', MTK::Core::Interval[10], 'augmented sixth', 10 |
#a7 ⇒ MTK::Core::Interval (readonly)
augmented seventh: 12 semitones
128 |
# File 'lib/mtk/lang/intervals.rb', line 128 define_interval 'a7', MTK::Core::Interval[12], 'augmented seventh', 12 |
#d2 ⇒ MTK::Core::Interval (readonly)
diminished second: 0 semitones
38 |
# File 'lib/mtk/lang/intervals.rb', line 38 define_interval 'd2', MTK::Core::Interval[0], 'diminished second', 0 |
#d3 ⇒ MTK::Core::Interval (readonly)
diminished third: 2 semitones
52 |
# File 'lib/mtk/lang/intervals.rb', line 52 define_interval 'd3', MTK::Core::Interval[2], 'diminished third', 2 |
#d4 ⇒ MTK::Core::Interval (readonly)
diminished fourth: 4 semitones
66 |
# File 'lib/mtk/lang/intervals.rb', line 66 define_interval 'd4', MTK::Core::Interval[4], 'diminished fourth', 4 |
#d5 ⇒ MTK::Core::Interval (readonly)
diminished fifth: 6 semitones
86 |
# File 'lib/mtk/lang/intervals.rb', line 86 define_interval 'd5', MTK::Core::Interval[6], 'diminished fifth', 6 |
#d6 ⇒ MTK::Core::Interval (readonly)
diminished sixth: 7 semitones
93 |
# File 'lib/mtk/lang/intervals.rb', line 93 define_interval 'd6', MTK::Core::Interval[7], 'diminished sixth', 7 |
#d7 ⇒ MTK::Core::Interval (readonly)
diminished seventh: 9 semitones
107 |
# File 'lib/mtk/lang/intervals.rb', line 107 define_interval 'd7', MTK::Core::Interval[9], 'diminished seventh', 9 |
#d8 ⇒ MTK::Core::Interval (readonly)
diminished octave: 11 semitones
121 |
# File 'lib/mtk/lang/intervals.rb', line 121 define_interval 'd8', MTK::Core::Interval[11], 'diminished octave', 11 |
#m2 ⇒ MTK::Core::Interval (readonly)
minor second: 1 semitones
42 |
# File 'lib/mtk/lang/intervals.rb', line 42 define_interval 'm2', MTK::Core::Interval[1], 'minor second', 1 |
#M2 ⇒ MTK::Core::Interval (readonly)
major second: 2 semitones
49 |
# File 'lib/mtk/lang/intervals.rb', line 49 define_interval 'M2', MTK::Core::Interval[2], 'major second', 2 |
#m3 ⇒ MTK::Core::Interval (readonly)
minor third: 3 semitones
56 |
# File 'lib/mtk/lang/intervals.rb', line 56 define_interval 'm3', MTK::Core::Interval[3], 'minor third', 3 |
#M3 ⇒ MTK::Core::Interval (readonly)
major third: 4 semitones
63 |
# File 'lib/mtk/lang/intervals.rb', line 63 define_interval 'M3', MTK::Core::Interval[4], 'major third', 4 |
#M6 ⇒ MTK::Core::Interval (readonly)
major sixth: 9 semitones
104 |
# File 'lib/mtk/lang/intervals.rb', line 104 define_interval 'M6', MTK::Core::Interval[9], 'major sixth', 9 |
#m6 ⇒ MTK::Core::Interval (readonly)
minor sixth: 8 semitones
97 |
# File 'lib/mtk/lang/intervals.rb', line 97 define_interval 'm6', MTK::Core::Interval[8], 'minor sixth', 8 |
#M7 ⇒ MTK::Core::Interval (readonly)
major seventh: 11 semitones
118 |
# File 'lib/mtk/lang/intervals.rb', line 118 define_interval 'M7', MTK::Core::Interval[11], 'major seventh', 11 |
#m7 ⇒ MTK::Core::Interval (readonly)
minor seventh: 10 semitones
111 |
# File 'lib/mtk/lang/intervals.rb', line 111 define_interval 'm7', MTK::Core::Interval[10], 'minor seventh', 10 |
#P1 ⇒ MTK::Core::Interval (readonly)
perfect unison: 0 semitones
35 |
# File 'lib/mtk/lang/intervals.rb', line 35 define_interval 'P1', MTK::Core::Interval[0], 'perfect unison', 0 |
#P4 ⇒ MTK::Core::Interval (readonly)
perfect fourth: 5 semitones
70 |
# File 'lib/mtk/lang/intervals.rb', line 70 define_interval 'P4', MTK::Core::Interval[5], 'perfect fourth', 5 |
#P5 ⇒ MTK::Core::Interval (readonly)
perfect fifth: 7 semitones
90 |
# File 'lib/mtk/lang/intervals.rb', line 90 define_interval 'P5', MTK::Core::Interval[7], 'perfect fifth', 7 |
#P8 ⇒ MTK::Core::Interval (readonly)
perfect octave: 12 semitones
125 |
# File 'lib/mtk/lang/intervals.rb', line 125 define_interval 'P8', MTK::Core::Interval[12], 'perfect octave', 12 |
#TT ⇒ MTK::Core::Interval (readonly)
tritone: 6 semitones
78 |
# File 'lib/mtk/lang/intervals.rb', line 78 define_interval 'TT', MTK::Core::Interval[6], 'tritone', 6 |