tonus 0.1.8 → 0.5.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.
Files changed (164) hide show
  1. package/BIBLIOGRAPHY.md +132 -108
  2. package/CHANGELOG.md +598 -1
  3. package/LICENSE +133 -29
  4. package/README.md +106 -83
  5. package/dist/data/am.js +2666 -11196
  6. package/dist/data/ams.d.ts +5 -0
  7. package/dist/data/ams.js +122 -0
  8. package/dist/data/attestation.d.ts +19 -0
  9. package/dist/data/attestation.js +15716 -0
  10. package/dist/data/attestation.json +15711 -0
  11. package/dist/data/cadentiae.d.ts +43 -0
  12. package/dist/data/cadentiae.js +174 -0
  13. package/dist/data/cal.js +48 -0
  14. package/dist/data/census.d.ts +12 -0
  15. package/dist/data/census.js +36 -0
  16. package/dist/data/commune-office.d.ts +4 -0
  17. package/dist/data/commune-office.js +2371 -0
  18. package/dist/data/commune-office.json +2365 -0
  19. package/dist/data/commune.js +181 -11
  20. package/dist/data/corpus-overlap.d.ts +17 -0
  21. package/dist/data/corpus-overlap.js +299 -5
  22. package/dist/data/cot.d.ts +5 -0
  23. package/dist/data/cot.js +172 -0
  24. package/dist/data/cse.d.ts +5 -0
  25. package/dist/data/cse.js +122 -0
  26. package/dist/data/gabc-glyphs.d.ts +45 -0
  27. package/dist/data/gabc-glyphs.js +122 -0
  28. package/dist/data/gr.js +754 -6394
  29. package/dist/data/kyriale.js +116 -116
  30. package/dist/data/la.js +799 -13419
  31. package/dist/data/lh.js +113 -3473
  32. package/dist/data/lu.js +931 -17631
  33. package/dist/data/nocturnale-romanum.js +1659 -10411
  34. package/dist/data/office-ferial.d.ts +4 -0
  35. package/dist/data/office-ferial.js +396 -0
  36. package/dist/data/office-ferial.json +391 -0
  37. package/dist/data/office-monastic.d.ts +17 -1
  38. package/dist/data/office-monastic.js +1403 -466
  39. package/dist/data/office-psalms-monastic.d.ts +13 -1
  40. package/dist/data/office-psalms-monastic.js +9 -0
  41. package/dist/data/propers.js +1 -1
  42. package/dist/data/psalms.js +22919 -5
  43. package/dist/data/psm.d.ts +5 -0
  44. package/dist/data/psm.js +122 -0
  45. package/dist/data/seasonal-respbreve.d.ts +5 -0
  46. package/dist/data/seasonal-respbreve.js +41 -0
  47. package/dist/data/seasonal-respbreve.json +35 -0
  48. package/dist/data/smufl-glyphs.d.ts +17 -0
  49. package/dist/data/smufl-glyphs.js +1546 -0
  50. package/dist/data/smufl-glyphs.json +1530 -0
  51. package/dist/engines/cal/calendar.d.ts +3 -2
  52. package/dist/engines/cal/calendar.js +105 -29
  53. package/dist/engines/cal/data/eras.d.ts +35 -0
  54. package/dist/engines/cal/data/eras.js +128 -0
  55. package/dist/engines/cal/date.js +44 -0
  56. package/dist/engines/cal/types.d.ts +15 -3
  57. package/dist/engines/cal/types.js +5 -5
  58. package/dist/engines/census/census.d.ts +7 -0
  59. package/dist/engines/census/census.js +179 -0
  60. package/dist/engines/census/types.d.ts +55 -0
  61. package/dist/engines/census/types.js +8 -0
  62. package/dist/engines/chant/attest.d.ts +39 -0
  63. package/dist/engines/chant/attest.js +90 -0
  64. package/dist/engines/chant/chant.d.ts +16 -4
  65. package/dist/engines/chant/chant.js +220 -30
  66. package/dist/engines/chant/data/compline.js +2 -1
  67. package/dist/engines/chant/data/masses.d.ts +56 -4
  68. package/dist/engines/chant/data/masses.js +305 -80
  69. package/dist/engines/chant/data/prime.js +1 -1
  70. package/dist/engines/chant/hour.js +279 -58
  71. package/dist/engines/chant/ordinary.d.ts +2 -0
  72. package/dist/engines/chant/ordinary.js +336 -56
  73. package/dist/engines/chant/propers.js +55 -5
  74. package/dist/engines/chant/psalm.d.ts +4 -4
  75. package/dist/engines/chant/psalm.js +25 -11
  76. package/dist/engines/chant/syllabify.d.ts +1 -0
  77. package/dist/engines/chant/syllabify.js +90 -17
  78. package/dist/engines/chant/types.d.ts +115 -12
  79. package/dist/engines/chant/types.js +38 -3
  80. package/dist/engines/harmonia/api.js +4 -0
  81. package/dist/engines/harmonia/data/doctrines.js +3 -1
  82. package/dist/engines/harmonia/tabula.d.ts +3 -0
  83. package/dist/engines/harmonia/tabula.js +1 -0
  84. package/dist/engines/harmonia/voice.d.ts +4 -0
  85. package/dist/engines/harmonia/voice.js +8 -4
  86. package/dist/engines/imprint.js +14 -1
  87. package/dist/engines/planet/orbital.js +4 -4
  88. package/dist/engines/planet/planet.d.ts +10 -0
  89. package/dist/engines/planet/planet.js +30 -3
  90. package/dist/engines/planet/position.js +13 -10
  91. package/dist/engines/planet/types.d.ts +1 -0
  92. package/dist/engines/score/api.d.ts +2 -13
  93. package/dist/engines/score/api.js +21 -8
  94. package/dist/engines/score/articulation.js +2 -2
  95. package/dist/engines/score/cadence.d.ts +76 -0
  96. package/dist/engines/score/cadence.js +96 -0
  97. package/dist/engines/score/emitters/accidentals.d.ts +21 -0
  98. package/dist/engines/score/emitters/accidentals.js +88 -0
  99. package/dist/engines/score/emitters/atramentum.d.ts +107 -0
  100. package/dist/engines/score/emitters/atramentum.js +239 -0
  101. package/dist/engines/score/emitters/breaking.d.ts +62 -0
  102. package/dist/engines/score/emitters/breaking.js +80 -0
  103. package/dist/engines/score/emitters/moderna.d.ts +38 -0
  104. package/dist/engines/score/emitters/moderna.js +612 -0
  105. package/dist/engines/score/emitters/svg.d.ts +143 -0
  106. package/dist/engines/score/emitters/svg.js +1328 -0
  107. package/dist/engines/score/emitters/tracks.d.ts +104 -0
  108. package/dist/engines/score/emitters/tracks.js +728 -0
  109. package/dist/engines/score/infer.d.ts +3 -3
  110. package/dist/engines/score/infer.js +2 -2
  111. package/dist/engines/score/inscriptio.d.ts +69 -0
  112. package/dist/engines/score/inscriptio.js +138 -0
  113. package/dist/engines/score/ir.d.ts +2 -2
  114. package/dist/engines/score/ir.js +59 -12
  115. package/dist/engines/score/lyric.d.ts +23 -0
  116. package/dist/engines/score/lyric.js +234 -0
  117. package/dist/engines/score/meta.d.ts +2 -2
  118. package/dist/engines/score/modulation.d.ts +12 -0
  119. package/dist/engines/score/modulation.js +49 -0
  120. package/dist/engines/score/neume.js +35 -4
  121. package/dist/engines/score/parse.js +150 -9
  122. package/dist/engines/score/phrasing.js +4 -3
  123. package/dist/engines/score/prosody.d.ts +38 -0
  124. package/dist/engines/score/prosody.js +70 -6
  125. package/dist/engines/score/tabula.d.ts +37 -5
  126. package/dist/engines/score/tabula.js +18 -0
  127. package/dist/engines/score/types.d.ts +88 -1
  128. package/dist/engines/temper/api.d.ts +4 -1
  129. package/dist/engines/temper/api.js +28 -5
  130. package/dist/engines/temper/data/guido.js +6 -2
  131. package/dist/engines/temper/data/modes.d.ts +6 -0
  132. package/dist/engines/temper/data/modes.js +42 -0
  133. package/dist/engines/temper/data/tones.d.ts +1 -1
  134. package/dist/engines/temper/data/tones.js +20 -11
  135. package/dist/engines/temper/interval.js +4 -3
  136. package/dist/engines/temper/modality.d.ts +11 -2
  137. package/dist/engines/temper/modality.js +74 -2
  138. package/dist/engines/temper/modes.d.ts +1 -1
  139. package/dist/engines/temper/pitch.d.ts +1 -1
  140. package/dist/engines/temper/pitch.js +12 -2
  141. package/dist/engines/temper/scale.d.ts +53 -0
  142. package/dist/engines/temper/scale.js +107 -8
  143. package/dist/index.d.ts +26 -8
  144. package/dist/index.js +37 -4
  145. package/docs/api/calendar.md +279 -0
  146. package/docs/api/census.md +288 -0
  147. package/docs/api/chant.md +657 -0
  148. package/docs/api/heavens.md +346 -0
  149. package/docs/api/index.md +263 -0
  150. package/docs/api/score.md +873 -0
  151. package/docs/api/tuning.md +619 -0
  152. package/package.json +11 -5
  153. package/dist/data/office-matins-roman.d.ts +0 -19
  154. package/dist/data/office-matins-roman.js +0 -4383
  155. package/dist/data/office-psalms-roman.d.ts +0 -15
  156. package/dist/data/office-psalms-roman.js +0 -28
  157. package/dist/data/office-roman.d.ts +0 -19
  158. package/dist/data/office-roman.js +0 -13792
  159. package/dist/engines/chant/matutinum.d.ts +0 -33
  160. package/dist/engines/chant/matutinum.js +0 -81
  161. package/dist/engines/score/emitters/midi.d.ts +0 -65
  162. package/dist/engines/score/emitters/midi.js +0 -162
  163. package/dist/engines/score/emitters/musicxml.d.ts +0 -18
  164. package/dist/engines/score/emitters/musicxml.js +0 -166
