@libraz/libcantus 1.2.0 → 1.4.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/NOTICE +63 -0
- package/README.md +7 -1
- package/README_ja.md +17 -11
- package/dist/analyze/index.cjs +31 -7
- package/dist/analyze/index.cjs.map +1 -1
- package/dist/analyze/index.d.cts +161 -13
- package/dist/analyze/index.d.ts +161 -13
- package/dist/analyze/index.js +37 -13
- package/dist/{chunk-NB25P3EH.js → chunk-2G5MCGYU.js} +33 -11
- package/dist/chunk-2G5MCGYU.js.map +1 -0
- package/dist/{chunk-NM7UAMC3.cjs → chunk-3FDBMIPR.cjs} +64 -64
- package/dist/chunk-3FDBMIPR.cjs.map +1 -0
- package/dist/{chunk-HPVSH7SF.cjs → chunk-3MDOEFIQ.cjs} +618 -954
- package/dist/chunk-3MDOEFIQ.cjs.map +1 -0
- package/dist/{chunk-FBH75DAY.js → chunk-5MWRBYAT.js} +560 -159
- package/dist/chunk-5MWRBYAT.js.map +1 -0
- package/dist/{chunk-J7FHVZII.cjs → chunk-6TTBEON3.cjs} +3074 -740
- package/dist/chunk-6TTBEON3.cjs.map +1 -0
- package/dist/{chunk-UMWZ4ZET.js → chunk-7NQ6AL3H.js} +4 -4
- package/dist/chunk-7NQ6AL3H.js.map +1 -0
- package/dist/{chunk-HWHGOVO6.cjs → chunk-E3QO3UET.cjs} +31 -23
- package/dist/chunk-E3QO3UET.cjs.map +1 -0
- package/dist/{chunk-H2KJHBW4.js → chunk-FJFULJZE.js} +2375 -191
- package/dist/chunk-FJFULJZE.js.map +1 -0
- package/dist/{chunk-Q6LFSAKV.js → chunk-FK3DGAIZ.js} +2657 -323
- package/dist/chunk-FK3DGAIZ.js.map +1 -0
- package/dist/chunk-GEDTJHAC.cjs.map +1 -1
- package/dist/{chunk-RFIBF2RR.js → chunk-H7FVMBUC.js} +138 -65
- package/dist/chunk-H7FVMBUC.js.map +1 -0
- package/dist/{chunk-DSMJRXCZ.cjs → chunk-HYSVSFNI.cjs} +931 -530
- package/dist/chunk-HYSVSFNI.cjs.map +1 -0
- package/dist/{chunk-35NBV2FT.cjs → chunk-KMYGRFZ6.cjs} +47 -24
- package/dist/chunk-KMYGRFZ6.cjs.map +1 -0
- package/dist/chunk-LQZQDBCD.cjs +5513 -0
- package/dist/chunk-LQZQDBCD.cjs.map +1 -0
- package/dist/{chunk-PM4XJE2Y.cjs → chunk-P3CPXAJ5.cjs} +76 -54
- package/dist/chunk-P3CPXAJ5.cjs.map +1 -0
- package/dist/{chunk-S5BKZZGM.cjs → chunk-S3QELJUE.cjs} +72 -56
- package/dist/chunk-S3QELJUE.cjs.map +1 -0
- package/dist/{chunk-PUKJP2Z5.js → chunk-TXFWSU5D.js} +31 -8
- package/dist/chunk-TXFWSU5D.js.map +1 -0
- package/dist/{chunk-76ZBTRG2.cjs → chunk-U4EQTDGN.cjs} +258 -218
- package/dist/chunk-U4EQTDGN.cjs.map +1 -0
- package/dist/chunk-UGLFDG7L.cjs.map +1 -1
- package/dist/{chunk-HYJJ2V2I.js → chunk-UTE5A36R.js} +483 -819
- package/dist/chunk-UTE5A36R.js.map +1 -0
- package/dist/{chunk-NFJ4P6ZZ.js → chunk-UZKQISRF.js} +17 -9
- package/dist/chunk-UZKQISRF.js.map +1 -0
- package/dist/{chunk-7KG3RTYS.js → chunk-VL5NXVCN.js} +281 -155
- package/dist/chunk-VL5NXVCN.js.map +1 -0
- package/dist/{chunk-CGBADIO5.cjs → chunk-WOMCXN2W.cjs} +328 -202
- package/dist/chunk-WOMCXN2W.cjs.map +1 -0
- package/dist/{chunk-3R3QVKY5.cjs → chunk-YDGMWH43.cjs} +397 -324
- package/dist/chunk-YDGMWH43.cjs.map +1 -0
- package/dist/{chunk-AGOVW7U6.js → chunk-YYVXRV3V.js} +72 -56
- package/dist/chunk-YYVXRV3V.js.map +1 -0
- package/dist/{chunk-M5RYMAFI.js → chunk-ZLNSH4UL.js} +71 -31
- package/dist/chunk-ZLNSH4UL.js.map +1 -0
- package/dist/{coerce-DRERzdve.d.cts → coerce-CUhHc3Tu.d.ts} +16 -8
- package/dist/{coerce-DP0vYu-x.d.ts → coerce-Ytt2Eiq9.d.cts} +16 -8
- package/dist/core/index.cjs +5 -5
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.d.cts +9 -8
- package/dist/core/index.d.ts +9 -8
- package/dist/core/index.js +4 -4
- package/dist/generate/index.cjs +20 -8
- package/dist/generate/index.cjs.map +1 -1
- package/dist/generate/index.d.cts +105 -17
- package/dist/generate/index.d.ts +105 -17
- package/dist/generate/index.js +19 -7
- package/dist/{index-CL4b4gUQ.d.ts → index-5VJgKz_Q.d.cts} +6 -2
- package/dist/{index-B9QLziDe.d.cts → index-BLuDesVG.d.ts} +20 -13
- package/dist/{index-BHIUyjhZ.d.ts → index-BV6APVa6.d.cts} +20 -13
- package/dist/{index-BMweUlm5.d.cts → index-Bf0Sv8a9.d.ts} +6 -2
- package/dist/{index-Dw2DP7vm.d.ts → index-BkT21EMv.d.cts} +3 -2
- package/dist/{index-BL5N2Oyz.d.cts → index-C7KCaTRz.d.ts} +3 -2
- package/dist/{index-Cy15oTvh.d.ts → index-C9MYbuKS.d.cts} +7 -3
- package/dist/{index-Cy15oTvh.d.cts → index-C9MYbuKS.d.ts} +7 -3
- package/dist/{index-BNSM-DSk.d.cts → index-DVInzCDS.d.cts} +533 -28
- package/dist/{index-9eoQs2C1.d.ts → index-Dg-SAfhz.d.ts} +6 -4
- package/dist/{index-BJgP97N1.d.ts → index-jgeug9EA.d.ts} +533 -28
- package/dist/{index-cHvbYgJI.d.cts → index-pQihL4z7.d.cts} +6 -4
- package/dist/index.cjs +49 -13
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +13 -13
- package/dist/index.d.ts +13 -13
- package/dist/index.js +55 -19
- package/dist/{masks-Cc7-MzzY.d.ts → masks-BnzXnBj0.d.cts} +3 -2
- package/dist/{masks-pADfTOiD.d.cts → masks-tycmkrgs.d.ts} +3 -2
- package/dist/model/index.cjs +12 -12
- package/dist/model/index.cjs.map +1 -1
- package/dist/model/index.d.cts +259 -48
- package/dist/model/index.d.ts +259 -48
- package/dist/model/index.js +11 -11
- package/dist/{positional-DJgs6ltD.d.ts → positional-CscpxtlE.d.cts} +3 -2
- package/dist/{positional-DMZer-FM.d.cts → positional-DLnfUgqG.d.ts} +3 -2
- package/dist/{index-BRMbPkHE.d.ts → profile-B4WqcM4H.d.ts} +85 -610
- package/dist/{index-DGCNKAUr.d.cts → profile-BJd1XkPB.d.cts} +85 -610
- package/dist/theory/index.cjs +5 -5
- package/dist/theory/index.cjs.map +1 -1
- package/dist/theory/index.d.cts +18 -14
- package/dist/theory/index.d.ts +18 -14
- package/dist/theory/index.js +4 -4
- package/dist/{index-CJBBiAmU.d.ts → types-7mGFwvMm.d.ts} +1210 -31
- package/dist/{index-BBWNZS0f.d.cts → types-_ofpb2be.d.cts} +1210 -31
- package/package.json +13 -13
- package/dist/chunk-35NBV2FT.cjs.map +0 -1
- package/dist/chunk-3R3QVKY5.cjs.map +0 -1
- package/dist/chunk-76ZBTRG2.cjs.map +0 -1
- package/dist/chunk-7KG3RTYS.js.map +0 -1
- package/dist/chunk-AGOVW7U6.js.map +0 -1
- package/dist/chunk-CGBADIO5.cjs.map +0 -1
- package/dist/chunk-DSMJRXCZ.cjs.map +0 -1
- package/dist/chunk-FBH75DAY.js.map +0 -1
- package/dist/chunk-H2KJHBW4.js.map +0 -1
- package/dist/chunk-HPVSH7SF.cjs.map +0 -1
- package/dist/chunk-HWHGOVO6.cjs.map +0 -1
- package/dist/chunk-HYJJ2V2I.js.map +0 -1
- package/dist/chunk-J7FHVZII.cjs.map +0 -1
- package/dist/chunk-M5RYMAFI.js.map +0 -1
- package/dist/chunk-NB25P3EH.js.map +0 -1
- package/dist/chunk-NFJ4P6ZZ.js.map +0 -1
- package/dist/chunk-NM7UAMC3.cjs.map +0 -1
- package/dist/chunk-PM4XJE2Y.cjs.map +0 -1
- package/dist/chunk-PUKJP2Z5.js.map +0 -1
- package/dist/chunk-Q6LFSAKV.js.map +0 -1
- package/dist/chunk-RFIBF2RR.js.map +0 -1
- package/dist/chunk-S5BKZZGM.cjs.map +0 -1
- package/dist/chunk-SGLEQVJH.cjs +0 -3329
- package/dist/chunk-SGLEQVJH.cjs.map +0 -1
- package/dist/chunk-UMWZ4ZET.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { e as KeyScale, g as Note, i as NoteLike } from './index-
|
|
1
|
+
import { e as KeyScale, g as Note, i as NoteLike } from './index-C9MYbuKS.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* The vocabulary a key is described in.
|
|
@@ -731,7 +731,8 @@ declare function chordQualities(): ChordQuality[];
|
|
|
731
731
|
/**
|
|
732
732
|
* Build a chord rooted on a diatonic scale degree.
|
|
733
733
|
*
|
|
734
|
-
* The root pitch class is the degree's diatonic pitch class in `key
|
|
734
|
+
* The root pitch class is the degree's diatonic pitch class in `key`, spelled
|
|
735
|
+
* the way the key writes it (a flat key names its degrees with flats); the
|
|
735
736
|
* quality's interval template is attached unchanged. Degrees beyond the scale
|
|
736
737
|
* length wrap around, so degree 8 of a heptatonic scale is its degree 1.
|
|
737
738
|
*
|
|
@@ -745,7 +746,7 @@ declare function chordQualities(): ChordQuality[];
|
|
|
745
746
|
*
|
|
746
747
|
* @category Chords
|
|
747
748
|
*/
|
|
748
|
-
declare function chordFromDegree(degree: number, ext: ChordQuality, key:
|
|
749
|
+
declare function chordFromDegree(degree: number, ext: ChordQuality, key: SpelledKeyLike): Chord;
|
|
749
750
|
/**
|
|
750
751
|
* Build a chord from an explicit root pitch class and quality.
|
|
751
752
|
*
|
|
@@ -958,6 +959,7 @@ declare function chordToneRole(pitch: number, chord: Chord): ChordToneRole | nul
|
|
|
958
959
|
* Unlike {@link chordFromDegree}, the chord quality is derived from the scale
|
|
959
960
|
* rather than supplied, so degrees yield their scale-correct triads (e.g. a
|
|
960
961
|
* diminished triad on the leading tone of a major key).
|
|
962
|
+
* The root is spelled the way the key writes it.
|
|
961
963
|
*
|
|
962
964
|
* @param degree 1-based scale degree of the chord root: 1 is the tonic.
|
|
963
965
|
* @param key Key/scale context, as a key name, a key/scale, or a `Key`.
|
|
@@ -975,10 +977,12 @@ declare function chordToneRole(pitch: number, chord: Chord): ChordToneRole | nul
|
|
|
975
977
|
*
|
|
976
978
|
* @category Chords
|
|
977
979
|
*/
|
|
978
|
-
declare function diatonicTriad(degree: number, key:
|
|
980
|
+
declare function diatonicTriad(degree: number, key: SpelledKeyLike): Chord;
|
|
979
981
|
/**
|
|
980
982
|
* Build the diatonic seventh chord rooted on a scale degree.
|
|
981
983
|
*
|
|
984
|
+
* The root is spelled the way the key writes it.
|
|
985
|
+
*
|
|
982
986
|
* @param degree 1-based scale degree of the chord root: 1 is the tonic.
|
|
983
987
|
* @param key Key/scale context, as a key name, a key/scale, or a `Key`.
|
|
984
988
|
* @returns The diatonic seventh chord.
|
|
@@ -987,7 +991,7 @@ declare function diatonicTriad(degree: number, key: KeyLike): Chord;
|
|
|
987
991
|
*
|
|
988
992
|
* @category Chords
|
|
989
993
|
*/
|
|
990
|
-
declare function diatonicSeventh(degree: number, key:
|
|
994
|
+
declare function diatonicSeventh(degree: number, key: SpelledKeyLike): Chord;
|
|
991
995
|
|
|
992
996
|
/**
|
|
993
997
|
* Style policy: `strict` counterpoint vs. `pop` voice leading.
|
|
@@ -1295,6 +1299,9 @@ declare function enumerateSafePitches(q: Omit<SafetyQuery, 'candidatePitch'>, pi
|
|
|
1295
1299
|
* Anything that names a chord: a chord symbol, plain chord data, or a value
|
|
1296
1300
|
* that serializes to chord data such as the `Chord` class.
|
|
1297
1301
|
*
|
|
1302
|
+
* A value that also holds its chord as `data`, as the `Chord` class does, is
|
|
1303
|
+
* read through that: the chord as it prints, spelled by the key it carries.
|
|
1304
|
+
*
|
|
1298
1305
|
* @category Chords
|
|
1299
1306
|
*/
|
|
1300
1307
|
type ChordLike = string | Chord | {
|
|
@@ -1310,8 +1317,8 @@ type ChordLike = string | Chord | {
|
|
|
1310
1317
|
* is accepted through its `toJSON` method rather than by its type, so the
|
|
1311
1318
|
* layers below the model can read a class without importing it.
|
|
1312
1319
|
*
|
|
1313
|
-
* @param value A chord symbol, plain chord data, or a value whose `
|
|
1314
|
-
* returns chord data.
|
|
1320
|
+
* @param value A chord symbol, plain chord data, or a value whose `data` or
|
|
1321
|
+
* `toJSON` returns chord data.
|
|
1315
1322
|
* @returns The validated chord data, with root and bass reduced to pitch
|
|
1316
1323
|
* classes and any spelling hint carried through.
|
|
1317
1324
|
* @throws If the value names no chord, or an interval, root, or bass is not a
|
|
@@ -1326,4 +1333,5 @@ type ChordLike = string | Chord | {
|
|
|
1326
1333
|
*/
|
|
1327
1334
|
declare function toChordData(value: ChordLike): Chord;
|
|
1328
1335
|
|
|
1329
|
-
export { subdominantKeyOf as $,
|
|
1336
|
+
export { subdominantKeyOf as $, chordSpecQuality as B, chordToneRole as D, diatonicSeventh as F, diatonicTriad as G, dominantKeyOf as H, enharmonicKeyOf as I, enumerateSafePitches as J, evaluateSafety as L, intervalAboveRoot as M, NoteSafety as N, isChordMember as O, PROFILE_WEIGHTS as P, keyRelationBetween as Q, ReasonFlag as R, makeChord as T, parallelKeyOf as U, profileWeights as W, relatedKeysOf as X, relativeKeyOf as Y, spanFromChord as Z, spelledKeyOf as _, toChordData as a0, toKeyScale as a1, transposeChord as a2, chordFromDegree as t, chordFromSpan as u, chordFromSpec as v, chordPitchClasses as w, chordQualities as x, chordSpecIntervals as y, chordSpecOf as z };
|
|
1337
|
+
export type { Alteration as A, ChordBase as C, EvaluateSafetyOptions as E, KeyLike as K, SafetyPartner as S, VoiceSnapshot as V, AlteredDegree as a, Chord as b, ChordLike as c, ChordQuality as d, ChordSegment as e, ChordSeventh as f, ChordSpan as g, ChordSpec as h, ChordToneRole as i, KeyRelation as j, KeyVariant as k, PitchSpelling as l, ProfileWeights as m, ResolvedKey as n, SafetyProfile as o, SafetyQuery as p, SafetyResult as q, SpelledKeyLike as r, SpelledKeyScale as s };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { e as KeyScale, g as Note, i as NoteLike } from './index-
|
|
1
|
+
import { e as KeyScale, g as Note, i as NoteLike } from './index-C9MYbuKS.cjs';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* The vocabulary a key is described in.
|
|
@@ -731,7 +731,8 @@ declare function chordQualities(): ChordQuality[];
|
|
|
731
731
|
/**
|
|
732
732
|
* Build a chord rooted on a diatonic scale degree.
|
|
733
733
|
*
|
|
734
|
-
* The root pitch class is the degree's diatonic pitch class in `key
|
|
734
|
+
* The root pitch class is the degree's diatonic pitch class in `key`, spelled
|
|
735
|
+
* the way the key writes it (a flat key names its degrees with flats); the
|
|
735
736
|
* quality's interval template is attached unchanged. Degrees beyond the scale
|
|
736
737
|
* length wrap around, so degree 8 of a heptatonic scale is its degree 1.
|
|
737
738
|
*
|
|
@@ -745,7 +746,7 @@ declare function chordQualities(): ChordQuality[];
|
|
|
745
746
|
*
|
|
746
747
|
* @category Chords
|
|
747
748
|
*/
|
|
748
|
-
declare function chordFromDegree(degree: number, ext: ChordQuality, key:
|
|
749
|
+
declare function chordFromDegree(degree: number, ext: ChordQuality, key: SpelledKeyLike): Chord;
|
|
749
750
|
/**
|
|
750
751
|
* Build a chord from an explicit root pitch class and quality.
|
|
751
752
|
*
|
|
@@ -958,6 +959,7 @@ declare function chordToneRole(pitch: number, chord: Chord): ChordToneRole | nul
|
|
|
958
959
|
* Unlike {@link chordFromDegree}, the chord quality is derived from the scale
|
|
959
960
|
* rather than supplied, so degrees yield their scale-correct triads (e.g. a
|
|
960
961
|
* diminished triad on the leading tone of a major key).
|
|
962
|
+
* The root is spelled the way the key writes it.
|
|
961
963
|
*
|
|
962
964
|
* @param degree 1-based scale degree of the chord root: 1 is the tonic.
|
|
963
965
|
* @param key Key/scale context, as a key name, a key/scale, or a `Key`.
|
|
@@ -975,10 +977,12 @@ declare function chordToneRole(pitch: number, chord: Chord): ChordToneRole | nul
|
|
|
975
977
|
*
|
|
976
978
|
* @category Chords
|
|
977
979
|
*/
|
|
978
|
-
declare function diatonicTriad(degree: number, key:
|
|
980
|
+
declare function diatonicTriad(degree: number, key: SpelledKeyLike): Chord;
|
|
979
981
|
/**
|
|
980
982
|
* Build the diatonic seventh chord rooted on a scale degree.
|
|
981
983
|
*
|
|
984
|
+
* The root is spelled the way the key writes it.
|
|
985
|
+
*
|
|
982
986
|
* @param degree 1-based scale degree of the chord root: 1 is the tonic.
|
|
983
987
|
* @param key Key/scale context, as a key name, a key/scale, or a `Key`.
|
|
984
988
|
* @returns The diatonic seventh chord.
|
|
@@ -987,7 +991,7 @@ declare function diatonicTriad(degree: number, key: KeyLike): Chord;
|
|
|
987
991
|
*
|
|
988
992
|
* @category Chords
|
|
989
993
|
*/
|
|
990
|
-
declare function diatonicSeventh(degree: number, key:
|
|
994
|
+
declare function diatonicSeventh(degree: number, key: SpelledKeyLike): Chord;
|
|
991
995
|
|
|
992
996
|
/**
|
|
993
997
|
* Style policy: `strict` counterpoint vs. `pop` voice leading.
|
|
@@ -1295,6 +1299,9 @@ declare function enumerateSafePitches(q: Omit<SafetyQuery, 'candidatePitch'>, pi
|
|
|
1295
1299
|
* Anything that names a chord: a chord symbol, plain chord data, or a value
|
|
1296
1300
|
* that serializes to chord data such as the `Chord` class.
|
|
1297
1301
|
*
|
|
1302
|
+
* A value that also holds its chord as `data`, as the `Chord` class does, is
|
|
1303
|
+
* read through that: the chord as it prints, spelled by the key it carries.
|
|
1304
|
+
*
|
|
1298
1305
|
* @category Chords
|
|
1299
1306
|
*/
|
|
1300
1307
|
type ChordLike = string | Chord | {
|
|
@@ -1310,8 +1317,8 @@ type ChordLike = string | Chord | {
|
|
|
1310
1317
|
* is accepted through its `toJSON` method rather than by its type, so the
|
|
1311
1318
|
* layers below the model can read a class without importing it.
|
|
1312
1319
|
*
|
|
1313
|
-
* @param value A chord symbol, plain chord data, or a value whose `
|
|
1314
|
-
* returns chord data.
|
|
1320
|
+
* @param value A chord symbol, plain chord data, or a value whose `data` or
|
|
1321
|
+
* `toJSON` returns chord data.
|
|
1315
1322
|
* @returns The validated chord data, with root and bass reduced to pitch
|
|
1316
1323
|
* classes and any spelling hint carried through.
|
|
1317
1324
|
* @throws If the value names no chord, or an interval, root, or bass is not a
|
|
@@ -1326,4 +1333,5 @@ type ChordLike = string | Chord | {
|
|
|
1326
1333
|
*/
|
|
1327
1334
|
declare function toChordData(value: ChordLike): Chord;
|
|
1328
1335
|
|
|
1329
|
-
export { subdominantKeyOf as $,
|
|
1336
|
+
export { subdominantKeyOf as $, chordSpecQuality as B, chordToneRole as D, diatonicSeventh as F, diatonicTriad as G, dominantKeyOf as H, enharmonicKeyOf as I, enumerateSafePitches as J, evaluateSafety as L, intervalAboveRoot as M, NoteSafety as N, isChordMember as O, PROFILE_WEIGHTS as P, keyRelationBetween as Q, ReasonFlag as R, makeChord as T, parallelKeyOf as U, profileWeights as W, relatedKeysOf as X, relativeKeyOf as Y, spanFromChord as Z, spelledKeyOf as _, toChordData as a0, toKeyScale as a1, transposeChord as a2, chordFromDegree as t, chordFromSpan as u, chordFromSpec as v, chordPitchClasses as w, chordQualities as x, chordSpecIntervals as y, chordSpecOf as z };
|
|
1337
|
+
export type { Alteration as A, ChordBase as C, EvaluateSafetyOptions as E, KeyLike as K, SafetyPartner as S, VoiceSnapshot as V, AlteredDegree as a, Chord as b, ChordLike as c, ChordQuality as d, ChordSegment as e, ChordSeventh as f, ChordSpan as g, ChordSpec as h, ChordToneRole as i, KeyRelation as j, KeyVariant as k, PitchSpelling as l, ProfileWeights as m, ResolvedKey as n, SafetyProfile as o, SafetyQuery as p, SafetyResult as q, SpelledKeyLike as r, SpelledKeyScale as s };
|
package/dist/core/index.cjs
CHANGED
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
|
|
26
|
-
var
|
|
26
|
+
var _chunk3FDBMIPRcjs = require('../chunk-3FDBMIPR.cjs');
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
|
|
@@ -44,10 +44,10 @@ var _chunkNM7UAMC3cjs = require('../chunk-NM7UAMC3.cjs');
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
|
|
47
|
-
var
|
|
47
|
+
var _chunkWOMCXN2Wcjs = require('../chunk-WOMCXN2W.cjs');
|
|
48
48
|
|
|
49
49
|
|
|
50
|
-
var
|
|
50
|
+
var _chunkKMYGRFZ6cjs = require('../chunk-KMYGRFZ6.cjs');
|
|
51
51
|
|
|
52
52
|
|
|
53
53
|
|
|
@@ -116,7 +116,7 @@ var _chunk35NBV2FTcjs = require('../chunk-35NBV2FT.cjs');
|
|
|
116
116
|
|
|
117
117
|
|
|
118
118
|
|
|
119
|
-
var
|
|
119
|
+
var _chunkS3QELJUEcjs = require('../chunk-S3QELJUE.cjs');
|
|
120
120
|
|
|
121
121
|
|
|
122
122
|
|
|
@@ -228,5 +228,5 @@ var _chunkS5BKZZGMcjs = require('../chunk-S5BKZZGM.cjs');
|
|
|
228
228
|
|
|
229
229
|
|
|
230
230
|
|
|
231
|
-
exports.ALGORITHM_VERSION =
|
|
231
|
+
exports.ALGORITHM_VERSION = _chunkWOMCXN2Wcjs.ALGORITHM_VERSION; exports.ARTICULATIONS = _chunkS3QELJUEcjs.ARTICULATIONS; exports.BASS_4_STRING = _chunkWOMCXN2Wcjs.BASS_4_STRING; exports.BASS_5_STRING = _chunkWOMCXN2Wcjs.BASS_5_STRING; exports.BudgetExceededError = _chunkS3QELJUEcjs.BudgetExceededError; exports.ConsonanceClass = _chunkS3QELJUEcjs.ConsonanceClass; exports.DEFAULT_GENERATION_BUDGET = _chunkS3QELJUEcjs.DEFAULT_GENERATION_BUDGET; exports.GUITAR_DROP_D = _chunkWOMCXN2Wcjs.GUITAR_DROP_D; exports.GUITAR_STANDARD = _chunkWOMCXN2Wcjs.GUITAR_STANDARD; exports.InvalidInputError = _chunkS3QELJUEcjs.InvalidInputError; exports.JUST_RATIOS = _chunk3FDBMIPRcjs.JUST_RATIOS; exports.LIMBS = _chunkWOMCXN2Wcjs.LIMBS; exports.MIN_ALGORITHM_VERSION = _chunkWOMCXN2Wcjs.MIN_ALGORITHM_VERSION; exports.NOTE_VALUES = _chunk3FDBMIPRcjs.NOTE_VALUES; exports.NoSolutionError = _chunkS3QELJUEcjs.NoSolutionError; exports.TWELVE_TET = _chunk3FDBMIPRcjs.TWELVE_TET; exports.assertDegree = _chunkS3QELJUEcjs.assertDegree; exports.assertFiniteNumber = _chunkS3QELJUEcjs.assertFiniteNumber; exports.assertFiniteSemitones = _chunkS3QELJUEcjs.assertFiniteSemitones; exports.assertGenerationBudget = _chunkS3QELJUEcjs.assertGenerationBudget; exports.assertInteger = _chunkS3QELJUEcjs.assertInteger; exports.assertMeterMap = _chunkS3QELJUEcjs.assertMeterMap; exports.assertMidiPitch = _chunkS3QELJUEcjs.assertMidiPitch; exports.assertNoteEvent = _chunkS3QELJUEcjs.assertNoteEvent; exports.assertNoteEvents = _chunkS3QELJUEcjs.assertNoteEvents; exports.assertOneOf = _chunkS3QELJUEcjs.assertOneOf; exports.assertPositiveInt = _chunkS3QELJUEcjs.assertPositiveInt; exports.assertRange = _chunkS3QELJUEcjs.assertRange; exports.assertTimeSignature = _chunkS3QELJUEcjs.assertTimeSignature; exports.barIndexAt = _chunkS3QELJUEcjs.barIndexAt; exports.barPositionToBeat = _chunkS3QELJUEcjs.barPositionToBeat; exports.barPositionToPulse = _chunkS3QELJUEcjs.barPositionToPulse; exports.barStartBeat = _chunkS3QELJUEcjs.barStartBeat; exports.beatToBarPosition = _chunkS3QELJUEcjs.beatToBarPosition; exports.beatsPerBar = _chunkS3QELJUEcjs.beatsPerBar; exports.beatsPerBarAt = _chunkS3QELJUEcjs.beatsPerBarAt; exports.beatsToDuration = _chunk3FDBMIPRcjs.beatsToDuration; exports.beatsToSeconds = _chunk3FDBMIPRcjs.beatsToSeconds; exports.beatsToTicks = _chunk3FDBMIPRcjs.beatsToTicks; exports.beatsToTiedDurations = _chunk3FDBMIPRcjs.beatsToTiedDurations; exports.canSound = _chunkWOMCXN2Wcjs.canSound; exports.centsBetweenFreq = _chunk3FDBMIPRcjs.centsBetweenFreq; exports.centsFromNearestStep = _chunk3FDBMIPRcjs.centsFromNearestStep; exports.centsOfSteps = _chunk3FDBMIPRcjs.centsOfSteps; exports.centsToRatio = _chunk3FDBMIPRcjs.centsToRatio; exports.clampToMidi = _chunkS3QELJUEcjs.clampToMidi; exports.classifyInterval = _chunkS3QELJUEcjs.classifyInterval; exports.createNoteEventIndex = _chunkKMYGRFZ6cjs.createNoteEventIndex; exports.createPositionalRng = _chunkWOMCXN2Wcjs.createPositionalRng; exports.createRng = _chunkWOMCXN2Wcjs.createRng; exports.deriveSeed = _chunkWOMCXN2Wcjs.deriveSeed; exports.detectNoteNameSystem = _chunkS3QELJUEcjs.detectNoteNameSystem; exports.diatonicLetterOf = _chunkS3QELJUEcjs.diatonicLetterOf; exports.dropSilentNotes = _chunkS3QELJUEcjs.dropSilentNotes; exports.durationToBeats = _chunk3FDBMIPRcjs.durationToBeats; exports.durationToSeconds = _chunk3FDBMIPRcjs.durationToSeconds; exports.edo = _chunk3FDBMIPRcjs.edo; exports.fingeringsFor = _chunkWOMCXN2Wcjs.fingeringsFor; exports.foldIntoRange = _chunkWOMCXN2Wcjs.foldIntoRange; exports.formatBarPosition = _chunkS3QELJUEcjs.formatBarPosition; exports.formatKeyName = _chunkS3QELJUEcjs.formatKeyName; exports.formatNote = _chunkS3QELJUEcjs.formatNote; exports.formatTimeSignature = _chunkS3QELJUEcjs.formatTimeSignature; exports.frequencyOf = _chunk3FDBMIPRcjs.frequencyOf; exports.includeAt = _chunkWOMCXN2Wcjs.includeAt; exports.instrumentRange = _chunkWOMCXN2Wcjs.instrumentRange; exports.intervalSemitones = _chunkS3QELJUEcjs.intervalSemitones; exports.isCompound = _chunkS3QELJUEcjs.isCompound; exports.isConsonantInterval = _chunkS3QELJUEcjs.isConsonantInterval; exports.isLibcantusError = _chunkS3QELJUEcjs.isLibcantusError; exports.isPerfectInterval = _chunkS3QELJUEcjs.isPerfectInterval; exports.isStrongBeat = _chunkS3QELJUEcjs.isStrongBeat; exports.justDeviationCents = _chunk3FDBMIPRcjs.justDeviationCents; exports.meterAt = _chunkS3QELJUEcjs.meterAt; exports.metricWeight = _chunkS3QELJUEcjs.metricWeight; exports.midiToNote = _chunkS3QELJUEcjs.midiToNote; exports.naturalPitchClassOf = _chunkS3QELJUEcjs.naturalPitchClassOf; exports.nearestStep = _chunk3FDBMIPRcjs.nearestStep; exports.noteToMidi = _chunkS3QELJUEcjs.noteToMidi; exports.noteToPitchClass = _chunkS3QELJUEcjs.noteToPitchClass; exports.parseInterval = _chunkS3QELJUEcjs.parseInterval; exports.parseKeyName = _chunkS3QELJUEcjs.parseKeyName; exports.parseNote = _chunkS3QELJUEcjs.parseNote; exports.parseTimeSignature = _chunkS3QELJUEcjs.parseTimeSignature; exports.pitchClassOf = _chunkS3QELJUEcjs.pitchClassOf; exports.playability = _chunkWOMCXN2Wcjs.playability; exports.pulseBeats = _chunkS3QELJUEcjs.pulseBeats; exports.pulsesPerBar = _chunkS3QELJUEcjs.pulsesPerBar; exports.ratioToCents = _chunk3FDBMIPRcjs.ratioToCents; exports.resolveAlgorithmVersion = _chunkWOMCXN2Wcjs.resolveAlgorithmVersion; exports.resolveMeters = _chunkS3QELJUEcjs.resolveMeters; exports.secondsToBeats = _chunk3FDBMIPRcjs.secondsToBeats; exports.soundingNotesOnly = _chunkS3QELJUEcjs.soundingNotesOnly; exports.spelledInterval = _chunkS3QELJUEcjs.spelledInterval; exports.stepOf = _chunk3FDBMIPRcjs.stepOf; exports.stepsOfCents = _chunk3FDBMIPRcjs.stepsOfCents; exports.tempoAt = _chunk3FDBMIPRcjs.tempoAt; exports.ticksToBeats = _chunk3FDBMIPRcjs.ticksToBeats; exports.toInstrumentProfile = _chunkWOMCXN2Wcjs.toInstrumentProfile; exports.toMeterData = _chunkS3QELJUEcjs.toMeterData; exports.toNoteData = _chunkS3QELJUEcjs.toNoteData; exports.toSpelledInterval = _chunkS3QELJUEcjs.toSpelledInterval; exports.toStringedProfile = _chunkWOMCXN2Wcjs.toStringedProfile; exports.transposeByInterval = _chunkS3QELJUEcjs.transposeByInterval; exports.transposeNote = _chunkS3QELJUEcjs.transposeNote; exports.tryParseInterval = _chunkS3QELJUEcjs.tryParseInterval; exports.tryParseKeyName = _chunkS3QELJUEcjs.tryParseKeyName; exports.tryParseNote = _chunkS3QELJUEcjs.tryParseNote; exports.tryParseTimeSignature = _chunkS3QELJUEcjs.tryParseTimeSignature; exports.tuplet = _chunkS3QELJUEcjs.tuplet;
|
|
232
232
|
//# sourceMappingURL=index.cjs.map
|
package/dist/core/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/libcantus/libcantus/dist/core/index.cjs"],"names":[],"mappings":"AAAA,0GAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B;AACE;AACF,yDAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,m3MAAC","file":"/home/runner/work/libcantus/libcantus/dist/core/index.cjs"}
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/libcantus/libcantus/ts/dist/core/index.cjs"],"names":[],"mappings":"AAAA,0GAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B;AACE;AACF,yDAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,m3MAAC","file":"/home/runner/work/libcantus/libcantus/ts/dist/core/index.cjs"}
|
package/dist/core/index.d.cts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export { D as DurationData, I as IndexedNoteEvent, J as JUST_RATIOS, N as NOTE_VALUES, a as NoteEventIndex, b as NoteEventIndexOptions, c as NotePlacement, d as NoteValue, O as OnsetTieBreak, P as PlayabilityIssue, e as PlayabilityIssueType, f as PlayabilityLayer, g as PlayabilityReport, S as SpelledDuration, T as TWELVE_TET, h as TempoEvent, i as TempoMap, j as TuningTable, k as Tuplet, l as beatsToDuration, m as beatsToSeconds, n as beatsToTicks, o as beatsToTiedDurations, p as centsBetweenFreq, q as centsFromNearestStep, r as centsOfSteps, s as centsToRatio, t as createNoteEventIndex, u as durationToBeats, v as durationToSeconds, w as edo, x as frequencyOf, y as justDeviationCents, z as nearestStep, A as playability, B as ratioToCents, C as secondsToBeats, E as stepOf, F as stepsOfCents, G as tempoAt, H as ticksToBeats } from '../index-
|
|
2
|
-
import { h as NoteEvent } from '../index-
|
|
3
|
-
export { A as ARTICULATIONS, a as Articulation, B as BudgetExceededError, I as IntervalData, b as IntervalLike, c as IntervalQualityLabel, d as InvalidInputError, K as KeyName, e as KeyScale, L as LibcantusError, f as LibcantusErrorCode, N as NoSolutionError, g as NoteData, i as NoteLike, j as NoteNameOptions, k as NoteNameSystem, P as ParseResult, S as SpelledInterval, l as detectNoteNameSystem, m as diatonicLetterOf, n as formatKeyName, o as formatNote, p as intervalSemitones, q as isLibcantusError, r as midiToNote, s as naturalPitchClassOf, t as noteToMidi, u as noteToPitchClass, v as parseInterval, w as parseKeyName, x as parseNote, y as pitchClassOf, z as spelledInterval, C as toNoteData, D as toSpelledInterval, E as transposeByInterval, F as transposeNote, G as tryParseInterval, H as tryParseKeyName, J as tryParseNote } from '../index-
|
|
4
|
-
import { f as StringedProfile } from '../positional-
|
|
5
|
-
export { I as InstrumentProfile, a as InstrumentProfileCommon, b as InstrumentProfileLike, L as LIMBS, c as Limb, P as PercussionProfile, d as PositionalRng, S as SeedPath, e as StringFingering, V as ValidatedPercussionProfile, g as ValidatedProfile, h as ValidatedStringedProfile, i as canSound, j as createPositionalRng, k as deriveSeed, l as fingeringsFor, m as foldIntoRange, n as includeAt, o as instrumentRange, t as toInstrumentProfile, p as toStringedProfile } from '../positional-
|
|
1
|
+
export { D as DurationData, I as IndexedNoteEvent, J as JUST_RATIOS, N as NOTE_VALUES, a as NoteEventIndex, b as NoteEventIndexOptions, c as NotePlacement, d as NoteValue, O as OnsetTieBreak, P as PlayabilityIssue, e as PlayabilityIssueType, f as PlayabilityLayer, g as PlayabilityReport, S as SpelledDuration, T as TWELVE_TET, h as TempoEvent, i as TempoMap, j as TuningTable, k as Tuplet, l as beatsToDuration, m as beatsToSeconds, n as beatsToTicks, o as beatsToTiedDurations, p as centsBetweenFreq, q as centsFromNearestStep, r as centsOfSteps, s as centsToRatio, t as createNoteEventIndex, u as durationToBeats, v as durationToSeconds, w as edo, x as frequencyOf, y as justDeviationCents, z as nearestStep, A as playability, B as ratioToCents, C as secondsToBeats, E as stepOf, F as stepsOfCents, G as tempoAt, H as ticksToBeats } from '../index-pQihL4z7.cjs';
|
|
2
|
+
import { h as NoteEvent } from '../index-C9MYbuKS.cjs';
|
|
3
|
+
export { A as ARTICULATIONS, a as Articulation, B as BudgetExceededError, I as IntervalData, b as IntervalLike, c as IntervalQualityLabel, d as InvalidInputError, K as KeyName, e as KeyScale, L as LibcantusError, f as LibcantusErrorCode, N as NoSolutionError, g as NoteData, i as NoteLike, j as NoteNameOptions, k as NoteNameSystem, P as ParseResult, S as SpelledInterval, l as detectNoteNameSystem, m as diatonicLetterOf, n as formatKeyName, o as formatNote, p as intervalSemitones, q as isLibcantusError, r as midiToNote, s as naturalPitchClassOf, t as noteToMidi, u as noteToPitchClass, v as parseInterval, w as parseKeyName, x as parseNote, y as pitchClassOf, z as spelledInterval, C as toNoteData, D as toSpelledInterval, E as transposeByInterval, F as transposeNote, G as tryParseInterval, H as tryParseKeyName, J as tryParseNote } from '../index-C9MYbuKS.cjs';
|
|
4
|
+
import { f as StringedProfile } from '../positional-CscpxtlE.cjs';
|
|
5
|
+
export { I as InstrumentProfile, a as InstrumentProfileCommon, b as InstrumentProfileLike, L as LIMBS, c as Limb, P as PercussionProfile, d as PositionalRng, S as SeedPath, e as StringFingering, V as ValidatedPercussionProfile, g as ValidatedProfile, h as ValidatedStringedProfile, i as canSound, j as createPositionalRng, k as deriveSeed, l as fingeringsFor, m as foldIntoRange, n as includeAt, o as instrumentRange, t as toInstrumentProfile, p as toStringedProfile } from '../positional-CscpxtlE.cjs';
|
|
6
6
|
export { C as ConsonanceClass, c as classifyInterval, i as isConsonantInterval, a as isPerfectInterval } from '../index-DInQqT8Q.cjs';
|
|
7
|
-
import { c as MeterMap, T as TimeSignature } from '../index-
|
|
8
|
-
export { B as BarPosition, M as MeterChange, a as MeterData, b as MeterLike, d as barIndexAt, e as barPositionToBeat, f as barPositionToPulse, g as barStartBeat, h as beatToBarPosition, i as beatsPerBar, j as beatsPerBarAt, k as formatBarPosition, l as formatTimeSignature, m as isCompound, n as isStrongBeat, o as meterAt, p as metricWeight, q as parseTimeSignature, r as pulseBeats, s as pulsesPerBar, t as resolveMeters, u as toMeterData, v as tryParseTimeSignature, w as tuplet } from '../index-
|
|
7
|
+
import { c as MeterMap, T as TimeSignature } from '../index-5VJgKz_Q.cjs';
|
|
8
|
+
export { B as BarPosition, M as MeterChange, a as MeterData, b as MeterLike, d as barIndexAt, e as barPositionToBeat, f as barPositionToPulse, g as barStartBeat, h as beatToBarPosition, i as beatsPerBar, j as beatsPerBarAt, k as formatBarPosition, l as formatTimeSignature, m as isCompound, n as isStrongBeat, o as meterAt, p as metricWeight, q as parseTimeSignature, r as pulseBeats, s as pulsesPerBar, t as resolveMeters, u as toMeterData, v as tryParseTimeSignature, w as tuplet } from '../index-5VJgKz_Q.cjs';
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* Electric bass in standard tuning: E1 A1 D2 G2 over a 24-fret neck.
|
|
@@ -286,4 +286,5 @@ type Rng = {
|
|
|
286
286
|
*/
|
|
287
287
|
declare function createRng(seed: number): Rng;
|
|
288
288
|
|
|
289
|
-
export { ALGORITHM_VERSION, BASS_4_STRING, BASS_5_STRING, DEFAULT_GENERATION_BUDGET, GUITAR_DROP_D, GUITAR_STANDARD, MIN_ALGORITHM_VERSION, MeterMap, NoteEvent,
|
|
289
|
+
export { ALGORITHM_VERSION, BASS_4_STRING, BASS_5_STRING, DEFAULT_GENERATION_BUDGET, GUITAR_DROP_D, GUITAR_STANDARD, MIN_ALGORITHM_VERSION, MeterMap, NoteEvent, StringedProfile, TimeSignature, assertDegree, assertFiniteNumber, assertFiniteSemitones, assertGenerationBudget, assertInteger, assertMeterMap, assertMidiPitch, assertNoteEvent, assertNoteEvents, assertOneOf, assertPositiveInt, assertRange, assertTimeSignature, clampToMidi, createRng, dropSilentNotes, resolveAlgorithmVersion, soundingNotesOnly };
|
|
290
|
+
export type { NoteEventAssertOptions, Rng };
|
package/dist/core/index.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export { D as DurationData, I as IndexedNoteEvent, J as JUST_RATIOS, N as NOTE_VALUES, a as NoteEventIndex, b as NoteEventIndexOptions, c as NotePlacement, d as NoteValue, O as OnsetTieBreak, P as PlayabilityIssue, e as PlayabilityIssueType, f as PlayabilityLayer, g as PlayabilityReport, S as SpelledDuration, T as TWELVE_TET, h as TempoEvent, i as TempoMap, j as TuningTable, k as Tuplet, l as beatsToDuration, m as beatsToSeconds, n as beatsToTicks, o as beatsToTiedDurations, p as centsBetweenFreq, q as centsFromNearestStep, r as centsOfSteps, s as centsToRatio, t as createNoteEventIndex, u as durationToBeats, v as durationToSeconds, w as edo, x as frequencyOf, y as justDeviationCents, z as nearestStep, A as playability, B as ratioToCents, C as secondsToBeats, E as stepOf, F as stepsOfCents, G as tempoAt, H as ticksToBeats } from '../index-
|
|
2
|
-
import { h as NoteEvent } from '../index-
|
|
3
|
-
export { A as ARTICULATIONS, a as Articulation, B as BudgetExceededError, I as IntervalData, b as IntervalLike, c as IntervalQualityLabel, d as InvalidInputError, K as KeyName, e as KeyScale, L as LibcantusError, f as LibcantusErrorCode, N as NoSolutionError, g as NoteData, i as NoteLike, j as NoteNameOptions, k as NoteNameSystem, P as ParseResult, S as SpelledInterval, l as detectNoteNameSystem, m as diatonicLetterOf, n as formatKeyName, o as formatNote, p as intervalSemitones, q as isLibcantusError, r as midiToNote, s as naturalPitchClassOf, t as noteToMidi, u as noteToPitchClass, v as parseInterval, w as parseKeyName, x as parseNote, y as pitchClassOf, z as spelledInterval, C as toNoteData, D as toSpelledInterval, E as transposeByInterval, F as transposeNote, G as tryParseInterval, H as tryParseKeyName, J as tryParseNote } from '../index-
|
|
4
|
-
import { f as StringedProfile } from '../positional-
|
|
5
|
-
export { I as InstrumentProfile, a as InstrumentProfileCommon, b as InstrumentProfileLike, L as LIMBS, c as Limb, P as PercussionProfile, d as PositionalRng, S as SeedPath, e as StringFingering, V as ValidatedPercussionProfile, g as ValidatedProfile, h as ValidatedStringedProfile, i as canSound, j as createPositionalRng, k as deriveSeed, l as fingeringsFor, m as foldIntoRange, n as includeAt, o as instrumentRange, t as toInstrumentProfile, p as toStringedProfile } from '../positional-
|
|
1
|
+
export { D as DurationData, I as IndexedNoteEvent, J as JUST_RATIOS, N as NOTE_VALUES, a as NoteEventIndex, b as NoteEventIndexOptions, c as NotePlacement, d as NoteValue, O as OnsetTieBreak, P as PlayabilityIssue, e as PlayabilityIssueType, f as PlayabilityLayer, g as PlayabilityReport, S as SpelledDuration, T as TWELVE_TET, h as TempoEvent, i as TempoMap, j as TuningTable, k as Tuplet, l as beatsToDuration, m as beatsToSeconds, n as beatsToTicks, o as beatsToTiedDurations, p as centsBetweenFreq, q as centsFromNearestStep, r as centsOfSteps, s as centsToRatio, t as createNoteEventIndex, u as durationToBeats, v as durationToSeconds, w as edo, x as frequencyOf, y as justDeviationCents, z as nearestStep, A as playability, B as ratioToCents, C as secondsToBeats, E as stepOf, F as stepsOfCents, G as tempoAt, H as ticksToBeats } from '../index-Dg-SAfhz.js';
|
|
2
|
+
import { h as NoteEvent } from '../index-C9MYbuKS.js';
|
|
3
|
+
export { A as ARTICULATIONS, a as Articulation, B as BudgetExceededError, I as IntervalData, b as IntervalLike, c as IntervalQualityLabel, d as InvalidInputError, K as KeyName, e as KeyScale, L as LibcantusError, f as LibcantusErrorCode, N as NoSolutionError, g as NoteData, i as NoteLike, j as NoteNameOptions, k as NoteNameSystem, P as ParseResult, S as SpelledInterval, l as detectNoteNameSystem, m as diatonicLetterOf, n as formatKeyName, o as formatNote, p as intervalSemitones, q as isLibcantusError, r as midiToNote, s as naturalPitchClassOf, t as noteToMidi, u as noteToPitchClass, v as parseInterval, w as parseKeyName, x as parseNote, y as pitchClassOf, z as spelledInterval, C as toNoteData, D as toSpelledInterval, E as transposeByInterval, F as transposeNote, G as tryParseInterval, H as tryParseKeyName, J as tryParseNote } from '../index-C9MYbuKS.js';
|
|
4
|
+
import { f as StringedProfile } from '../positional-DLnfUgqG.js';
|
|
5
|
+
export { I as InstrumentProfile, a as InstrumentProfileCommon, b as InstrumentProfileLike, L as LIMBS, c as Limb, P as PercussionProfile, d as PositionalRng, S as SeedPath, e as StringFingering, V as ValidatedPercussionProfile, g as ValidatedProfile, h as ValidatedStringedProfile, i as canSound, j as createPositionalRng, k as deriveSeed, l as fingeringsFor, m as foldIntoRange, n as includeAt, o as instrumentRange, t as toInstrumentProfile, p as toStringedProfile } from '../positional-DLnfUgqG.js';
|
|
6
6
|
export { C as ConsonanceClass, c as classifyInterval, i as isConsonantInterval, a as isPerfectInterval } from '../index-DInQqT8Q.js';
|
|
7
|
-
import { c as MeterMap, T as TimeSignature } from '../index-
|
|
8
|
-
export { B as BarPosition, M as MeterChange, a as MeterData, b as MeterLike, d as barIndexAt, e as barPositionToBeat, f as barPositionToPulse, g as barStartBeat, h as beatToBarPosition, i as beatsPerBar, j as beatsPerBarAt, k as formatBarPosition, l as formatTimeSignature, m as isCompound, n as isStrongBeat, o as meterAt, p as metricWeight, q as parseTimeSignature, r as pulseBeats, s as pulsesPerBar, t as resolveMeters, u as toMeterData, v as tryParseTimeSignature, w as tuplet } from '../index-
|
|
7
|
+
import { c as MeterMap, T as TimeSignature } from '../index-Bf0Sv8a9.js';
|
|
8
|
+
export { B as BarPosition, M as MeterChange, a as MeterData, b as MeterLike, d as barIndexAt, e as barPositionToBeat, f as barPositionToPulse, g as barStartBeat, h as beatToBarPosition, i as beatsPerBar, j as beatsPerBarAt, k as formatBarPosition, l as formatTimeSignature, m as isCompound, n as isStrongBeat, o as meterAt, p as metricWeight, q as parseTimeSignature, r as pulseBeats, s as pulsesPerBar, t as resolveMeters, u as toMeterData, v as tryParseTimeSignature, w as tuplet } from '../index-Bf0Sv8a9.js';
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* Electric bass in standard tuning: E1 A1 D2 G2 over a 24-fret neck.
|
|
@@ -286,4 +286,5 @@ type Rng = {
|
|
|
286
286
|
*/
|
|
287
287
|
declare function createRng(seed: number): Rng;
|
|
288
288
|
|
|
289
|
-
export { ALGORITHM_VERSION, BASS_4_STRING, BASS_5_STRING, DEFAULT_GENERATION_BUDGET, GUITAR_DROP_D, GUITAR_STANDARD, MIN_ALGORITHM_VERSION, MeterMap, NoteEvent,
|
|
289
|
+
export { ALGORITHM_VERSION, BASS_4_STRING, BASS_5_STRING, DEFAULT_GENERATION_BUDGET, GUITAR_DROP_D, GUITAR_STANDARD, MIN_ALGORITHM_VERSION, MeterMap, NoteEvent, StringedProfile, TimeSignature, assertDegree, assertFiniteNumber, assertFiniteSemitones, assertGenerationBudget, assertInteger, assertMeterMap, assertMidiPitch, assertNoteEvent, assertNoteEvents, assertOneOf, assertPositiveInt, assertRange, assertTimeSignature, clampToMidi, createRng, dropSilentNotes, resolveAlgorithmVersion, soundingNotesOnly };
|
|
290
|
+
export type { NoteEventAssertOptions, Rng };
|
package/dist/core/index.js
CHANGED
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
stepsOfCents,
|
|
24
24
|
tempoAt,
|
|
25
25
|
ticksToBeats
|
|
26
|
-
} from "../chunk-
|
|
26
|
+
} from "../chunk-7NQ6AL3H.js";
|
|
27
27
|
import {
|
|
28
28
|
ALGORITHM_VERSION,
|
|
29
29
|
BASS_4_STRING,
|
|
@@ -44,10 +44,10 @@ import {
|
|
|
44
44
|
resolveAlgorithmVersion,
|
|
45
45
|
toInstrumentProfile,
|
|
46
46
|
toStringedProfile
|
|
47
|
-
} from "../chunk-
|
|
47
|
+
} from "../chunk-VL5NXVCN.js";
|
|
48
48
|
import {
|
|
49
49
|
createNoteEventIndex
|
|
50
|
-
} from "../chunk-
|
|
50
|
+
} from "../chunk-TXFWSU5D.js";
|
|
51
51
|
import {
|
|
52
52
|
ARTICULATIONS,
|
|
53
53
|
BudgetExceededError,
|
|
@@ -116,7 +116,7 @@ import {
|
|
|
116
116
|
tryParseNote,
|
|
117
117
|
tryParseTimeSignature,
|
|
118
118
|
tuplet
|
|
119
|
-
} from "../chunk-
|
|
119
|
+
} from "../chunk-YYVXRV3V.js";
|
|
120
120
|
export {
|
|
121
121
|
ALGORITHM_VERSION,
|
|
122
122
|
ARTICULATIONS,
|
package/dist/generate/index.cjs
CHANGED
|
@@ -66,19 +66,19 @@
|
|
|
66
66
|
|
|
67
67
|
|
|
68
68
|
|
|
69
|
-
var _chunkJ7FHVZIIcjs = require('../chunk-J7FHVZII.cjs');
|
|
70
|
-
require('../chunk-SGLEQVJH.cjs');
|
|
71
|
-
require('../chunk-CGBADIO5.cjs');
|
|
72
|
-
require('../chunk-35NBV2FT.cjs');
|
|
73
|
-
require('../chunk-PM4XJE2Y.cjs');
|
|
74
|
-
require('../chunk-3R3QVKY5.cjs');
|
|
75
|
-
require('../chunk-S5BKZZGM.cjs');
|
|
76
69
|
|
|
77
70
|
|
|
78
71
|
|
|
79
72
|
|
|
80
73
|
|
|
81
74
|
|
|
75
|
+
var _chunk6TTBEON3cjs = require('../chunk-6TTBEON3.cjs');
|
|
76
|
+
require('../chunk-LQZQDBCD.cjs');
|
|
77
|
+
require('../chunk-WOMCXN2W.cjs');
|
|
78
|
+
require('../chunk-KMYGRFZ6.cjs');
|
|
79
|
+
require('../chunk-P3CPXAJ5.cjs');
|
|
80
|
+
require('../chunk-YDGMWH43.cjs');
|
|
81
|
+
require('../chunk-S3QELJUE.cjs');
|
|
82
82
|
|
|
83
83
|
|
|
84
84
|
|
|
@@ -141,5 +141,17 @@ require('../chunk-S5BKZZGM.cjs');
|
|
|
141
141
|
|
|
142
142
|
|
|
143
143
|
|
|
144
|
-
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
exports.BAR_STEPS = _chunk6TTBEON3cjs.BAR_STEPS; exports.BASS_LICKS = _chunk6TTBEON3cjs.BASS_LICKS; exports.BASS_STYLES = _chunk6TTBEON3cjs.BASS_STYLES; exports.BEAT_STEPS = _chunk6TTBEON3cjs.BEAT_STEPS; exports.BORROWED_DEGREES = _chunk6TTBEON3cjs.BORROWED_DEGREES; exports.COMPOSITION_PLAN_VERSION = _chunk6TTBEON3cjs.COMPOSITION_PLAN_VERSION; exports.DRUM_KIT = _chunk6TTBEON3cjs.DRUM_KIT; exports.DRUM_NOTES = _chunk6TTBEON3cjs.DRUM_NOTES; exports.DRUM_PATTERNS = _chunk6TTBEON3cjs.DRUM_PATTERNS; exports.FILL_ARCHETYPES = _chunk6TTBEON3cjs.FILL_ARCHETYPES; exports.FILL_TYPES = _chunk6TTBEON3cjs.FILL_TYPES; exports.GENRES = _chunk6TTBEON3cjs.GENRES; exports.KICK_FIGURES = _chunk6TTBEON3cjs.KICK_FIGURES; exports.KICK_STEPS = _chunk6TTBEON3cjs.KICK_STEPS; exports.MAX_DIFFICULTY = _chunk6TTBEON3cjs.MAX_DIFFICULTY; exports.MIN_DIFFICULTY = _chunk6TTBEON3cjs.MIN_DIFFICULTY; exports.ORNAMENT_STYLES = _chunk6TTBEON3cjs.ORNAMENT_STYLES; exports.PROVENANCE_BASES = _chunk6TTBEON3cjs.PROVENANCE_BASES; exports.STEP_BEATS = _chunk6TTBEON3cjs.STEP_BEATS; exports.applyGrooveTemplate = _chunk6TTBEON3cjs.applyGrooveTemplate; exports.assertCompositionPlan = _chunk6TTBEON3cjs.assertCompositionPlan; exports.assertVocabulary = _chunk6TTBEON3cjs.assertVocabulary; exports.classifyMelodyTones = _chunk6TTBEON3cjs.classifyMelodyTones; exports.deform = _chunk6TTBEON3cjs.deform; exports.deriveCompositionPlan = _chunk6TTBEON3cjs.deriveCompositionPlan; exports.developMotif = _chunk6TTBEON3cjs.developMotif; exports.double = _chunk6TTBEON3cjs.double; exports.doubleTime = _chunk6TTBEON3cjs.doubleTime; exports.drumVoiceOf = _chunk6TTBEON3cjs.drumVoiceOf; exports.evaluateComposition = _chunk6TTBEON3cjs.evaluateComposition; exports.extractGrooveTemplate = _chunk6TTBEON3cjs.extractGrooveTemplate; exports.fitsQuery = _chunk6TTBEON3cjs.fitsQuery; exports.generateBassLine = _chunk6TTBEON3cjs.generateBassLine; exports.generateCounterMelody = _chunk6TTBEON3cjs.generateCounterMelody; exports.generateDrums = _chunk6TTBEON3cjs.generateDrums; exports.generateMelody = _chunk6TTBEON3cjs.generateMelody; exports.generateMotif = _chunk6TTBEON3cjs.generateMotif; exports.generateProgression = _chunk6TTBEON3cjs.generateProgression; exports.generateRhythm = _chunk6TTBEON3cjs.generateRhythm; exports.gridMetricWeight = _chunk6TTBEON3cjs.gridMetricWeight; exports.halfTime = _chunk6TTBEON3cjs.halfTime; exports.harmonizeMelody = _chunk6TTBEON3cjs.harmonizeMelody; exports.humanize = _chunk6TTBEON3cjs.humanize; exports.imitate = _chunk6TTBEON3cjs.imitate; exports.isDrumPattern = _chunk6TTBEON3cjs.isDrumPattern; exports.isFillArchetype = _chunk6TTBEON3cjs.isFillArchetype; exports.isLickMaterial = _chunk6TTBEON3cjs.isLickMaterial; exports.mergeVocabulary = _chunk6TTBEON3cjs.mergeVocabulary; exports.modalInterchangePalette = _chunk6TTBEON3cjs.modalInterchangePalette; exports.motifToNoteEvents = _chunk6TTBEON3cjs.motifToNoteEvents; exports.negativeHarmonyMirror = _chunk6TTBEON3cjs.negativeHarmonyMirror; exports.onsetWeightCurve = _chunk6TTBEON3cjs.onsetWeightCurve; exports.ornament = _chunk6TTBEON3cjs.ornament; exports.ornamentBy = _chunk6TTBEON3cjs.ornamentBy; exports.pickProgressionPreset = _chunk6TTBEON3cjs.pickProgressionPreset; exports.pickVocabulary = _chunk6TTBEON3cjs.pickVocabulary; exports.placeDrumPattern = _chunk6TTBEON3cjs.placeDrumPattern; exports.placeLicks = _chunk6TTBEON3cjs.placeLicks; exports.planTimeline = _chunk6TTBEON3cjs.planTimeline; exports.progressions = _chunk6TTBEON3cjs.progressions; exports.progressionsByStyle = _chunk6TTBEON3cjs.progressionsByStyle; exports.resolveContext = _chunk6TTBEON3cjs.resolveContext; exports.rhythmDensity = _chunk6TTBEON3cjs.rhythmDensity; exports.rhythmToNoteEvents = _chunk6TTBEON3cjs.rhythmToNoteEvents; exports.selectVocabulary = _chunk6TTBEON3cjs.selectVocabulary; exports.substituteChord = _chunk6TTBEON3cjs.substituteChord; exports.sustainsShift = _chunk6TTBEON3cjs.sustainsShift; exports.sustainsStrokes = _chunk6TTBEON3cjs.sustainsStrokes; exports.syncopate = _chunk6TTBEON3cjs.syncopate; exports.thin = _chunk6TTBEON3cjs.thin; exports.transformMotif = _chunk6TTBEON3cjs.transformMotif; exports.vocabularyOfKind = _chunk6TTBEON3cjs.vocabularyOfKind; exports.withinCeiling = _chunk6TTBEON3cjs.withinCeiling;
|
|
145
157
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/libcantus/libcantus/dist/generate/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/libcantus/libcantus/ts/dist/generate/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,4qIAAC","file":"/home/runner/work/libcantus/libcantus/ts/dist/generate/index.cjs"}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export {
|
|
3
|
-
import {
|
|
4
|
-
export {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
export {
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
import { b as MeterLike } from '../index-5VJgKz_Q.cjs';
|
|
2
|
+
export { M as MeterChange, c as MeterMap, T as TimeSignature } from '../index-5VJgKz_Q.cjs';
|
|
3
|
+
import { h as NoteEvent, a as Articulation, b as IntervalLike } from '../index-C9MYbuKS.cjs';
|
|
4
|
+
export { I as IntervalData, c as IntervalQualityLabel, e as KeyScale, g as NoteData, S as SpelledInterval } from '../index-C9MYbuKS.cjs';
|
|
5
|
+
import { e as ChordSegment, c as ChordLike, K as KeyLike } from '../coerce-Ytt2Eiq9.cjs';
|
|
6
|
+
export { b as ChordData, d as ChordQuality, g as ChordSpan, i as ChordToneRole, k as KeyVariant, l as PitchSpelling, m as ProfileWeights, n as ResolvedKey, r as SpelledKeyLike, s as SpelledKeyScale } from '../coerce-Ytt2Eiq9.cjs';
|
|
7
|
+
import { h as ChordTimeline } from '../types-_ofpb2be.cjs';
|
|
8
|
+
export { B as BarPositionProfile, b as BorrowedSource, e as CadenceType, F as FormSection, o as HarmonicFunction, v as MelodicContourShape, y as MotifGraph, z as MotifGraphEdge, G as MotifGraphNode, P as MotifRelationSummary, X as ReductionLevel, Y as ReferenceCadence, Z as ReferenceChord, _ as ReferenceForm, $ as ReferenceHarmony, a0 as ReferenceKeyRegion, a1 as ReferenceMelody, a2 as ReferenceMotif, a3 as ReferencePhrase, a4 as ReferencePhraseMelody, a5 as ReferenceProfile, a7 as RhythmAnalysis } from '../types-_ofpb2be.cjs';
|
|
9
|
+
import { f as StringedProfile, P as PercussionProfile, c as Limb } from '../positional-CscpxtlE.cjs';
|
|
10
|
+
export { I as InstrumentProfile, a as InstrumentProfileCommon, d as PositionalRng, S as SeedPath } from '../positional-CscpxtlE.cjs';
|
|
11
|
+
export { H as HarmonyRole } from '../index-BkT21EMv.cjs';
|
|
12
|
+
import { x as Genre, w as GenerationContextInput, ah as Vocabulary, y as GridEvent, r as DrumStyle, ac as Section, s as DrumVoice, z as GrooveFeel, p as DrumHit, I as HarmonizeOptions, K as HarmonizeResult, j as CompositionPlan } from '../index-DVInzCDS.cjs';
|
|
13
|
+
export { B as BAR_STEPS, a as BASS_STYLES, b as BEAT_STEPS, c as BORROWED_DEGREES, d as BassLineOptions, e as BassSegment, f as BassStyle, g as BorrowedChord, C as COMPOSITION_PLAN_VERSION, h as Complexity, i as CompositionEvaluation, k as CompositionPlanOptions, l as CompositionViolation, m as CounterMelodyOptions, D as DRUM_NOTES, n as DeformOptions, o as Draw, q as DrumRole, t as DrumsOptions, E as EuclideanKick, u as EvaluateCompositionOptions, G as GENRES, v as GenerationContext, A as GrooveSlot, F as GrooveStyle, H as GrooveTemplate, J as HarmonizePlacement, L as HumanizeOptions, M as MelodyNote, N as MelodyOptions, O as MotifCell, P as MotifContour, Q as MotifNote, R as MotifOptions, S as MotifTransform, T as ORNAMENT_STYLES, U as OrnamentOptions, V as OrnamentStyle, W as PROVENANCE_BASES, X as PlannedChord, Y as PlannedMotif, Z as PlannedPhrase, _ as PlannedRhythm, $ as PlannedSection, a0 as PreserveWeights, a1 as ProgFunction, a2 as ProgStyle, a3 as ProgressionDegree, a4 as ProgressionOptions, a5 as ProgressionPreset, a6 as Provenance, a7 as ProvenanceBasis, a8 as ResolvedContext, a9 as RhythmEvent, aa as RhythmOptions, ab as STEP_BEATS, ad as SubstituteOptions, ae as Substitution, af as SubstitutionType, ag as SyncopateOptions, ai as VocabularyQuery, aj as applyGrooveTemplate, ak as assertVocabulary, al as deform, am as deriveCompositionPlan, an as developMotif, ao as double, ap as doubleTime, aq as drumVoiceOf, ar as evaluateComposition, as as extractGrooveTemplate, at as fitsQuery, au as generateBassLine, av as generateCounterMelody, aw as generateDrums, ax as generateMelody, ay as generateMotif, az as generateProgression, aA as generateRhythm, aB as gridMetricWeight, aC as halfTime, aD as humanize, aE as mergeVocabulary, aF as modalInterchangePalette, aG as motifToNoteEvents, aH as negativeHarmonyMirror, aI as onsetWeightCurve, aJ as ornament, aK as ornamentBy, aL as pickProgressionPreset, aM as pickVocabulary, aN as progressions, aO as progressionsByStyle, aP as resolveContext, aQ as rhythmDensity, aR as rhythmToNoteEvents, aS as selectVocabulary, aT as substituteChord, aU as syncopate, aV as thin, aW as transformMotif, aX as vocabularyOfKind, aY as withinCeiling } from '../index-DVInzCDS.cjs';
|
|
13
14
|
|
|
14
15
|
/**
|
|
15
16
|
* The playing-difficulty ceiling, as the generators apply it.
|
|
@@ -293,7 +294,8 @@ type ImitationOptions = {
|
|
|
293
294
|
* `interval`: literally for a real answer, by scale degree for a tonal one, and
|
|
294
295
|
* upside down first when `invert` is set. Inversion mirrors about the first note
|
|
295
296
|
* of the copied span, so the answer starts where the transposition puts that
|
|
296
|
-
* note either way. In a tonal answer a pitch
|
|
297
|
+
* note either way, whether or not it is in the key. In a tonal answer a pitch
|
|
298
|
+
* outside the key keeps its distance
|
|
297
299
|
* from the scale tone below it, and inversion mirrors that distance too — a
|
|
298
300
|
* chromatic passing note stays a chromatic passing note, on the other side.
|
|
299
301
|
* Where a mirrored chromatic note falls into a diatonic semitone the key leaves
|
|
@@ -332,6 +334,8 @@ declare function imitate(lead: readonly NoteEvent[], opts: ImitationOptions): No
|
|
|
332
334
|
declare const FILL_TYPES: readonly ["snareRoll", "tomDescend", "tomAscend", "snareTomCombo", "simpleCrash", "linearFill", "ghostToAccent", "bdSnareAlternate", "hiHatChoke", "tomShuffle", "breakdownFill", "flamsAndDrags", "halfTimeFill"];
|
|
333
335
|
/** The thirteen fill archetypes for section transitions. */
|
|
334
336
|
type FillType = (typeof FILL_TYPES)[number];
|
|
337
|
+
/** The bases a fill stroke's velocity is read against, in declaration order. */
|
|
338
|
+
declare const FILL_VELOCITY_BASES: readonly ["fill", "accent"];
|
|
335
339
|
/**
|
|
336
340
|
* How loud one stroke of a fill is.
|
|
337
341
|
*
|
|
@@ -342,7 +346,7 @@ type FillType = (typeof FILL_TYPES)[number];
|
|
|
342
346
|
* arithmetic at every beat line falls back in the middle of itself.
|
|
343
347
|
*/
|
|
344
348
|
type FillVelocity = {
|
|
345
|
-
base:
|
|
349
|
+
base: (typeof FILL_VELOCITY_BASES)[number];
|
|
346
350
|
/** Factor on the base, for a crescendo or a ghosted stroke. */
|
|
347
351
|
scale?: number;
|
|
348
352
|
/** Fixed offset in MIDI velocity, for a stroke a little above or below. */
|
|
@@ -651,7 +655,11 @@ type ClassifiedMelodyTone = {
|
|
|
651
655
|
* predecessor and successor has no figure to belong to and stays structural, so
|
|
652
656
|
* the first and last notes of a phrase are always structural.
|
|
653
657
|
*
|
|
654
|
-
*
|
|
658
|
+
* The notes are read in onset order, ties by pitch, whatever order they are
|
|
659
|
+
* listed in. A note of zero length sounds nothing: it is structural and is no
|
|
660
|
+
* other note's neighbour.
|
|
661
|
+
*
|
|
662
|
+
* @param melody The melody, in any order.
|
|
655
663
|
* @param ts Time signature used to weight metric accents.
|
|
656
664
|
* @returns One classification per input note, in input order.
|
|
657
665
|
* @example
|
|
@@ -687,7 +695,9 @@ declare function classifyMelodyTones(melody: readonly NoteEvent[], ts: MeterLike
|
|
|
687
695
|
* the grid.
|
|
688
696
|
*
|
|
689
697
|
* With `placement.transposeSearch` the melody is moved into the key it is
|
|
690
|
-
* harmonized in, and `transposeSemitones` reports how far
|
|
698
|
+
* harmonized in, and `transposeSemitones` reports how far: the shifts that
|
|
699
|
+
* leave the fewest beats of the melody outside the key are kept, and the
|
|
700
|
+
* harmonization cost and the register choose among them; with
|
|
691
701
|
* `placement.octaveSearch` it is moved by octaves into a comfortable register,
|
|
692
702
|
* which leaves the key and the chords untouched. Both may be set, and the
|
|
693
703
|
* reported shift is their sum.
|
|
@@ -717,4 +727,82 @@ declare function classifyMelodyTones(melody: readonly NoteEvent[], ts: MeterLike
|
|
|
717
727
|
*/
|
|
718
728
|
declare function harmonizeMelody(opts: HarmonizeOptions): HarmonizeResult;
|
|
719
729
|
|
|
720
|
-
|
|
730
|
+
/**
|
|
731
|
+
* Reading a {@link CompositionPlan}'s harmony as a chord timeline.
|
|
732
|
+
*
|
|
733
|
+
* Kept apart from the plan types so the public reader can validate its plan
|
|
734
|
+
* without the types module importing the validator that imports it.
|
|
735
|
+
*/
|
|
736
|
+
|
|
737
|
+
/**
|
|
738
|
+
* Read a plan's harmony as a chord timeline.
|
|
739
|
+
*
|
|
740
|
+
* The one way a generator or an evaluator reads chords out of a plan: each
|
|
741
|
+
* entry in `plan.harmony` is resolved against its key and placed at its own
|
|
742
|
+
* beat, so the timeline this returns always agrees with the plan it was built
|
|
743
|
+
* from.
|
|
744
|
+
*
|
|
745
|
+
* @param plan The plan to read harmony from.
|
|
746
|
+
* @returns A chord timeline spanning `plan.span`.
|
|
747
|
+
* @throws {InvalidInputError} If the plan is not a valid composition plan.
|
|
748
|
+
* @example
|
|
749
|
+
* ```ts
|
|
750
|
+
* import { planTimeline, resolveKey } from '@libraz/libcantus';
|
|
751
|
+
* const plan = {
|
|
752
|
+
* planVersion: 1, seed: 0, algorithmVersion: 1,
|
|
753
|
+
* keys: [resolveKey('C major')], meters: [{ startBeat: 0, ts: { numerator: 4, denominator: 4 } }],
|
|
754
|
+
* span: { startBeat: 0, endBeat: 4, bars: 1 }, sections: [], phrases: [],
|
|
755
|
+
* harmony: [{ startBeat: 0, endBeat: 4, key: 0, roman: 'I' }], motifs: [],
|
|
756
|
+
* rhythm: { onsetLevels: [1, 0, 0, 0, 0, 0], interOnsetShares: new Array(17).fill(0).fill(1, 8, 9), syncopation: 0 },
|
|
757
|
+
* };
|
|
758
|
+
* planTimeline(plan).at(0); // the I chord in C major
|
|
759
|
+
* ```
|
|
760
|
+
* @category Composition
|
|
761
|
+
*/
|
|
762
|
+
declare function planTimeline(plan: CompositionPlan): ChordTimeline;
|
|
763
|
+
|
|
764
|
+
/**
|
|
765
|
+
* Boundary validation for {@link CompositionPlan}: a caller can hand this a
|
|
766
|
+
* value restored from JSON, a config file, or a plugin host, and every field
|
|
767
|
+
* is checked before a generator or evaluator reads it. A violation names the
|
|
768
|
+
* path to the offending field, so a malformed document is diagnosed at the
|
|
769
|
+
* field that is wrong rather than wherever the first bad read happens to land.
|
|
770
|
+
*/
|
|
771
|
+
|
|
772
|
+
/**
|
|
773
|
+
* Reject a value that is not a {@link CompositionPlan}.
|
|
774
|
+
*
|
|
775
|
+
* A plan is the shape a caller's stored JSON, a config file, or a plugin host
|
|
776
|
+
* most plausibly hands back malformed: a missing field, a distribution that no
|
|
777
|
+
* longer sums to 1, an index a later edit left dangling, a numeral no reader
|
|
778
|
+
* can parse, a derivation that points at itself or at a later motif. Every
|
|
779
|
+
* field is checked before a generator or evaluator reads it, and a violation
|
|
780
|
+
* names the path to the field that is wrong.
|
|
781
|
+
*
|
|
782
|
+
* @param value The value to check.
|
|
783
|
+
* @param name What the value is, for the error message.
|
|
784
|
+
* @returns The same plan.
|
|
785
|
+
* @throws {InvalidInputError} If the value is not a valid composition plan.
|
|
786
|
+
* @example
|
|
787
|
+
* ```ts
|
|
788
|
+
* import { assertCompositionPlan } from '@libraz/libcantus';
|
|
789
|
+
* import { resolveKey } from '@libraz/libcantus';
|
|
790
|
+
* const plan = {
|
|
791
|
+
* planVersion: 1, seed: 0, algorithmVersion: 1,
|
|
792
|
+
* keys: [resolveKey('C major')],
|
|
793
|
+
* meters: [{ startBeat: 0, ts: { numerator: 4, denominator: 4 } }],
|
|
794
|
+
* span: { startBeat: 0, endBeat: 4, bars: 1 },
|
|
795
|
+
* sections: [{ label: 'A', startBeat: 0, endBeat: 4 }],
|
|
796
|
+
* phrases: [],
|
|
797
|
+
* harmony: [{ startBeat: 0, endBeat: 4, key: 0, roman: 'I' }],
|
|
798
|
+
* motifs: [],
|
|
799
|
+
* rhythm: { onsetLevels: [1, 0, 0, 0, 0, 0], interOnsetShares: new Array(17).fill(0).fill(1, 8, 9), syncopation: 0 },
|
|
800
|
+
* };
|
|
801
|
+
* assertCompositionPlan(plan); // the plan, unchanged
|
|
802
|
+
* ```
|
|
803
|
+
* @category Composition
|
|
804
|
+
*/
|
|
805
|
+
declare function assertCompositionPlan(value: unknown, name?: string): CompositionPlan;
|
|
806
|
+
|
|
807
|
+
export { Articulation, BASS_LICKS, ChordLike, ChordSegment, ChordTimeline, CompositionPlan, DRUM_KIT, DRUM_PATTERNS, DrumHit, DrumStyle, DrumVoice, FILL_ARCHETYPES, FILL_TYPES, GenerationContextInput, Genre, GridEvent, GrooveFeel, HarmonizeOptions, HarmonizeResult, IntervalLike, KICK_FIGURES, KICK_STEPS, KeyLike, Limb, MAX_DIFFICULTY, MIN_DIFFICULTY, MeterLike, NoteEvent, PercussionProfile, Section, StringedProfile, Vocabulary, assertCompositionPlan, classifyMelodyTones, harmonizeMelody, imitate, isDrumPattern, isFillArchetype, isLickMaterial, placeDrumPattern, placeLicks, planTimeline, sustainsShift, sustainsStrokes };
|
|
808
|
+
export type { BassLick, ClassifiedMelodyTone, DrumPattern, DrumPatternOptions, DrumStroke, DrumVocabulary, FillArchetype, FillStroke, FillType, FillVelocity, ImitationAnswer, ImitationOptions, KickFigure, KickPattern, KickSlot, LickMaterial, LickNote, MelodyToneRole, PlaceLicksOptions };
|