Class: Musa::Scales::MinorHarmonicScaleKind
- Defined in:
- lib/musa-dsl/music/equally-tempered-12-tone-scale-system.rb
Overview
Harmonic minor scale kind.
MinorHarmonicScaleKind defines the harmonic minor scale, a variation of the natural minor with a raised seventh degree. This creates a leading tone (major seventh) that resolves strongly to the tonic, giving the scale a more directed, dramatic character.
Pitch Structure
7 diatonic degrees plus extended harmony (8th-13th):
Scale Degrees (Roman numerals, lowercase for minor):
- i (tonic): Root (0 semitones)
- ii (supertonic): Major second (2 semitones)
- iii (mediant): Minor third (3 semitones, relative major)
- iv (subdominant): Perfect fourth (5 semitones)
- v (dominant): Perfect fifth (7 semitones)
- vi (submediant): Minor sixth (8 semitones)
- vii (leading): Major seventh (11 semitones) ← RAISED from natural minor
Extended degrees: viii-xiii (compound intervals)
Key Difference from Natural Minor
The vii degree is raised from 10 semitones (minor seventh) to 11 semitones (major seventh), creating:
- A leading tone that resolves strongly upward to the tonic
- An augmented second interval between vi and vii (3 semitones)
- A dominant seventh chord (v7) with strong resolution to i
Musical Character
The harmonic minor scale:
- Maintains minor quality (minor third)
- Provides strong dominant-to-tonic resolution
- Creates exotic sound due to augmented second (vi-vii)
- Common in classical, jazz, and Middle Eastern music
Function Aliases
Same as natural minor:
- Numeric: _1, _2, _3, _4, _5, _6, _7
- Roman: i, ii, iii, iv, v, vi, vii
- Function: tonic, supertonic, mediant, subdominant, dominant, submediant, leading
- Special: relative/relative_major for iii
Usage
a_harmonic_minor = Scales[:et12][440.0][:minor_harmonic][69]
a_harmonic_minor.vii # G# (80) - raised 7th, not G (79)
a_harmonic_minor.vi # F (77)
# Augmented second: F to G# = 3 semitones
Constant Summary collapse
- @@pitches =
{ functions: %i[i _1 tonic], pitch: 0 }, { functions: %i[ii _2 supertonic], pitch: 2 }, { functions: %i[iii _3 mediant relative relative_major], pitch: 3 }, { functions: %i[iv _4 subdominant], pitch: 5 }, { functions: %i[v _5 dominant], pitch: 7 }, { functions: %i[vi _6 submediant], pitch: 8 }, { functions: %i[vii _7 leading], pitch: 11 }, { functions: %i[viii _8], pitch: 12 }, { functions: %i[ix _9], pitch: 12 + 2 }, { functions: %i[x _10], pitch: 12 + 3 }, { functions: %i[xi _11], pitch: 12 + 5 }, { functions: %i[xii _12], pitch: 12 + 7 }, { functions: %i[xiii _13], pitch: 12 + 8 }].freeze
Class Method Summary collapse
-
.grades ⇒ Integer
Number of diatonic degrees.
-
.id ⇒ Symbol
Scale kind identifier.
-
.pitches ⇒ Array<Hash>
Pitch structure.
Constructor Details
This class inherits a constructor from Musa::Scales::ScaleKind
Class Method Details
.grades ⇒ Integer
Number of diatonic degrees.
509 510 511 |
# File 'lib/musa-dsl/music/equally-tempered-12-tone-scale-system.rb', line 509 def grades 7 end |
.id ⇒ Symbol
Scale kind identifier.
515 516 517 |
# File 'lib/musa-dsl/music/equally-tempered-12-tone-scale-system.rb', line 515 def id :minor_harmonic end |