Class: HeadMusic::Style::Guides::SalzerSchachterCantusFirmus

Inherits:
SpeciesMelody show all
Defined in:
lib/head_music/style/guides/salzer_schachter_cantus_firmus.rb

Overview

Cantus firmus rules after Salzer & Schachter, Counterpoint in Composition (1969).

Constant Summary collapse

RULESET =
[
  *MELODIC_CORE,
  HeadMusic::Style::Guidelines::AlwaysMove,
  HeadMusic::Style::Guidelines::EndOnTonic,
  HeadMusic::Style::Guidelines::MinimumNotes.with(8),
  HeadMusic::Style::Guidelines::MaximumNotes.with(14),
  HeadMusic::Style::Guidelines::ModerateDirectionChanges,
  HeadMusic::Style::Guidelines::NoRests,
  HeadMusic::Style::Guidelines::NotesSameLength,
  HeadMusic::Style::Guidelines::PrepareOctaveLeaps,
  HeadMusic::Style::Guidelines::LargeLeaps.with(
    minimum: :perfect_fourth,
    recovery: %i[consonant_triad any_step repetition opposite_leap_within]
  ),
  HeadMusic::Style::Guidelines::StartOnTonic,
  HeadMusic::Style::Guidelines::StepToFinalNote
].freeze