@libraz/libcantus 1.1.0 → 1.2.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/dist/analyze/index.cjs +7 -7
- package/dist/analyze/index.d.cts +8 -8
- package/dist/analyze/index.d.ts +8 -8
- package/dist/analyze/index.js +6 -6
- package/dist/{chunk-TT6PKMPR.cjs → chunk-35NBV2FT.cjs} +16 -16
- package/dist/{chunk-TT6PKMPR.cjs.map → chunk-35NBV2FT.cjs.map} +1 -1
- package/dist/{chunk-YPB3A3EY.cjs → chunk-3R3QVKY5.cjs} +314 -285
- package/dist/chunk-3R3QVKY5.cjs.map +1 -0
- package/dist/{chunk-RVS4G4MR.cjs → chunk-76ZBTRG2.cjs} +198 -198
- package/dist/{chunk-RVS4G4MR.cjs.map → chunk-76ZBTRG2.cjs.map} +1 -1
- package/dist/{chunk-X6RJAHII.js → chunk-7KG3RTYS.js} +2 -2
- package/dist/{chunk-PQL7E5F6.js → chunk-AGOVW7U6.js} +1 -1
- package/dist/{chunk-PQL7E5F6.js.map → chunk-AGOVW7U6.js.map} +1 -1
- package/dist/{chunk-J772DL3B.cjs → chunk-CGBADIO5.cjs} +53 -53
- package/dist/{chunk-J772DL3B.cjs.map → chunk-CGBADIO5.cjs.map} +1 -1
- package/dist/{chunk-GDKE6RQW.cjs → chunk-DSMJRXCZ.cjs} +402 -401
- package/dist/chunk-DSMJRXCZ.cjs.map +1 -0
- package/dist/{chunk-DKICR7AN.js → chunk-FBH75DAY.js} +13 -12
- package/dist/{chunk-DKICR7AN.js.map → chunk-FBH75DAY.js.map} +1 -1
- package/dist/{chunk-VLE5R7PF.js → chunk-H2KJHBW4.js} +4 -4
- package/dist/{chunk-XVMJO3QF.cjs → chunk-HPVSH7SF.cjs} +237 -215
- package/dist/chunk-HPVSH7SF.cjs.map +1 -0
- package/dist/{chunk-QCXYKSZS.cjs → chunk-HWHGOVO6.cjs} +19 -19
- package/dist/{chunk-QCXYKSZS.cjs.map → chunk-HWHGOVO6.cjs.map} +1 -1
- package/dist/{chunk-HSY2VQXZ.js → chunk-HYJJ2V2I.js} +32 -10
- package/dist/chunk-HYJJ2V2I.js.map +1 -0
- package/dist/{chunk-5KW7DNCJ.cjs → chunk-J7FHVZII.cjs} +445 -445
- package/dist/{chunk-5KW7DNCJ.cjs.map → chunk-J7FHVZII.cjs.map} +1 -1
- package/dist/{chunk-AWEMD747.js → chunk-M5RYMAFI.js} +3 -3
- package/dist/{chunk-H66ARFU5.js → chunk-NB25P3EH.js} +3 -3
- package/dist/{chunk-57WB2EDF.js → chunk-NFJ4P6ZZ.js} +3 -3
- package/dist/{chunk-5JJ6EHEZ.cjs → chunk-NM7UAMC3.cjs} +62 -62
- package/dist/{chunk-5JJ6EHEZ.cjs.map → chunk-NM7UAMC3.cjs.map} +1 -1
- package/dist/{chunk-R7B5N2JK.cjs → chunk-PM4XJE2Y.cjs} +47 -47
- package/dist/{chunk-R7B5N2JK.cjs.map → chunk-PM4XJE2Y.cjs.map} +1 -1
- package/dist/{chunk-7GOKQJTQ.js → chunk-PUKJP2Z5.js} +2 -2
- package/dist/{chunk-R5VUXQMP.js → chunk-Q6LFSAKV.js} +7 -7
- package/dist/{chunk-FPBZFNCD.js → chunk-RFIBF2RR.js} +47 -18
- package/dist/{chunk-FPBZFNCD.js.map → chunk-RFIBF2RR.js.map} +1 -1
- package/dist/{chunk-XKSO2V5I.cjs → chunk-S5BKZZGM.cjs} +1 -1
- package/dist/{chunk-XKSO2V5I.cjs.map → chunk-S5BKZZGM.cjs.map} +1 -1
- package/dist/{chunk-Q6R3QAZD.cjs → chunk-SGLEQVJH.cjs} +332 -332
- package/dist/{chunk-Q6R3QAZD.cjs.map → chunk-SGLEQVJH.cjs.map} +1 -1
- package/dist/{chunk-HOHFYGKW.js → chunk-UMWZ4ZET.js} +2 -2
- package/dist/{coerce-wwdELNYS.d.ts → coerce-DP0vYu-x.d.ts} +77 -1
- package/dist/{coerce-CJlgULrQ.d.cts → coerce-DRERzdve.d.cts} +77 -1
- package/dist/core/index.cjs +5 -5
- package/dist/core/index.d.cts +2 -2
- package/dist/core/index.d.ts +2 -2
- package/dist/core/index.js +4 -4
- package/dist/generate/index.cjs +8 -8
- package/dist/generate/index.d.cts +8 -8
- package/dist/generate/index.d.ts +8 -8
- package/dist/generate/index.js +7 -7
- package/dist/{index-BaoKVVhE.d.cts → index-B9QLziDe.d.cts} +2 -2
- package/dist/{index-B3WCj_Hm.d.cts → index-BBWNZS0f.d.cts} +2 -2
- package/dist/{index-CnHQgqNh.d.ts → index-BHIUyjhZ.d.ts} +2 -2
- package/dist/{index-DpC-mDlV.d.ts → index-BJgP97N1.d.ts} +4 -4
- package/dist/{index-CBCP84rv.d.cts → index-BL5N2Oyz.d.cts} +1 -1
- package/dist/{index-D_hzxD8w.d.cts → index-BMweUlm5.d.cts} +3 -0
- package/dist/{index-BzLNkmA7.d.cts → index-BNSM-DSk.d.cts} +4 -4
- package/dist/{index-BUtIf2go.d.ts → index-BRMbPkHE.d.ts} +25 -5
- package/dist/{index-BpWOhkkE.d.ts → index-CJBBiAmU.d.ts} +2 -2
- package/dist/{index-Ci3xyows.d.ts → index-CL4b4gUQ.d.ts} +3 -0
- package/dist/{index-DTsKaPaC.d.cts → index-DGCNKAUr.d.cts} +25 -5
- package/dist/{index-CnIdP4EZ.d.ts → index-Dw2DP7vm.d.ts} +1 -1
- package/dist/index.cjs +13 -13
- package/dist/index.d.cts +8 -8
- package/dist/index.d.ts +8 -8
- package/dist/index.js +12 -12
- package/dist/{masks-O73Rhj5d.d.ts → masks-Cc7-MzzY.d.ts} +1 -1
- package/dist/{masks-C8TWLFIi.d.cts → masks-pADfTOiD.d.cts} +1 -1
- package/dist/model/index.cjs +12 -12
- package/dist/model/index.d.cts +16 -15
- package/dist/model/index.d.ts +16 -15
- package/dist/model/index.js +11 -11
- package/dist/theory/index.cjs +5 -5
- package/dist/theory/index.d.cts +7 -7
- package/dist/theory/index.d.ts +7 -7
- package/dist/theory/index.js +4 -4
- package/package.json +6 -5
- package/dist/chunk-GDKE6RQW.cjs.map +0 -1
- package/dist/chunk-HSY2VQXZ.js.map +0 -1
- package/dist/chunk-XVMJO3QF.cjs.map +0 -1
- package/dist/chunk-YPB3A3EY.cjs.map +0 -1
- /package/dist/{chunk-X6RJAHII.js.map → chunk-7KG3RTYS.js.map} +0 -0
- /package/dist/{chunk-VLE5R7PF.js.map → chunk-H2KJHBW4.js.map} +0 -0
- /package/dist/{chunk-AWEMD747.js.map → chunk-M5RYMAFI.js.map} +0 -0
- /package/dist/{chunk-H66ARFU5.js.map → chunk-NB25P3EH.js.map} +0 -0
- /package/dist/{chunk-57WB2EDF.js.map → chunk-NFJ4P6ZZ.js.map} +0 -0
- /package/dist/{chunk-7GOKQJTQ.js.map → chunk-PUKJP2Z5.js.map} +0 -0
- /package/dist/{chunk-R5VUXQMP.js.map → chunk-Q6LFSAKV.js.map} +0 -0
- /package/dist/{chunk-HOHFYGKW.js.map → chunk-UMWZ4ZET.js.map} +0 -0
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
assertPositiveInt,
|
|
10
10
|
assertRange,
|
|
11
11
|
describeRejected
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-AGOVW7U6.js";
|
|
13
13
|
|
|
14
14
|
// src/core/duration/index.ts
|
|
15
15
|
var NOTE_VALUES = Object.freeze([
|
|
@@ -454,4 +454,4 @@ export {
|
|
|
454
454
|
JUST_RATIOS,
|
|
455
455
|
justDeviationCents
|
|
456
456
|
};
|
|
457
|
-
//# sourceMappingURL=chunk-
|
|
457
|
+
//# sourceMappingURL=chunk-UMWZ4ZET.js.map
|
|
@@ -1084,25 +1084,73 @@ declare enum NoteSafety {
|
|
|
1084
1084
|
/**
|
|
1085
1085
|
* Bit flags describing why a pitch received its verdict.
|
|
1086
1086
|
*
|
|
1087
|
+
* Several flags can describe one pitch, so test the combination rather than a
|
|
1088
|
+
* flag alone: an avoid eleventh carries `Tension` as well as `AvoidNote`, and a
|
|
1089
|
+
* usable tension is `Tension` without `AvoidNote`. `ChordTone`, `MinorSecond`
|
|
1090
|
+
* and `MajorSeventh` are informational and never lower the verdict on their
|
|
1091
|
+
* own; every other flag sets at least a warning, and the profile decides how
|
|
1092
|
+
* far past that it goes.
|
|
1093
|
+
*
|
|
1087
1094
|
* @category Arrangement & Analysis
|
|
1088
1095
|
*/
|
|
1089
1096
|
declare enum ReasonFlag {
|
|
1097
|
+
/** The candidate is a member of the chord. Informational. */
|
|
1090
1098
|
ChordTone = 1,
|
|
1099
|
+
/**
|
|
1100
|
+
* The candidate is a ninth, eleventh or thirteenth above the root, not a chord
|
|
1101
|
+
* tone. Also set alongside `AvoidNote` when the avoid note is the eleventh.
|
|
1102
|
+
*/
|
|
1091
1103
|
Tension = 2,
|
|
1104
|
+
/**
|
|
1105
|
+
* The eleventh over a chord with a major third and no fourth, or the major
|
|
1106
|
+
* seventh over a dominant. Always set with `NeedsResolution`, and with
|
|
1107
|
+
* `Tension` for the eleventh.
|
|
1108
|
+
*/
|
|
1092
1109
|
AvoidNote = 4,
|
|
1110
|
+
/** The candidate is in the key but neither a chord tone nor a tension. */
|
|
1093
1111
|
ScaleTone = 8,
|
|
1112
|
+
/** The candidate is outside the key and not a chord tone. */
|
|
1094
1113
|
NonScale = 16,
|
|
1114
|
+
/** The candidate lies outside `vocalLow`..`vocalHigh`. */
|
|
1095
1115
|
OutOfRange = 32,
|
|
1116
|
+
/** The candidate, not itself a chord tone, is a tritone from one. */
|
|
1096
1117
|
Tritone = 64,
|
|
1118
|
+
/**
|
|
1119
|
+
* The move from `prevPitch` is a forbidden melodic leap as
|
|
1120
|
+
* {@link isForbiddenMelodicLeap} defines it: a tritone, either seventh, or
|
|
1121
|
+
* anything wider than an octave. An octave itself is not. The profile sets
|
|
1122
|
+
* the severity, not the set of leaps. Set with `MelodicTritone` on a tritone
|
|
1123
|
+
* and with `MajorSeventh` on a major seventh.
|
|
1124
|
+
*/
|
|
1097
1125
|
LargeLeap = 128,
|
|
1126
|
+
/** The move from `prevPitch` reduces to a semitone, the minor ninth included. Informational. */
|
|
1098
1127
|
MinorSecond = 256,
|
|
1128
|
+
/** The move from `prevPitch` reduces to a major seventh; always with `LargeLeap`. Informational. */
|
|
1099
1129
|
MajorSeventh = 512,
|
|
1130
|
+
/**
|
|
1131
|
+
* On a strong beat, the candidate is dissonant against at least one of
|
|
1132
|
+
* `otherVoices`, apart from the tritone or seventh two chord tones spell. A
|
|
1133
|
+
* perfect fourth counts only when one of the two is the lowest sounding voice,
|
|
1134
|
+
* and under `pop` not when both are chord tones — an inverted chord.
|
|
1135
|
+
*/
|
|
1100
1136
|
VerticalDissonance = 1024,
|
|
1137
|
+
/** The candidate moves in parallel perfect intervals with at least one of `otherVoices`. */
|
|
1101
1138
|
ParallelPerfect = 2048,
|
|
1139
|
+
/**
|
|
1140
|
+
* The candidate and another voice, the two outer voices of the texture, reach
|
|
1141
|
+
* a perfect interval by similar motion with the upper one leaping.
|
|
1142
|
+
*/
|
|
1102
1143
|
HiddenParallel = 4096,
|
|
1144
|
+
/** The candidate crosses at least one of `otherVoices` since the previous step. */
|
|
1103
1145
|
VoiceCrossing = 8192,
|
|
1146
|
+
/**
|
|
1147
|
+
* A held pitch, consonant with a voice on the previous step, now dissonant
|
|
1148
|
+
* against it. Always with `VerticalDissonance`.
|
|
1149
|
+
*/
|
|
1104
1150
|
Suspension = 16384,
|
|
1151
|
+
/** The candidate should move by step to `resolveTo`. Set with `AvoidNote`. */
|
|
1105
1152
|
NeedsResolution = 32768,
|
|
1153
|
+
/** The move from `prevPitch` reduces to a tritone; always with `LargeLeap`. */
|
|
1106
1154
|
MelodicTritone = 65536
|
|
1107
1155
|
}
|
|
1108
1156
|
/**
|
|
@@ -1130,6 +1178,20 @@ type SafetyQuery = {
|
|
|
1130
1178
|
vocalLow?: number;
|
|
1131
1179
|
vocalHigh?: number;
|
|
1132
1180
|
};
|
|
1181
|
+
/**
|
|
1182
|
+
* The reasons one of `otherVoices` contributes to a verdict.
|
|
1183
|
+
*
|
|
1184
|
+
* @category Arrangement & Analysis
|
|
1185
|
+
*/
|
|
1186
|
+
type SafetyPartner = {
|
|
1187
|
+
/** The voice's index in {@link SafetyQuery.otherVoices}. */
|
|
1188
|
+
index: number;
|
|
1189
|
+
/**
|
|
1190
|
+
* The pairwise flags this voice raises: `VerticalDissonance`, `Suspension`,
|
|
1191
|
+
* `ParallelPerfect`, `HiddenParallel` and `VoiceCrossing`.
|
|
1192
|
+
*/
|
|
1193
|
+
reasons: number;
|
|
1194
|
+
};
|
|
1133
1195
|
/**
|
|
1134
1196
|
* The verdict, reason flags, and optional resolution guidance.
|
|
1135
1197
|
*
|
|
@@ -1140,6 +1202,12 @@ type SafetyResult = {
|
|
|
1140
1202
|
reasons: number;
|
|
1141
1203
|
resolveTo?: number;
|
|
1142
1204
|
suggestions?: number[];
|
|
1205
|
+
/**
|
|
1206
|
+
* The voices behind the pairwise flags in `reasons`, in `otherVoices` order,
|
|
1207
|
+
* when {@link EvaluateSafetyOptions.partners} asked for them and any voice
|
|
1208
|
+
* raised one. Their `reasons` together are exactly the pairwise flags set.
|
|
1209
|
+
*/
|
|
1210
|
+
partners?: SafetyPartner[];
|
|
1143
1211
|
rationale?: string;
|
|
1144
1212
|
};
|
|
1145
1213
|
/**
|
|
@@ -1184,6 +1252,14 @@ type EvaluateSafetyOptions = {
|
|
|
1184
1252
|
* @defaultValue true
|
|
1185
1253
|
*/
|
|
1186
1254
|
suggestions?: boolean;
|
|
1255
|
+
/**
|
|
1256
|
+
* Whether to report which of `otherVoices` raised each pairwise flag, as
|
|
1257
|
+
* {@link SafetyResult.partners}. The bitmask alone says a parallel fifth is
|
|
1258
|
+
* there; this says against which voice.
|
|
1259
|
+
*
|
|
1260
|
+
* @defaultValue false
|
|
1261
|
+
*/
|
|
1262
|
+
partners?: boolean;
|
|
1187
1263
|
};
|
|
1188
1264
|
/**
|
|
1189
1265
|
* Enumerate placeable pitches in a range, chord tones first, descending.
|
|
@@ -1250,4 +1326,4 @@ type ChordLike = string | Chord | {
|
|
|
1250
1326
|
*/
|
|
1251
1327
|
declare function toChordData(value: ChordLike): Chord;
|
|
1252
1328
|
|
|
1253
|
-
export {
|
|
1329
|
+
export { subdominantKeyOf as $, type Alteration as A, chordSpecQuality as B, type ChordBase as C, chordToneRole as D, type EvaluateSafetyOptions as E, diatonicSeventh as F, diatonicTriad as G, dominantKeyOf as H, enharmonicKeyOf as I, enumerateSafePitches as J, type KeyLike as K, evaluateSafety as L, intervalAboveRoot as M, NoteSafety as N, isChordMember as O, PROFILE_WEIGHTS as P, keyRelationBetween as Q, ReasonFlag as R, type SafetyPartner as S, makeChord as T, parallelKeyOf as U, type VoiceSnapshot as V, profileWeights as W, relatedKeysOf as X, relativeKeyOf as Y, spanFromChord as Z, spelledKeyOf as _, type AlteredDegree as a, toChordData as a0, toKeyScale as a1, transposeChord as a2, type Chord as b, type ChordLike as c, type ChordQuality as d, type ChordSegment as e, type ChordSeventh as f, type ChordSpan as g, type ChordSpec as h, type ChordToneRole as i, type KeyRelation as j, type KeyVariant as k, type PitchSpelling as l, type ProfileWeights as m, type ResolvedKey as n, type SafetyProfile as o, type SafetyQuery as p, type SafetyResult as q, type SpelledKeyLike as r, type SpelledKeyScale as s, chordFromDegree as t, chordFromSpan as u, chordFromSpec as v, chordPitchClasses as w, chordQualities as x, chordSpecIntervals as y, chordSpecOf as z };
|
|
@@ -1084,25 +1084,73 @@ declare enum NoteSafety {
|
|
|
1084
1084
|
/**
|
|
1085
1085
|
* Bit flags describing why a pitch received its verdict.
|
|
1086
1086
|
*
|
|
1087
|
+
* Several flags can describe one pitch, so test the combination rather than a
|
|
1088
|
+
* flag alone: an avoid eleventh carries `Tension` as well as `AvoidNote`, and a
|
|
1089
|
+
* usable tension is `Tension` without `AvoidNote`. `ChordTone`, `MinorSecond`
|
|
1090
|
+
* and `MajorSeventh` are informational and never lower the verdict on their
|
|
1091
|
+
* own; every other flag sets at least a warning, and the profile decides how
|
|
1092
|
+
* far past that it goes.
|
|
1093
|
+
*
|
|
1087
1094
|
* @category Arrangement & Analysis
|
|
1088
1095
|
*/
|
|
1089
1096
|
declare enum ReasonFlag {
|
|
1097
|
+
/** The candidate is a member of the chord. Informational. */
|
|
1090
1098
|
ChordTone = 1,
|
|
1099
|
+
/**
|
|
1100
|
+
* The candidate is a ninth, eleventh or thirteenth above the root, not a chord
|
|
1101
|
+
* tone. Also set alongside `AvoidNote` when the avoid note is the eleventh.
|
|
1102
|
+
*/
|
|
1091
1103
|
Tension = 2,
|
|
1104
|
+
/**
|
|
1105
|
+
* The eleventh over a chord with a major third and no fourth, or the major
|
|
1106
|
+
* seventh over a dominant. Always set with `NeedsResolution`, and with
|
|
1107
|
+
* `Tension` for the eleventh.
|
|
1108
|
+
*/
|
|
1092
1109
|
AvoidNote = 4,
|
|
1110
|
+
/** The candidate is in the key but neither a chord tone nor a tension. */
|
|
1093
1111
|
ScaleTone = 8,
|
|
1112
|
+
/** The candidate is outside the key and not a chord tone. */
|
|
1094
1113
|
NonScale = 16,
|
|
1114
|
+
/** The candidate lies outside `vocalLow`..`vocalHigh`. */
|
|
1095
1115
|
OutOfRange = 32,
|
|
1116
|
+
/** The candidate, not itself a chord tone, is a tritone from one. */
|
|
1096
1117
|
Tritone = 64,
|
|
1118
|
+
/**
|
|
1119
|
+
* The move from `prevPitch` is a forbidden melodic leap as
|
|
1120
|
+
* {@link isForbiddenMelodicLeap} defines it: a tritone, either seventh, or
|
|
1121
|
+
* anything wider than an octave. An octave itself is not. The profile sets
|
|
1122
|
+
* the severity, not the set of leaps. Set with `MelodicTritone` on a tritone
|
|
1123
|
+
* and with `MajorSeventh` on a major seventh.
|
|
1124
|
+
*/
|
|
1097
1125
|
LargeLeap = 128,
|
|
1126
|
+
/** The move from `prevPitch` reduces to a semitone, the minor ninth included. Informational. */
|
|
1098
1127
|
MinorSecond = 256,
|
|
1128
|
+
/** The move from `prevPitch` reduces to a major seventh; always with `LargeLeap`. Informational. */
|
|
1099
1129
|
MajorSeventh = 512,
|
|
1130
|
+
/**
|
|
1131
|
+
* On a strong beat, the candidate is dissonant against at least one of
|
|
1132
|
+
* `otherVoices`, apart from the tritone or seventh two chord tones spell. A
|
|
1133
|
+
* perfect fourth counts only when one of the two is the lowest sounding voice,
|
|
1134
|
+
* and under `pop` not when both are chord tones — an inverted chord.
|
|
1135
|
+
*/
|
|
1100
1136
|
VerticalDissonance = 1024,
|
|
1137
|
+
/** The candidate moves in parallel perfect intervals with at least one of `otherVoices`. */
|
|
1101
1138
|
ParallelPerfect = 2048,
|
|
1139
|
+
/**
|
|
1140
|
+
* The candidate and another voice, the two outer voices of the texture, reach
|
|
1141
|
+
* a perfect interval by similar motion with the upper one leaping.
|
|
1142
|
+
*/
|
|
1102
1143
|
HiddenParallel = 4096,
|
|
1144
|
+
/** The candidate crosses at least one of `otherVoices` since the previous step. */
|
|
1103
1145
|
VoiceCrossing = 8192,
|
|
1146
|
+
/**
|
|
1147
|
+
* A held pitch, consonant with a voice on the previous step, now dissonant
|
|
1148
|
+
* against it. Always with `VerticalDissonance`.
|
|
1149
|
+
*/
|
|
1104
1150
|
Suspension = 16384,
|
|
1151
|
+
/** The candidate should move by step to `resolveTo`. Set with `AvoidNote`. */
|
|
1105
1152
|
NeedsResolution = 32768,
|
|
1153
|
+
/** The move from `prevPitch` reduces to a tritone; always with `LargeLeap`. */
|
|
1106
1154
|
MelodicTritone = 65536
|
|
1107
1155
|
}
|
|
1108
1156
|
/**
|
|
@@ -1130,6 +1178,20 @@ type SafetyQuery = {
|
|
|
1130
1178
|
vocalLow?: number;
|
|
1131
1179
|
vocalHigh?: number;
|
|
1132
1180
|
};
|
|
1181
|
+
/**
|
|
1182
|
+
* The reasons one of `otherVoices` contributes to a verdict.
|
|
1183
|
+
*
|
|
1184
|
+
* @category Arrangement & Analysis
|
|
1185
|
+
*/
|
|
1186
|
+
type SafetyPartner = {
|
|
1187
|
+
/** The voice's index in {@link SafetyQuery.otherVoices}. */
|
|
1188
|
+
index: number;
|
|
1189
|
+
/**
|
|
1190
|
+
* The pairwise flags this voice raises: `VerticalDissonance`, `Suspension`,
|
|
1191
|
+
* `ParallelPerfect`, `HiddenParallel` and `VoiceCrossing`.
|
|
1192
|
+
*/
|
|
1193
|
+
reasons: number;
|
|
1194
|
+
};
|
|
1133
1195
|
/**
|
|
1134
1196
|
* The verdict, reason flags, and optional resolution guidance.
|
|
1135
1197
|
*
|
|
@@ -1140,6 +1202,12 @@ type SafetyResult = {
|
|
|
1140
1202
|
reasons: number;
|
|
1141
1203
|
resolveTo?: number;
|
|
1142
1204
|
suggestions?: number[];
|
|
1205
|
+
/**
|
|
1206
|
+
* The voices behind the pairwise flags in `reasons`, in `otherVoices` order,
|
|
1207
|
+
* when {@link EvaluateSafetyOptions.partners} asked for them and any voice
|
|
1208
|
+
* raised one. Their `reasons` together are exactly the pairwise flags set.
|
|
1209
|
+
*/
|
|
1210
|
+
partners?: SafetyPartner[];
|
|
1143
1211
|
rationale?: string;
|
|
1144
1212
|
};
|
|
1145
1213
|
/**
|
|
@@ -1184,6 +1252,14 @@ type EvaluateSafetyOptions = {
|
|
|
1184
1252
|
* @defaultValue true
|
|
1185
1253
|
*/
|
|
1186
1254
|
suggestions?: boolean;
|
|
1255
|
+
/**
|
|
1256
|
+
* Whether to report which of `otherVoices` raised each pairwise flag, as
|
|
1257
|
+
* {@link SafetyResult.partners}. The bitmask alone says a parallel fifth is
|
|
1258
|
+
* there; this says against which voice.
|
|
1259
|
+
*
|
|
1260
|
+
* @defaultValue false
|
|
1261
|
+
*/
|
|
1262
|
+
partners?: boolean;
|
|
1187
1263
|
};
|
|
1188
1264
|
/**
|
|
1189
1265
|
* Enumerate placeable pitches in a range, chord tones first, descending.
|
|
@@ -1250,4 +1326,4 @@ type ChordLike = string | Chord | {
|
|
|
1250
1326
|
*/
|
|
1251
1327
|
declare function toChordData(value: ChordLike): Chord;
|
|
1252
1328
|
|
|
1253
|
-
export {
|
|
1329
|
+
export { subdominantKeyOf as $, type Alteration as A, chordSpecQuality as B, type ChordBase as C, chordToneRole as D, type EvaluateSafetyOptions as E, diatonicSeventh as F, diatonicTriad as G, dominantKeyOf as H, enharmonicKeyOf as I, enumerateSafePitches as J, type KeyLike as K, evaluateSafety as L, intervalAboveRoot as M, NoteSafety as N, isChordMember as O, PROFILE_WEIGHTS as P, keyRelationBetween as Q, ReasonFlag as R, type SafetyPartner as S, makeChord as T, parallelKeyOf as U, type VoiceSnapshot as V, profileWeights as W, relatedKeysOf as X, relativeKeyOf as Y, spanFromChord as Z, spelledKeyOf as _, type AlteredDegree as a, toChordData as a0, toKeyScale as a1, transposeChord as a2, type Chord as b, type ChordLike as c, type ChordQuality as d, type ChordSegment as e, type ChordSeventh as f, type ChordSpan as g, type ChordSpec as h, type ChordToneRole as i, type KeyRelation as j, type KeyVariant as k, type PitchSpelling as l, type ProfileWeights as m, type ResolvedKey as n, type SafetyProfile as o, type SafetyQuery as p, type SafetyResult as q, type SpelledKeyLike as r, type SpelledKeyScale as s, chordFromDegree as t, chordFromSpan as u, chordFromSpec as v, chordPitchClasses as w, chordQualities as x, chordSpecIntervals as y, chordSpecOf as z };
|
package/dist/core/index.cjs
CHANGED
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
|
|
26
|
-
var
|
|
26
|
+
var _chunkNM7UAMC3cjs = require('../chunk-NM7UAMC3.cjs');
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
|
|
@@ -44,10 +44,10 @@ var _chunk5JJ6EHEZcjs = require('../chunk-5JJ6EHEZ.cjs');
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
|
|
47
|
-
var
|
|
47
|
+
var _chunkCGBADIO5cjs = require('../chunk-CGBADIO5.cjs');
|
|
48
48
|
|
|
49
49
|
|
|
50
|
-
var
|
|
50
|
+
var _chunk35NBV2FTcjs = require('../chunk-35NBV2FT.cjs');
|
|
51
51
|
|
|
52
52
|
|
|
53
53
|
|
|
@@ -116,7 +116,7 @@ var _chunkTT6PKMPRcjs = require('../chunk-TT6PKMPR.cjs');
|
|
|
116
116
|
|
|
117
117
|
|
|
118
118
|
|
|
119
|
-
var
|
|
119
|
+
var _chunkS5BKZZGMcjs = require('../chunk-S5BKZZGM.cjs');
|
|
120
120
|
|
|
121
121
|
|
|
122
122
|
|
|
@@ -228,5 +228,5 @@ var _chunkXKSO2V5Icjs = require('../chunk-XKSO2V5I.cjs');
|
|
|
228
228
|
|
|
229
229
|
|
|
230
230
|
|
|
231
|
-
exports.ALGORITHM_VERSION =
|
|
231
|
+
exports.ALGORITHM_VERSION = _chunkCGBADIO5cjs.ALGORITHM_VERSION; exports.ARTICULATIONS = _chunkS5BKZZGMcjs.ARTICULATIONS; exports.BASS_4_STRING = _chunkCGBADIO5cjs.BASS_4_STRING; exports.BASS_5_STRING = _chunkCGBADIO5cjs.BASS_5_STRING; exports.BudgetExceededError = _chunkS5BKZZGMcjs.BudgetExceededError; exports.ConsonanceClass = _chunkS5BKZZGMcjs.ConsonanceClass; exports.DEFAULT_GENERATION_BUDGET = _chunkS5BKZZGMcjs.DEFAULT_GENERATION_BUDGET; exports.GUITAR_DROP_D = _chunkCGBADIO5cjs.GUITAR_DROP_D; exports.GUITAR_STANDARD = _chunkCGBADIO5cjs.GUITAR_STANDARD; exports.InvalidInputError = _chunkS5BKZZGMcjs.InvalidInputError; exports.JUST_RATIOS = _chunkNM7UAMC3cjs.JUST_RATIOS; exports.LIMBS = _chunkCGBADIO5cjs.LIMBS; exports.MIN_ALGORITHM_VERSION = _chunkCGBADIO5cjs.MIN_ALGORITHM_VERSION; exports.NOTE_VALUES = _chunkNM7UAMC3cjs.NOTE_VALUES; exports.NoSolutionError = _chunkS5BKZZGMcjs.NoSolutionError; exports.TWELVE_TET = _chunkNM7UAMC3cjs.TWELVE_TET; exports.assertDegree = _chunkS5BKZZGMcjs.assertDegree; exports.assertFiniteNumber = _chunkS5BKZZGMcjs.assertFiniteNumber; exports.assertFiniteSemitones = _chunkS5BKZZGMcjs.assertFiniteSemitones; exports.assertGenerationBudget = _chunkS5BKZZGMcjs.assertGenerationBudget; exports.assertInteger = _chunkS5BKZZGMcjs.assertInteger; exports.assertMeterMap = _chunkS5BKZZGMcjs.assertMeterMap; exports.assertMidiPitch = _chunkS5BKZZGMcjs.assertMidiPitch; exports.assertNoteEvent = _chunkS5BKZZGMcjs.assertNoteEvent; exports.assertNoteEvents = _chunkS5BKZZGMcjs.assertNoteEvents; exports.assertOneOf = _chunkS5BKZZGMcjs.assertOneOf; exports.assertPositiveInt = _chunkS5BKZZGMcjs.assertPositiveInt; exports.assertRange = _chunkS5BKZZGMcjs.assertRange; exports.assertTimeSignature = _chunkS5BKZZGMcjs.assertTimeSignature; exports.barIndexAt = _chunkS5BKZZGMcjs.barIndexAt; exports.barPositionToBeat = _chunkS5BKZZGMcjs.barPositionToBeat; exports.barPositionToPulse = _chunkS5BKZZGMcjs.barPositionToPulse; exports.barStartBeat = _chunkS5BKZZGMcjs.barStartBeat; exports.beatToBarPosition = _chunkS5BKZZGMcjs.beatToBarPosition; exports.beatsPerBar = _chunkS5BKZZGMcjs.beatsPerBar; exports.beatsPerBarAt = _chunkS5BKZZGMcjs.beatsPerBarAt; exports.beatsToDuration = _chunkNM7UAMC3cjs.beatsToDuration; exports.beatsToSeconds = _chunkNM7UAMC3cjs.beatsToSeconds; exports.beatsToTicks = _chunkNM7UAMC3cjs.beatsToTicks; exports.beatsToTiedDurations = _chunkNM7UAMC3cjs.beatsToTiedDurations; exports.canSound = _chunkCGBADIO5cjs.canSound; exports.centsBetweenFreq = _chunkNM7UAMC3cjs.centsBetweenFreq; exports.centsFromNearestStep = _chunkNM7UAMC3cjs.centsFromNearestStep; exports.centsOfSteps = _chunkNM7UAMC3cjs.centsOfSteps; exports.centsToRatio = _chunkNM7UAMC3cjs.centsToRatio; exports.clampToMidi = _chunkS5BKZZGMcjs.clampToMidi; exports.classifyInterval = _chunkS5BKZZGMcjs.classifyInterval; exports.createNoteEventIndex = _chunk35NBV2FTcjs.createNoteEventIndex; exports.createPositionalRng = _chunkCGBADIO5cjs.createPositionalRng; exports.createRng = _chunkCGBADIO5cjs.createRng; exports.deriveSeed = _chunkCGBADIO5cjs.deriveSeed; exports.detectNoteNameSystem = _chunkS5BKZZGMcjs.detectNoteNameSystem; exports.diatonicLetterOf = _chunkS5BKZZGMcjs.diatonicLetterOf; exports.dropSilentNotes = _chunkS5BKZZGMcjs.dropSilentNotes; exports.durationToBeats = _chunkNM7UAMC3cjs.durationToBeats; exports.durationToSeconds = _chunkNM7UAMC3cjs.durationToSeconds; exports.edo = _chunkNM7UAMC3cjs.edo; exports.fingeringsFor = _chunkCGBADIO5cjs.fingeringsFor; exports.foldIntoRange = _chunkCGBADIO5cjs.foldIntoRange; exports.formatBarPosition = _chunkS5BKZZGMcjs.formatBarPosition; exports.formatKeyName = _chunkS5BKZZGMcjs.formatKeyName; exports.formatNote = _chunkS5BKZZGMcjs.formatNote; exports.formatTimeSignature = _chunkS5BKZZGMcjs.formatTimeSignature; exports.frequencyOf = _chunkNM7UAMC3cjs.frequencyOf; exports.includeAt = _chunkCGBADIO5cjs.includeAt; exports.instrumentRange = _chunkCGBADIO5cjs.instrumentRange; exports.intervalSemitones = _chunkS5BKZZGMcjs.intervalSemitones; exports.isCompound = _chunkS5BKZZGMcjs.isCompound; exports.isConsonantInterval = _chunkS5BKZZGMcjs.isConsonantInterval; exports.isLibcantusError = _chunkS5BKZZGMcjs.isLibcantusError; exports.isPerfectInterval = _chunkS5BKZZGMcjs.isPerfectInterval; exports.isStrongBeat = _chunkS5BKZZGMcjs.isStrongBeat; exports.justDeviationCents = _chunkNM7UAMC3cjs.justDeviationCents; exports.meterAt = _chunkS5BKZZGMcjs.meterAt; exports.metricWeight = _chunkS5BKZZGMcjs.metricWeight; exports.midiToNote = _chunkS5BKZZGMcjs.midiToNote; exports.naturalPitchClassOf = _chunkS5BKZZGMcjs.naturalPitchClassOf; exports.nearestStep = _chunkNM7UAMC3cjs.nearestStep; exports.noteToMidi = _chunkS5BKZZGMcjs.noteToMidi; exports.noteToPitchClass = _chunkS5BKZZGMcjs.noteToPitchClass; exports.parseInterval = _chunkS5BKZZGMcjs.parseInterval; exports.parseKeyName = _chunkS5BKZZGMcjs.parseKeyName; exports.parseNote = _chunkS5BKZZGMcjs.parseNote; exports.parseTimeSignature = _chunkS5BKZZGMcjs.parseTimeSignature; exports.pitchClassOf = _chunkS5BKZZGMcjs.pitchClassOf; exports.playability = _chunkCGBADIO5cjs.playability; exports.pulseBeats = _chunkS5BKZZGMcjs.pulseBeats; exports.pulsesPerBar = _chunkS5BKZZGMcjs.pulsesPerBar; exports.ratioToCents = _chunkNM7UAMC3cjs.ratioToCents; exports.resolveAlgorithmVersion = _chunkCGBADIO5cjs.resolveAlgorithmVersion; exports.resolveMeters = _chunkS5BKZZGMcjs.resolveMeters; exports.secondsToBeats = _chunkNM7UAMC3cjs.secondsToBeats; exports.soundingNotesOnly = _chunkS5BKZZGMcjs.soundingNotesOnly; exports.spelledInterval = _chunkS5BKZZGMcjs.spelledInterval; exports.stepOf = _chunkNM7UAMC3cjs.stepOf; exports.stepsOfCents = _chunkNM7UAMC3cjs.stepsOfCents; exports.tempoAt = _chunkNM7UAMC3cjs.tempoAt; exports.ticksToBeats = _chunkNM7UAMC3cjs.ticksToBeats; exports.toInstrumentProfile = _chunkCGBADIO5cjs.toInstrumentProfile; exports.toMeterData = _chunkS5BKZZGMcjs.toMeterData; exports.toNoteData = _chunkS5BKZZGMcjs.toNoteData; exports.toSpelledInterval = _chunkS5BKZZGMcjs.toSpelledInterval; exports.toStringedProfile = _chunkCGBADIO5cjs.toStringedProfile; exports.transposeByInterval = _chunkS5BKZZGMcjs.transposeByInterval; exports.transposeNote = _chunkS5BKZZGMcjs.transposeNote; exports.tryParseInterval = _chunkS5BKZZGMcjs.tryParseInterval; exports.tryParseKeyName = _chunkS5BKZZGMcjs.tryParseKeyName; exports.tryParseNote = _chunkS5BKZZGMcjs.tryParseNote; exports.tryParseTimeSignature = _chunkS5BKZZGMcjs.tryParseTimeSignature; exports.tuplet = _chunkS5BKZZGMcjs.tuplet;
|
|
232
232
|
//# sourceMappingURL=index.cjs.map
|
package/dist/core/index.d.cts
CHANGED
|
@@ -4,8 +4,8 @@ export { A as ARTICULATIONS, a as Articulation, B as BudgetExceededError, I as I
|
|
|
4
4
|
import { f as StringedProfile } from '../positional-DMZer-FM.cjs';
|
|
5
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-DMZer-FM.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-BMweUlm5.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-BMweUlm5.cjs';
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* Electric bass in standard tuning: E1 A1 D2 G2 over a 24-fret neck.
|
package/dist/core/index.d.ts
CHANGED
|
@@ -4,8 +4,8 @@ export { A as ARTICULATIONS, a as Articulation, B as BudgetExceededError, I as I
|
|
|
4
4
|
import { f as StringedProfile } from '../positional-DJgs6ltD.js';
|
|
5
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-DJgs6ltD.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-CL4b4gUQ.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-CL4b4gUQ.js';
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* Electric bass in standard tuning: E1 A1 D2 G2 over a 24-fret neck.
|
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-UMWZ4ZET.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-7KG3RTYS.js";
|
|
48
48
|
import {
|
|
49
49
|
createNoteEventIndex
|
|
50
|
-
} from "../chunk-
|
|
50
|
+
} from "../chunk-PUKJP2Z5.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-AGOVW7U6.js";
|
|
120
120
|
export {
|
|
121
121
|
ALGORITHM_VERSION,
|
|
122
122
|
ARTICULATIONS,
|
package/dist/generate/index.cjs
CHANGED
|
@@ -66,13 +66,13 @@
|
|
|
66
66
|
|
|
67
67
|
|
|
68
68
|
|
|
69
|
-
var
|
|
70
|
-
require('../chunk-
|
|
71
|
-
require('../chunk-
|
|
72
|
-
require('../chunk-
|
|
73
|
-
require('../chunk-
|
|
74
|
-
require('../chunk-
|
|
75
|
-
require('../chunk-
|
|
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
76
|
|
|
77
77
|
|
|
78
78
|
|
|
@@ -141,5 +141,5 @@ require('../chunk-XKSO2V5I.cjs');
|
|
|
141
141
|
|
|
142
142
|
|
|
143
143
|
|
|
144
|
-
exports.BAR_STEPS =
|
|
144
|
+
exports.BAR_STEPS = _chunkJ7FHVZIIcjs.BAR_STEPS; exports.BASS_LICKS = _chunkJ7FHVZIIcjs.BASS_LICKS; exports.BASS_STYLES = _chunkJ7FHVZIIcjs.BASS_STYLES; exports.BEAT_STEPS = _chunkJ7FHVZIIcjs.BEAT_STEPS; exports.BORROWED_DEGREES = _chunkJ7FHVZIIcjs.BORROWED_DEGREES; exports.DRUM_KIT = _chunkJ7FHVZIIcjs.DRUM_KIT; exports.DRUM_NOTES = _chunkJ7FHVZIIcjs.DRUM_NOTES; exports.DRUM_PATTERNS = _chunkJ7FHVZIIcjs.DRUM_PATTERNS; exports.FILL_ARCHETYPES = _chunkJ7FHVZIIcjs.FILL_ARCHETYPES; exports.FILL_TYPES = _chunkJ7FHVZIIcjs.FILL_TYPES; exports.GENRES = _chunkJ7FHVZIIcjs.GENRES; exports.KICK_FIGURES = _chunkJ7FHVZIIcjs.KICK_FIGURES; exports.KICK_STEPS = _chunkJ7FHVZIIcjs.KICK_STEPS; exports.MAX_DIFFICULTY = _chunkJ7FHVZIIcjs.MAX_DIFFICULTY; exports.MIN_DIFFICULTY = _chunkJ7FHVZIIcjs.MIN_DIFFICULTY; exports.ORNAMENT_STYLES = _chunkJ7FHVZIIcjs.ORNAMENT_STYLES; exports.PROVENANCE_BASES = _chunkJ7FHVZIIcjs.PROVENANCE_BASES; exports.STEP_BEATS = _chunkJ7FHVZIIcjs.STEP_BEATS; exports.applyGrooveTemplate = _chunkJ7FHVZIIcjs.applyGrooveTemplate; exports.assertVocabulary = _chunkJ7FHVZIIcjs.assertVocabulary; exports.classifyMelodyTones = _chunkJ7FHVZIIcjs.classifyMelodyTones; exports.deform = _chunkJ7FHVZIIcjs.deform; exports.developMotif = _chunkJ7FHVZIIcjs.developMotif; exports.double = _chunkJ7FHVZIIcjs.double; exports.doubleTime = _chunkJ7FHVZIIcjs.doubleTime; exports.drumVoiceOf = _chunkJ7FHVZIIcjs.drumVoiceOf; exports.extractGrooveTemplate = _chunkJ7FHVZIIcjs.extractGrooveTemplate; exports.fitsQuery = _chunkJ7FHVZIIcjs.fitsQuery; exports.generateBassLine = _chunkJ7FHVZIIcjs.generateBassLine; exports.generateCounterMelody = _chunkJ7FHVZIIcjs.generateCounterMelody; exports.generateDrums = _chunkJ7FHVZIIcjs.generateDrums; exports.generateMotif = _chunkJ7FHVZIIcjs.generateMotif; exports.generateProgression = _chunkJ7FHVZIIcjs.generateProgression; exports.generateRhythm = _chunkJ7FHVZIIcjs.generateRhythm; exports.gridMetricWeight = _chunkJ7FHVZIIcjs.gridMetricWeight; exports.halfTime = _chunkJ7FHVZIIcjs.halfTime; exports.harmonizeMelody = _chunkJ7FHVZIIcjs.harmonizeMelody; exports.humanize = _chunkJ7FHVZIIcjs.humanize; exports.imitate = _chunkJ7FHVZIIcjs.imitate; exports.isDrumPattern = _chunkJ7FHVZIIcjs.isDrumPattern; exports.isFillArchetype = _chunkJ7FHVZIIcjs.isFillArchetype; exports.isLickMaterial = _chunkJ7FHVZIIcjs.isLickMaterial; exports.mergeVocabulary = _chunkJ7FHVZIIcjs.mergeVocabulary; exports.modalInterchangePalette = _chunkJ7FHVZIIcjs.modalInterchangePalette; exports.motifToNoteEvents = _chunkJ7FHVZIIcjs.motifToNoteEvents; exports.negativeHarmonyMirror = _chunkJ7FHVZIIcjs.negativeHarmonyMirror; exports.onsetWeightCurve = _chunkJ7FHVZIIcjs.onsetWeightCurve; exports.ornament = _chunkJ7FHVZIIcjs.ornament; exports.ornamentBy = _chunkJ7FHVZIIcjs.ornamentBy; exports.pickProgressionPreset = _chunkJ7FHVZIIcjs.pickProgressionPreset; exports.pickVocabulary = _chunkJ7FHVZIIcjs.pickVocabulary; exports.placeDrumPattern = _chunkJ7FHVZIIcjs.placeDrumPattern; exports.placeLicks = _chunkJ7FHVZIIcjs.placeLicks; exports.progressions = _chunkJ7FHVZIIcjs.progressions; exports.progressionsByStyle = _chunkJ7FHVZIIcjs.progressionsByStyle; exports.resolveContext = _chunkJ7FHVZIIcjs.resolveContext; exports.rhythmDensity = _chunkJ7FHVZIIcjs.rhythmDensity; exports.rhythmToNoteEvents = _chunkJ7FHVZIIcjs.rhythmToNoteEvents; exports.selectVocabulary = _chunkJ7FHVZIIcjs.selectVocabulary; exports.substituteChord = _chunkJ7FHVZIIcjs.substituteChord; exports.sustainsShift = _chunkJ7FHVZIIcjs.sustainsShift; exports.sustainsStrokes = _chunkJ7FHVZIIcjs.sustainsStrokes; exports.syncopate = _chunkJ7FHVZIIcjs.syncopate; exports.thin = _chunkJ7FHVZIIcjs.thin; exports.transformMotif = _chunkJ7FHVZIIcjs.transformMotif; exports.vocabularyOfKind = _chunkJ7FHVZIIcjs.vocabularyOfKind; exports.withinCeiling = _chunkJ7FHVZIIcjs.withinCeiling;
|
|
145
145
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { h as NoteEvent, a as Articulation, b as IntervalLike } from '../index-Cy15oTvh.cjs';
|
|
2
2
|
export { I as IntervalData, c as IntervalQualityLabel, e as KeyScale, g as NoteData, S as SpelledInterval } from '../index-Cy15oTvh.cjs';
|
|
3
|
-
import { e as ChordSegment, c as ChordLike, K as KeyLike } from '../coerce-
|
|
4
|
-
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,
|
|
5
|
-
export { B as BorrowedSource, e as ChordTimeline, H as HarmonicFunction } from '../index-
|
|
3
|
+
import { e as ChordSegment, c as ChordLike, K as KeyLike } from '../coerce-DRERzdve.cjs';
|
|
4
|
+
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-DRERzdve.cjs';
|
|
5
|
+
export { B as BorrowedSource, e as ChordTimeline, H as HarmonicFunction } from '../index-BBWNZS0f.cjs';
|
|
6
6
|
import { f as StringedProfile, P as PercussionProfile, c as Limb } from '../positional-DMZer-FM.cjs';
|
|
7
7
|
export { I as InstrumentProfile, a as InstrumentProfileCommon, d as PositionalRng, S as SeedPath } from '../positional-DMZer-FM.cjs';
|
|
8
|
-
import { b as MeterLike } from '../index-
|
|
9
|
-
export { M as MeterChange, c as MeterMap, T as TimeSignature } from '../index-
|
|
10
|
-
export { H as HarmonyRole } from '../index-
|
|
11
|
-
import { r as Genre, q as GenerationContextInput, a4 as Vocabulary, s as GridEvent, m as DrumStyle, $ as Section, n as DrumVoice, t as GrooveFeel, k as DrumHit, H as HarmonizeOptions, y as HarmonizeResult } from '../index-
|
|
12
|
-
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 Complexity, h as CounterMelodyOptions, D as DRUM_NOTES, i as DeformOptions, j as Draw, l as DrumRole, o as DrumsOptions, E as EuclideanKick, G as GENRES, p as GenerationContext, u as GrooveSlot, v as GrooveStyle, w as GrooveTemplate, x as HarmonizePlacement, z as HumanizeOptions, M as MelodyNote, A as MotifCell, F as MotifContour, I as MotifNote, J as MotifOptions, K as MotifTransform, O as ORNAMENT_STYLES, L as OrnamentOptions, N as OrnamentStyle, P as PROVENANCE_BASES, Q as ProgFunction, R as ProgStyle, S as ProgressionDegree, T as ProgressionOptions, U as ProgressionPreset, V as Provenance, W as ProvenanceBasis, X as ResolvedContext, Y as RhythmEvent, Z as RhythmOptions, _ as STEP_BEATS, a0 as SubstituteOptions, a1 as Substitution, a2 as SubstitutionType, a3 as SyncopateOptions, a5 as VocabularyQuery, a6 as applyGrooveTemplate, a7 as assertVocabulary, a8 as deform, a9 as developMotif, aa as double, ab as doubleTime, ac as drumVoiceOf, ad as extractGrooveTemplate, ae as fitsQuery, af as generateBassLine, ag as generateCounterMelody, ah as generateDrums, ai as generateMotif, aj as generateProgression, ak as generateRhythm, al as gridMetricWeight, am as halfTime, an as humanize, ao as mergeVocabulary, ap as modalInterchangePalette, aq as motifToNoteEvents, ar as negativeHarmonyMirror, as as onsetWeightCurve, at as ornament, au as ornamentBy, av as pickProgressionPreset, aw as pickVocabulary, ax as progressions, ay as progressionsByStyle, az as resolveContext, aA as rhythmDensity, aB as rhythmToNoteEvents, aC as selectVocabulary, aD as substituteChord, aE as syncopate, aF as thin, aG as transformMotif, aH as vocabularyOfKind, aI as withinCeiling } from '../index-
|
|
8
|
+
import { b as MeterLike } from '../index-BMweUlm5.cjs';
|
|
9
|
+
export { M as MeterChange, c as MeterMap, T as TimeSignature } from '../index-BMweUlm5.cjs';
|
|
10
|
+
export { H as HarmonyRole } from '../index-BL5N2Oyz.cjs';
|
|
11
|
+
import { r as Genre, q as GenerationContextInput, a4 as Vocabulary, s as GridEvent, m as DrumStyle, $ as Section, n as DrumVoice, t as GrooveFeel, k as DrumHit, H as HarmonizeOptions, y as HarmonizeResult } from '../index-BNSM-DSk.cjs';
|
|
12
|
+
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 Complexity, h as CounterMelodyOptions, D as DRUM_NOTES, i as DeformOptions, j as Draw, l as DrumRole, o as DrumsOptions, E as EuclideanKick, G as GENRES, p as GenerationContext, u as GrooveSlot, v as GrooveStyle, w as GrooveTemplate, x as HarmonizePlacement, z as HumanizeOptions, M as MelodyNote, A as MotifCell, F as MotifContour, I as MotifNote, J as MotifOptions, K as MotifTransform, O as ORNAMENT_STYLES, L as OrnamentOptions, N as OrnamentStyle, P as PROVENANCE_BASES, Q as ProgFunction, R as ProgStyle, S as ProgressionDegree, T as ProgressionOptions, U as ProgressionPreset, V as Provenance, W as ProvenanceBasis, X as ResolvedContext, Y as RhythmEvent, Z as RhythmOptions, _ as STEP_BEATS, a0 as SubstituteOptions, a1 as Substitution, a2 as SubstitutionType, a3 as SyncopateOptions, a5 as VocabularyQuery, a6 as applyGrooveTemplate, a7 as assertVocabulary, a8 as deform, a9 as developMotif, aa as double, ab as doubleTime, ac as drumVoiceOf, ad as extractGrooveTemplate, ae as fitsQuery, af as generateBassLine, ag as generateCounterMelody, ah as generateDrums, ai as generateMotif, aj as generateProgression, ak as generateRhythm, al as gridMetricWeight, am as halfTime, an as humanize, ao as mergeVocabulary, ap as modalInterchangePalette, aq as motifToNoteEvents, ar as negativeHarmonyMirror, as as onsetWeightCurve, at as ornament, au as ornamentBy, av as pickProgressionPreset, aw as pickVocabulary, ax as progressions, ay as progressionsByStyle, az as resolveContext, aA as rhythmDensity, aB as rhythmToNoteEvents, aC as selectVocabulary, aD as substituteChord, aE as syncopate, aF as thin, aG as transformMotif, aH as vocabularyOfKind, aI as withinCeiling } from '../index-BNSM-DSk.cjs';
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* The playing-difficulty ceiling, as the generators apply it.
|
package/dist/generate/index.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { h as NoteEvent, a as Articulation, b as IntervalLike } from '../index-Cy15oTvh.js';
|
|
2
2
|
export { I as IntervalData, c as IntervalQualityLabel, e as KeyScale, g as NoteData, S as SpelledInterval } from '../index-Cy15oTvh.js';
|
|
3
|
-
import { e as ChordSegment, c as ChordLike, K as KeyLike } from '../coerce-
|
|
4
|
-
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,
|
|
5
|
-
export { B as BorrowedSource, e as ChordTimeline, H as HarmonicFunction } from '../index-
|
|
3
|
+
import { e as ChordSegment, c as ChordLike, K as KeyLike } from '../coerce-DP0vYu-x.js';
|
|
4
|
+
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-DP0vYu-x.js';
|
|
5
|
+
export { B as BorrowedSource, e as ChordTimeline, H as HarmonicFunction } from '../index-CJBBiAmU.js';
|
|
6
6
|
import { f as StringedProfile, P as PercussionProfile, c as Limb } from '../positional-DJgs6ltD.js';
|
|
7
7
|
export { I as InstrumentProfile, a as InstrumentProfileCommon, d as PositionalRng, S as SeedPath } from '../positional-DJgs6ltD.js';
|
|
8
|
-
import { b as MeterLike } from '../index-
|
|
9
|
-
export { M as MeterChange, c as MeterMap, T as TimeSignature } from '../index-
|
|
10
|
-
export { H as HarmonyRole } from '../index-
|
|
11
|
-
import { r as Genre, q as GenerationContextInput, a4 as Vocabulary, s as GridEvent, m as DrumStyle, $ as Section, n as DrumVoice, t as GrooveFeel, k as DrumHit, H as HarmonizeOptions, y as HarmonizeResult } from '../index-
|
|
12
|
-
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 Complexity, h as CounterMelodyOptions, D as DRUM_NOTES, i as DeformOptions, j as Draw, l as DrumRole, o as DrumsOptions, E as EuclideanKick, G as GENRES, p as GenerationContext, u as GrooveSlot, v as GrooveStyle, w as GrooveTemplate, x as HarmonizePlacement, z as HumanizeOptions, M as MelodyNote, A as MotifCell, F as MotifContour, I as MotifNote, J as MotifOptions, K as MotifTransform, O as ORNAMENT_STYLES, L as OrnamentOptions, N as OrnamentStyle, P as PROVENANCE_BASES, Q as ProgFunction, R as ProgStyle, S as ProgressionDegree, T as ProgressionOptions, U as ProgressionPreset, V as Provenance, W as ProvenanceBasis, X as ResolvedContext, Y as RhythmEvent, Z as RhythmOptions, _ as STEP_BEATS, a0 as SubstituteOptions, a1 as Substitution, a2 as SubstitutionType, a3 as SyncopateOptions, a5 as VocabularyQuery, a6 as applyGrooveTemplate, a7 as assertVocabulary, a8 as deform, a9 as developMotif, aa as double, ab as doubleTime, ac as drumVoiceOf, ad as extractGrooveTemplate, ae as fitsQuery, af as generateBassLine, ag as generateCounterMelody, ah as generateDrums, ai as generateMotif, aj as generateProgression, ak as generateRhythm, al as gridMetricWeight, am as halfTime, an as humanize, ao as mergeVocabulary, ap as modalInterchangePalette, aq as motifToNoteEvents, ar as negativeHarmonyMirror, as as onsetWeightCurve, at as ornament, au as ornamentBy, av as pickProgressionPreset, aw as pickVocabulary, ax as progressions, ay as progressionsByStyle, az as resolveContext, aA as rhythmDensity, aB as rhythmToNoteEvents, aC as selectVocabulary, aD as substituteChord, aE as syncopate, aF as thin, aG as transformMotif, aH as vocabularyOfKind, aI as withinCeiling } from '../index-
|
|
8
|
+
import { b as MeterLike } from '../index-CL4b4gUQ.js';
|
|
9
|
+
export { M as MeterChange, c as MeterMap, T as TimeSignature } from '../index-CL4b4gUQ.js';
|
|
10
|
+
export { H as HarmonyRole } from '../index-Dw2DP7vm.js';
|
|
11
|
+
import { r as Genre, q as GenerationContextInput, a4 as Vocabulary, s as GridEvent, m as DrumStyle, $ as Section, n as DrumVoice, t as GrooveFeel, k as DrumHit, H as HarmonizeOptions, y as HarmonizeResult } from '../index-BJgP97N1.js';
|
|
12
|
+
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 Complexity, h as CounterMelodyOptions, D as DRUM_NOTES, i as DeformOptions, j as Draw, l as DrumRole, o as DrumsOptions, E as EuclideanKick, G as GENRES, p as GenerationContext, u as GrooveSlot, v as GrooveStyle, w as GrooveTemplate, x as HarmonizePlacement, z as HumanizeOptions, M as MelodyNote, A as MotifCell, F as MotifContour, I as MotifNote, J as MotifOptions, K as MotifTransform, O as ORNAMENT_STYLES, L as OrnamentOptions, N as OrnamentStyle, P as PROVENANCE_BASES, Q as ProgFunction, R as ProgStyle, S as ProgressionDegree, T as ProgressionOptions, U as ProgressionPreset, V as Provenance, W as ProvenanceBasis, X as ResolvedContext, Y as RhythmEvent, Z as RhythmOptions, _ as STEP_BEATS, a0 as SubstituteOptions, a1 as Substitution, a2 as SubstitutionType, a3 as SyncopateOptions, a5 as VocabularyQuery, a6 as applyGrooveTemplate, a7 as assertVocabulary, a8 as deform, a9 as developMotif, aa as double, ab as doubleTime, ac as drumVoiceOf, ad as extractGrooveTemplate, ae as fitsQuery, af as generateBassLine, ag as generateCounterMelody, ah as generateDrums, ai as generateMotif, aj as generateProgression, ak as generateRhythm, al as gridMetricWeight, am as halfTime, an as humanize, ao as mergeVocabulary, ap as modalInterchangePalette, aq as motifToNoteEvents, ar as negativeHarmonyMirror, as as onsetWeightCurve, at as ornament, au as ornamentBy, av as pickProgressionPreset, aw as pickVocabulary, ax as progressions, ay as progressionsByStyle, az as resolveContext, aA as rhythmDensity, aB as rhythmToNoteEvents, aC as selectVocabulary, aD as substituteChord, aE as syncopate, aF as thin, aG as transformMotif, aH as vocabularyOfKind, aI as withinCeiling } from '../index-BJgP97N1.js';
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* The playing-difficulty ceiling, as the generators apply it.
|
package/dist/generate/index.js
CHANGED
|
@@ -66,13 +66,13 @@ import {
|
|
|
66
66
|
transformMotif,
|
|
67
67
|
vocabularyOfKind,
|
|
68
68
|
withinCeiling
|
|
69
|
-
} from "../chunk-
|
|
70
|
-
import "../chunk-
|
|
71
|
-
import "../chunk-
|
|
72
|
-
import "../chunk-
|
|
73
|
-
import "../chunk-
|
|
74
|
-
import "../chunk-
|
|
75
|
-
import "../chunk-
|
|
69
|
+
} from "../chunk-Q6LFSAKV.js";
|
|
70
|
+
import "../chunk-H2KJHBW4.js";
|
|
71
|
+
import "../chunk-7KG3RTYS.js";
|
|
72
|
+
import "../chunk-PUKJP2Z5.js";
|
|
73
|
+
import "../chunk-NB25P3EH.js";
|
|
74
|
+
import "../chunk-RFIBF2RR.js";
|
|
75
|
+
import "../chunk-AGOVW7U6.js";
|
|
76
76
|
export {
|
|
77
77
|
BAR_STEPS,
|
|
78
78
|
BASS_LICKS,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { e as KeyScale, i as NoteLike, j as NoteNameOptions, P as ParseResult, g as Note, b as IntervalLike, S as SpelledInterval } from './index-Cy15oTvh.cjs';
|
|
2
|
-
import { n as ResolvedKey, K as KeyLike, c as ChordLike, b as Chord,
|
|
3
|
-
import { r as ScaleName, u as WorldScaleName, s as ScaleNameInput } from './masks-
|
|
2
|
+
import { n as ResolvedKey, K as KeyLike, c as ChordLike, b as Chord, r as SpelledKeyLike } from './coerce-DRERzdve.cjs';
|
|
3
|
+
import { r as ScaleName, u as WorldScaleName, s as ScaleNameInput } from './masks-pADfTOiD.cjs';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Which of the two modes a key signature is read in.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { c as ChordLike, K as KeyLike, i as ChordToneRole,
|
|
2
|
-
import { b as MeterLike } from './index-
|
|
1
|
+
import { c as ChordLike, K as KeyLike, i as ChordToneRole, r as SpelledKeyLike, b as Chord, n as ResolvedKey, j as KeyRelation, e as ChordSegment, V as VoiceSnapshot, g as ChordSpan } from './coerce-DRERzdve.cjs';
|
|
2
|
+
import { b as MeterLike } from './index-BMweUlm5.cjs';
|
|
3
3
|
import { h as NoteEvent, e as KeyScale } from './index-Cy15oTvh.cjs';
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { e as KeyScale, i as NoteLike, j as NoteNameOptions, P as ParseResult, g as Note, b as IntervalLike, S as SpelledInterval } from './index-Cy15oTvh.js';
|
|
2
|
-
import { n as ResolvedKey, K as KeyLike, c as ChordLike, b as Chord,
|
|
3
|
-
import { r as ScaleName, u as WorldScaleName, s as ScaleNameInput } from './masks-
|
|
2
|
+
import { n as ResolvedKey, K as KeyLike, c as ChordLike, b as Chord, r as SpelledKeyLike } from './coerce-DP0vYu-x.js';
|
|
3
|
+
import { r as ScaleName, u as WorldScaleName, s as ScaleNameInput } from './masks-Cc7-MzzY.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Which of the two modes a key signature is read in.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { T as TimeSignature, b as MeterLike } from './index-
|
|
1
|
+
import { T as TimeSignature, b as MeterLike } from './index-CL4b4gUQ.js';
|
|
2
2
|
import { a as Articulation, h as NoteEvent } from './index-Cy15oTvh.js';
|
|
3
3
|
import { S as SeedPath, d as PositionalRng, I as InstrumentProfile, f as StringedProfile } from './positional-DJgs6ltD.js';
|
|
4
|
-
import { d as ChordQuality, e as ChordSegment, c as ChordLike, K as KeyLike, b as Chord, m as ProfileWeights, g as ChordSpan, n as ResolvedKey,
|
|
5
|
-
import { e as ChordTimeline, B as BorrowedSource, H as HarmonicFunction } from './index-
|
|
6
|
-
import { H as HarmonyRole } from './index-
|
|
4
|
+
import { d as ChordQuality, e as ChordSegment, c as ChordLike, K as KeyLike, b as Chord, m as ProfileWeights, g as ChordSpan, n as ResolvedKey, r as SpelledKeyLike } from './coerce-DP0vYu-x.js';
|
|
5
|
+
import { e as ChordTimeline, B as BorrowedSource, H as HarmonicFunction } from './index-CJBBiAmU.js';
|
|
6
|
+
import { H as HarmonyRole } from './index-Dw2DP7vm.js';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* The samplers a generator needs, each addressed by the position it is drawing
|
|
@@ -88,6 +88,9 @@ type MeterChange = {
|
|
|
88
88
|
* a map opening at the pickup it covers numbers its bars exactly as the bare
|
|
89
89
|
* signature does. Every later entry starts a bar at the beat it takes effect.
|
|
90
90
|
*
|
|
91
|
+
* Pass the whole piece with its map rather than one call per meter span: a
|
|
92
|
+
* split call cannot see a voice move or a key region that crosses the change.
|
|
93
|
+
*
|
|
91
94
|
* @category Rhythm & Meter
|
|
92
95
|
*/
|
|
93
96
|
type MeterMap = MeterChange[];
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { T as TimeSignature, b as MeterLike } from './index-
|
|
1
|
+
import { T as TimeSignature, b as MeterLike } from './index-BMweUlm5.cjs';
|
|
2
2
|
import { a as Articulation, h as NoteEvent } from './index-Cy15oTvh.cjs';
|
|
3
3
|
import { S as SeedPath, d as PositionalRng, I as InstrumentProfile, f as StringedProfile } from './positional-DMZer-FM.cjs';
|
|
4
|
-
import { d as ChordQuality, e as ChordSegment, c as ChordLike, K as KeyLike, b as Chord, m as ProfileWeights, g as ChordSpan, n as ResolvedKey,
|
|
5
|
-
import { e as ChordTimeline, B as BorrowedSource, H as HarmonicFunction } from './index-
|
|
6
|
-
import { H as HarmonyRole } from './index-
|
|
4
|
+
import { d as ChordQuality, e as ChordSegment, c as ChordLike, K as KeyLike, b as Chord, m as ProfileWeights, g as ChordSpan, n as ResolvedKey, r as SpelledKeyLike } from './coerce-DRERzdve.cjs';
|
|
5
|
+
import { e as ChordTimeline, B as BorrowedSource, H as HarmonicFunction } from './index-BBWNZS0f.cjs';
|
|
6
|
+
import { H as HarmonyRole } from './index-BL5N2Oyz.cjs';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* The samplers a generator needs, each addressed by the position it is drawing
|