Class: Musa::Scales::DorianScaleKind

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

Overview

Dorian mode (second mode of major scale).

DorianScaleKind defines the Dorian mode, a minor mode with a characteristic raised sixth degree. It's built on the second degree of the major scale and has a brighter, more hopeful quality than natural minor.

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)
  • iv (subdominant): Perfect fourth (5 semitones)
  • v (dominant): Perfect fifth (7 semitones)
  • vi (submediant): Major sixth (9 semitones) ← CHARACTERISTIC
  • vii (subtonic): Minor seventh (10 semitones)

Key Difference from Natural Minor

The vi degree is raised from 8 semitones (minor sixth) to 9 semitones (major sixth), creating:

  • A brighter, less melancholic minor quality
  • The characteristic "Dorian color"
  • Common in jazz, folk, and rock music

Musical Character

The Dorian mode:

  • Maintains minor quality (minor third)
  • Has a raised 6th that adds brightness
  • Common in jazz improvisation (ii-V-I progressions)
  • Used extensively in modal jazz and Celtic music

Usage

d_dorian = Scales[:et12][440.0][:dorian][62]
d_dorian.tonic   # D (62)
d_dorian.vi      # B (71) - major sixth (characteristic)

Constant Summary collapse

@@pitches =
[{ functions: %i[i _1 tonic first],
pitch: 0 },
             { functions: %i[ii _2 supertonic second],
pitch: 2 },
             { 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: 9 },
             { functions: %i[vii _7 subtonic seventh],
pitch: 10 },
             { functions: %i[viii _8 eighth],
pitch: 12 },
             { functions: %i[ix _9 ninth],
pitch: 12 + 2 },
             { 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 + 9 }].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/dorian_scale_kind.rb', line 97

def grades
  7
end

.idSymbol

Scale kind identifier.

Returns:

  • (Symbol)

    :dorian



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

def id
  :dorian
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/dorian_scale_kind.rb', line 91

def pitches
  @@pitches
end