class HeadMusic::Style::Guidelines::MostlyConjunct
A counterpoint guideline
Constants
- MESSAGE
- MINIMUM_CONJUNCT_PORTION
Public Instance Methods
marks()
click to toggle source
~38% Fux is 5/13 for lydian cantus firmus
# File lib/head_music/style/guidelines/mostly_conjunct.rb, line 14 def marks marks_for_skips_and_leaps if conjunct_ratio < MINIMUM_CONJUNCT_PORTION end
Private Instance Methods
conjunct_ratio()
click to toggle source
# File lib/head_music/style/guidelines/mostly_conjunct.rb, line 26 def conjunct_ratio return 1 if melodic_intervals.empty? melodic_intervals.count(&:step?).to_f / melodic_intervals.length end
marks_for_skips_and_leaps()
click to toggle source
# File lib/head_music/style/guidelines/mostly_conjunct.rb, line 20 def marks_for_skips_and_leaps melodic_intervals. reject(&:step?). map { |interval| HeadMusic::Style::Mark.for_all(interval.notes, fitness: HeadMusic::SMALL_PENALTY_FACTOR) } end