package/BIBLIOGRAPHY.md CHANGED
@@ -1,159 +1,183 @@
1
1
  # Bibliography
2
2
 
3
+ The sources the library draws on: chant and calendar data, algorithms,
4
+ doctrine tables, and the references behind them. Code cites by bracketed key
5
+ (`[biblio: key]`); each docs page keeps a `## Sources` line pointing here.
6
+
3
7
  ## Data corpora
4
8
 
5
- - `gregobase` — **GregoBase.** <https://gregobase.selapa.net/>. Chant corpora in
6
- GABC, extracted by book (GregoBase source IDs 2, 3, 48, 15):
9
+ - `gregobase` — **GregoBase.** <https://gregobase.selapa.net/>. Chant corpora
10
+ in GABC, extracted by book. Counts are the chants tonus ships: the corpus is
11
+ assignment-driven, so a book contributes the chants some day of the calendar
12
+ calls for (see COVERAGE.md). Admission is Solesmes and the rhythmic marks
13
+ the score engine reads; the 1974 Graduale, the 1990 Gregorian Missal, and
14
+ the 1983 Liber cantualis are excluded as post-conciliar re-editions of books
15
+ already here.
16
+
7
17
  - _Graduale sacrosanctæ Romanæ ecclesiæ de tempore et de sanctis_ (Graduale
8
- Romanum). Ed. Solesmes. Tournai: Desclée, 1961 — 1,344 chants (`gr`).
18
+ Romanum). Ed. Solesmes. Tournai: Desclée, 1961 — 780 chants (`gr`).
9
19
  - _Liber Usualis Missæ et Officii pro dominicis et festis cum cantu
