head_music 11.0.0 → 11.1.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/content/cantus_firmus_examples.rb +58 -0
- data/lib/head_music/version.rb +1 -1
- data/lib/head_music.rb +1 -0
- metadata +4 -3
- /data/user_stories/{active → done}/string-pitches.md +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 58dd1af5d1072fae544381bbfa88c7f0dd6e7e81a9287993d7b0b2182a6b9843
|
|
4
|
+
data.tar.gz: b756659da00094b43e63480154c9f9c86ad06da12d4aa77752539febedcc23e1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ff5db88d28319654f40a7d2ac21ff53dbfb4a8a600986a61d965cbfea64ed1b3a4b7d78fc87cfc5aa2b61278e477064e0db923f8e7a408dab5d8081f8f477a21
|
|
7
|
+
data.tar.gz: c051f56b29a2b0ae61f24c163245bc0dfd24405baa0e556b19b709317c858fd27464409cad7e0f832a143c59ad85cf56be4fb9429b68516b41fea34278291284
|
data/Gemfile.lock
CHANGED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
module HeadMusic
|
|
2
|
+
module Content
|
|
3
|
+
# Sample cantus firmus examples from various pedagogical sources.
|
|
4
|
+
# These are traditional melodies used for teaching counterpoint.
|
|
5
|
+
module CantusFirmusExamples
|
|
6
|
+
FUX = [
|
|
7
|
+
{ source: "Fux", key: "D dorian", pitches: %w[D F E D G F A G F E D] },
|
|
8
|
+
{ source: "Fux", key: "E phrygian", pitches: %w[E C D C A3 A G E F E] },
|
|
9
|
+
{ source: "Fux", key: "F lydian", pitches: %w[F G A F D E F C5 A F G F] },
|
|
10
|
+
{ source: "Fux", key: "G mixolydian", pitches: %w[G3 C B3 G3 C E D G E C D B3 A3 G3] },
|
|
11
|
+
{ source: "Fux", key: "A aeolian", pitches: %w[A3 C B3 D C E F E D C B3 A3] },
|
|
12
|
+
{ source: "Fux", key: "C ionian", pitches: %w[C E F G E A G E F E D C] },
|
|
13
|
+
{ source: "Fux", key: "C ionian", pitches: %w[C E F E G F E D C] }
|
|
14
|
+
].freeze
|
|
15
|
+
|
|
16
|
+
CLENDINNING = [
|
|
17
|
+
{ source: "Clendinning", name: "CF in F major", key: "F major", pitches: %w[F3 G3 A3 F3 D3 E3 F3 C4 A3 F3 G3 F3] },
|
|
18
|
+
{ source: "Clendinning", name: "CF in D minor", key: "D minor", pitches: %w[D3 A3 G3 F3 E3 D3 F3 E3 D3] },
|
|
19
|
+
{ source: "Clendinning", name: "CF in C major (treble)", key: "C major", pitches: %w[C D F E F G A G E D C] },
|
|
20
|
+
{ source: "Clendinning", name: "CF in C major (bass)", key: "C major", pitches: %w[C3 E3 F3 G3 E3 A3 G3 E3 F3 E3 D3 C3] }
|
|
21
|
+
].freeze
|
|
22
|
+
|
|
23
|
+
DAVIS_AND_LYBBERT = [
|
|
24
|
+
{ source: "Davis & Lybbert", name: "CF 1 in C major", key: "C major", pitches: %w[C3 E3 D3 G3 A3 G3 E3 F3 D3 C3] },
|
|
25
|
+
{ source: "Davis & Lybbert", name: "CF 2 in C major", key: "C major", pitches: %w[C3 D3 E3 G3 A3 F3 E3 D3 C3] },
|
|
26
|
+
{ source: "Davis & Lybbert", name: "CF 3 in G major", key: "G major", pitches: %w[G3 F#3 G3 E3 D3 B2 C3 D3 B2 A2 G2] },
|
|
27
|
+
{ source: "Davis & Lybbert", name: "CF 4 in G major", key: "G major", pitches: %w[G2 B2 C3 D3 E3 D3 B2 C3 A2 G2] },
|
|
28
|
+
{ source: "Davis & Lybbert", name: "CF 5 in F major", key: "F major", pitches: %w[F3 D3 C3 F3 G3 A3 E3 D3 G3 F3] },
|
|
29
|
+
{ source: "Davis & Lybbert", name: "CF 6 in A minor", key: "A minor", pitches: %w[A2 E3 C3 D3 B2 G2 A2 C3 B2 A2] },
|
|
30
|
+
{ source: "Davis & Lybbert", name: "CF 7 in A minor", key: "A minor", pitches: %w[A2 B2 C3 D3 E3 F3 E3 C3 B2 A2] },
|
|
31
|
+
{ source: "Davis & Lybbert", name: "CF 8 in E minor", key: "E minor", pitches: %w[E3 A3 B3 G3 C4 A3 B3 G3 F#3 E3] },
|
|
32
|
+
{ source: "Davis & Lybbert", name: "CF 9 in E minor", key: "E minor", pitches: %w[E3 D3 C3 B2 G2 A2 B2 E3 G3 F#3 E3] },
|
|
33
|
+
{ source: "Davis & Lybbert", name: "CF 10 in D minor", key: "D minor", pitches: %w[D3 F3 E3 G3 F3 D3 A3 G3 F3 E3 D3] }
|
|
34
|
+
].freeze
|
|
35
|
+
|
|
36
|
+
SCHOENBERG = [
|
|
37
|
+
{ source: "Schoenberg", key: "Eb major", pitches: %w[Eb D G3 Ab3 C Ab3 F3 Eb3] },
|
|
38
|
+
{ source: "Schoenberg", key: "A major", pitches: %w[A3 C#4 B3 F#3 A3 F#3 G#3 A3] }
|
|
39
|
+
].freeze
|
|
40
|
+
|
|
41
|
+
EXAMPLES = (FUX + CLENDINNING + DAVIS_AND_LYBBERT + SCHOENBERG).freeze
|
|
42
|
+
|
|
43
|
+
class << self
|
|
44
|
+
def all
|
|
45
|
+
EXAMPLES
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def by_source(source)
|
|
49
|
+
EXAMPLES.select { |ex| ex[:source] == source }
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def sources
|
|
53
|
+
EXAMPLES.map { |ex| ex[:source] }.uniq
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
data/lib/head_music/version.rb
CHANGED
data/lib/head_music.rb
CHANGED
|
@@ -110,6 +110,7 @@ require "head_music/instruments/score_order"
|
|
|
110
110
|
|
|
111
111
|
# content
|
|
112
112
|
require "head_music/content/bar"
|
|
113
|
+
require "head_music/content/cantus_firmus_examples"
|
|
113
114
|
require "head_music/content/composition"
|
|
114
115
|
require "head_music/content/note"
|
|
115
116
|
require "head_music/content/placement"
|
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.1.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-01-
|
|
11
|
+
date: 2026-01-25 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activesupport
|
|
@@ -181,6 +181,7 @@ files:
|
|
|
181
181
|
- lib/head_music/analysis/pitch_collection.rb
|
|
182
182
|
- lib/head_music/analysis/sonority.rb
|
|
183
183
|
- lib/head_music/content/bar.rb
|
|
184
|
+
- lib/head_music/content/cantus_firmus_examples.rb
|
|
184
185
|
- lib/head_music/content/composition.rb
|
|
185
186
|
- lib/head_music/content/note.rb
|
|
186
187
|
- lib/head_music/content/placement.rb
|
|
@@ -318,7 +319,6 @@ files:
|
|
|
318
319
|
- lib/head_music/utilities/case.rb
|
|
319
320
|
- lib/head_music/utilities/hash_key.rb
|
|
320
321
|
- lib/head_music/version.rb
|
|
321
|
-
- user_stories/active/string-pitches.md
|
|
322
322
|
- user_stories/backlog/notation-style.md
|
|
323
323
|
- user_stories/backlog/organizing-content.md
|
|
324
324
|
- user_stories/done/consonance-dissonance-classification.md
|
|
@@ -339,6 +339,7 @@ files:
|
|
|
339
339
|
- user_stories/done/percussion_set.md
|
|
340
340
|
- user_stories/done/pitch-class-set-analysis.md
|
|
341
341
|
- user_stories/done/sonority-identification.md
|
|
342
|
+
- user_stories/done/string-pitches.md
|
|
342
343
|
- user_stories/done/superclass-for-note.md
|
|
343
344
|
- user_stories/epics/notation-module.md
|
|
344
345
|
- user_stories/visioning/agentic-daw.md
|
|
File without changes
|