Class: Musa::Scales::BebopMinorScaleKind Private

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

Bebop minor scale kind.

BebopMinorScaleKind defines the bebop minor scale, an eight-note scale that adds a chromatic passing tone (major 7th) to the Dorian mode. This allows chord tones to fall on downbeats during eighth-note runs.

Pitch Structure

8 degrees plus extended:

Scale Degrees (lowercase for minor quality):

  • 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) ← DORIAN
  • vii (subtonic): Minor seventh (10 semitones)
  • vii# (leading): Major seventh (11 semitones) ← PASSING TONE

Bebop Principle

The added major 7th chromatic note ensures that:

  • Chord tones (1, b3, 5, b7) fall on strong beats
  • Non-chord tones fall on weak beats
  • Smooth chromatic connection from b7 to root

Musical Character

The bebop minor scale:

  • Used over minor 7th chords
  • Based on Dorian mode (bright minor)
  • Common in jazz ii-V-I progressions

Usage

d_bebop_min = Scales[:et12][440.0][:bebop_minor][62]
d_bebop_min[6].pitch  # C (72) - minor 7th
d_bebop_min[7].pitch  # C# (73) - major 7th (passing)
d_bebop_min[8].pitch  # D (74) - octave

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[vii# _8 leading eighth],
pitch: 11 },
             { functions: %i[viii _9 ninth],
pitch: 12 },
             { functions: %i[ix _10 tenth],
pitch: 12 + 2 },
             { functions: %i[x _11 eleventh],
pitch: 12 + 3 },
             { functions: %i[xi _12 twelfth],
pitch: 12 + 5 },
             { functions: %i[xii _13 thirteenth],
pitch: 12 + 7 },
             { functions: %i[xiii _14 fourteenth],
pitch: 12 + 9 },
             { functions: %i[xiv _15 fifteenth],
pitch: 12 + 10 },
             { functions: %i[xv _16 sixteenth],
pitch: 12 + 11 }].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.



98
99
100
# File 'lib/musa-dsl/music/scale_kinds/bebop/bebop_minor_scale_kind.rb', line 98

def grades
  8
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.



102
103
104
# File 'lib/musa-dsl/music/scale_kinds/bebop/bebop_minor_scale_kind.rb', line 102

def id
  :bebop_minor
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.



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

def pitches
  @@pitches
end