10
- Gregoriano_. Ed. Solesmes. Tournai: Desclée, 1961 — 2,377 chants (`lu`).
20
+ Gregoriano_. Ed. Solesmes. Tournai: Desclée, 1961 — 707 chants (`lu`).
11
21
  - _Liber antiphonarius pro diurnis horis_ (Antiphonale Romanum). Solesmes,
12
- 1960 — 1,422 chants (`la`).
22
+ 1960 — 160 chants (`la`).
13
23
  - _Liber Hymnarius cum invitatoriis & aliquibus responsoriis_. Solesmes, 1983
14
- 361 chants (`lh`).
15
- - _Antiphonale Monasticum pro diurnis horis_ (the monastic antiphonary).
16
- Solesmes, 1934 — 1,429 chants (`am`). The classic Solesmes monastic edition,
17
- carrying the rhythmic marks the score engine reads (not the 2005–07
18
- restoration).
24
+ 25 chants (`lh`).
25
+ - _Antiphonale Monasticum pro diurnis horis_. Solesmes, 1934 — 576 chants
26
+ (`am`). The 1934 edition with the classic rhythmic marks, not the 2005–07
27
+ restoration.
28
+ - _Kyriale_ (from the Graduale Romanum). Solesmes, 1961 — 120 settings
29
+ (`ky`). The eighteen numbered Masses, the ad libitum chants, and the
30
+ Requiem.
31
+ - _Antiphonale Monasticum Solesmense — Proprium Sanctorum_, the offices
32
+ proper to the Solesmes congregation. Solesmes, 1935 — 11 chants (`ams`).
33
+ - _Psalterium Monasticum — Office divin selon le rit bénédictin_. Solesmes,
34
+ 1981 — 11 chants (`psm`).
35
+ - _Cantus selecti ad benedictionem Sanctissimi Sacramenti_. Solesmes, 1957 —
36
+ 11 chants (`cse`).
37
+ - _Chants of the Church — Selected Gregorian Chants_, compiled by the monks
38
+ of Solesmes. 1956 — 16 chants (`cot`).
19
39
  - `divinum-officium` — **Divinum Officium.** The 1570–1962 Roman Breviary and
