Class: HeadMusic::Style::Guides::SecondSpeciesHarmony

Inherits:
Object
  • Object
show all
Defined in:
lib/head_music/style/guides/second_species_harmony.rb

Overview

Rules for second species harmony

Constant Summary collapse

RULESET =
[
  HeadMusic::Style::Guidelines::ApproachPerfectionContrarily,
  HeadMusic::Style::Guidelines::AvoidCrossingVoices,
  HeadMusic::Style::Guidelines::AvoidOverlappingVoices,
  HeadMusic::Style::Guidelines::ConsonantDownbeats,
  HeadMusic::Style::Guidelines::NoParallelPerfectAcrossBarline,
  HeadMusic::Style::Guidelines::NoParallelPerfectOnDownbeats,
  HeadMusic::Style::Guidelines::NoStrongBeatUnisons,
  HeadMusic::Style::Guidelines::PreferContraryMotion,
  HeadMusic::Style::Guidelines::PreferImperfect,
  HeadMusic::Style::Guidelines::WeakBeatDissonanceTreatment
].freeze

Class Method Summary collapse

Class Method Details

.analyze(voice) ⇒ Object



19
20
21
# File 'lib/head_music/style/guides/second_species_harmony.rb', line 19

def self.analyze(voice)
  RULESET.map { |rule| rule.new(voice) }
end