Class: HeadMusic::Style::Guides::SecondSpeciesHarmony
- Inherits:
-
Object
- Object
- HeadMusic::Style::Guides::SecondSpeciesHarmony
- 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 |