20
- Missal in machine-readable form. <https://github.com/DivinumOfficium/divinum-officium>;
21
- <https://divinumofficium.com/> — the liturgical calendar (642 entries), Mass
22
- propers (926), Office hours (929 days), and the Psalterium (2,612 psalm + 579
23
- canticle verses, Vulgate), plus the feast names, ranks (`ritus`), and Tempora
24
- stem structure the seasons follow.
25
- - `graduale-toni-communes` — **Graduale Romanum appendix (Toni Communes).** Psalm
26
- tones and differentiae, including the tonus peregrinus.
27
- - `versus-psalmorum` **_Versus Psalmorum et Canticorum_ (No. 839).** Solesmes.
28
- The psalm-verse formulas for the tones.
29
- - `bloomfield-compline` **Bloomfield, _Compline_.** <https://github.com/bbloomf/compline>
30
- (public domain). Reference dates and chants for the traditional Roman Compline
31
- ordo.
40
+ Missal in machine-readable form.
41
+ <https://github.com/DivinumOfficium/divinum-officium>;
42
+ <https://divinumofficium.com/>. The liturgical calendar (650 entries), the
43
+ Mass propers, the Office hours, and the Psalterium (Vulgate psalm and
44
+ canticle verses), with the feast names, ranks (`ritus`), and Tempora stems
45
+ the seasons follow.
46
+ - `nocturnale-romanum` **_Nocturnale Romanum_ — Matins of the Roman Rite.**
47
+ Community restitution after Holger Peter Sandhofe (2002 base),
48
+ Hartker-derived. <https://github.com/Nocturnale-Romanum/nocturnale-romanum>.
49
+ The night-office corpus: responsories, antiphons, and hymns (470 chants,
50
+ `nr`).
51
+ - `graduale-toni-communes` — **Graduale Romanum appendix (Toni Communes).**
52
+ The psalm tones and differentiae, including the tonus peregrinus.
53
+ - `bloomfield-compline` — **Bloomfield, _Compline_.**
54
+ <https://github.com/bbloomf/compline> (public domain). Reference dates and
55
+ chants for the Compline ordo.
32
56
 
33
- ## Chant rhythm (score engine)
57
+ ## Chant rhythm and notation (score engine)
34
58
 
35
59
  - `carroll-chironomy` — **Carroll, Joseph Robert. _The Technique of Gregorian
36
- Chironomy_. Toledo, OH: Gregorian Institute of America, 1955.** Seven rhythmic
37
- types, three melodic rules, chironomy.
38
- - `carroll-applied` — **Carroll, Joseph Robert. _An Applied Course in Gregorian
39
- Chant_. Toledo, OH: Gregorian Institute of America, 1956.** Compound beats,
40
- ictus placement.
60
+ Chironomy_. Toledo, OH: Gregorian Institute of America, 1955.** The seven
61
+ rhythmic types, the three melodic rules, and the chironomy the track draws.
62
+ - `carroll-applied` — **Carroll, Joseph Robert (trans./ed., from the official
63
+ course syllabus of the Gregorian Institute of Paris). _An Applied Course in
64
+ Gregorian Chant_. Toledo, OH: Gregorian Institute of America, 1956.**
65
+ Compound beats, ictus placement.
41
66
  - `gajard-rhythm` — **Gajard, Joseph (trans. Aldhelm Dean). _The Rhythm of
