tonus 0.1.4 → 0.1.8

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 (73) hide show
  1. package/BIBLIOGRAPHY.md +143 -96
  2. package/CHANGELOG.md +74 -0
  3. package/README.md +7 -9
  4. package/dist/data/am.d.ts +5 -0
  5. package/dist/data/am.js +14302 -0
  6. package/dist/data/corpus-overlap.d.ts +7 -0
  7. package/dist/data/corpus-overlap.js +53 -0
  8. package/dist/data/gr.js +3 -0
  9. package/dist/data/la.js +3 -0
  10. package/dist/data/lh.js +3 -0
  11. package/dist/data/lu.js +4 -1
  12. package/dist/data/nocturnale-romanum.d.ts +5 -0
  13. package/dist/data/nocturnale-romanum.js +12524 -0
  14. package/dist/data/office-matins-roman.d.ts +19 -0
  15. package/dist/data/office-matins-roman.js +4383 -0
  16. package/dist/data/office-monastic.d.ts +3 -0
  17. package/dist/data/office-monastic.js +6956 -0
  18. package/dist/data/office-psalms-monastic.d.ts +3 -0
  19. package/dist/data/office-psalms-monastic.js +21 -0
  20. package/dist/data/{office-psalms.d.ts → office-psalms-roman.d.ts} +1 -1
  21. package/dist/data/{office-psalms.js → office-psalms-roman.js} +3 -3
  22. package/dist/engines/cal/calendar.js +16 -1
  23. package/dist/engines/cal/date.js +5 -0
  24. package/dist/engines/chant/chant.d.ts +7 -1
  25. package/dist/engines/chant/chant.js +72 -0
  26. package/dist/{data → engines/chant/data}/compline.d.ts +1 -1
  27. package/dist/{data → engines/chant/data}/masses.d.ts +1 -1
  28. package/dist/{data → engines/chant/data}/masses.js +1 -1
  29. package/dist/{data → engines/chant/data}/prime.d.ts +1 -1
  30. package/dist/{data → engines/chant/data}/prime.js +1 -1
  31. package/dist/engines/chant/hour.js +37 -22
  32. package/dist/engines/chant/intone.js +6 -1
  33. package/dist/engines/chant/matutinum.d.ts +33 -0
  34. package/dist/engines/chant/matutinum.js +81 -0
  35. package/dist/engines/chant/ordinary.js +1 -1
  36. package/dist/engines/chant/psalm.d.ts +4 -4
  37. package/dist/engines/chant/psalm.js +6 -4
  38. package/dist/engines/chant/types.d.ts +37 -1
  39. package/dist/engines/harmonia/api.js +11 -0
  40. package/dist/engines/harmonia/data/doctrines.js +27 -1
  41. package/dist/engines/imprint.js +7 -1
  42. package/dist/engines/planet/position.js +51 -5
  43. package/dist/engines/score/articulation.js +60 -3
  44. package/dist/engines/score/cadence.js +3 -3
  45. package/dist/engines/score/emitters/midi.js +6 -2
  46. package/dist/engines/score/infer.js +13 -1
  47. package/dist/engines/score/ir.d.ts +2 -1
  48. package/dist/engines/score/ir.js +54 -12
  49. package/dist/engines/score/modulation.js +2 -2
  50. package/dist/engines/score/parse.js +16 -8
  51. package/dist/engines/score/phrasing.js +26 -0
  52. package/dist/engines/score/prosody.js +5 -0
  53. package/dist/engines/score/tabula.d.ts +2 -0
  54. package/dist/engines/score/tabula.js +1 -0
  55. package/dist/engines/score/types.d.ts +11 -2
  56. package/dist/engines/temper/api.js +1 -1
  57. package/dist/engines/temper/data/guido.d.ts +3 -2
  58. package/dist/engines/temper/data/guido.js +30 -25
  59. package/dist/engines/temper/data/modes.js +3 -0
  60. package/dist/{data → engines/temper/data}/tones.js +1 -1
  61. package/dist/engines/temper/gabc.js +25 -2
  62. package/dist/engines/temper/guido.d.ts +3 -2
  63. package/dist/engines/temper/interval.js +12 -0
  64. package/dist/engines/temper/modality.js +5 -4
  65. package/dist/engines/temper/scale.js +33 -2
  66. package/dist/engines/temper/step.d.ts +2 -2
  67. package/dist/index.d.ts +8 -4
  68. package/dist/index.js +4 -1
  69. package/package.json +2 -1
  70. package/dist/data/office.d.ts +0 -12
  71. package/dist/data/office.js +0 -13052
  72. /package/dist/{data → engines/chant/data}/compline.js +0 -0
  73. /package/dist/{data → engines/temper/data}/tones.d.ts +0 -0
