Class: Musa::Scales::LocrianScaleKind Private

Inherits:
ScaleKind show all
Defined in:
lib/musa-dsl/music/scale_kinds/modes/locrian_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.

Locrian mode (seventh mode of major scale).

LocrianScaleKind defines the Locrian mode, a diminished mode with a characteristic lowered second and fifth degrees. It's built on the seventh degree of the major scale and has an unstable, dissonant quality.

Pitch Structure

7 diatonic degrees plus extended harmony (8th-13th):

Scale Degrees (Roman numerals, lowercase for diminished):

  • i (tonic): Root (0 semitones)
  • ii (supertonic): Minor second (1 semitone) ← CHARACTERISTIC
  • iii (mediant): Minor third (3 semitones)
  • iv (subdominant): Perfect fourth (5 semitones)
  • v (dominant): Diminished fifth (6 semitones) ← CHARACTERISTIC
  • vi (submediant): Minor sixth (8 semitones)
  • vii (subtonic): Minor seventh (10 semitones)

Key Differences from Natural Minor

Two degrees are altered:

  • ii lowered from 2 to 1 semitone (minor second)
  • v lowered from 7 to 6 semitones (diminished fifth/tritone)

This creates:

  • A highly unstable, dissonant quality
  • No stable perfect fifth above the tonic
  • Rarely used as a tonal center

Musical Character

The Locrian mode:

  • Has diminished quality (minor third + diminished fifth)
  • The most unstable of the seven modes
  • Used sparingly, often for tension or dissonance
  • Common over half-diminished (m7b5) chords in jazz

Usage

b_locrian = Scales[:et12][440.0][:locrian][71]
b_locrian.tonic  # B (71)
b_locrian.ii     # C (72) - minor second (characteristic)
b_locrian.v      # F (77) - diminished fifth (characteristic)

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: 1 },
             { functions: %i[iii _3 mediant third],
pitch: 3 },
             { functions: %i[iv _4 subdominant fourth],
pitch: 5 },
             { functions: %i[v _5 dominant fifth],
pitch: 6 },
             { functions: %i[vi _6 submediant sixth],
pitch: 8 },
             { functions: %i[vii _7 subtonic seventh],
pitch: 10 },
             { functions: %i[viii _8 eighth],
pitch: 12 },
             { functions: %i[ix _9 ninth],
pitch: 12 + 1 },
             { functions: %i[x _10 tenth],
pitch: 12 + 3 },
             { functions: %i[xi _11 eleventh],
pitch: 12 + 5 },
             { functions: %i[xii _12 twelfth],
pitch: 12 + 6 },
             { 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

.gradesInteger

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.

Number of diatonic degrees.

Returns:

  • (Integer)

    7



100
101
102
# File 'lib/musa-dsl/music/scale_kinds/modes/locrian_scale_kind.rb', line 100

def grades
  7
end

.idSymbol

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.

Scale kind identifier.

Returns:

  • (Symbol)

    :locrian



106
107
108
# File 'lib/musa-dsl/music/scale_kinds/modes/locrian_scale_kind.rb', line 106

def id
  :locrian
end

.pitchesArray<Hash>

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.

Pitch structure.

Returns:

  • (Array<Hash>)

    pitch definitions with functions and offsets



94
95
96
# File 'lib/musa-dsl/music/scale_kinds/modes/locrian_scale_kind.rb', line 94

def pitches
  @@pitches
end