42
- Plainsong According to the Solesmes School_. New York: J. Fischer & Bro., 1945.** The arsis/thesis synthesis.
67
+ Plainsong According to the Solesmes School_. New York: J. Fischer & Bro.,
68
+ 1945.** The arsis/thesis synthesis.
43
69
  - `mocquereau-nombre` — **Mocquereau, André. _Le nombre musical grégorien_,
44
70
  1908–1927.** The Solesmes school's foundation.
45
- - `cardine-semiology` — **Cardine, Eugène. "Semiology and the Interpretation of
46
- Gregorian Chant." Trans. Virginia A. Schubert; from the Festschrift for Joseph
47
- Lennards.** The semiological approach the `restrained` pondus style reflects.
71
+ - `cardine-semiology` — **Cardine, Eugène. _Gregorian Semiology_. Trans.
72
+ Robert M. Fowells. Solesmes.** The semiological reading of the neumes from
73
+ the manuscripts themselves. Ch. 16 ("Salicus") is the source for tonus's one
74
+ departure from the Mocquereau lineage: the salicus's principal note is the
75
+ one following the oriscus, not the oriscus itself. Cited alongside it, the
76
+ essay "Semiology and the Interpretation of Gregorian Chant" (trans. Virginia
77
+ A. Schubert, from the Festschrift for Joseph Lennards), and Bevenot,
78
+ "Plainsong with Dom Cardine: The Salicus" (_Sacred Music_ 115:4, pp. 15–21),
79
+ which calls the printed middle-note reading "a trap."
48
80
  - `desrocquettes-values` — **Desrocquettes, Jean Hébert. "Gregorian Musical
49
- Values."** The Solesmes school's rhythmic values, from Mocquereau's collaborator.
50
- - `niedermeyer-ortigue` — **Niedermeyer, Louis, and Joseph d'Ortigue. _Gregorian
51
- Accompaniment: A Theoretical and Practical Treatise upon the Accompaniment of
52
- Plainsong_. Trans. Wallace Goodrich. New York: Novello, Ewer & Co.** The
53
- per-mode cadence figures and the modal ethos epithets.
81
+ Values."** The Solesmes rhythmic values, from Mocquereau's collaborator.
82
+ - `niedermeyer-ortigue` — **Niedermeyer, Louis, and Joseph d'Ortigue.
83
+ _Gregorian Accompaniment: A Theoretical and Practical Treatise upon the
84
+ Accompaniment of Plainsong_. Trans. Wallace Goodrich. New York: Novello,
85
+ Ewer & Co.** The per-mode cadence figures and the modal ethos epithets.
54
86
  - `bragers-treatise` — **Bragers, Achille P. _A Short Treatise on Gregorian
55
- Accompaniment_. New York: J. Fischer & Bro., 1934.** Cadence figures, cross-check.
87
+ Accompaniment_. New York: Carl Fischer, 1934.** Cadence figures,
88
+ cross-check.
56
89
  - `homan-cadence` — **Homan, Frederic W. _Cadence in Gregorian Chant_. Ph.D.
57
90
  diss., Indiana University, 1961.** The analytic study of chant cadences.
58
- - `murray-accentual` — **Murray, Gregory. "Accentual Cadences in Gregorian
59
- Chant." _The Downside Review_, 1958.** The spondaic and dactylic verbal cadences.
60
- - `sunol-textbook` **Suñol, Dom Gregory. _Textbook of Gregorian Chant According
61
- to the Solesmes Method_. Trans. from the 6th French ed. Tournai: Desclée, 1930.** Modes, dominants, psalmody, and the Solesmes rhythm doctrine.
91
+ - `sunol-textbook` — **Suñol, Dom Gregory. _Textbook of Gregorian Chant
92
+ According to the Solesmes Method_. Trans. from the 6th French ed. Tournai:
93
+ Desclée, 1930.** Modes, dominants, psalmody, the Solesmes rhythm doctrine,
94
+ and the worked modulation examples the calibration reads.
62
95
  - `apel-chant` — **Apel, Willi. _Gregorian Chant_. Bloomington: Indiana
