Class: Musa::Scales::DorianScaleKind Private

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

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 =

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: 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

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



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

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)

    :dorian



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

def id
  :dorian
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



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

def pitches
  @@pitches
end