tonus 0.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.
- package/BIBLIOGRAPHY.md +99 -0
- package/LICENSE +29 -0
- package/README.md +108 -0
- package/dist/data/cal.d.ts +10 -0
- package/dist/data/cal.js +3862 -0
- package/dist/data/commune.d.ts +17 -0
- package/dist/data/commune.js +1333 -0
- package/dist/data/gr.d.ts +5 -0
- package/dist/data/gr.js +13449 -0
- package/dist/data/kyriale.d.ts +11 -0
- package/dist/data/kyriale.js +971 -0
- package/dist/data/la.d.ts +5 -0
- package/dist/data/la.js +14229 -0
- package/dist/data/lh.d.ts +5 -0
- package/dist/data/lh.js +3619 -0
- package/dist/data/lu.d.ts +5 -0
- package/dist/data/lu.js +23779 -0
- package/dist/data/masses.d.ts +18 -0
- package/dist/data/masses.js +297 -0
- package/dist/data/office-roman.d.ts +19 -0
- package/dist/data/office-roman.js +13792 -0
- package/dist/data/office.d.ts +12 -0
- package/dist/data/office.js +13052 -0
- package/dist/data/propers.d.ts +13 -0
- package/dist/data/propers.js +7584 -0
- package/dist/data/psalms.d.ts +4 -0
- package/dist/data/psalms.js +10 -0
- package/dist/data/psalms.json +22918 -0
- package/dist/data/tones.d.ts +20 -0
- package/dist/data/tones.js +153 -0
- package/dist/data/types.d.ts +3 -0
- package/dist/data/types.js +2 -0
- package/dist/engines/cal/calendar.d.ts +21 -0
- package/dist/engines/cal/calendar.js +265 -0
- package/dist/engines/cal/date.d.ts +31 -0
- package/dist/engines/cal/date.js +141 -0
- package/dist/engines/cal/types.d.ts +66 -0
- package/dist/engines/cal/types.js +189 -0
- package/dist/engines/chant/chant.d.ts +10 -0
- package/dist/engines/chant/chant.js +135 -0
- package/dist/engines/chant/hour.d.ts +8 -0
- package/dist/engines/chant/hour.js +135 -0
- package/dist/engines/chant/intone.d.ts +8 -0
- package/dist/engines/chant/intone.js +84 -0
- package/dist/engines/chant/ordinary.d.ts +7 -0
- package/dist/engines/chant/ordinary.js +232 -0
- package/dist/engines/chant/propers.d.ts +8 -0
- package/dist/engines/chant/propers.js +107 -0
- package/dist/engines/chant/psalm.d.ts +7 -0
- package/dist/engines/chant/psalm.js +60 -0
- package/dist/engines/chant/syllabify.d.ts +20 -0
- package/dist/engines/chant/syllabify.js +192 -0
- package/dist/engines/chant/types.d.ts +76 -0
- package/dist/engines/chant/types.js +34 -0
- package/dist/engines/epoch.d.ts +2 -0
- package/dist/engines/epoch.js +14 -0
- package/dist/engines/harmonia/api.d.ts +35 -0
- package/dist/engines/harmonia/api.js +90 -0
- package/dist/engines/harmonia/aspects.d.ts +8 -0
- package/dist/engines/harmonia/aspects.js +15 -0
- package/dist/engines/harmonia/data/doctrines.d.ts +16 -0
- package/dist/engines/harmonia/data/doctrines.js +154 -0
- package/dist/engines/harmonia/data/vowels.d.ts +10 -0
- package/dist/engines/harmonia/data/vowels.js +21 -0
- package/dist/engines/harmonia/presence.d.ts +13 -0
- package/dist/engines/harmonia/presence.js +48 -0
- package/dist/engines/harmonia/tabula.d.ts +28 -0
- package/dist/engines/harmonia/tabula.js +32 -0
- package/dist/engines/harmonia/voice.d.ts +19 -0
- package/dist/engines/harmonia/voice.js +51 -0
- package/dist/engines/imprint.d.ts +30 -0
- package/dist/engines/imprint.js +152 -0
- package/dist/engines/planet/appearance.d.ts +40 -0
- package/dist/engines/planet/appearance.js +84 -0
- package/dist/engines/planet/aspects.d.ts +5 -0
- package/dist/engines/planet/aspects.js +41 -0
- package/dist/engines/planet/math.d.ts +13 -0
- package/dist/engines/planet/math.js +56 -0
- package/dist/engines/planet/orbital.d.ts +25 -0
- package/dist/engines/planet/orbital.js +223 -0
- package/dist/engines/planet/planet.d.ts +13 -0
- package/dist/engines/planet/planet.js +198 -0
- package/dist/engines/planet/position.d.ts +62 -0
- package/dist/engines/planet/position.js +156 -0
- package/dist/engines/planet/types.d.ts +61 -0
- package/dist/engines/planet/types.js +14 -0
- package/dist/engines/score/api.d.ts +54 -0
- package/dist/engines/score/api.js +87 -0
- package/dist/engines/score/articulation.d.ts +6 -0
- package/dist/engines/score/articulation.js +112 -0
- package/dist/engines/score/emitters/midi.d.ts +65 -0
- package/dist/engines/score/emitters/midi.js +158 -0
- package/dist/engines/score/emitters/musicxml.d.ts +18 -0
- package/dist/engines/score/emitters/musicxml.js +166 -0
- package/dist/engines/score/infer.d.ts +4 -0
- package/dist/engines/score/infer.js +77 -0
- package/dist/engines/score/ir.d.ts +4 -0
- package/dist/engines/score/ir.js +177 -0
- package/dist/engines/score/meta.d.ts +19 -0
- package/dist/engines/score/meta.js +34 -0
- package/dist/engines/score/neume.d.ts +3 -0
- package/dist/engines/score/neume.js +26 -0
- package/dist/engines/score/parse.d.ts +3 -0
- package/dist/engines/score/parse.js +359 -0
- package/dist/engines/score/phrasing.d.ts +24 -0
- package/dist/engines/score/phrasing.js +257 -0
- package/dist/engines/score/prosody.d.ts +35 -0
- package/dist/engines/score/prosody.js +109 -0
- package/dist/engines/score/tabula.d.ts +70 -0
- package/dist/engines/score/tabula.js +109 -0
- package/dist/engines/score/types.d.ts +159 -0
- package/dist/engines/score/types.js +2 -0
- package/dist/engines/temper/api.d.ts +60 -0
- package/dist/engines/temper/api.js +130 -0
- package/dist/engines/temper/data/constants.d.ts +27 -0
- package/dist/engines/temper/data/constants.js +150 -0
- package/dist/engines/temper/data/guido.d.ts +14 -0
- package/dist/engines/temper/data/guido.js +29 -0
- package/dist/engines/temper/data/modes.d.ts +38 -0
- package/dist/engines/temper/data/modes.js +158 -0
- package/dist/engines/temper/gabc.d.ts +5 -0
- package/dist/engines/temper/gabc.js +53 -0
- package/dist/engines/temper/gamut.d.ts +9 -0
- package/dist/engines/temper/gamut.js +24 -0
- package/dist/engines/temper/guido.d.ts +16 -0
- package/dist/engines/temper/guido.js +48 -0
- package/dist/engines/temper/interval.d.ts +15 -0
- package/dist/engines/temper/interval.js +31 -0
- package/dist/engines/temper/modes.d.ts +6 -0
- package/dist/engines/temper/modes.js +13 -0
- package/dist/engines/temper/neume.d.ts +14 -0
- package/dist/engines/temper/neume.js +59 -0
- package/dist/engines/temper/pitch.d.ts +40 -0
- package/dist/engines/temper/pitch.js +129 -0
- package/dist/engines/temper/scale.d.ts +37 -0
- package/dist/engines/temper/scale.js +217 -0
- package/dist/engines/temper/step.d.ts +23 -0
- package/dist/engines/temper/step.js +53 -0
- package/dist/index.d.ts +40 -0
- package/dist/index.js +27 -0
- package/package.json +60 -0
package/BIBLIOGRAPHY.md
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# Bibliography
|
|
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
|
+
## Data corpora
|
|
8
|
+
|
|
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
|
+
|
|
21
|
+
## Chant rhythm (score engine)
|
|
22
|
+
|
|
23
|
+
- **Carroll, _The Technique of Gregorian Chironomy_ (1955)** — seven
|
|
24
|
+
rhythmic types, three melodic rules, chironomy →
|
|
25
|
+
[docs/score.md](docs/score.md#sources)
|
|
26
|
+
- **Carroll, _An Applied Course in Gregorian Chant_ (1956)** — compound
|
|
27
|
+
beats, ictus placement → [docs/score.md](docs/score.md#sources)
|
|
28
|
+
- **Gajard, _The Rhythm of Plainsong_ (1945)** — arsis/thesis synthesis →
|
|
29
|
+
[docs/score.md](docs/score.md#sources)
|
|
30
|
+
- **Mocquereau, _Le nombre musical grégorien_ (1908–1927)** — the Solesmes
|
|
31
|
+
school's foundation → [docs/score.md](docs/score.md#sources)
|
|
32
|
+
- **Cardine, "Semiology and the Interpretation of Gregorian Chant"** — the
|
|
33
|
+
semiological approach → [docs/score.md](docs/score.md#sources)
|
|
34
|
+
- **Desrocquettes, "Gregorian Musical Values"** — Solesmes rhythmic
|
|
35
|
+
values → [docs/score.md](docs/score.md#sources)
|
|
36
|
+
- **Apel, _Gregorian Chant_ (1958)** — analytic study of the repertoire →
|
|
37
|
+
[docs/chant.md](docs/chant.md#sources)
|
|
38
|
+
- **Hiley, _Western Plainchant_ (1993)** — the standard reference →
|
|
39
|
+
[docs/chant.md](docs/chant.md#sources)
|
|
40
|
+
- **Treitler, _With Voice and Pen_ (2003)** — orality and notation →
|
|
41
|
+
[docs/chant.md](docs/chant.md#sources)
|
|
42
|
+
- **Saulnier, _Gregorian Chant: A Guide_** — chant introduction →
|
|
43
|
+
[docs/chant.md](docs/chant.md#sources)
|
|
44
|
+
- **Pierik, _The Spirit of Gregorian Chant_ (1939) and _Gregorian Chant
|
|
45
|
+
Analyzed and Studied_ (1951)** — chant interpretation →
|
|
46
|
+
[docs/chant.md](docs/chant.md#sources)
|
|
47
|
+
- **Burkard, _Manual of Plain Chant_ (1906)** — plainchant instruction →
|
|
48
|
+
[docs/chant.md](docs/chant.md#sources)
|
|
49
|
+
- **Kelly, _Capturing Music: The Story of Notation_ (2014)** — notation
|
|
50
|
+
history → [docs/chant.md](docs/chant.md#sources)
|
|
51
|
+
|
|
52
|
+
## Tuning and music theory (temperamentum engine)
|
|
53
|
+
|
|
54
|
+
- **Boethius, _De institutione musica_** — Pythagorean interval math;
|
|
55
|
+
also the Boethius doctrina → [docs/tuning.md](docs/tuning.md#sources),
|
|
56
|
+
[docs/heavens.md](docs/heavens.md#sources)
|
|
57
|
+
- **Ptolemy, _Harmonics_ I.15–16** — the three diatonic shades; _Harmonics_
|
|
58
|
+
III for the doctrina → [docs/tuning.md](docs/tuning.md#sources),
|
|
59
|
+
[docs/heavens.md](docs/heavens.md#sources)
|
|
60
|
+
- **Atkinson, _The Critical Nexus_ (2009)** — tone-system, mode, and
|
|
61
|
+
notation → [docs/tuning.md](docs/tuning.md#sources)
|
|
62
|
+
- **Reisenweaver, "Guido of Arezzo" (2012)** — Guido's pedagogy →
|
|
63
|
+
[docs/tuning.md](docs/tuning.md#sources)
|
|
64
|
+
- **Schulter, medieval.org harmony FAQs** — Pythagorean tuning; hexachords
|
|
65
|
+
and solmization → [docs/tuning.md](docs/tuning.md#sources)
|
|
66
|
+
- **Rockstro, "Modes, The Ecclesiastical" (Grove, 1st ed.)** — the church
|
|
67
|
+
modes → [docs/tuning.md](docs/tuning.md#sources)
|
|
68
|
+
- **Powers/Wiering et al., "Mode" (Grove Music Online, 2001), §§I–III** —
|
|
69
|
+
medieval modal theory → [docs/tuning.md](docs/tuning.md#sources)
|
|
70
|
+
- **Liber Usualis introduction and rubrics (Desclée, 1961)** —
|
|
71
|
+
interpretation rules → [docs/tuning.md](docs/tuning.md#sources),
|
|
72
|
+
[docs/chant.md](docs/chant.md#sources)
|
|
73
|
+
- **Scala scale archive / `.scl` format** (Huygens-Fokker Foundation) —
|
|
74
|
+
custom tuning input → [docs/tuning.md](docs/tuning.md#sources)
|
|
75
|
+
- **Guidonian gamut, solmization, and the eight-mode system** — as
|
|
76
|
+
standardized in medieval theory →
|
|
77
|
+
[docs/tuning.md](docs/tuning.md#sources)
|
|
78
|
+
|
|
79
|
+
## Musica universalis (harmonia engine)
|
|
80
|
+
|
|
81
|
+
- **Godwin, _Harmonies of Heaven and Earth_ (1987)** — planetary scale
|
|
82
|
+
taxonomy and analyses → [docs/heavens.md](docs/heavens.md#sources)
|
|
83
|
+
- **Godwin (ed.), _The Harmony of the Spheres_ (1993)** — primary-source
|
|
84
|
+
translations → [docs/heavens.md](docs/heavens.md#sources)
|
|
85
|
+
- **Godwin, _The Mystery of the Seven Vowels_ (1991)** — planetary vowel
|
|
86
|
+
attestations → [docs/heavens.md](docs/heavens.md#sources)
|
|
87
|
+
- **Nicomachus, Plato, Pliny, Ptolemy** — the doctrina primaries (with the
|
|
88
|
+
vowel attestations: Porphyry, Marcus Gnosticus, Demetrius, Eusebius,
|
|
89
|
+
Barthélemy of Edessa) → [docs/heavens.md](docs/heavens.md#sources)
|
|
90
|
+
|
|
91
|
+
## Astronomy and computus
|
|
92
|
+
|
|
93
|
+
- **Standish, "Keplerian Elements for Approximate Positions of the Major
|
|
94
|
+
Planets" (JPL, 1992/DE430)** — orbital elements →
|
|
95
|
+
[docs/heavens.md](docs/heavens.md#sources)
|
|
96
|
+
- **Schlyter, "Computing planetary positions" (Stjärnhimlen)** — position
|
|
97
|
+
computation tutorial → [docs/heavens.md](docs/heavens.md#sources)
|
|
98
|
+
- **Gauss/Butcher computus; Julian 19-year cycle** — Easter reckoning →
|
|
99
|
+
[docs/calendar.md](docs/calendar.md#sources)
|
package/LICENSE
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Jeffrey Pierce
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
Data provenance: the chant corpora derive from GregoBase
|
|
26
|
+
(https://gregobase.selapa.net/); the liturgical calendar, propers, office,
|
|
27
|
+
and psalter derive from the Divinum Officium project
|
|
28
|
+
(https://github.com/DivinumOfficium/divinum-officium); orbital elements from
|
|
29
|
+
JPL/NASA (Standish 1992, DE430). See BIBLIOGRAPHY.md for full attribution.
|
package/README.md
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# tonus
|
|
2
|
+
|
|
3
|
+
**tonus** is a medieval music and cosmology library. It covers:
|
|
4
|
+
|
|
5
|
+
- pitch, tuning, hexachords, and the eight church modes
|
|
6
|
+
- the liturgical calendar, the feast of the day, and mass selection
|
|
7
|
+
- the chant repertoire in GABC: propers, ordinary, office, and psalm tones
|
|
8
|
+
- chant rhythm and performance shaping, rendered to MIDI or MusicXML
|
|
9
|
+
- planetary positions voiced as tuned pitch across the classical theorists' "harmony of the spheres"
|
|
10
|
+
|
|
11
|
+
**tonus** is implemented in TypeScript and its API is a single namespace of methods. Every result is deterministic: the same
|
|
12
|
+
query returns the same answer, computed locally from data that ships with
|
|
13
|
+
the package, with no network calls.
|
|
14
|
+
|
|
15
|
+
## Install
|
|
16
|
+
|
|
17
|
+
```sh
|
|
18
|
+
npm install tonus
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
ESM only. Node ≥ 20; works in the browser through a bundler. No runtime
|
|
22
|
+
dependencies. Roughly 5,500 chants and the full 642-entry calendar ship in
|
|
23
|
+
the package — 6.5 MB unpacked, 1.5 MB packed.
|
|
24
|
+
|
|
25
|
+
## Documentation
|
|
26
|
+
|
|
27
|
+
One page per engine, in dependency order. Each page states its rules, then its theory and historical context, then its sources.
|
|
28
|
+
|
|
29
|
+
- **[Index](docs/index.md)** — Table of contents and conventions.
|
|
30
|
+
- **[Tuning](docs/tuning.md)** — `temperamentum`. The medieval pitch system:
|
|
31
|
+
temperaments, Guidonian gamut and hand,
|
|
32
|
+
hexachordal solmization and mutations, eight modes, and psalm
|
|
33
|
+
tones. Depends on nothing else in the library.
|
|
34
|
+
- **[Calendar](docs/calendar.md)** — `festum`, `pascha`. The Tridentine
|
|
35
|
+
liturgical calendar resolved against dual-computus Easter: feasts with
|
|
36
|
+
their authentic ranks, grades, and seasons, and the movable anchors of
|
|
37
|
+
any year.
|
|
38
|
+
- **[Chant](docs/chant.md)** — `cantus`, `proprium`, `ordinarium`,
|
|
39
|
+
`officium`, `psalmus`. The Solesmes books in GABC: Mass propers, the
|
|
40
|
+
Kyriale, the Office hours, the psalter.
|
|
41
|
+
- **[Score](docs/score.md)** — `notatio`. GABC into tuned notes: phrases,
|
|
42
|
+
syllables, Solesmes arsis/thesis rhythm, prosody, the analytic imprint.
|
|
43
|
+
- **[Heavens](docs/heavens.md)** — `caelum`, `harmonia`. An ephemeris
|
|
44
|
+
computed from JPL orbital elements, voiced through the planetary
|
|
45
|
+
doctrines of Boethius, Nicomachus, Pliny, and Ptolemy.
|
|
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.
|
|
51
|
+
|
|
52
|
+
## The tuning engine
|
|
53
|
+
|
|
54
|
+
The tuning engine is self-contained; every other engine resolves its pitches
|
|
55
|
+
through it.
|
|
56
|
+
|
|
57
|
+
```js
|
|
58
|
+
import tonus from "tonus";
|
|
59
|
+
|
|
60
|
+
const t = tonus.temperamentum({ mode: 1 }); // Pythagorean, mode 1
|
|
61
|
+
|
|
62
|
+
t.nota("D4");
|
|
63
|
+
// 293.33 Hz — the final of mode 1, tuned through pure fifths
|
|
64
|
+
|
|
65
|
+
t.gradus("D4");
|
|
66
|
+
// Delasolre: RE of the natural hexachord, role "finalis",
|
|
67
|
+
// middle finger, base joint, on the Guidonian hand
|
|
68
|
+
|
|
69
|
+
t.intervallum("D4", "A4");
|
|
70
|
+
// Quinta (alias Diapente), perfect — final to tenor
|
|
71
|
+
|
|
72
|
+
t.tonus();
|
|
73
|
+
// psalm tone 1, differentia 1g:
|
|
74
|
+
// intonatio F3–A3–C4, mediatio C4–A3–G3–A3, terminatio C4–A3–G3–A3–G3
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## The liturgical stack
|
|
78
|
+
|
|
79
|
+
The remaining engines compose:
|
|
80
|
+
|
|
81
|
+
```js
|
|
82
|
+
const [feast] = tonus.festum({ date: new Date("2026-12-25") });
|
|
83
|
+
// nomen: "In Nativitate Domini", ritus: "Duplex I classis",
|
|
84
|
+
// grade: "duplex-i", tempus: "Tempus Nativitatis"
|
|
85
|
+
|
|
86
|
+
const [introit] = tonus.proprium({ feast, office: "in" });
|
|
87
|
+
// "Puer natus est", mode 7, GABC from the Liber Usualis
|
|
88
|
+
|
|
89
|
+
const score = tonus.notatio(introit, { temperamentum: t });
|
|
90
|
+
// phrases, syllables, tuned pitches, arsis/thesis rhythm, prosody, imprint
|
|
91
|
+
|
|
92
|
+
const harmony = tonus.harmonia(tonus.caelum({ date: feast.date }));
|
|
93
|
+
// each visible planet voiced as pitch and Greek vowel, after Boethius
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Development
|
|
97
|
+
|
|
98
|
+
```sh
|
|
99
|
+
npm test # builds and runs the suite (node --test)
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
The data files in `src/data/` are generated by a separate extraction
|
|
103
|
+
pipeline (tonus-corpus). Edits happen there, not here.
|
|
104
|
+
|
|
105
|
+
## License
|
|
106
|
+
|
|
107
|
+
[MIT](LICENSE). Chant and liturgical data derive from GregoBase and Divinum
|
|
108
|
+
Officium; see [BIBLIOGRAPHY.md](BIBLIOGRAPHY.md) for full attribution.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface CalEntry {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
rank: number;
|
|
5
|
+
ritus?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const CAL_SANCTI: CalEntry[];
|
|
8
|
+
export declare const CAL_TEMPORA: CalEntry[];
|
|
9
|
+
export declare const CAL: CalEntry[];
|
|
10
|
+
//# sourceMappingURL=cal.d.ts.map
|