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
@@ -0,0 +1,4 @@
1
+ /** hour → weekday ("0".."6" | "any") → variant → chant ids, in ord order. */
2
+ export type FerialTable = Record<string, Record<string, Record<string, string[]>>>;
3
+ export declare const OFFICE_FERIAL: FerialTable;
4
+ //# sourceMappingURL=office-ferial.d.ts.map
@@ -0,0 +1,396 @@
1
+ // AUTO-GENERATED by scripts/match-office-antiphons.mjs — do not edit manually
2
+ // The ferial (weekday) office antiphon cycle, mined from DO's psalter.
3
+ // 177 slots across 7 hours.
4
+
5
+ export const OFFICE_FERIAL = ({
6
+ "kind": "office-ferial",
7
+ "provenance": "DO psalter ferial antiphon cycle, matched to corpus chants (exact+high only). Lookup shape: hour → weekday (\"0\"..\"6\" | \"any\") → variant → chantId[] in ord order.",
8
+ "hours": [
9
+ "laudes",
10
+ "matutinum",
11
+ "nona",
12
+ "prima",
13
+ "sexta",
14
+ "tertia",
15
+ "vesperae"
16
+ ],
17
+ "slots": 177,
18
+ "table": {
19
+ "laudes": {
20
+ "0": {
21
+ "paschal": [
22
+ "gregobase:15205",
23
+ "gregobase:3307",
24
+ "gregobase:10056"
25
+ ],
26
+ "festal": [
27
+ "gregobase:10441",
28
+ "gregobase:3309",
29
+ "gregobase:10056"
30
+ ],
31
+ "ferial": [
32
+ "gregobase:10441",
33
+ "gregobase:3309",
34
+ "gregobase:10056"
35
+ ]
36
+ },
37
+ "1": {
38
+ "ferial": [
39
+ "gregobase:10436",
40
+ "gregobase:10438",
41
+ "gregobase:13129",
42
+ "gregobase:10439"
43
+ ]
44
+ },
45
+ "2": {
46
+ "ferial": [
47
+ "gregobase:10420",
48
+ "gregobase:10421",
49
+ "gregobase:10422",
50
+ "gregobase:10127",
51
+ "gregobase:9787"
52
+ ]
53
+ },
54
+ "3": {
55
+ "ferial": [
56
+ "gregobase:15612",
57
+ "gregobase:15613",
58
+ "gregobase:15614",
59
+ "gregobase:10130",
60
+ "gregobase:15615"
61
+ ]
62
+ },
63
+ "4": {
64
+ "ferial": [
65
+ "gregobase:10425",
66
+ "gregobase:9603",
67
+ "gregobase:10426",
68
+ "gregobase:10427"
69
+ ]
70
+ },
71
+ "5": {
72
+ "ferial": [
73
+ "gregobase:10428",
74
+ "gregobase:10429",
75
+ "gregobase:10430",
76
+ "gregobase:7948"
77
+ ]
78
+ },
79
+ "6": {
80
+ "ferial": [
81
+ "gregobase:9144",
82
+ "gregobase:10433",
83
+ "gregobase:10128",
84
+ "gregobase:10434"
85
+ ],
86
+ "festal": [
87
+ "gregobase:10436",
88
+ "gregobase:12941",
89
+ "gregobase:10439"
90
+ ]
91
+ }
92
+ },
93
+ "vesperae": {
94
+ "0": {
95
+ "ferial": [
96
+ "gregobase:4690",
97
+ "gregobase:10113",
98
+ "gregobase:10114",
99
+ "gregobase:3306"
100
+ ]
101
+ },
102
+ "1": {
103
+ "ferial": [
104
+ "gregobase:10440",
105
+ "gregobase:10117",
106
+ "gregobase:10118",
107
+ "gregobase:10119"
108
+ ]
109
+ },
110
+ "2": {
111
+ "ferial": [
112
+ "gregobase:7565",
113
+ "gregobase:10121",
114
+ "gregobase:7539",
115
+ "gregobase:4157"
116
+ ]
117
+ },
118
+ "3": {
119
+ "ferial": [
120
+ "gregobase:10124",
121
+ "gregobase:9118",
122
+ "gregobase:7946",
123
+ "gregobase:3302"
124
+ ]
125
+ },
126
+ "4": {
127
+ "ferial": [
128
+ "gregobase:10137",
129
+ "gregobase:7760",
130
+ "gregobase:10138"
131
+ ]
132
+ },
133
+ "5": {
134
+ "ferial": [
135
+ "gregobase:7763"
136
+ ]
137
+ },
138
+ "6": {
139
+ "ferial": [
140
+ "gregobase:8267",
141
+ "gregobase:10142",
142
+ "gregobase:3250",
143
+ "gregobase:3303"
144
+ ]
145
+ }
146
+ },
147
+ "matutinum": {
148
+ "0": {
149
+ "ferial": [
150
+ "nocturnale:F2N3A2",
151
+ "gregobase:355",
152
+ "gregobase:18052",
153
+ "nocturnale:EXF2A1",
154
+ "nocturnale:EXF2A2",
155
+ "gregobase:12420",
156
+ "gregobase:10056"
157
+ ],
158
+ "paschal": [
159
+ "nocturnale:P1F1N1A",
160
+ "nocturnale:P1F1N2A",
161
+ "gregobase:10056"
162
+ ],
163
+ "advent": [
164
+ "gregobase:15564",
165
+ "gregobase:7476",
166
+ "gregobase:18241",
167
+ "nocturnale:A1F1N1A2",
168
+ "gregobase:12021",
169
+ "nocturnale:A1F1N1A3",
170
+ "gregobase:9223",
171
+ "nocturnale:A1F1N2A1",
172
+ "gregobase:8316",
173
+ "nocturnale:A1F1N2A2",
174
+ "gregobase:12818",
175
+ "nocturnale:A1F1N2A3",
176
+ "gregobase:12857",
177
+ "nocturnale:A1F1N3A1"
178
+ ]
179
+ },
180
+ "1": {
181
+ "ferial-alt": [
182
+ "gregobase:7732",
183
+ "gregobase:18054",
184
+ "nocturnale:F3N3A1",
185
+ "nocturnale:EXF3A1",
186
+ "gregobase:2967",
187
+ "nocturnale:EXF3A3"
188
+ ],
189
+ "cistercian": [
190
+ "gregobase:7732",
191
+ "gregobase:18054",
192
+ "nocturnale:F3N3A1",
193
+ "nocturnale:EXF3A1",
194
+ "gregobase:2967",
195
+ "nocturnale:EXF3A3"
196
+ ],
197
+ "ferial": [
198
+ "gregobase:7732",
199
+ "gregobase:18054",
200
+ "nocturnale:F3N3A1",
201
+ "nocturnale:EXF3A1",
202
+ "gregobase:2967",
203
+ "nocturnale:EXF3A3"
204
+ ]
205
+ },
206
+ "2": {
207
+ "ferial-alt": [
208
+ "gregobase:18061",
209
+ "gregobase:18049",
210
+ "nocturnale:F4N3A1",
211
+ "nocturnale:EXF4A1",
212
+ "nocturnale:EXF4A3"
213
+ ],
214
+ "cistercian": [
215
+ "gregobase:18061",
216
+ "nocturnale:F4N3A1",
217
+ "nocturnale:EXF4A1",
218
+ "nocturnale:EXF4A3"
219
+ ],
220
+ "ferial": [
221
+ "gregobase:18061",
222
+ "gregobase:18049",
223
+ "nocturnale:F4N3A1",
224
+ "nocturnale:EXF4A1",
225
+ "nocturnale:EXF4A3"
226
+ ]
227
+ },
228
+ "3": {
229
+ "ferial-alt": [
230
+ "nocturnale:EXF4A4",
231
+ "gregobase:3236",
232
+ "nocturnale:F5N3A3",
233
+ "nocturnale:EXF5A1",
234
+ "gregobase:12728"
235
+ ],
236
+ "cistercian": [
237
+ "nocturnale:EXF4A4",
238
+ "gregobase:3236",
239
+ "nocturnale:F5N3A3",
240
+ "gregobase:17590"
241
+ ],
242
+ "ferial": [
243
+ "nocturnale:EXF4A4",
244
+ "gregobase:3236",
245
+ "nocturnale:F5N3A3",
246
+ "nocturnale:EXF5A1",
247
+ "gregobase:12728",
248
+ "gregobase:17590"
249
+ ]
250
+ },
251
+ "4": {
252
+ "ferial": [
253
+ "nocturnale:EXF5A3",
254
+ "nocturnale:EXF5A5",
255
+ "nocturnale:EXF5A6",
256
+ "nocturnale:EXF6A1",
257
+ "nocturnale:EXF6A2",
258
+ "nocturnale:EXF6A3"
259
+ ]
260
+ },
261
+ "5": {
262
+ "ferial-alt": [
263
+ "nocturnale:EXF6A5",
264
+ "gregobase:12541",
265
+ "nocturnale:EXF7A1",
266
+ "gregobase:18057"
267
+ ],
268
+ "ferial": [
269
+ "nocturnale:EXF6A5",
270
+ "gregobase:12541",
271
+ "nocturnale:EXF7A1",
272
+ "gregobase:18057"
273
+ ]
274
+ },
275
+ "6": {
276
+ "ferial-alt": [
277
+ "nocturnale:EXF7A3",
278
+ "nocturnale:EXF7A4",
279
+ "gregobase:16900",
280
+ "nocturnale:EXF7A5"
281
+ ],
282
+ "cistercian": [
283
+ "nocturnale:EXF7A3",
284
+ "nocturnale:EXF7A4",
285
+ "gregobase:16900",
286
+ "nocturnale:EXF7A5"
287
+ ],
288
+ "ferial": [
289
+ "nocturnale:EXF7A3",
290
+ "nocturnale:EXF7A4",
291
+ "gregobase:16900",
292
+ "nocturnale:EXF7A5"
293
+ ]
294
+ },
295
+ "any": {
296
+ "nat": [
297
+ "nocturnale:0101N3A1"
298
+ ]
299
+ }
300
+ },
301
+ "tertia": {
302
+ "0": {
303
+ "ferial-alt": [
304
+ "gregobase:10056"
305
+ ]
306
+ },
307
+ "1": {
308
+ "ferial-alt": [
309
+ "gregobase:7867"
310
+ ]
311
+ },
312
+ "any": {
313
+ "ferial-alt": [
314
+ "gregobase:8668"
315
+ ]
316
+ }
317
+ },
318
+ "prima": {
319
+ "0": {
320
+ "ferial-alt": [
321
+ "gregobase:10056"
322
+ ]
323
+ },
324
+ "1": {
325
+ "ferial-alt": [
326
+ "gregobase:4132"
327
+ ]
328
+ },
329
+ "2": {
330
+ "ferial-alt": [
331
+ "gregobase:4131"
332
+ ]
333
+ },
334
+ "3": {
335
+ "ferial-alt": [
336
+ "nocturnale:F1N2A3"
337
+ ]
338
+ },
339
+ "4": {
340
+ "ferial-alt": [
341
+ "gregobase:8663"
342
+ ]
343
+ },
344
+ "5": {
345
+ "ferial-alt": [
346
+ "gregobase:4136"
347
+ ]
348
+ },
349
+ "6": {
350
+ "ferial-alt": [
351
+ "gregobase:4130"
352
+ ]
353
+ },
354
+ "any": {
355
+ "festal-alt": [
356
+ "gregobase:10056"
357
+ ]
358
+ }
359
+ },
360
+ "sexta": {
361
+ "0": {
362
+ "ferial-alt": [
363
+ "gregobase:10056"
364
+ ]
365
+ },
366
+ "1": {
367
+ "ferial-alt": [
368
+ "gregobase:8656"
369
+ ]
370
+ },
371
+ "any": {
372
+ "ferial-alt": [
373
+ "gregobase:2292"
374
+ ]
375
+ }
376
+ },
377
+ "nona": {
378
+ "0": {
379
+ "ferial-alt": [
380
+ "gregobase:10056"
381
+ ]
382
+ },
383
+ "1": {
384
+ "ferial-alt": [
385
+ "gregobase:4197"
386
+ ]
387
+ },
388
+ "any": {
389
+ "ferial-alt": [
390
+ "gregobase:8669"
391
+ ]
392
+ }
393
+ }
394
+ }
395
+ }).table;
396
+ //# sourceMappingURL=office-ferial.js.map