head_music 11.7.0 → 11.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/head_music/style/guidelines/four_to_one.rb +90 -0
- data/lib/head_music/style/guidelines/third_species_dissonance_treatment.rb +165 -0
- data/lib/head_music/style/guides/third_species_harmony.rb +22 -0
- data/lib/head_music/style/guides/third_species_melody.rb +26 -0
- data/lib/head_music/version.rb +1 -1
- data/lib/head_music.rb +4 -0
- data/references/third-species-counterpoint.md +707 -0
- metadata +7 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2683c0fce1a231c327156e69951df7590f9ba507a08643d9838bb7c67371dc4d
|
|
4
|
+
data.tar.gz: 120a035414104720af26cf0cdada21785da646f8827f4354f37c12e45c263f89
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 78fd1c9698ae12bf14e9db26131f4d642b241251a9f50ce29aabcf7c631888c2a558572977ed9240e26719b5f7feea28dd1274c2e3985eec0f1c7a922af2c5b7
|
|
7
|
+
data.tar.gz: 236fd7f24ee4a4ad073cca5dae89da522b62ba8d34601d75d40523ad274b9c427d210f34e933e145c055f8485ff2c7a03d780fa967892340c2c4ec67c7c016f6
|
data/Gemfile.lock
CHANGED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# Module for style guidelines.
|
|
2
|
+
module HeadMusic::Style::Guidelines; end
|
|
3
|
+
|
|
4
|
+
# A counterpoint guideline
|
|
5
|
+
class HeadMusic::Style::Guidelines::FourToOne < HeadMusic::Style::Annotation
|
|
6
|
+
MESSAGE = "Use four quarter notes against each whole note in the cantus firmus."
|
|
7
|
+
|
|
8
|
+
QUARTER = HeadMusic::Rudiment::RhythmicValue.get(:quarter)
|
|
9
|
+
WHOLE = HeadMusic::Rudiment::RhythmicValue.get(:whole)
|
|
10
|
+
|
|
11
|
+
def marks
|
|
12
|
+
return [] unless cantus_firmus&.notes&.any?
|
|
13
|
+
|
|
14
|
+
cantus_firmus.notes.each_with_index.filter_map do |cf_note, index|
|
|
15
|
+
bar_number = cf_note.position.bar_number
|
|
16
|
+
if index == cantus_firmus.notes.length - 1
|
|
17
|
+
check_final_bar(bar_number)
|
|
18
|
+
elsif index == 0
|
|
19
|
+
check_first_bar(bar_number)
|
|
20
|
+
else
|
|
21
|
+
check_middle_bar(bar_number)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
private
|
|
27
|
+
|
|
28
|
+
def check_first_bar(bar_number)
|
|
29
|
+
bar_notes = notes_in_bar(bar_number)
|
|
30
|
+
bar_rests = rests_in_bar(bar_number)
|
|
31
|
+
return if four_quarter_notes?(bar_notes)
|
|
32
|
+
return if rest_then_three_quarter_notes?(bar_notes, bar_rests)
|
|
33
|
+
return if three_quarter_notes_after_downbeat?(bar_notes)
|
|
34
|
+
|
|
35
|
+
mark_bar(bar_number)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def check_middle_bar(bar_number)
|
|
39
|
+
bar_notes = notes_in_bar(bar_number)
|
|
40
|
+
return if four_quarter_notes?(bar_notes)
|
|
41
|
+
|
|
42
|
+
mark_bar(bar_number)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def check_final_bar(bar_number)
|
|
46
|
+
bar_notes = notes_in_bar(bar_number)
|
|
47
|
+
return if one_whole_note?(bar_notes)
|
|
48
|
+
|
|
49
|
+
mark_bar(bar_number)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def four_quarter_notes?(bar_notes)
|
|
53
|
+
bar_notes.length == 4 && bar_notes.all? { |n| n.rhythmic_value == QUARTER }
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def one_whole_note?(bar_notes)
|
|
57
|
+
bar_notes.length == 1 && bar_notes.first.rhythmic_value == WHOLE
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def rest_then_three_quarter_notes?(bar_notes, bar_rests)
|
|
61
|
+
bar_notes.length == 3 &&
|
|
62
|
+
bar_notes.all? { |n| n.rhythmic_value == QUARTER } &&
|
|
63
|
+
bar_rests.length == 1 &&
|
|
64
|
+
bar_rests.first.rhythmic_value == QUARTER
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
def three_quarter_notes_after_downbeat?(bar_notes)
|
|
68
|
+
bar_notes.length == 3 &&
|
|
69
|
+
bar_notes.all? { |n| n.rhythmic_value == QUARTER } &&
|
|
70
|
+
bar_notes.first.position.count > 1
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
def notes_in_bar(bar_number)
|
|
74
|
+
notes.select { |n| n.position.bar_number == bar_number }
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
def rests_in_bar(bar_number)
|
|
78
|
+
rests.select { |r| r.position.bar_number == bar_number }
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
def mark_bar(bar_number)
|
|
82
|
+
bar_placements = notes_in_bar(bar_number)
|
|
83
|
+
if bar_placements.any?
|
|
84
|
+
HeadMusic::Style::Mark.for_all(bar_placements)
|
|
85
|
+
else
|
|
86
|
+
cf_note = cantus_firmus.notes.detect { |n| n.position.bar_number == bar_number }
|
|
87
|
+
HeadMusic::Style::Mark.for(cf_note) if cf_note
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
end
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
# Module for style guidelines.
|
|
2
|
+
module HeadMusic::Style::Guidelines; end
|
|
3
|
+
|
|
4
|
+
# A counterpoint guideline for third-species dissonance treatment.
|
|
5
|
+
# Every dissonant note on beats 2, 3, or 4 must be treated as a passing tone,
|
|
6
|
+
# neighbor tone, nota cambiata, or double neighbor figure.
|
|
7
|
+
class HeadMusic::Style::Guidelines::ThirdSpeciesDissonanceTreatment < HeadMusic::Style::Annotation
|
|
8
|
+
MESSAGE = "Treat dissonances as passing tones, neighbor tones, cambiata, or double neighbor figures."
|
|
9
|
+
|
|
10
|
+
def marks
|
|
11
|
+
return [] unless cantus_firmus&.notes&.any?
|
|
12
|
+
|
|
13
|
+
unresolved_dissonant_notes.map { |note| HeadMusic::Style::Mark.for(note) }
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
private
|
|
17
|
+
|
|
18
|
+
def unresolved_dissonant_notes
|
|
19
|
+
dissonant_weak_beat_notes.reject { |note| recognized_figure?(note) }
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def recognized_figure?(note)
|
|
23
|
+
passing_tone?(note) || neighbor_tone?(note) || cambiata_dissonance?(note) || double_neighbor_member?(note)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# Passing tone: approached by step and left by step in the same direction.
|
|
27
|
+
def passing_tone?(note)
|
|
28
|
+
prev = preceding_note(note)
|
|
29
|
+
foll = following_note(note)
|
|
30
|
+
return false unless prev && foll
|
|
31
|
+
|
|
32
|
+
approach = melodic_interval_between(prev, note)
|
|
33
|
+
departure = melodic_interval_between(note, foll)
|
|
34
|
+
|
|
35
|
+
approach.step? && departure.step? && approach.direction == departure.direction
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# Neighbor tone: approached by step, left by step in the opposite direction.
|
|
39
|
+
def neighbor_tone?(note)
|
|
40
|
+
prev = preceding_note(note)
|
|
41
|
+
foll = following_note(note)
|
|
42
|
+
return false unless prev && foll
|
|
43
|
+
|
|
44
|
+
approach = melodic_interval_between(prev, note)
|
|
45
|
+
departure = melodic_interval_between(note, foll)
|
|
46
|
+
|
|
47
|
+
approach.step? && departure.step? && approach.direction != departure.direction
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# Nota cambiata: a five-note figure where note 2 is dissonant,
|
|
51
|
+
# approached by step from note 1, leaps a third in the same direction to note 3,
|
|
52
|
+
# then notes 3-4-5 proceed stepwise in the opposite direction.
|
|
53
|
+
# Notes 1, 3, and 5 must be consonant with the CF.
|
|
54
|
+
def cambiata_dissonance?(note)
|
|
55
|
+
index = notes.index(note)
|
|
56
|
+
return false unless index
|
|
57
|
+
|
|
58
|
+
cambiata_as_note_2?(index)
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def cambiata_as_note_2?(index)
|
|
62
|
+
return false if index < 1 || index + 3 > notes.length - 1
|
|
63
|
+
|
|
64
|
+
n1 = notes[index - 1]
|
|
65
|
+
n2 = notes[index]
|
|
66
|
+
n3 = notes[index + 1]
|
|
67
|
+
n4 = notes[index + 2]
|
|
68
|
+
n5 = notes[index + 3]
|
|
69
|
+
|
|
70
|
+
approach = melodic_interval_between(n1, n2)
|
|
71
|
+
leap = melodic_interval_between(n2, n3)
|
|
72
|
+
step_back_1 = melodic_interval_between(n3, n4)
|
|
73
|
+
step_back_2 = melodic_interval_between(n4, n5)
|
|
74
|
+
|
|
75
|
+
approach.step? &&
|
|
76
|
+
leap.number == 3 && approach.direction == leap.direction &&
|
|
77
|
+
step_back_1.step? && step_back_2.step? &&
|
|
78
|
+
step_back_1.direction != leap.direction &&
|
|
79
|
+
step_back_2.direction != leap.direction &&
|
|
80
|
+
consonant_with_cantus?(n1) && consonant_with_cantus?(n3) && consonant_with_cantus?(n5)
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
# Double neighbor: a four-note figure within one bar.
|
|
84
|
+
# Beats 1 and 4 are the same pitch (consonant), beats 2 and 3 are
|
|
85
|
+
# upper and lower neighbors connected by a leap of a third.
|
|
86
|
+
def double_neighbor_member?(note)
|
|
87
|
+
index = notes.index(note)
|
|
88
|
+
return false unless index
|
|
89
|
+
|
|
90
|
+
double_neighbor_as_note_2?(index) || double_neighbor_as_note_3?(index)
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
def double_neighbor_as_note_2?(index)
|
|
94
|
+
return false if index < 1 || index + 2 > notes.length - 1
|
|
95
|
+
|
|
96
|
+
n1 = notes[index - 1]
|
|
97
|
+
n2 = notes[index]
|
|
98
|
+
n3 = notes[index + 1]
|
|
99
|
+
n4 = notes[index + 2]
|
|
100
|
+
|
|
101
|
+
approach = melodic_interval_between(n1, n2)
|
|
102
|
+
middle = melodic_interval_between(n2, n3)
|
|
103
|
+
departure = melodic_interval_between(n3, n4)
|
|
104
|
+
|
|
105
|
+
approach.step? && middle.number == 3 && departure.step? &&
|
|
106
|
+
n1.pitch == n4.pitch &&
|
|
107
|
+
consonant_with_cantus?(n1) && consonant_with_cantus?(n4)
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
def double_neighbor_as_note_3?(index)
|
|
111
|
+
return false if index < 2 || index + 1 > notes.length - 1
|
|
112
|
+
|
|
113
|
+
n1 = notes[index - 2]
|
|
114
|
+
n2 = notes[index - 1]
|
|
115
|
+
n3 = notes[index]
|
|
116
|
+
n4 = notes[index + 1]
|
|
117
|
+
|
|
118
|
+
approach = melodic_interval_between(n1, n2)
|
|
119
|
+
middle = melodic_interval_between(n2, n3)
|
|
120
|
+
departure = melodic_interval_between(n3, n4)
|
|
121
|
+
|
|
122
|
+
approach.step? && middle.number == 3 && departure.step? &&
|
|
123
|
+
n1.pitch == n4.pitch &&
|
|
124
|
+
consonant_with_cantus?(n1) && consonant_with_cantus?(n4)
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
def dissonant_weak_beat_notes
|
|
128
|
+
weak_beat_notes.select { |note| dissonant_with_cantus?(note) }
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
def weak_beat_notes
|
|
132
|
+
notes.reject { |note| downbeat_position?(note.position) }
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
def downbeat_position?(position)
|
|
136
|
+
cantus_firmus_positions.include?(position.to_s)
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
def cantus_firmus_positions
|
|
140
|
+
@cantus_firmus_positions ||= Set.new(cantus_firmus.notes.map { |n| n.position.to_s })
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
def dissonant_with_cantus?(note)
|
|
144
|
+
interval = HeadMusic::Analysis::HarmonicInterval.new(cantus_firmus, voice, note.position)
|
|
145
|
+
interval.notes.length == 2 && interval.dissonance?(:two_part_harmony)
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
def consonant_with_cantus?(note)
|
|
149
|
+
!dissonant_with_cantus?(note)
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
def melodic_interval_between(note1, note2)
|
|
153
|
+
HeadMusic::Analysis::MelodicInterval.new(note1, note2)
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
def preceding_note(note)
|
|
157
|
+
index = notes.index(note)
|
|
158
|
+
notes[index - 1] if index && index > 0
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
def following_note(note)
|
|
162
|
+
index = notes.index(note)
|
|
163
|
+
notes[index + 1] if index && index < notes.length - 1
|
|
164
|
+
end
|
|
165
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Module for guides
|
|
2
|
+
module HeadMusic::Style::Guides; end
|
|
3
|
+
|
|
4
|
+
# Rules for third species harmony
|
|
5
|
+
class HeadMusic::Style::Guides::ThirdSpeciesHarmony
|
|
6
|
+
RULESET = [
|
|
7
|
+
HeadMusic::Style::Guidelines::ApproachPerfectionContrarily,
|
|
8
|
+
HeadMusic::Style::Guidelines::AvoidCrossingVoices,
|
|
9
|
+
HeadMusic::Style::Guidelines::AvoidOverlappingVoices,
|
|
10
|
+
HeadMusic::Style::Guidelines::ConsonantDownbeats,
|
|
11
|
+
HeadMusic::Style::Guidelines::NoParallelPerfectAcrossBarline,
|
|
12
|
+
HeadMusic::Style::Guidelines::NoParallelPerfectOnDownbeats,
|
|
13
|
+
HeadMusic::Style::Guidelines::NoStrongBeatUnisons,
|
|
14
|
+
HeadMusic::Style::Guidelines::PreferContraryMotion,
|
|
15
|
+
HeadMusic::Style::Guidelines::PreferImperfect,
|
|
16
|
+
HeadMusic::Style::Guidelines::ThirdSpeciesDissonanceTreatment
|
|
17
|
+
].freeze
|
|
18
|
+
|
|
19
|
+
def self.analyze(voice)
|
|
20
|
+
RULESET.map { |rule| rule.new(voice) }
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Module for guides
|
|
2
|
+
module HeadMusic::Style::Guides; end
|
|
3
|
+
|
|
4
|
+
# Rules for third species melodies
|
|
5
|
+
class HeadMusic::Style::Guides::ThirdSpeciesMelody
|
|
6
|
+
RULESET = [
|
|
7
|
+
HeadMusic::Style::Guidelines::AlwaysMove,
|
|
8
|
+
HeadMusic::Style::Guidelines::ConsonantClimax,
|
|
9
|
+
HeadMusic::Style::Guidelines::Diatonic,
|
|
10
|
+
HeadMusic::Style::Guidelines::EndOnTonic,
|
|
11
|
+
HeadMusic::Style::Guidelines::FourToOne,
|
|
12
|
+
HeadMusic::Style::Guidelines::FrequentDirectionChanges,
|
|
13
|
+
HeadMusic::Style::Guidelines::LimitOctaveLeaps,
|
|
14
|
+
HeadMusic::Style::Guidelines::MostlyConjunct,
|
|
15
|
+
HeadMusic::Style::Guidelines::PrepareOctaveLeaps,
|
|
16
|
+
HeadMusic::Style::Guidelines::SingableIntervals,
|
|
17
|
+
HeadMusic::Style::Guidelines::SingableRange,
|
|
18
|
+
HeadMusic::Style::Guidelines::StartOnPerfectConsonance,
|
|
19
|
+
HeadMusic::Style::Guidelines::StepOutOfUnison,
|
|
20
|
+
HeadMusic::Style::Guidelines::StepUpToFinalNote
|
|
21
|
+
].freeze
|
|
22
|
+
|
|
23
|
+
def self.analyze(voice)
|
|
24
|
+
RULESET.map { |rule| rule.new(voice) }
|
|
25
|
+
end
|
|
26
|
+
end
|
data/lib/head_music/version.rb
CHANGED
data/lib/head_music.rb
CHANGED
|
@@ -161,6 +161,7 @@ require "head_music/style/guidelines/diatonic"
|
|
|
161
161
|
require "head_music/style/guidelines/direction_changes"
|
|
162
162
|
require "head_music/style/guidelines/end_on_perfect_consonance"
|
|
163
163
|
require "head_music/style/guidelines/end_on_tonic"
|
|
164
|
+
require "head_music/style/guidelines/four_to_one"
|
|
164
165
|
require "head_music/style/guidelines/frequent_direction_changes"
|
|
165
166
|
require "head_music/style/guidelines/limit_octave_leaps"
|
|
166
167
|
require "head_music/style/guidelines/moderate_direction_changes"
|
|
@@ -185,6 +186,7 @@ require "head_music/style/guidelines/step_down_to_final_note"
|
|
|
185
186
|
require "head_music/style/guidelines/step_out_of_unison"
|
|
186
187
|
require "head_music/style/guidelines/step_to_final_note"
|
|
187
188
|
require "head_music/style/guidelines/step_up_to_final_note"
|
|
189
|
+
require "head_music/style/guidelines/third_species_dissonance_treatment"
|
|
188
190
|
require "head_music/style/guidelines/two_to_one"
|
|
189
191
|
require "head_music/style/guidelines/up_to_fourteen_notes"
|
|
190
192
|
require "head_music/style/guidelines/weak_beat_dissonance_treatment"
|
|
@@ -196,3 +198,5 @@ require "head_music/style/guides/first_species_melody"
|
|
|
196
198
|
require "head_music/style/guides/first_species_harmony"
|
|
197
199
|
require "head_music/style/guides/second_species_melody"
|
|
198
200
|
require "head_music/style/guides/second_species_harmony"
|
|
201
|
+
require "head_music/style/guides/third_species_melody"
|
|
202
|
+
require "head_music/style/guides/third_species_harmony"
|
|
@@ -0,0 +1,707 @@
|
|
|
1
|
+
# Third-Species Counterpoint: Pedagogical Reference
|
|
2
|
+
|
|
3
|
+
A survey of third-species counterpoint guidelines from Fux (1725) through contemporary pedagogy, noting points of agreement and disagreement across sources. Intended as a reference for implementing style guidelines in the `head_music` gem.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 1. Fundamental Premise
|
|
8
|
+
|
|
9
|
+
Third-species counterpoint sets **four quarter notes** in the counterpoint voice against each **whole note** in the cantus firmus, creating a 4:1 rhythmic ratio. This species introduces several concepts beyond second species:
|
|
10
|
+
|
|
11
|
+
1. **Richer metric hierarchy** -- four distinct beat levels (strong, weak, moderately strong, weak) vs. the two-level hierarchy of second species
|
|
12
|
+
2. **New dissonance types** -- the neighbor tone, double neighbor, and nota cambiata join the passing tone
|
|
13
|
+
3. **Greater melodic fluency** -- the faster rhythm demands even more stepwise motion and careful shaping
|
|
14
|
+
4. **Compound parallel-consonance checking** -- perfect consonances must be monitored between many more beat-position combinations
|
|
15
|
+
|
|
16
|
+
Third species is the primary vehicle for teaching melodic fluency and ornamentation within the species framework. Where second species introduces dissonance in its simplest form (the passing tone), third species expands the vocabulary of acceptable dissonant figures while maintaining strict control over their deployment.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## 2. Sources Surveyed
|
|
21
|
+
|
|
22
|
+
| Abbreviation | Source | Orientation |
|
|
23
|
+
|---|---|---|
|
|
24
|
+
| **Fux** | Johann Joseph Fux, *Gradus ad Parnassum* (1725); trans. Alfred Mann | Ostensibly Palestrina style; actually reflects 18th-century practice |
|
|
25
|
+
| **Albrechtsberger** | Johann Georg Albrechtsberger, *Grundliche Anweisung zur Composition* (1790) | Extended Fuxian method; teacher of Beethoven |
|
|
26
|
+
| **Cherubini** | Luigi Cherubini, *A Treatise on Counterpoint and Fugue* (1835) | French conservatory codification of Fuxian species |
|
|
27
|
+
| **Bellermann** | Heinrich Bellermann, *Der Contrapunkt* (1862) | Systematic Fuxian treatment; used by Schoenberg |
|
|
28
|
+
| **Schenker** | Heinrich Schenker, *Kontrapunkt* (1910/1922); trans. Rothgeb & Thym | Abstract voice-leading principles underlying tonal music |
|
|
29
|
+
| **Jeppesen** | Knud Jeppesen, *Counterpoint: The Polyphonic Vocal Style of the 16th Century* (1931) | Closest to actual Palestrina/Renaissance practice |
|
|
30
|
+
| **S&S** | Felix Salzer & Carl Schachter, *Counterpoint in Composition* (1969) | Schenkerian -- species as foundation for prolongational voice-leading |
|
|
31
|
+
| **Kennan** | Kent Kennan, *Counterpoint*, 4th ed. (1999) | 18th-century tonal counterpoint (Bach-oriented) |
|
|
32
|
+
| **Gauldin** | Robert Gauldin, *A Practical Approach to 16th-Century Counterpoint* / *18th-Century Counterpoint* | Separate treatments for Renaissance and Baroque styles |
|
|
33
|
+
| **A&S** | Edward Aldwell & Carl Schachter, *Harmony and Voice Leading*, 4th ed. | Tonal harmony with Schenkerian foundation |
|
|
34
|
+
| **Schubert** | Peter Schubert, *Modal Counterpoint: Renaissance Style*, 2nd ed. (2008) | Renaissance modal; draws directly on Renaissance treatises; divides rules into "hard" and "soft" |
|
|
35
|
+
| **Laitz** | Steven Laitz, *The Complete Musician*, 4th ed. | Comprehensive tonal theory with species counterpoint |
|
|
36
|
+
| **Kostka** | Stefan Kostka, *Materials and Techniques of Post-Tonal Music* / *Tonal Harmony* (with Payne/Almen) | Standard theory pedagogy with counterpoint chapters |
|
|
37
|
+
| **C&M** | Jane Piper Clendinning & Elizabeth West Marvin, *The Musician's Guide to Theory and Analysis* | Contemporary comprehensive theory |
|
|
38
|
+
| **BHN** | Thomas Benjamin, Michael Horvit, Robert Nelson, *Music for Analysis* / *Counterpoint in the Style of J.S. Bach* | Practical analysis and composition orientation |
|
|
39
|
+
| **OMT** | Open Music Theory (Shaffer, Hughes, Gotham, et al.) | Contemporary open-source online pedagogy |
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 3. Guideline Synthesis
|
|
44
|
+
|
|
45
|
+
### 3.1 Rhythmic Structure
|
|
46
|
+
|
|
47
|
+
**Universal agreement.** Four quarter notes against each whole note in the cantus firmus. The final measure is a whole note.
|
|
48
|
+
|
|
49
|
+
| Bar position | Rhythmic content |
|
|
50
|
+
|---|---|
|
|
51
|
+
| **First bar** | Four quarter notes, OR quarter rest followed by three quarter notes |
|
|
52
|
+
| **Middle bars** | Four quarter notes (no exceptions) |
|
|
53
|
+
| **Final bar** | One whole note |
|
|
54
|
+
|
|
55
|
+
**Source variations on the first bar:**
|
|
56
|
+
- **Fux, Bellermann, Schenker:** Prefer beginning with a rest on beat 1 followed by three quarter notes, mirroring second species.
|
|
57
|
+
- **OMT, Gauldin:** Allow either option. Four quarter notes are acceptable.
|
|
58
|
+
- **Cherubini:** Insists on beginning with a rest.
|
|
59
|
+
- **Swindale, Kennan:** Some preference for beginning on beat 2 (with rest).
|
|
60
|
+
|
|
61
|
+
### 3.2 Beginning
|
|
62
|
+
|
|
63
|
+
**Pitch (universal agreement):**
|
|
64
|
+
- Above the cantus firmus: begin on *do* (unison/octave) or *sol* (fifth).
|
|
65
|
+
- Below the cantus firmus: begin on *do* (unison/octave).
|
|
66
|
+
|
|
67
|
+
**Intervallic rule:** The first sounding note must form a perfect consonance (unison, fifth, or octave) with the cantus firmus, following first-species conventions for opening intervals.
|
|
68
|
+
|
|
69
|
+
**Unison:** Permitted at the opening only. If starting with a rest, the first sounding note (beat 2) may be a unison. If starting with four quarter notes, the downbeat of bar 1 may be a unison.
|
|
70
|
+
|
|
71
|
+
### 3.3 Beat Hierarchy
|
|
72
|
+
|
|
73
|
+
The 4:1 ratio creates a four-level metric hierarchy that governs dissonance placement:
|
|
74
|
+
|
|
75
|
+
| Beat | Metric weight | Consonance requirement |
|
|
76
|
+
|---|---|---|
|
|
77
|
+
| **Beat 1** (downbeat) | Strong | Must be consonant; never a unison (except at opening/closing) |
|
|
78
|
+
| **Beat 2** | Weak | May be consonant or dissonant |
|
|
79
|
+
| **Beat 3** | Moderately strong | Must be consonant (most sources) or may be dissonant with restrictions (some sources) |
|
|
80
|
+
| **Beat 4** | Weak | May be consonant or dissonant |
|
|
81
|
+
|
|
82
|
+
#### Beat 3 Controversy
|
|
83
|
+
|
|
84
|
+
This is one of the most significant areas of disagreement:
|
|
85
|
+
|
|
86
|
+
| Source | Beat 3 dissonance? | Conditions |
|
|
87
|
+
|---|---|---|
|
|
88
|
+
| **Fux** | Allowed (as passing tone) | Stepwise, same direction |
|
|
89
|
+
| **Bellermann** | Allowed | As passing tone |
|
|
90
|
+
| **Jeppesen** | Allowed sparingly | As passing or neighbor tone |
|
|
91
|
+
| **S&S** | Allowed sparingly | "Very sparingly in the 3rd quarter" for neighbor tones |
|
|
92
|
+
| **Schenker** | Restricted | Prefers consonance on beat 3 |
|
|
93
|
+
| **OMT (Gotham et al.)** | Allowed | Beats 2, 3, and 4 all permit dissonance |
|
|
94
|
+
| **OMT (Shaffer)** | Beat 3 consonant | Treats beat 3 as "moderately strong," consonance preferred |
|
|
95
|
+
| **Gauldin** | Generally consonant | Beat 3 should generally be consonant |
|
|
96
|
+
| **Kennan** | Allowed | As passing tone in stepwise motion |
|
|
97
|
+
|
|
98
|
+
**Practical consensus:** Most sources allow dissonance on beat 3 if it functions as a properly handled passing tone. The stricter sources (Schenker, some interpretations of Gauldin) treat beat 3 as a secondary strong beat requiring consonance.
|
|
99
|
+
|
|
100
|
+
### 3.4 Strong Beats (Downbeats)
|
|
101
|
+
|
|
102
|
+
**Universal agreement.** Every downbeat must be **consonant** with the cantus firmus. Permissible consonances: unison, third, fifth, sixth, octave, and compound equivalents. The perfect fourth is a dissonance in two-voice counterpoint (all sources agree).
|
|
103
|
+
|
|
104
|
+
**Preference.** Imperfect consonances (thirds, sixths) are preferred over perfect consonances (fifths, octaves, unisons) -- carried forward from first and second species.
|
|
105
|
+
|
|
106
|
+
**Consecutive downbeat constraints (OMT):**
|
|
107
|
+
- No three consecutive bars may begin with the same perfect interval (two in a row acceptable).
|
|
108
|
+
- No more than three consecutive bars should start with the same imperfect consonance.
|
|
109
|
+
- Consecutive downbeat pitches in the counterpoint must not form a dissonant melodic interval.
|
|
110
|
+
|
|
111
|
+
**Additional constraint (OMT):**
|
|
112
|
+
- If a downbeat contains a perfect fifth, neither beat 3 nor beat 4 of the previous bar may also be a fifth.
|
|
113
|
+
- If a downbeat contains an octave, beats 2, 3, and 4 of the previous bar should not be octaves.
|
|
114
|
+
|
|
115
|
+
### 3.5 Dissonance Treatment
|
|
116
|
+
|
|
117
|
+
All sources agree that dissonance in third species must follow specific, named patterns. The permitted dissonance types are:
|
|
118
|
+
|
|
119
|
+
#### 3.5.1 Dissonant Passing Tone
|
|
120
|
+
|
|
121
|
+
**Universal agreement.** The dissonant passing tone is carried forward from second species and remains the most basic dissonance type.
|
|
122
|
+
|
|
123
|
+
**Definition:** Fills in the space of a melodic third via stepwise motion. The note before and the note after the passing tone must both be consonant with the cantus firmus.
|
|
124
|
+
|
|
125
|
+
**Requirements:**
|
|
126
|
+
- Approached by step
|
|
127
|
+
- Left by step
|
|
128
|
+
- Approach and departure in the **same direction** (ascending or descending)
|
|
129
|
+
- May occur on beats 2, 3, or 4 (never beat 1)
|
|
130
|
+
|
|
131
|
+
**Two consecutive dissonant passing tones:**
|
|
132
|
+
|
|
133
|
+
| Source | Consecutive dissonant PTs? | Conditions |
|
|
134
|
+
|---|---|---|
|
|
135
|
+
| **Fux** | Not explicitly addressed | His examples show mostly single PTs |
|
|
136
|
+
| **OMT (Gotham)** | Allowed | P4-d5 or d5-P4 patterns; must be unidirectional stepwise; no downbeat dissonance |
|
|
137
|
+
| **S&S** | Allowed | In rapid stepwise passages |
|
|
138
|
+
| **Jeppesen** | Allowed | In Palestrina's practice |
|
|
139
|
+
| **Bellermann** | Allowed cautiously | |
|
|
140
|
+
|
|
141
|
+
**Practical consensus:** Two consecutive dissonant passing tones are acceptable when they fill in a larger stepwise passage, provided no dissonance falls on beat 1 and the passage is stepwise throughout.
|
|
142
|
+
|
|
143
|
+
#### 3.5.2 Dissonant Neighbor Tone (Auxiliary)
|
|
144
|
+
|
|
145
|
+
**Definition:** Ornaments a consonant tone by stepping away and stepping back to the original consonance. The neighbor note itself is dissonant with the cantus firmus.
|
|
146
|
+
|
|
147
|
+
**Requirements:**
|
|
148
|
+
- Approached by step from a consonance
|
|
149
|
+
- Left by step back to the same consonance (or to a different consonance by step in the opposite direction from the approach)
|
|
150
|
+
- The note before and after must be consonant
|
|
151
|
+
|
|
152
|
+
**Pattern example:** consonance - step up to dissonance - step down back to consonance (e.g., intervals 6-7-6 over the CF).
|
|
153
|
+
|
|
154
|
+
| Source | Dissonant neighbor? | Conditions |
|
|
155
|
+
|---|---|---|
|
|
156
|
+
| **Fux** | Not explicitly discussed | Neighbor figures appear in his examples |
|
|
157
|
+
| **Bellermann** | Allowed | "Enters by step and continues by step in the opposite direction" |
|
|
158
|
+
| **Jeppesen** | Allowed | Present in Palestrina's practice |
|
|
159
|
+
| **S&S** | Allowed | "Freely on 2nd and 4th quarters, very sparingly on 3rd quarter" |
|
|
160
|
+
| **Schenker** | Allowed cautiously | |
|
|
161
|
+
| **OMT** | Allowed | "Most effective on weak beats (2 or 4)" |
|
|
162
|
+
| **Gauldin** | Allowed | |
|
|
163
|
+
| **Kennan** | Allowed | |
|
|
164
|
+
|
|
165
|
+
**Key distinction from second species:** The dissonant neighbor tone is **not** permitted in second species but **is** permitted in third species. This is a major expansion of the dissonance vocabulary.
|
|
166
|
+
|
|
167
|
+
#### 3.5.3 Nota Cambiata (Changing Tone / Cambiata Figure)
|
|
168
|
+
|
|
169
|
+
The nota cambiata is the most distinctive ornamental figure in third-species counterpoint and the subject of the most detailed scholarly discussion.
|
|
170
|
+
|
|
171
|
+
**Fux's original formulation:** A five-note figure spanning two bars. The second note is dissonant, entered by step, and then -- uniquely -- **leaps a third** in the same direction to a consonance, after which the melody returns stepwise in the opposite direction.
|
|
172
|
+
|
|
173
|
+
**Two forms of the figure:**
|
|
174
|
+
|
|
175
|
+
| Form | Intervallic motion | Direction |
|
|
176
|
+
|---|---|---|
|
|
177
|
+
| **Descending** | Step down, leap down a 3rd, step up, step up | Net motion: step down from downbeat to downbeat |
|
|
178
|
+
| **Ascending** | Step up, leap up a 3rd, step down, step down | Net motion: step up from downbeat to downbeat |
|
|
179
|
+
|
|
180
|
+
**Structural diagram (descending form):**
|
|
181
|
+
```
|
|
182
|
+
Beat: 1 2 3 4 | 1
|
|
183
|
+
Note: C B G A | B
|
|
184
|
+
cons dis cons cons | cons
|
|
185
|
+
↓s ↓3rd ↑s ↑s
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
**Requirements (universal):**
|
|
189
|
+
- Notes 1, 3, and 5 (the downbeats and the middle note) must be consonant with the CF
|
|
190
|
+
- Note 2 is dissonant, approached by step
|
|
191
|
+
- Note 2 leaps a third to note 3 (the only permitted leap from a dissonance in species counterpoint)
|
|
192
|
+
- Notes 3-4-5 are stepwise
|
|
193
|
+
- The surrounding stepwise motion minimizes the effect of the leap from dissonance
|
|
194
|
+
|
|
195
|
+
**Source variations:**
|
|
196
|
+
|
|
197
|
+
| Source | Treatment |
|
|
198
|
+
|---|---|
|
|
199
|
+
| **Fux** | Presents as a standard ornamental figure; descending form is the primary example |
|
|
200
|
+
| **Jeppesen** | Traces the figure to actual Palestrina practice; emphasizes its historical authenticity |
|
|
201
|
+
| **Schenker** | Treats as a legitimate but carefully controlled figure |
|
|
202
|
+
| **S&S** | Integrates into prolongational analysis |
|
|
203
|
+
| **OMT** | Presents both ascending and descending forms as standard |
|
|
204
|
+
| **Bellermann** | Includes as an "advanced" dissonant formation |
|
|
205
|
+
| **Kennan** | Presents primarily the descending form |
|
|
206
|
+
| **Schubert** | Includes as standard Renaissance practice |
|
|
207
|
+
|
|
208
|
+
**Historical note:** The nota cambiata is the only figure in species counterpoint where a leap from a dissonance is permitted. This exception is universally acknowledged. Later theorists sometimes restrict the figure to the descending form only, but Fux's own examples and Renaissance practice support both directions.
|
|
209
|
+
|
|
210
|
+
#### 3.5.4 Double Neighbor (Changing Tones / Double Auxiliary)
|
|
211
|
+
|
|
212
|
+
**Definition:** A four-note figure where beats 1 and 4 contain the same pitch (or the same consonance), and beats 2 and 3 are the upper and lower neighbors (or vice versa). Both beats 2 and 3 may be dissonant.
|
|
213
|
+
|
|
214
|
+
**Two orderings:**
|
|
215
|
+
```
|
|
216
|
+
Form A: C - D - B - C (upper neighbor first)
|
|
217
|
+
Form B: C - B - D - C (lower neighbor first)
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
**Requirements:**
|
|
221
|
+
- Beat 1 consonant with CF
|
|
222
|
+
- Beats 2 and 3 are the two neighbors (one step above, one step below)
|
|
223
|
+
- Beat 4 returns to the same pitch as beat 1
|
|
224
|
+
- A leap of a third occurs between beats 2 and 3 (this is permitted because the figure is understood as an ornament of a single tone)
|
|
225
|
+
- Motion from beat 3 to beat 4 should continue in the same direction as from beat 4 to the following downbeat (OMT)
|
|
226
|
+
|
|
227
|
+
| Source | Double neighbor? | Notes |
|
|
228
|
+
|---|---|---|
|
|
229
|
+
| **Fux** | Not explicitly named | Some scholars identify it in his examples |
|
|
230
|
+
| **Jeppesen** | Recognized | Present in Palestrina's music |
|
|
231
|
+
| **S&S** | Allowed | |
|
|
232
|
+
| **OMT (Gotham)** | Allowed | Detailed treatment with motion constraints |
|
|
233
|
+
| **Ars Nova** | Noted | "Not known in the Palestrina style" (disputed) |
|
|
234
|
+
| **Gauldin** | Allowed | |
|
|
235
|
+
| **Bellermann** | Recognized | As a legitimate formation |
|
|
236
|
+
|
|
237
|
+
**Controversy:** Some scholars question whether the double neighbor is truly a separate figure or merely a combination of upper and lower neighbor tones. The practical distinction is that in the double neighbor, the leap between beats 2 and 3 is permitted even though one or both may be dissonant -- a license that would not be available if they were analyzed as independent neighbor tones.
|
|
238
|
+
|
|
239
|
+
#### 3.5.5 Escape Tone (Echappee)
|
|
240
|
+
|
|
241
|
+
**Definition:** An unaccented dissonance approached by step and left by leap in the opposite direction. The escape tone "escapes" from stepwise motion via a leap.
|
|
242
|
+
|
|
243
|
+
**Pattern:** Consonance - step to dissonance - leap (opposite direction) to consonance.
|
|
244
|
+
|
|
245
|
+
| Source | Escape tone? | Notes |
|
|
246
|
+
|---|---|---|
|
|
247
|
+
| **Fux** | Not discussed | |
|
|
248
|
+
| **Jeppesen** | Not a standard Palestrina figure | Rare in 16th-century practice |
|
|
249
|
+
| **S&S** | Allowed | As an embellishment on beats 2 and 4 |
|
|
250
|
+
| **OMT (Shaffer)** | Allowed | Listed as a valid weak-beat dissonance |
|
|
251
|
+
| **Ars Nova** | Allowed | "Approached by step and left by downward leap" |
|
|
252
|
+
| **Kennan** | Allowed cautiously | |
|
|
253
|
+
| **Gauldin** | Mixed | Depends on style orientation (16th-c. vs. 18th-c.) |
|
|
254
|
+
| **Schenker** | Not standard | |
|
|
255
|
+
| **Schubert** | Not standard in Renaissance | |
|
|
256
|
+
|
|
257
|
+
**This is the most controversial dissonance type in third species.** Sources oriented toward Renaissance/Palestrina practice generally exclude it. Sources oriented toward 18th-century tonal counterpoint or contemporary pedagogy often include it. For a strict Fuxian implementation, the escape tone should be excluded or treated as a soft-rule violation.
|
|
258
|
+
|
|
259
|
+
#### 3.5.6 Appoggiatura (Accented Dissonance)
|
|
260
|
+
|
|
261
|
+
**Definition:** A dissonance on a strong beat, approached by leap and resolved by step.
|
|
262
|
+
|
|
263
|
+
| Source | Appoggiatura in third species? | Notes |
|
|
264
|
+
|---|---|---|
|
|
265
|
+
| **Fux** | No | Beat 1 must be consonant |
|
|
266
|
+
| **Jeppesen** | No | Not in Palestrina practice for this species |
|
|
267
|
+
| **S&S** | Mentioned | But only on beats 2 and 4 (effectively making it a different figure) |
|
|
268
|
+
| **Most sources** | No | Accented dissonances belong to fourth species (suspensions) and free counterpoint |
|
|
269
|
+
|
|
270
|
+
**Consensus:** The appoggiatura is not a standard third-species figure. Beat 1 must always be consonant. Some sources allow what they call "appoggiaturas" on beats 2 and 4, but these are better understood as approached dissonances that function like incomplete neighbor tones.
|
|
271
|
+
|
|
272
|
+
### 3.6 Ending / Cadence
|
|
273
|
+
|
|
274
|
+
**Universal agreement.** End with a clausula vera: stepwise contrary motion into a perfect consonance (unison or octave).
|
|
275
|
+
|
|
276
|
+
**Final bar:** Always a whole note on the tonic, forming a unison or octave with the cantus firmus.
|
|
277
|
+
|
|
278
|
+
**Penultimate bar:** Four quarter notes, with the last quarter note (beat 4) functioning as the leading tone or supertonic approach to the final note.
|
|
279
|
+
|
|
280
|
+
**Specific cadential formulas:**
|
|
281
|
+
|
|
282
|
+
| CF position | Penultimate bar approach | Scale degrees in CP | Interval pattern |
|
|
283
|
+
|---|---|---|---|
|
|
284
|
+
| CF below, CP above | CP's beat 4 = leading tone (*ti*) | ...6-7-8 | ...6th - M6th - 8ve |
|
|
285
|
+
| CF above, CP below | CP's beat 4 = supertonic (*re*) | ...4-3-1 or ...5-4-3m-1 | ...varies - m3rd - unison |
|
|
286
|
+
|
|
287
|
+
**Additional cadential options (Fux):**
|
|
288
|
+
- Above CF: Cambiata formula 8-7-5-6-8, or scale run 3-4-5-6-8
|
|
289
|
+
- Below CF: 3m-5-4-3m-1
|
|
290
|
+
|
|
291
|
+
**Penultimate note specifics:**
|
|
292
|
+
- If the CF has *re* (scale degree 2): the counterpoint's beat 4 should be *ti* (scale degree 7, raised if necessary)
|
|
293
|
+
- If the CF has *ti* (scale degree 7): the counterpoint's beat 4 should be *re* (scale degree 2)
|
|
294
|
+
|
|
295
|
+
### 3.7 Melodic Guidelines
|
|
296
|
+
|
|
297
|
+
These carry forward from first and second species with modifications appropriate to the faster rhythm:
|
|
298
|
+
|
|
299
|
+
#### 3.7.1 Stepwise Motion
|
|
300
|
+
|
|
301
|
+
**Universal agreement.** Third species should be **even more dominated by stepwise motion** than first or second species. The 4:1 ratio provides ample room for stepwise passage work, and the dissonance types (passing tone, neighbor tone) all require stepwise motion.
|
|
302
|
+
|
|
303
|
+
**Quantitative guidance:** While most sources do not give exact percentages, the expectation is that conjunct motion should constitute a large majority (roughly 75-85% or more) of melodic intervals.
|
|
304
|
+
|
|
305
|
+
#### 3.7.2 Melodic Shape and Climax
|
|
306
|
+
|
|
307
|
+
- **Single overall climax** that does not coincide with the climax of the cantus firmus.
|
|
308
|
+
- **One or two secondary climaxes** (local high points) permitted, given the greater number of notes (OMT, S&S).
|
|
309
|
+
- Avoid aimless scalar passages -- even stepwise motion should have direction and purpose.
|
|
310
|
+
- The line should have an overall arch or wave shape.
|
|
311
|
+
|
|
312
|
+
#### 3.7.3 Leap Treatment
|
|
313
|
+
|
|
314
|
+
- **All leaps must be melodic consonances** (m3, M3, P4, P5, m6 ascending only in 16th-c. style, P8).
|
|
315
|
+
- **Forbidden leaps:** tritone (d5/A4), M6 (in Renaissance style), 7ths, any augmented or diminished interval.
|
|
316
|
+
- **Recover from leaps** by moving stepwise in the opposite direction.
|
|
317
|
+
- **Prefer leaps within the bar** (e.g., beat 1 to beat 2, or beat 2 to beat 3) rather than across the barline (beat 4 to the next beat 1). This is a stronger preference in third species than in second species (OMT, S&S).
|
|
318
|
+
- **Avoid consecutive leaps** in the same direction. Most sources limit consecutive same-direction leaps to two at most, and only if they outline a consonant triad.
|
|
319
|
+
- **Large leaps** (P5 or greater) should be followed by stepwise motion in the opposite direction.
|
|
320
|
+
|
|
321
|
+
#### 3.7.4 No Repeated Notes
|
|
322
|
+
|
|
323
|
+
**Universal agreement.** Repeating the same pitch on consecutive quarter notes is **forbidden**, both within the bar and across the barline. This is even more critical in third species than in second species, as repetition at the quarter-note level completely arrests the forward motion the species is designed to cultivate.
|
|
324
|
+
|
|
325
|
+
#### 3.7.5 Range
|
|
326
|
+
|
|
327
|
+
- **Singable range** -- generally not exceeding a tenth (some sources allow up to a twelfth).
|
|
328
|
+
- Stay within a single voice register; avoid extreme register changes.
|
|
329
|
+
|
|
330
|
+
#### 3.7.6 Direction Changes
|
|
331
|
+
|
|
332
|
+
- **Frequent direction changes** are needed to maintain interest and avoid aimless scalar runs.
|
|
333
|
+
- However, the faster rhythm means that short ascending or descending runs (3-5 notes) are natural and acceptable.
|
|
334
|
+
- Avoid extended passages of more than about 5-6 notes in the same direction without a change.
|
|
335
|
+
|
|
336
|
+
### 3.8 Parallel Perfect Consonances
|
|
337
|
+
|
|
338
|
+
This is significantly more complex in third species than in first or second species because there are four attack points per bar that can form intervals with the cantus firmus.
|
|
339
|
+
|
|
340
|
+
#### 3.8.1 Core Rule
|
|
341
|
+
|
|
342
|
+
**Universal agreement.** Parallel perfect fifths and octaves are forbidden. The question is: between which beat positions must they be checked?
|
|
343
|
+
|
|
344
|
+
#### 3.8.2 Beat Positions to Check
|
|
345
|
+
|
|
346
|
+
| Pair | Check for parallels? | Source agreement |
|
|
347
|
+
|---|---|---|
|
|
348
|
+
| Beat 1 to next Beat 1 (downbeat to downbeat) | **Yes** | Universal |
|
|
349
|
+
| Beat 4 to next Beat 1 (across barline) | **Yes** | Universal |
|
|
350
|
+
| Beat 3 to next Beat 1 | **Yes** (most sources) | Strong consensus |
|
|
351
|
+
| Beats within the same bar (1-2, 2-3, 3-4) | **Yes** | Most sources |
|
|
352
|
+
| Beat 3 to Beat 3 across bars | Debated | Some sources |
|
|
353
|
+
| Beat 2 to Beat 2 across bars | Generally no | Most sources |
|
|
354
|
+
|
|
355
|
+
**Rothfarb (UCSB) rule:** "No parallel perfect consonances between the third quarter of one bar and the first quarter of the next." This is the most commonly cited cross-barline parallel check beyond the simple beat-4-to-beat-1 check.
|
|
356
|
+
|
|
357
|
+
**OMT (Gotham) rule:** If a downbeat contains a perfect fifth, neither beat 3 nor beat 4 of the previous bar can also be a fifth. If a downbeat contains an octave, beats 2, 3, and 4 of the previous bar should not be octaves.
|
|
358
|
+
|
|
359
|
+
**Practical synthesis:** The safest approach checks for parallel perfect consonances between any two notes where the second is on a beat of equal or greater metric weight (i.e., no parallel P5-P5 or P8-P8 from any beat to a subsequent equal-or-stronger beat). At minimum:
|
|
360
|
+
1. Consecutive downbeats (bar-to-bar)
|
|
361
|
+
2. Beat 4 to next beat 1 (across barline)
|
|
362
|
+
3. Beat 3 to next beat 1 (across barline, if beat 3 is treated as metrically significant)
|
|
363
|
+
4. Between consecutive notes within or across bars where the interval is the same perfect consonance
|
|
364
|
+
|
|
365
|
+
**Minimum separation rule (Swindale, some others):** Parallel perfect consonances require at least three notes of separation -- i.e., if a P5 occurs on one note, the next P5 must not occur until at least three notes later.
|
|
366
|
+
|
|
367
|
+
#### 3.8.3 Consecutive Downbeat Perfect Consonances
|
|
368
|
+
|
|
369
|
+
Following the same rule as in second species: no two consecutive downbeats should form the same perfect consonance (P5-P5 or P8-P8). Three consecutive downbeats with the same perfect consonance is universally forbidden.
|
|
370
|
+
|
|
371
|
+
### 3.9 Direct (Hidden) Fifths and Octaves
|
|
372
|
+
|
|
373
|
+
| Context | Treatment |
|
|
374
|
+
|---|---|
|
|
375
|
+
| Beat 4 to next Beat 1 (across barline) | Treated as in first species: **approach perfect consonances by contrary motion** (universal) |
|
|
376
|
+
| Within the bar | More lenient; stepwise approach in the upper voice generally suffices |
|
|
377
|
+
| Downbeat to downbeat | **Permitted** by most modern sources ("the effect is weakened by intervening notes") |
|
|
378
|
+
|
|
379
|
+
**OMT (Shaffer):** Direct/hidden fifths and octaves between successive downbeats are generally allowed in third species.
|
|
380
|
+
|
|
381
|
+
### 3.10 Unison Treatment
|
|
382
|
+
|
|
383
|
+
| Position | Treatment |
|
|
384
|
+
|---|---|
|
|
385
|
+
| Opening note | Permitted (unison or octave) |
|
|
386
|
+
| Final note | Permitted (unison or octave) |
|
|
387
|
+
| Interior downbeats (beat 1) | **Forbidden** (universal) |
|
|
388
|
+
| Interior weak beats (2, 3, 4) | Permitted when necessary for good voice-leading (OMT, S&S) |
|
|
389
|
+
|
|
390
|
+
**Rothfarb:** "The unison may occur anywhere in the bar except on the first quarter."
|
|
391
|
+
|
|
392
|
+
**Approach/departure:** When a unison occurs on a weak beat, step out of it (do not leap to or from a unison).
|
|
393
|
+
|
|
394
|
+
### 3.11 Voice Crossing and Overlap
|
|
395
|
+
|
|
396
|
+
| Source | Voice Crossing |
|
|
397
|
+
|---|---|
|
|
398
|
+
| **Fux** | Occasionally permits |
|
|
399
|
+
| **Schenker** | Strictly forbidden |
|
|
400
|
+
| **S&S** | Strictly forbidden |
|
|
401
|
+
| **Modern pedagogy** | Generally forbidden; rarely tolerated |
|
|
402
|
+
|
|
403
|
+
**Voice overlap** (approaching beyond the other voice's previous pitch without actually crossing) is universally discouraged.
|
|
404
|
+
|
|
405
|
+
### 3.12 Approach to Perfect Consonances
|
|
406
|
+
|
|
407
|
+
**Universal.** Perfect consonances on the downbeat must be approached by contrary motion from the preceding note (beat 4 of the previous bar).
|
|
408
|
+
|
|
409
|
+
**Rothfarb:** Perfect consonances on beat 1 may be approached "only by contrary motion."
|
|
410
|
+
|
|
411
|
+
This is a stricter formulation than second species: because there are four notes per bar, the beat-4-to-beat-1 motion into a perfect consonance must be contrary.
|
|
412
|
+
|
|
413
|
+
### 3.13 Contrary Motion Preference
|
|
414
|
+
|
|
415
|
+
**Universal.** Contrary motion is preferred throughout, as in all species. This preference is particularly important at barlines (beat 4 to beat 1), where first-species rules apply to the voice-leading.
|
|
416
|
+
|
|
417
|
+
---
|
|
418
|
+
|
|
419
|
+
## 4. Special Figures in Detail
|
|
420
|
+
|
|
421
|
+
### 4.1 Nota Cambiata
|
|
422
|
+
|
|
423
|
+
The nota cambiata is perhaps the most discussed ornamental figure in the counterpoint literature. Its treatment varies significantly across sources.
|
|
424
|
+
|
|
425
|
+
**Fux's original:** Presented as a natural ornamental pattern in the dialogue between Aloysius and Josephus. The descending form (step down, leap down a 3rd, step up, step up) is the primary example.
|
|
426
|
+
|
|
427
|
+
**Jeppesen's contribution:** Demonstrated that the figure is abundantly present in Palestrina's actual music, validating Fux's inclusion of it. Jeppesen provided statistical evidence of its frequency and catalogued its various forms.
|
|
428
|
+
|
|
429
|
+
**Schenker's treatment:** Analyzed the cambiata as a voice-leading phenomenon -- the leap from dissonance is "understood" as passing through an implied consonance. This connects the figure to Schenker's broader theory of structural levels.
|
|
430
|
+
|
|
431
|
+
**Modern pedagogy:** Most contemporary textbooks present both ascending and descending forms as standard figures, though some restrict the figure to the descending form (Kennan, for example).
|
|
432
|
+
|
|
433
|
+
**Key constraint:** The cambiata always spans exactly two bars (five notes: beat 1 through the next beat 1). The second note is the dissonant note, and the leap occurs from beat 2 to beat 3.
|
|
434
|
+
|
|
435
|
+
### 4.2 Double Neighbor (Changing Tones)
|
|
436
|
+
|
|
437
|
+
The double neighbor is a within-bar figure (four notes) where the counterpoint ornaments a single consonant pitch by moving to both its upper and lower neighbors before returning.
|
|
438
|
+
|
|
439
|
+
**Distinction from cambiata:** The double neighbor returns to its starting pitch on beat 4, whereas the cambiata progresses to a new pitch. The double neighbor is essentially a prolongation of a single tone; the cambiata is a progression between two tones.
|
|
440
|
+
|
|
441
|
+
**Motion constraint (OMT):** The direction of motion from beat 3 to beat 4 should be the same as from beat 4 to the following downbeat. This ensures smooth continuation out of the figure. The barline motion should be stepwise.
|
|
442
|
+
|
|
443
|
+
### 4.3 Summary of Dissonance Figures
|
|
444
|
+
|
|
445
|
+
| Figure | Beats | Dissonant beat(s) | Approach to dissonance | Departure from dissonance | Leap involved? |
|
|
446
|
+
|---|---|---|---|---|---|
|
|
447
|
+
| **Passing tone** | Any weak beat | 2, 3, or 4 | Step | Step (same direction) | No |
|
|
448
|
+
| **Neighbor tone** | Any weak beat | 2, 3, or 4 | Step | Step (opposite direction, back) | No |
|
|
449
|
+
| **Nota cambiata** | 1-2-3-4-1 | Beat 2 | Step | Leap of 3rd (same direction) | Yes (3rd from dissonance) |
|
|
450
|
+
| **Double neighbor** | 1-2-3-4 | Beats 2 and 3 | Step | Step (between 2-3: leap of 3rd) | Yes (3rd between neighbors) |
|
|
451
|
+
| **Escape tone** | Weak beat | 2 or 4 | Step | Leap (opposite direction) | Yes (from dissonance) |
|
|
452
|
+
|
|
453
|
+
---
|
|
454
|
+
|
|
455
|
+
## 5. Points of Agreement Across All Sources
|
|
456
|
+
|
|
457
|
+
1. **Beat 1 consonant.** The downbeat of every bar must be consonant with the cantus firmus.
|
|
458
|
+
2. **Four quarter notes per bar** (except the first and last bars).
|
|
459
|
+
3. **Final bar is a whole note** on the tonic, forming a unison or octave.
|
|
460
|
+
4. **Passing tones** are the most basic dissonance, approached and left by step in the same direction.
|
|
461
|
+
5. **Neighbor tones** are permitted (step away, step back).
|
|
462
|
+
6. **Nota cambiata** is permitted as a five-note figure with a leap of a third from a dissonance.
|
|
463
|
+
7. **No repeated notes** within or across the barline.
|
|
464
|
+
8. **Stepwise motion predominates** even more than in second species.
|
|
465
|
+
9. **Parallel perfect consonances** on consecutive downbeats are forbidden.
|
|
466
|
+
10. **Perfect consonances on beat 1** must be approached by contrary motion from beat 4.
|
|
467
|
+
11. **Clausula vera** cadence: stepwise contrary motion into a perfect consonance.
|
|
468
|
+
12. **Unisons forbidden on interior downbeats.**
|
|
469
|
+
|
|
470
|
+
## 6. Key Points of Disagreement
|
|
471
|
+
|
|
472
|
+
| Issue | Strict view | Permissive view |
|
|
473
|
+
|---|---|---|
|
|
474
|
+
| Beat 3 dissonance | Consonance required (Schenker, some Gauldin) | Dissonance allowed as PT/NT (Fux, OMT, S&S) |
|
|
475
|
+
| Escape tone | Not a valid figure (Fux, Jeppesen, Schubert) | Permitted on weak beats (S&S, OMT Shaffer, Kennan) |
|
|
476
|
+
| Double neighbor | Disputed as independent figure | Standard figure (OMT, S&S, Gauldin) |
|
|
477
|
+
| Ascending cambiata | Descending form only (Kennan) | Both directions (OMT, Jeppesen, Fux) |
|
|
478
|
+
| Voice crossing | Occasionally permitted (Fux) | Strictly forbidden (Schenker, S&S) |
|
|
479
|
+
| First bar beginning | Must begin with rest (Cherubini, Schenker) | Either option (OMT, Gauldin) |
|
|
480
|
+
| Parallel checking scope | Between any consecutive attacks (strictest) | Only at barlines and downbeats (most lenient) |
|
|
481
|
+
|
|
482
|
+
---
|
|
483
|
+
|
|
484
|
+
## 7. Mapping to head_music Architecture
|
|
485
|
+
|
|
486
|
+
The existing `head_music` style system groups guidelines into melody guides and harmony guides. Third species follows the same pattern. Below maps each guideline area to whether it is a **melody** concern (single-voice) or **harmony** concern (two-voice interaction), and notes where existing guidelines can be reused vs. where new guidelines are needed.
|
|
487
|
+
|
|
488
|
+
### 7.1 Melody Guidelines (ThirdSpeciesMelody)
|
|
489
|
+
|
|
490
|
+
| Guideline | Status | Notes |
|
|
491
|
+
|---|---|---|
|
|
492
|
+
| **AlwaysMove** | **Reuse** | No repeated notes; already checks for consecutive unisons |
|
|
493
|
+
| **ConsonantClimax** | **Reuse** | Still applies; secondary climaxes may need consideration |
|
|
494
|
+
| **Diatonic** | **Reuse** | Stay within key/mode |
|
|
495
|
+
| **EndOnTonic** | **Reuse** | Final note is tonic |
|
|
496
|
+
| **FrequentDirectionChanges** | **Reuse** | May need threshold adjustment for the greater note count |
|
|
497
|
+
| **LimitOctaveLeaps** | **Reuse** | |
|
|
498
|
+
| **MostlyConjunct** | **Reuse** (adjust threshold) | Even more stepwise than second species; threshold should be higher (~75-85%) |
|
|
499
|
+
| **PrepareOctaveLeaps** | **Reuse** | |
|
|
500
|
+
| **SingableIntervals** | **Reuse** | All leaps must be melodic consonances |
|
|
501
|
+
| **SingableRange** | **Reuse** | Generally within a tenth |
|
|
502
|
+
| **StartOnPerfectConsonance** | **Reuse** | First sounding note forms P1/P5/P8 with CF |
|
|
503
|
+
| **StepOutOfUnison** | **Reuse** | Step away from unisons |
|
|
504
|
+
| **StepUpToFinalNote** | **Reuse** | Leading tone or supertonic approach |
|
|
505
|
+
| **FourToOne** | **New** | Four quarter notes per whole note in CF; first bar allows rest + 3 quarters; final bar is whole note |
|
|
506
|
+
|
|
507
|
+
#### Guidelines Removed from Second Species
|
|
508
|
+
|
|
509
|
+
| Second-species guideline | Disposition for third species |
|
|
510
|
+
|---|---|
|
|
511
|
+
| **TwoToOne** | Replaced by **FourToOne** |
|
|
512
|
+
|
|
513
|
+
#### Potentially New Melody Guidelines
|
|
514
|
+
|
|
515
|
+
| Guideline | Priority | Description |
|
|
516
|
+
|---|---|---|
|
|
517
|
+
| **FourToOne** | Required | Enforces the 4:1 rhythmic structure: 4 quarter notes per bar (or rest + 3 in bar 1), whole note in final bar |
|
|
518
|
+
| **PreferLeapsWithinBar** | Soft | Prefer leaps within the bar rather than across the barline |
|
|
519
|
+
| **AvoidLongScalarRuns** | Soft | Avoid more than ~5-6 notes in the same direction without a change |
|
|
520
|
+
| **RecoverLargeLeaps** | Reuse existing | Already exists; step in opposite direction after large leaps |
|
|
521
|
+
|
|
522
|
+
### 7.2 Harmony Guidelines (ThirdSpeciesHarmony)
|
|
523
|
+
|
|
524
|
+
| Guideline | Status | Notes |
|
|
525
|
+
|---|---|---|
|
|
526
|
+
| **ApproachPerfectionContrarily** | **Reuse** | Approach perfect consonances by contrary motion; applies to beat-4-to-beat-1 motion |
|
|
527
|
+
| **AvoidCrossingVoices** | **Reuse** | |
|
|
528
|
+
| **AvoidOverlappingVoices** | **Reuse** | |
|
|
529
|
+
| **ConsonantDownbeats** | **Reuse** | Every beat 1 must be consonant |
|
|
530
|
+
| **NoParallelPerfectOnDownbeats** | **Reuse** | No P5-P5 or P8-P8 on consecutive downbeats |
|
|
531
|
+
| **NoParallelPerfectAcrossBarline** | **Reuse** (extend) | Currently checks weak beat to next downbeat; for third species, should check beat 3 and beat 4 to next beat 1 |
|
|
532
|
+
| **NoStrongBeatUnisons** | **Reuse** | No unisons on interior downbeats |
|
|
533
|
+
| **PreferContraryMotion** | **Reuse** | |
|
|
534
|
+
| **PreferImperfect** | **Reuse** | Prefer imperfect consonances on downbeats |
|
|
535
|
+
|
|
536
|
+
#### New Harmony Guidelines
|
|
537
|
+
|
|
538
|
+
| Guideline | Priority | Description |
|
|
539
|
+
|---|---|---|
|
|
540
|
+
| **ThirdSpeciesDissonanceTreatment** | **Required** | Replaces `WeakBeatDissonanceTreatment` from second species. Must validate: (1) passing tones (step in, step out, same direction), (2) neighbor tones (step away, step back), (3) nota cambiata (five-note figure with leap of 3rd from beat 2 dissonance), (4) double neighbor (both neighbors ornament same pitch). Optionally: (5) escape tone (step in, leap out opposite direction). |
|
|
541
|
+
| **NoParallelPerfectOnConsecutiveNotes** | **New** (or extend existing) | Check for parallel P5/P8 between any consecutive notes in the counterpoint voice against the CF, not just at barlines. This is more comprehensive than the existing barline-only check. |
|
|
542
|
+
|
|
543
|
+
#### Guidelines Carried From Second Species (Modified)
|
|
544
|
+
|
|
545
|
+
| Second-species guideline | Modification for third species |
|
|
546
|
+
|---|---|
|
|
547
|
+
| **WeakBeatDissonanceTreatment** | Replaced by **ThirdSpeciesDissonanceTreatment** (expanded to handle NT, cambiata, double neighbor, optionally escape tone) |
|
|
548
|
+
| **NoParallelPerfectAcrossBarline** | May need to be extended to check beats 3 and 4 to next beat 1, not just the last weak beat |
|
|
549
|
+
|
|
550
|
+
### 7.3 Proposed RULESET
|
|
551
|
+
|
|
552
|
+
#### ThirdSpeciesMelody RULESET
|
|
553
|
+
|
|
554
|
+
```ruby
|
|
555
|
+
RULESET = [
|
|
556
|
+
HeadMusic::Style::Guidelines::AlwaysMove,
|
|
557
|
+
HeadMusic::Style::Guidelines::ConsonantClimax,
|
|
558
|
+
HeadMusic::Style::Guidelines::Diatonic,
|
|
559
|
+
HeadMusic::Style::Guidelines::EndOnTonic,
|
|
560
|
+
HeadMusic::Style::Guidelines::FourToOne, # NEW
|
|
561
|
+
HeadMusic::Style::Guidelines::FrequentDirectionChanges,
|
|
562
|
+
HeadMusic::Style::Guidelines::LimitOctaveLeaps,
|
|
563
|
+
HeadMusic::Style::Guidelines::MostlyConjunct,
|
|
564
|
+
HeadMusic::Style::Guidelines::PrepareOctaveLeaps,
|
|
565
|
+
HeadMusic::Style::Guidelines::SingableIntervals,
|
|
566
|
+
HeadMusic::Style::Guidelines::SingableRange,
|
|
567
|
+
HeadMusic::Style::Guidelines::StartOnPerfectConsonance,
|
|
568
|
+
HeadMusic::Style::Guidelines::StepOutOfUnison,
|
|
569
|
+
HeadMusic::Style::Guidelines::StepUpToFinalNote,
|
|
570
|
+
].freeze
|
|
571
|
+
```
|
|
572
|
+
|
|
573
|
+
#### ThirdSpeciesHarmony RULESET
|
|
574
|
+
|
|
575
|
+
```ruby
|
|
576
|
+
RULESET = [
|
|
577
|
+
HeadMusic::Style::Guidelines::ApproachPerfectionContrarily,
|
|
578
|
+
HeadMusic::Style::Guidelines::AvoidCrossingVoices,
|
|
579
|
+
HeadMusic::Style::Guidelines::AvoidOverlappingVoices,
|
|
580
|
+
HeadMusic::Style::Guidelines::ConsonantDownbeats,
|
|
581
|
+
HeadMusic::Style::Guidelines::NoParallelPerfectAcrossBarline,
|
|
582
|
+
HeadMusic::Style::Guidelines::NoParallelPerfectOnDownbeats,
|
|
583
|
+
HeadMusic::Style::Guidelines::NoStrongBeatUnisons,
|
|
584
|
+
HeadMusic::Style::Guidelines::PreferContraryMotion,
|
|
585
|
+
HeadMusic::Style::Guidelines::PreferImperfect,
|
|
586
|
+
HeadMusic::Style::Guidelines::ThirdSpeciesDissonanceTreatment, # NEW
|
|
587
|
+
].freeze
|
|
588
|
+
```
|
|
589
|
+
|
|
590
|
+
### 7.4 New Guideline Specifications
|
|
591
|
+
|
|
592
|
+
#### FourToOne
|
|
593
|
+
|
|
594
|
+
**Purpose:** Enforce the 4:1 rhythmic structure of third-species counterpoint.
|
|
595
|
+
|
|
596
|
+
**Logic:**
|
|
597
|
+
```
|
|
598
|
+
for each bar aligned with a CF note:
|
|
599
|
+
if first bar:
|
|
600
|
+
accept 4 quarter notes OR (quarter rest + 3 quarter notes)
|
|
601
|
+
elsif last bar (aligned with last CF note):
|
|
602
|
+
accept 1 whole note
|
|
603
|
+
else:
|
|
604
|
+
accept exactly 4 quarter notes
|
|
605
|
+
end
|
|
606
|
+
```
|
|
607
|
+
|
|
608
|
+
**Implementation notes:** Model after `TwoToOne`. Use `HeadMusic::Rudiment::RhythmicValue.get(:quarter)` and `:whole`. Check `notes_in_bar` and `rests_in_bar` for each bar. The CF bar alignment can be determined from `cantus_firmus.notes`.
|
|
609
|
+
|
|
610
|
+
#### ThirdSpeciesDissonanceTreatment
|
|
611
|
+
|
|
612
|
+
**Purpose:** Validate that all dissonant notes on weak beats follow one of the permitted dissonance figures.
|
|
613
|
+
|
|
614
|
+
**Logic:**
|
|
615
|
+
```
|
|
616
|
+
for each note on beat 2, 3, or 4 that is dissonant with the CF:
|
|
617
|
+
if passing_tone?(note): OK
|
|
618
|
+
- approached by step, left by step, same direction
|
|
619
|
+
elsif neighbor_tone?(note): OK
|
|
620
|
+
- approached by step, left by step, opposite direction (back to original pitch or to another consonance)
|
|
621
|
+
elsif part_of_nota_cambiata?(note): OK
|
|
622
|
+
- five-note figure: beat 2 dissonance, approached by step, left by leap of 3rd (same direction),
|
|
623
|
+
followed by two steps in opposite direction; notes 1, 3, 5 consonant
|
|
624
|
+
elsif part_of_double_neighbor?(note): OK
|
|
625
|
+
- four-note figure: beats 1 and 4 same pitch, beats 2 and 3 are upper and lower neighbors
|
|
626
|
+
else:
|
|
627
|
+
MARK as violation
|
|
628
|
+
end
|
|
629
|
+
```
|
|
630
|
+
|
|
631
|
+
**Implementation notes:** This is the most complex guideline. It should:
|
|
632
|
+
1. First identify all dissonant non-downbeat notes
|
|
633
|
+
2. For each, check the simplest patterns first (PT, NT)
|
|
634
|
+
3. For remaining unresolved dissonances, check if they participate in a cambiata or double neighbor figure
|
|
635
|
+
4. Mark any dissonance that does not fit a recognized pattern
|
|
636
|
+
|
|
637
|
+
**Escape tone option:** The escape tone could be included as an optional check (step in, leap out in opposite direction) or excluded for a strict Fuxian implementation. Consider making this configurable or implementing as a separate soft guideline.
|
|
638
|
+
|
|
639
|
+
### 7.5 Hard vs. Soft Classification (after Schubert)
|
|
640
|
+
|
|
641
|
+
**Hard rules** (fitness near 0 for violations):
|
|
642
|
+
- Consonant downbeats
|
|
643
|
+
- All weak-beat dissonances must fit a recognized pattern (PT, NT, cambiata, double neighbor)
|
|
644
|
+
- No parallel perfect consonances on consecutive downbeats
|
|
645
|
+
- No parallel perfect consonances across barline (beat 4 to beat 1)
|
|
646
|
+
- No repeated notes (AlwaysMove)
|
|
647
|
+
- Diatonic
|
|
648
|
+
- Singable intervals
|
|
649
|
+
- Four-to-one rhythmic structure (FourToOne)
|
|
650
|
+
|
|
651
|
+
**Soft rules** (penalty but not zero fitness):
|
|
652
|
+
- Prefer contrary motion
|
|
653
|
+
- Prefer imperfect consonances
|
|
654
|
+
- Mostly conjunct (higher threshold than second species)
|
|
655
|
+
- Prefer leaps within the bar
|
|
656
|
+
- Frequent direction changes
|
|
657
|
+
- Avoid interior unisons on strong beats
|
|
658
|
+
- Consonant climax
|
|
659
|
+
- Singable range
|
|
660
|
+
|
|
661
|
+
### 7.6 Implementation Priority
|
|
662
|
+
|
|
663
|
+
1. **FourToOne** -- straightforward adaptation of TwoToOne; required to validate basic rhythmic structure
|
|
664
|
+
2. **ThirdSpeciesDissonanceTreatment** -- the core new guideline; complex but essential; handles PT, NT, cambiata, double neighbor
|
|
665
|
+
3. **Verify existing guidelines** -- run second-species guidelines against third-species examples to confirm they generalize correctly (AlwaysMove, ConsonantDownbeats, NoParallelPerfectOnDownbeats, etc.)
|
|
666
|
+
4. **Adjust thresholds** -- MostlyConjunct may need a higher minimum conjunct portion for third species
|
|
667
|
+
5. **Optional: NoParallelPerfectOnConsecutiveNotes** -- more comprehensive parallel checking between all beat positions (beyond just downbeats and barlines)
|
|
668
|
+
|
|
669
|
+
---
|
|
670
|
+
|
|
671
|
+
## 8. Sources
|
|
672
|
+
|
|
673
|
+
### Primary Textbooks
|
|
674
|
+
|
|
675
|
+
- Fux, J.J. *Gradus ad Parnassum* (1725). Trans. Alfred Mann, *The Study of Counterpoint* (W.W. Norton, 1965).
|
|
676
|
+
- Albrechtsberger, J.G. *Grundliche Anweisung zur Composition* (1790).
|
|
677
|
+
- Cherubini, L. *A Treatise on Counterpoint and Fugue* (1835).
|
|
678
|
+
- Bellermann, H. *Der Contrapunkt* (1862; 4th ed. 1901).
|
|
679
|
+
- Schenker, H. *Kontrapunkt* (1910/1922). Trans. Rothgeb & Thym, *Counterpoint* (Musicalia Press, 2001).
|
|
680
|
+
- Jeppesen, K. *Counterpoint: The Polyphonic Vocal Style of the Sixteenth Century* (1931; Dover, 1992).
|
|
681
|
+
- Salzer, F. & Schachter, C. *Counterpoint in Composition* (Columbia UP, 1969).
|
|
682
|
+
- Kennan, K. *Counterpoint*, 4th ed. (Prentice Hall, 1999).
|
|
683
|
+
- Gauldin, R. *A Practical Approach to 16th-Century Counterpoint* (Waveland Press).
|
|
684
|
+
- Gauldin, R. *A Practical Approach to 18th-Century Counterpoint* (Waveland Press).
|
|
685
|
+
- Aldwell, E. & Schachter, C. *Harmony and Voice Leading*, 4th ed. (Cengage, 2011).
|
|
686
|
+
- Schubert, P. *Modal Counterpoint: Renaissance Style*, 2nd ed. (Oxford UP, 2008).
|
|
687
|
+
- Laitz, S. *The Complete Musician*, 4th ed. (Oxford UP, 2016).
|
|
688
|
+
- Kostka, S., Payne, D. & Almen, B. *Tonal Harmony*, 8th ed. (McGraw-Hill, 2018).
|
|
689
|
+
- Clendinning, J.P. & Marvin, E.W. *The Musician's Guide to Theory and Analysis*, 4th ed. (W.W. Norton, 2021).
|
|
690
|
+
- Benjamin, T., Horvit, M. & Nelson, R. *Counterpoint in the Style of J.S. Bach* (Schirmer).
|
|
691
|
+
- Swindale, O. *Polyphonic Composition* (Oxford UP, 1962).
|
|
692
|
+
|
|
693
|
+
### Online Pedagogy
|
|
694
|
+
|
|
695
|
+
- [Open Music Theory 2e -- Third-Species Counterpoint (Gotham et al.)](https://human.libretexts.org/Bookshelves/Music/Music_Theory/Open_Music_Theory_2e_(Gotham_et_al.)/02:_Counterpoint_and_Galant_Schemas/2.04:_Third-Species_Counterpoint)
|
|
696
|
+
- [Open Music Theory -- Third-Species Counterpoint (Shaffer/Hughes)](https://viva.pressbooks.pub/openmusictheory/chapter/third-species-counterpoint/)
|
|
697
|
+
- [Kris Shaffer -- Composing a Third-Species Counterpoint](https://openmusictheory.github.io/thirdSpecies.html)
|
|
698
|
+
- [Puget Sound Music Theory -- Third Species](https://musictheory.pugetsound.edu/mt21c/ThirdSpecies.html)
|
|
699
|
+
- [Rothfarb (UCSB) -- The Third Species of Counterpoint](https://rothfarb.faculty.music.ucsb.edu/courses/103/Third_Species(2v).html)
|
|
700
|
+
- [Ars Nova -- Third Species Counterpoint](https://www.ars-nova.com/cpmanual/thirdspecies.htm)
|
|
701
|
+
- [Ars Nova -- Dissonance Handling](https://www.ars-nova.com/cpmanual/dissonancerules.htm)
|
|
702
|
+
- [Ars Nova -- Escape Tones](https://www.ars-nova.com/cpmanual/escape.htm)
|
|
703
|
+
- [Any Old Music -- How to Write Third Species Counterpoint](https://anyoldmusic.com/how-to-write-third-species-counterpoint-a-comprehensive-guide/)
|
|
704
|
+
- [Iowa State -- Third Species Counterpoint Tutorial](https://iastate.pressbooks.pub/comprehensivemusicianship/chapter/9-4-third-species-counterpoint-tutorial/)
|
|
705
|
+
- [Irene Girton -- Species Counterpoint: 3rd Species](https://irenegirton.com/irene-montefiore-girton/species-counterpoint-online/species-counterpoint-3rd-species/)
|
|
706
|
+
- [Global Music Theory -- 3rd Species Counterpoint](https://globalmusictheory.com/3rd-species-counterpoint-rules-and-steps/)
|
|
707
|
+
- [ntoll.org -- Species Counterpoint](https://ntoll.org/article/species-counterpoint/)
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: head_music
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 11.
|
|
4
|
+
version: 11.8.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Rob Head
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-02-
|
|
11
|
+
date: 2026-02-16 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activesupport
|
|
@@ -279,6 +279,7 @@ files:
|
|
|
279
279
|
- lib/head_music/style/guidelines/direction_changes.rb
|
|
280
280
|
- lib/head_music/style/guidelines/end_on_perfect_consonance.rb
|
|
281
281
|
- lib/head_music/style/guidelines/end_on_tonic.rb
|
|
282
|
+
- lib/head_music/style/guidelines/four_to_one.rb
|
|
282
283
|
- lib/head_music/style/guidelines/frequent_direction_changes.rb
|
|
283
284
|
- lib/head_music/style/guidelines/limit_octave_leaps.rb
|
|
284
285
|
- lib/head_music/style/guidelines/moderate_direction_changes.rb
|
|
@@ -303,6 +304,7 @@ files:
|
|
|
303
304
|
- lib/head_music/style/guidelines/step_out_of_unison.rb
|
|
304
305
|
- lib/head_music/style/guidelines/step_to_final_note.rb
|
|
305
306
|
- lib/head_music/style/guidelines/step_up_to_final_note.rb
|
|
307
|
+
- lib/head_music/style/guidelines/third_species_dissonance_treatment.rb
|
|
306
308
|
- lib/head_music/style/guidelines/two_to_one.rb
|
|
307
309
|
- lib/head_music/style/guidelines/up_to_fourteen_notes.rb
|
|
308
310
|
- lib/head_music/style/guidelines/weak_beat_dissonance_treatment.rb
|
|
@@ -312,6 +314,8 @@ files:
|
|
|
312
314
|
- lib/head_music/style/guides/modern_cantus_firmus.rb
|
|
313
315
|
- lib/head_music/style/guides/second_species_harmony.rb
|
|
314
316
|
- lib/head_music/style/guides/second_species_melody.rb
|
|
317
|
+
- lib/head_music/style/guides/third_species_harmony.rb
|
|
318
|
+
- lib/head_music/style/guides/third_species_melody.rb
|
|
315
319
|
- lib/head_music/style/mark.rb
|
|
316
320
|
- lib/head_music/style/medieval_tradition.rb
|
|
317
321
|
- lib/head_music/style/modern_tradition.rb
|
|
@@ -330,6 +334,7 @@ files:
|
|
|
330
334
|
- lib/head_music/utilities/hash_key.rb
|
|
331
335
|
- lib/head_music/version.rb
|
|
332
336
|
- references/second-species-counterpoint.md
|
|
337
|
+
- references/third-species-counterpoint.md
|
|
333
338
|
- user_stories/backlog/notation-style.md
|
|
334
339
|
- user_stories/backlog/organizing-content.md
|
|
335
340
|
- user_stories/done/consonance-dissonance-classification.md
|