63
- University Press, 1958.** The analytic study of the repertoire.
64
- - `hiley-plainchant` **Hiley, David. _Western Plainchant: A Handbook_. Oxford:
65
- Clarendon Press, 1993.** The standard modern reference.
66
- - `treitler-voice-pen` — **Treitler, Leo. _With Voice and Pen: Coming to Know
67
- Medieval Song and How It Was Made_. Oxford: Oxford University Press, 2003.**
68
- Orality and notation.
96
+ University Press, 1958.** The analytic study of the repertoire; the
97
+ centonization catalogue behind `score.formulas`.
98
+ - `hiley-plainchant` — **Hiley, David. _Western Plainchant: A Handbook_.
99
+ Oxford: Clarendon Press, 1993.** The standard modern reference.
69
100
  - `saulnier-guide` — **Saulnier, Daniel. _Gregorian Chant: A Guide_. CMAA
70
101
  edition.** Chant introduction.
71
- - `pierik-spirit` — **Pierik, Marie. _The Spirit of Gregorian Chant_. Milwaukee:
72
- Bruce, 1939; and _Gregorian Chant Analyzed and Studied_. St. Meinrad, IN:
73
- Grail, 1951.** Chant interpretation.
74
- - `burkard-manual` **Burkard, Dom Sisbert. _Manual of Plain Chant_. 1906.**
75
- Plainchant instruction.
76
- - `kelly-capturing` **Kelly, Thomas Forrest. _Capturing Music: The Story of
77
- Notation_. New York: W. W. Norton, 2014.** Notation history.
78
- - `gregorio-gabc` — **The Gregorio project.** <https://gregorio-project.github.io/>.
79
- The GABC plain-text chant notation the corpora are encoded in and the parser reads.
102
+ - `saulnier-modes` — **Saulnier, Daniel. _The Gregorian Modes_. Solesmes:
103
+ Éditions de Solesmes.** The Degree Summary Tables from Dom Jean Claire's
104
+ research and the mode-by-mode Octoechos study; the source for the
105
+ reciting-note data in `temper/data/modes.ts`.
106
+ - `pierik-spirit` — **Pierik, Marie. _The Spirit of Gregorian Chant_. Boston:
107
+ Bruce Humphries, 1939; and _Gregorian Chant Analyzed and Studied_. St.
108
+ Meinrad, IN: Grail, 1951.** Chant interpretation; the beat letters the
109
+ chironomia track draws.
110
+ - `gregorio-gabc` **The Gregorio project.**
111
+ <https://gregorio-project.github.io/>. The GABC plain-text chant notation
112
+ the corpora are encoded in and the parser reads.
113
+ - `bravura-smufl` — **Spreadbury, Daniel. _Bravura_ music font and the SMuFL
114
+ (Standard Music Font Layout) specification. Steinberg, 2013–.**
115
+ <https://www.smufl.org/> and <https://github.com/steinbergmedia/bravura>
116
+ (SIL Open Font License). The reference SMuFL font; the notation glyphs the
117
+ score engine engraves into SVG.
80
118
 
81
119
  ## Tuning and music theory (temperamentum engine)
82
120
 
