Class: Musa::Scales::HarmonicMajorScaleKind Private

Inherits:
ScaleKind show all
Defined in:
lib/musa-dsl/music/scale_kinds/harmonic_major/harmonic_major_scale_kind.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Harmonic major scale kind.

HarmonicMajorScaleKind defines the harmonic major scale, a major scale with a lowered sixth degree. It creates an augmented second between the sixth and seventh degrees, similar to harmonic minor but in a major context.

Pitch Structure

7 diatonic degrees plus extended harmony:

Scale Degrees (uppercase for major quality):

  • I (tonic): Root (0 semitones)
  • II (supertonic): Major second (2 semitones)
  • III (mediant): Major third (4 semitones)
  • IV (subdominant): Perfect fourth (5 semitones)
  • V (dominant): Perfect fifth (7 semitones)
  • VI (submediant): Minor sixth (8 semitones) ← CHARACTERISTIC (b6)
  • VII (leading): Major seventh (11 semitones)

Key Feature

The augmented second between b6 and natural 7 creates an exotic interval similar to harmonic minor, but in a major key context.

Musical Character

The harmonic major scale:

  • Major quality with exotic coloring
  • Augmented second (b6 to 7) adds drama
  • Used in classical, jazz, and film music
  • Creates unique diminished chord on bVI

Usage

c_harm_maj = Scales[:et12][440.0][:major_harmonic][60]
c_harm_maj.tonic    # C (60)
c_harm_maj.VI       # Ab (68) - minor sixth
c_harm_maj.leading  # B (71) - major seventh
# Ab to B = augmented second (3 semitones)

Constant Summary collapse

@@pitches =

This classvariable is part of a private API. You should avoid using this classvariable if possible, as it may be removed or be changed in the future.

[{ functions: %i[I _1 tonic first],
pitch: 0 },
             { functions: %i[II _2 supertonic second],
pitch: 2 },
             { functions: %i[III _3 mediant third],
pitch: 4 },
             { functions: %i[IV _4 subdominant fourth],
pitch: 5 },
             { functions: %i[V _5 dominant fifth],
pitch: 7 },
             { functions: %i[VI _6 submediant sixth],
pitch: 8 },
             { functions: %i[VII _7 leading seventh],
pitch: 11 },
             { functions: %i[VIII _8 eighth],
pitch: 12 },
             { functions: %i[IX _9 ninth],
pitch: 12 + 2 },
             { functions: %i[X _10 tenth],
pitch: 12 + 4 },
             { functions: %i[XI _11 eleventh],
pitch: 12 + 5 },
             { functions: %i[XII _12 twelfth],
pitch: 12 + 7 },
             { functions: %i[XIII _13 thirteenth],
pitch: 12 + 8 }].freeze

Class Method Summary collapse

Constructor Details

This class inherits a constructor from Musa::Scales::ScaleKind

Class Method Details

.gradesObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



92
93
94
# File 'lib/musa-dsl/music/scale_kinds/harmonic_major/harmonic_major_scale_kind.rb', line 92

def grades
  7
end

.idObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



96
97
98
# File 'lib/musa-dsl/music/scale_kinds/harmonic_major/harmonic_major_scale_kind.rb', line 96

def id
  :major_harmonic
end

.pitchesObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



88
89
90
# File 'lib/musa-dsl/music/scale_kinds/harmonic_major/harmonic_major_scale_kind.rb', line 88

def pitches
  @@pitches
end