Class: Musa::Scales::PhrygianScaleKind

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

Overview

Phrygian mode (third mode of major scale).

PhrygianScaleKind defines the Phrygian mode, a minor mode with a characteristic lowered second degree. It's built on the third degree of the major scale and has a dark, exotic, Spanish/Middle Eastern quality.

Pitch Structure

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

Scale Degrees (Roman numerals, lowercase for minor):

  • 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): Perfect fifth (7 semitones)
  • vi (submediant): Minor sixth (8 semitones)
  • vii (subtonic): Minor seventh (10 semitones)

Key Difference from Natural Minor

The ii degree is lowered from 2 semitones (major second) to 1 semitone (minor second), creating:

  • A dark, exotic quality
  • The characteristic "Phrygian color"
  • Strong association with Spanish/Flamenco music

Musical Character

The Phrygian mode:

  • Maintains minor quality (minor third)
  • Has a lowered 2nd that creates tension
  • Common in flamenco, metal, and Middle Eastern music
  • The half-step from ii to i creates strong resolution

Usage

e_phrygian = Scales[:et12][440.0][:phrygian][64]
e_phrygian.tonic  # E (64)
e_phrygian.ii     # F (65) - minor second (characteristic)

Constant Summary collapse

@@pitches =
[{ 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: 7 },
             { 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 + 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

.gradesInteger

Number of diatonic degrees.

Returns:

  • (Integer)

    7



97
98
99
# File 'lib/musa-dsl/music/scale_kinds/modes/phrygian_scale_kind.rb', line 97

def grades
  7
end

.idSymbol

Scale kind identifier.

Returns:

  • (Symbol)

    :phrygian



103
104
105
# File 'lib/musa-dsl/music/scale_kinds/modes/phrygian_scale_kind.rb', line 103

def id
  :phrygian
end

.pitchesArray<Hash>

Pitch structure.

Returns:

  • (Array<Hash>)

    pitch definitions with functions and offsets



91
92
93
# File 'lib/musa-dsl/music/scale_kinds/modes/phrygian_scale_kind.rb', line 91

def pitches
  @@pitches
end