83
- - `boethius-institutione` — **Boethius. _De institutione musica_ (c. 524),
84
- esp. I.27.** The medieval transmission of Pythagorean interval math; also the
85
- Boethius doctrina (conjunct diatonic planetary scale, transmitting Nicomachus).
121
+ - `boethius-institutione` — **Boethius. _De institutione musica_ (c. 500–510),
122
+ esp. I.27.** The medieval transmission of Pythagorean interval math; also
123
+ the Boethius doctrina (conjunct diatonic planetary scale, transmitting
124
+ Nicomachus).
86
125
  - `ptolemy-harmonics` — **Ptolemy. _Harmonics_ I.15–16 (the three diatonic
87
- shades) and III with the Canobic Inscription (c. 150).** The tetrachord genera
88
- for the tuning presets; the Greater Perfect System tone assignments and
89
- aspect–consonance mapping for the doctrina.
90
- - `atkinson-nexus` — **Atkinson, Charles M. _The Critical Nexus: Tone-System,
91
- Mode, and Notation in Early Medieval Music_. New York: Oxford University Press, 2009.** Tone-system, mode, and notation.
92
- - `reisenweaver-guido` — **Reisenweaver, Anna. "Guido of Arezzo and His Influence
93
- on Music Learning." _Musical Offerings_ 3, no. 1 (2012).** Guido's pedagogy.
94
- - `schulter-harmony` — **Schulter, Margo. Medieval Music & Arts Foundation harmony
95
- FAQs:** "Pythagorean Tuning and Medieval Polyphony"
126
+ shades) and III with the Canobic Inscription (c. 150).** The tetrachord
127
+ genera for the tuning presets; the Greater Perfect System tone assignments
128
+ and aspect–consonance mapping for the doctrina.
129
+ - `schulter-harmony` — **Schulter, Margo. Medieval Music & Arts Foundation
130
+ harmony FAQs:** "Pythagorean Tuning and Medieval Polyphony"
96
131
  (<https://www.medieval.org/emfaq/harmony/pyth.html>) and "Hexachords,
97
- solmization, and musica ficta" (<https://www.medieval.org/emfaq/harmony/hex.html>).
98
- Pythagorean tuning; hexachords and solmization; the consonance taxonomy.
132
+ solmization, and musica ficta"
133
+ (<https://www.medieval.org/emfaq/harmony/hex.html>). Pythagorean tuning;
134
+ hexachords and solmization; the consonance taxonomy.
99
135
  - `rockstro-grove` — **Rockstro, W. S. "Modes, The Ecclesiastical." In _A
100
136
  Dictionary of Music and Musicians_ (Grove, 1st ed.).**
101
137
  <https://en.wikisource.org/wiki/A_Dictionary_of_Music_and_Musicians/Modes,_The_Ecclesiastical>.
102
138
  The church modes, their dominants and modulations in rank order.
103
- - `powers-wiering-mode` — **Powers, Harold S., and Frans Wiering, et al. "Mode."
104
- _Grove Music Online_, 2001, §§I–III.**
105
- <https://doi.org/10.1093/gmo/9781561592630.article.43718>. Medieval modal theory.
106
139
  - `liber-usualis` — **_The Liber Usualis, with Introduction and Rubrics in
107
140
  English_. Ed. the Benedictines of Solesmes. Tournai: Desclée, 1961.** The
108
- introduction's "Rules for Interpretation" and rubrics the original design
109
- source for the GABC parser and rhythm model: the notation and neume taxonomy,
110
- the three ictus rules, accidental scope, bar-line/breathing semantics, psalmody
111
- structure, and Latin diction. (A structured extract is kept at
112
- `~/Documents/Projects/Liber_Parsed/`. The book itself is also a chant corpus
113
- source — see `gregobase`.)
141
+ introduction's "Rules for Interpretation" and rubrics: the notation and
142
+ neume taxonomy, ictus rules, accidental scope, bar-line semantics, psalmody,
143
+ the Kyriale rubric categories, and the Latin diction the parser and rhythm
144
+ model follow.
114
145
  - `scala-format` — **Scala scale archive and `.scl` format. Manuel Op de Coul,
115
- Huygens-Fokker Foundation.** <https://www.huygens-fokker.org/scala/scl_format.html>.
116
- Custom tuning input.
117
- - `guidonian-gamut` — **Guido of Arezzo's gamut and solmization, and the
118
- eight-mode system, as standardized in medieval theory** (gamut, hexachords,
119
- modes, psalm tones).
120
- - `wikipedia-tuning` — **Wikipedia:** [Pythagorean tuning](https://en.wikipedia.org/wiki/Pythagorean_tuning),
121
- [Meantone temperament](https://en.wikipedia.org/wiki/Meantone_temperament),
122
- [Gregorian mode](https://en.wikipedia.org/wiki/Gregorian_mode). General-reference
123
- orientation for the temperaments and the modal system.
146
+ Huygens-Fokker Foundation.**
147
+ <https://www.huygens-fokker.org/scala/scl_format.html>. Custom tuning input.
124
148
 
125
149
  ## Musica universalis (harmonia engine)
126
150
 
127
151
  - `godwin-harmonies` — **Godwin, Joscelyn. _Harmonies of Heaven and Earth: The
128
- Spiritual Dimension of Music from Antiquity to the Avant-Garde_. London: Thames
129
- & Hudson, 1987.** Planetary scale taxonomy (Types A/B/C) and per-author analyses.
152
+ Spiritual Dimension of Music from Antiquity to the Avant-Garde_. London:
153
+ Thames & Hudson, 1987.** Planetary scale taxonomy (Types A/B/C) and
154
+ per-author analyses.
130
155
  - `godwin-spheres` — **Godwin, Joscelyn, ed. _The Harmony of the Spheres: A
131
156
  Sourcebook of the Pythagorean Tradition in Music_. Rochester, VT: Inner
132
157
  Traditions, 1993.** Primary-source translations used to verify ratio and
133
158
  tone-name claims.
134
- - `godwin-vowels` — **Godwin, Joscelyn. _The Mystery of the Seven Vowels in Theory
135
- and Practice_. Grand Rapids: Phanes Press, 1991.** Planetary vowel attestations;
136
- the Moon→Saturn vowel order after Nicomachus.
137
- - `doctrina-primaries` — **The doctrina primary sources:** Nicomachus of Gerasa,
138
- _Manual of Harmonics_ (c. 100) and _Excerpta ex Nicomacho_; Plato, _Republic_
139
- X, 617b (Myth of Er); Pliny the Elder, _Naturalis historia_ II.xx (c. 77, with
140
- octave closure per Censorinus and Theon of Smyrna); Ptolemy, _Harmonics_ III.
141
- With the vowel–planet attestations: Porphyry, Marcus Gnosticus, Demetrius of
142
- Phaleron, Eusebius of Caesarea, Barthélemy of Edessa (via `godwin-vowels`).
159
+ - `godwin-vowels` — **Godwin, Joscelyn. _The Mystery of the Seven Vowels in
160
+ Theory and Practice_. Grand Rapids: Phanes Press, 1991.** Planetary vowel
161
+ attestations; the Moon→Saturn vowel order after Nicomachus.
162
+ - `doctrina-primaries` — **The doctrina primary sources:** Nicomachus of
163
+ Gerasa, _Manual of Harmonics_ (c. 100) and _Excerpta ex Nicomacho_; Plato,
164
+ _Republic_ X, 617b (Myth of Er); Pliny the Elder, _Naturalis historia_ II.xx
165
+ (c. 77, with octave closure per Censorinus and Theon of Smyrna); Ptolemy,
166
+ _Harmonics_ III. With the vowel–planet attestations: Porphyry, Marcus
167
+ Gnosticus, Demetrius of Phaleron, Eusebius of Caesarea, Barthélemy of Edessa
168
+ (via `godwin-vowels`).
143
169
 
144
170
  ## Astronomy and computus
145
171
 
146
172
  - `standish-jpl` — **Standish, E. M. "Keplerian Elements for Approximate
147
- Positions of the Major Planets." JPL Solar System Dynamics, 1992 (updated for
148
- DE430).** <https://ssd.jpl.nasa.gov/planets/approx_pos.html>. The orbital
149
- element tables.
173
+ Positions of the Major Planets." JPL Solar System Dynamics, 1992 (updated
174
+ for DE430).** <https://ssd.jpl.nasa.gov/planets/approx_pos.html>. The
175
+ orbital element tables.
150
176
  - `schlyter-positions` — **Schlyter, Paul. "Computing planetary positions — a
151
177
  tutorial with worked examples." Stjärnhimlen.**
152
178
  <https://www.stjarnhimlen.se/comp/tutorial.html>. The Sun and Moon position
153
179
  formulae.
154
180
  - `computus` — **Easter computus: the Gregorian algorithm (Gauss/Butcher) and,
155
- before 1583, the classical 19-year Julian cycle with Julian→Gregorian day-number
156
- conversion.** See [Computus](https://en.wikipedia.org/wiki/Computus).
157
- - `wikipedia-calendar` — **Wikipedia:** [Tridentine calendar](https://en.wikipedia.org/wiki/Tridentine_calendar),
158
- [Ranking of liturgical days in the Roman Rite](https://en.wikipedia.org/wiki/Ranking_of_liturgical_days_in_the_Roman_Rite).
159
- General-reference background for the era and the grade precedence.
181
+ before 1583, the classical 19-year Julian cycle with Julian→Gregorian
182
+ day-number conversion.** See
183
+ [Computus](https://en.wikipedia.org/wiki/Computus).