package/BIBLIOGRAPHY.md CHANGED
@@ -1,112 +1,159 @@
1
1
  # Bibliography
2
2
 
3
- Master index of sources used in building tonus. Full citation detail lives
4
- with the engine each source informs — follow the links to the `## Sources`
5
- section of the relevant page.
6
-
7
3
  ## Data corpora
8
4
 
9
- - **GregoBase** chant corpora in GABC, by book (the four Solesmes
10
- editions: Graduale Romanum 1961, Liber Usualis 1961, Liber Antiphonarius
11
- 1960, Liber Hymnarius 1983) [docs/chant.md](docs/chant.md#sources)
12
- - **Divinum Officium** liturgical calendar (642 entries), Mass propers,
13
- Office hours, Psalterium [docs/calendar.md](docs/calendar.md#sources),
14
- [docs/chant.md](docs/chant.md#sources)
15
- - **Graduale Romanum appendix (Toni Communes)** — psalm tones and
16
- differentiae, incl. tonus peregrinus
17
- [docs/chant.md](docs/chant.md#sources)
18
- - **Versus Psalmorum et Canticorum (Solesmes, No. 839)** — psalm-verse
19
- formulas [docs/chant.md](docs/chant.md#sources)
20
- - **Bloomfield, _Compline_ (github.com/bbloomf/compline, public domain)**
21
- reference dates & chants for the traditional Roman Compline ordo [docs/chant.md](docs/chant.md#sources)
5
+ - `gregobase` — **GregoBase.** <https://gregobase.selapa.net/>. Chant corpora in
6
+ GABC, extracted by book (GregoBase source IDs 2, 3, 48, 15):
7
+ - _Graduale sacrosanctæ Romanæ ecclesiæ de tempore et de sanctis_ (Graduale
8
+ Romanum). Ed. Solesmes. Tournai: Desclée, 1961 1,344 chants (`gr`).
9
+ - _Liber Usualis Missæ et Officii pro dominicis et festis cum cantu
10
+ Gregoriano_. Ed. Solesmes. Tournai: Desclée, 1961 — 2,377 chants (`lu`).
11
+ - _Liber antiphonarius pro diurnis horis_ (Antiphonale Romanum). Solesmes,
12
+ 1960 1,422 chants (`la`).
13
+ - _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).
19
+ - `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.
22
32
 
23
33
  ## Chant rhythm (score engine)
24
34
 
25
- - **Carroll, _The Technique of Gregorian Chironomy_ (1955)** — seven
26
- rhythmic types, three melodic rules, chironomy
27
- [docs/score.md](docs/score.md#sources)
28
- - **Carroll, _An Applied Course in Gregorian Chant_ (1956)** — compound
29
- beats, ictus placement [docs/score.md](docs/score.md#sources)
30
- - **Gajard, _The Rhythm of Plainsong_ (1945)** — arsis/thesis synthesis →
31
- [docs/score.md](docs/score.md#sources)
32
- - **Mocquereau, _Le nombre musical grégorien_ (1908–1927)** the Solesmes
33
- school's foundation [docs/score.md](docs/score.md#sources)
34
- - **Cardine, "Semiology and the Interpretation of Gregorian Chant"** — the
35
- semiological approach [docs/score.md](docs/score.md#sources)
36
- - **Desrocquettes, "Gregorian Musical Values"** Solesmes rhythmic
37
- values [docs/score.md](docs/score.md#sources)
38
- - **Niedermeyer & d'Ortigue, _Gregorian Accompaniment_ (trans. Goodrich)**
39
- the per-mode cadence figures [docs/tuning.md](docs/tuning.md#sources)
40
- - **Bragers, _A Short Treatise on Gregorian Accompaniment_ (1934)** —
41
- cadence figures, cross-check [docs/tuning.md](docs/tuning.md#sources)
42
- - **Homan, _Cadence in Gregorian Chant_ (1961)** analytic study of
43
- cadences [docs/score.md](docs/score.md#sources)
44
- - **Murray, "Accentual Cadences in Gregorian Chant" (1958)** — spondaic and
45
- dactylic verbal cadences [docs/score.md](docs/score.md#sources)
46
- - **Suñol, _Textbook of Gregorian Chant According to the Solesmes Method_
47
- (1930)** modes, dominants, psalmody, the Solesmes rhythm doctrine
48
- [docs/tuning.md](docs/tuning.md#sources)
49
- - **Apel, _Gregorian Chant_ (1958)** analytic study of the repertoire →
50
- [docs/chant.md](docs/chant.md#sources)
51
- - **Hiley, _Western Plainchant_ (1993)** the standard reference
52
- [docs/chant.md](docs/chant.md#sources)
53
- - **Treitler, _With Voice and Pen_ (2003)** orality and notation →
54
- [docs/chant.md](docs/chant.md#sources)
55
- - **Saulnier, _Gregorian Chant: A Guide_** — chant introduction →
56
- [docs/chant.md](docs/chant.md#sources)
57
- - **Pierik, _The Spirit of Gregorian Chant_ (1939) and _Gregorian Chant
58
- Analyzed and Studied_ (1951)** — chant interpretation →
59
- [docs/chant.md](docs/chant.md#sources)
60
- - **Burkard, _Manual of Plain Chant_ (1906)** — plainchant instruction →
61
- [docs/chant.md](docs/chant.md#sources)
62
- - **Kelly, _Capturing Music: The Story of Notation_ (2014)** notation
63
- history [docs/chant.md](docs/chant.md#sources)
35
+ - `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.
41
+ - `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.
43
+ - `mocquereau-nombre` **Mocquereau, André. _Le nombre musical grégorien_,
44
+ 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.
48
+ - `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.
54
+ - `bragers-treatise` — **Bragers, Achille P. _A Short Treatise on Gregorian
55
+ Accompaniment_. New York: J. Fischer & Bro., 1934.** Cadence figures, cross-check.
56
+ - `homan-cadence` — **Homan, Frederic W. _Cadence in Gregorian Chant_. Ph.D.
57
+ 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.
62
+ - `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.
69
+ - `saulnier-guide` — **Saulnier, Daniel. _Gregorian Chant: A Guide_. CMAA
70
+ 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.
64
80
 
65
81
  ## Tuning and music theory (temperamentum engine)
66
82
 
67
- - **Boethius, _De institutione musica_** Pythagorean interval math;
68
- also the Boethius doctrina [docs/tuning.md](docs/tuning.md#sources),
69
- [docs/heavens.md](docs/heavens.md#sources)
70
- - **Ptolemy, _Harmonics_ I.15–16** the three diatonic shades; _Harmonics_
71
- III for the doctrina [docs/tuning.md](docs/tuning.md#sources),
72
- [docs/heavens.md](docs/heavens.md#sources)
73
- - **Atkinson, _The Critical Nexus_ (2009)** — tone-system, mode, and
74
- notation [docs/tuning.md](docs/tuning.md#sources)
75
- - **Reisenweaver, "Guido of Arezzo" (2012)** Guido's pedagogy
76
- [docs/tuning.md](docs/tuning.md#sources)
77
- - **Schulter, medieval.org harmony FAQs** Pythagorean tuning; hexachords
78
- and solmization [docs/tuning.md](docs/tuning.md#sources)
79
- - **Rockstro, "Modes, The Ecclesiastical" (Grove, 1st ed.)** — the church
80
- modes → [docs/tuning.md](docs/tuning.md#sources)
81
- - **Powers/Wiering et al., "Mode" (Grove Music Online, 2001), §§I–III** —
82
- medieval modal theory [docs/tuning.md](docs/tuning.md#sources)
83
- - **Liber Usualis introduction and rubrics (Desclée, 1961)**
84
- interpretation rules [docs/tuning.md](docs/tuning.md#sources),
85
- [docs/chant.md](docs/chant.md#sources)
86
- - **Scala scale archive / `.scl` format** (Huygens-Fokker Foundation)
87
- custom tuning input [docs/tuning.md](docs/tuning.md#sources)
88
- - **Guidonian gamut, solmization, and the eight-mode system** — as
89
- standardized in medieval theory
90
- [docs/tuning.md](docs/tuning.md#sources)
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).
86
+ - `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"
96
+ (<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.
99
+ - `rockstro-grove` **Rockstro, W. S. "Modes, The Ecclesiastical." In _A
100
+ Dictionary of Music and Musicians_ (Grove, 1st ed.).**
101
+ <https://en.wikisource.org/wiki/A_Dictionary_of_Music_and_Musicians/Modes,_The_Ecclesiastical>.
102
+ 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
+ - `liber-usualis` — **_The Liber Usualis, with Introduction and Rubrics in
107
+ 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`.)
114
+ - `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.
91
124
 
92
125
  ## Musica universalis (harmonia engine)
93
126
 
94
- - **Godwin, _Harmonies of Heaven and Earth_ (1987)** — planetary scale
95
- taxonomy and analyses [docs/heavens.md](docs/heavens.md#sources)
96
- - **Godwin (ed.), _The Harmony of the Spheres_ (1993)** primary-source
97
- translations [docs/heavens.md](docs/heavens.md#sources)
98
- - **Godwin, _The Mystery of the Seven Vowels_ (1991)** planetary vowel
99
- attestations [docs/heavens.md](docs/heavens.md#sources)
100
- - **Nicomachus, Plato, Pliny, Ptolemy** — the doctrina primaries (with the
101
- vowel attestations: Porphyry, Marcus Gnosticus, Demetrius, Eusebius,
102
- Barthélemy of Edessa) [docs/heavens.md](docs/heavens.md#sources)
127
+ - `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.
130
+ - `godwin-spheres` — **Godwin, Joscelyn, ed. _The Harmony of the Spheres: A
131
+ Sourcebook of the Pythagorean Tradition in Music_. Rochester, VT: Inner
132
+ Traditions, 1993.** Primary-source translations used to verify ratio and
133
+ 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`).
103
143
 
104
144
  ## Astronomy and computus
105
145
 
106
- - **Standish, "Keplerian Elements for Approximate Positions of the Major
107
- Planets" (JPL, 1992/DE430)** orbital elements →
108
- [docs/heavens.md](docs/heavens.md#sources)
109
- - **Schlyter, "Computing planetary positions" (Stjärnhimlen)** — position
110
- computation tutorial [docs/heavens.md](docs/heavens.md#sources)
111
- - **Gauss/Butcher computus; Julian 19-year cycle** — Easter reckoning →
112
- [docs/calendar.md](docs/calendar.md#sources)
146
+ - `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.
150
+ - `schlyter-positions` **Schlyter, Paul. "Computing planetary positions — a
151
+ tutorial with worked examples." Stjärnhimlen.**
152
+ <https://www.stjarnhimlen.se/comp/tutorial.html>. The Sun and Moon position
153
+ formulae.
154
+ - `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.
package/CHANGELOG.md ADDED
@@ -0,0 +1,74 @@
1
+ # Changelog
2
+
3
+ All notable changes to tonus. Newest first.
4
+
5
+ ## 0.1.7
6
+
7
+ - **`corpus(code)`** — metadata and analytics for a corpus book. Returns its
8
+ bibliographic identity (title, full Latin title, edition, year, editor, scan
9
+ attribution — drawn from GregoBase's catalogue) plus a breakdown of its
10
+ contents: genre distribution, mode distribution (I–VIII with a null bucket),
11
+ and cross-book **overlap** — the book's full pre-dedup `total`, its `unique`
12
+ count, and how many chants it `shared` with each other book. The overlap shows,
13
+ e.g., that the Liber Usualis is largely the Graduale and Antiphonarius combined,
14
+ while the Antiphonale Monasticum is nearly its own repertoire.
15
+ - The `*_SOURCE` objects now carry `fullTitle`, `edition`, and `scanSource`.
16
+
17
+ ## 0.1.6
18
+
19
+ - **The monastic Office.** `officium({ rite: "monasticum" })` assembles the
20
+ Benedictine cursus — the little hours, Lauds, Vespers, Compline, and Prime —
21
+ from the Antiphonale Monasticum, with the monastic psalm distribution
22
+ (Compline is Ps 4, 90, 133). The Roman rite is the default; the two share a
23
+ calendar. Monastic Matins is served flat (its nocturn structure is future
24
+ work). Also adds the Antiphonale Monasticum (1934) as a retrievable chant
25
+ source: `cantus({ source: "am" })`, 1,429 chants.
26
+ - **Guidonian hand** corrected to the canonical counter-clockwise spiral (it had
27
+ filled linearly). The `Finger`/`Region` types are tightened (`wrist`/`palm`
28
+ removed, `super` added).
29
+ - **Double mora** (`..`) now lengthens correctly, and `Note.context` /
30
+ the tabula row carry `mora: 0 | 1 | 2` (was a `doubleEpisema` boolean) so the
31
+ single/double distinction is available for scoring.
32
+ - **f-clef** pitch mapping fixed (f3/f4 were a third off).
33
+ - Internal: generated corpus data separated from hand-authored tables;
34
+ `office-psalms` → `office-psalms-roman`.
35
+
36
+ ## 0.1.5
37
+
38
+ - **Rhythmic types** (`phrase.rhythmicType`, `phrase.beats`) — Le Guennant/Carroll
39
+ incise classification IV–VIII over the compound-beat sequence, with Type VIII
40
+ (contraction) after Suñol. The `beats` sequence is the shared derivation the
41
+ chironomy renderer will read.
42
+
43
+ ## 0.1.4
44
+
45
+ - **Modulation detection** (`score.modulations`) — where the tonal centre leans
46
+ away from the home mode, calibrated against Suñol.
47
+ - **Richer modal affinity** — degree-, ictus-, and cadence-weighted, with ranked
48
+ initials after Rockstro.
49
+ - **`modus()`** tunes its finalis, tenor, and ambitus through the temperamentum.
50
+
51
+ ## 0.1.3
52
+
53
+ - **Cadence detection** (`score.cadences`) — per-mode melodic cadence figures,
54
+ after Niedermeyer & d'Ortigue.
55
+ - Psalm tones _in directum_ and solemn mediants.
56
+ - Suñol-derived neum timing (salicus, oriscus).
57
+ - The Latin modal ethos.
58
+
59
+ ## 0.1.2
60
+
61
+ - **Little-hours psalmody** (Terce, Sext, None) — Ps 118 in course, from the
62
+ extracted Divinum Officium Tridentine scheme. The Divine Office is now complete
63
+ across all eight hours.
64
+
65
+ ## 0.1.1
66
+
67
+ - **Prime and Compline** office hours — the seasonal ordos, assembled from
68
+ existing corpus chants.
69
+
70
+ ## 0.1.0
71
+
72
+ - Core release: tuning (`temperamentum`), calendar (`festum`/`pascha`), chant
73
+ (`cantus`/`proprium`/`ordinarium`/`officium`/`psalmus`), score
74
+ (`notatio` → MIDI/MusicXML), heavens (`caelum`/`harmonia`).
package/README.md CHANGED
@@ -44,10 +44,13 @@ One page per engine, in dependency order. Each page states its rules, then its t
44
44
  computed from JPL orbital elements, voiced through the planetary
45
45
  doctrines of Boethius, Nicomachus, Pliny, and Ptolemy.
46
46
 
47
- Sources for concepts, scholarship, and data are listed in
48
- [BIBLIOGRAPHY.md](BIBLIOGRAPHY.md). Where sources disagree or run out,
49
- **tonus** makes an editorial call, documented in the relevant page's
50
- Theory & Context section.
47
+ These pages are the middle of a three-level ladder: the API docs here link down
48
+ into the code, where the full theory, provenance, and editorial reasoning live in
49
+ comments beside what they explain. Read as deep as you care to. Sources for
50
+ concepts, scholarship, and data are listed in
51
+ [BIBLIOGRAPHY.md](BIBLIOGRAPHY.md); where sources disagree or run out, **tonus**
52
+ makes an editorial call, recorded in the code and glossed in the page's Theory &
53
+ Context section.
51
54
 
52
55
  ## The tuning engine
53
56
 
@@ -93,11 +96,6 @@ const harmony = tonus.harmonia(tonus.caelum({ date: feast.date }));
93
96
  // each visible planet voiced as pitch and Greek vowel, after Boethius
94
97
  ```
95
98
 
96
- ## Roadmap
97
-
98
- SVG chant engraving, an interactive documentation site,
99
- and cadence detection is laid out in [ROADMAP.md](ROADMAP.md).
100
-
101
99
  ## Development
102
100
 
103
101
  ```sh
@@ -0,0 +1,5 @@
1
+ import type { Chant } from "./types.js";
2
+ import type { ChantData } from "./gr.js";
3
+ export declare const AM_SOURCE: Chant["source"];
4
+ export declare const AM_DATA: ChantData[];
5
+ //# sourceMappingURL=am.d.ts.map