@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.
Files changed (93) hide show
  1. package/dist/analyze/index.cjs +7 -7
  2. package/dist/analyze/index.d.cts +8 -8
  3. package/dist/analyze/index.d.ts +8 -8
  4. package/dist/analyze/index.js +6 -6
  5. package/dist/{chunk-TT6PKMPR.cjs → chunk-35NBV2FT.cjs} +16 -16
  6. package/dist/{chunk-TT6PKMPR.cjs.map → chunk-35NBV2FT.cjs.map} +1 -1
  7. package/dist/{chunk-YPB3A3EY.cjs → chunk-3R3QVKY5.cjs} +314 -285
  8. package/dist/chunk-3R3QVKY5.cjs.map +1 -0
  9. package/dist/{chunk-RVS4G4MR.cjs → chunk-76ZBTRG2.cjs} +198 -198
  10. package/dist/{chunk-RVS4G4MR.cjs.map → chunk-76ZBTRG2.cjs.map} +1 -1
  11. package/dist/{chunk-X6RJAHII.js → chunk-7KG3RTYS.js} +2 -2
  12. package/dist/{chunk-PQL7E5F6.js → chunk-AGOVW7U6.js} +1 -1
  13. package/dist/{chunk-PQL7E5F6.js.map → chunk-AGOVW7U6.js.map} +1 -1
  14. package/dist/{chunk-J772DL3B.cjs → chunk-CGBADIO5.cjs} +53 -53
  15. package/dist/{chunk-J772DL3B.cjs.map → chunk-CGBADIO5.cjs.map} +1 -1
  16. package/dist/{chunk-GDKE6RQW.cjs → chunk-DSMJRXCZ.cjs} +402 -401
  17. package/dist/chunk-DSMJRXCZ.cjs.map +1 -0
  18. package/dist/{chunk-DKICR7AN.js → chunk-FBH75DAY.js} +13 -12
  19. package/dist/{chunk-DKICR7AN.js.map → chunk-FBH75DAY.js.map} +1 -1
  20. package/dist/{chunk-VLE5R7PF.js → chunk-H2KJHBW4.js} +4 -4
  21. package/dist/{chunk-XVMJO3QF.cjs → chunk-HPVSH7SF.cjs} +237 -215
  22. package/dist/chunk-HPVSH7SF.cjs.map +1 -0
  23. package/dist/{chunk-QCXYKSZS.cjs → chunk-HWHGOVO6.cjs} +19 -19
  24. package/dist/{chunk-QCXYKSZS.cjs.map → chunk-HWHGOVO6.cjs.map} +1 -1
  25. package/dist/{chunk-HSY2VQXZ.js → chunk-HYJJ2V2I.js} +32 -10
  26. package/dist/chunk-HYJJ2V2I.js.map +1 -0
  27. package/dist/{chunk-5KW7DNCJ.cjs → chunk-J7FHVZII.cjs} +445 -445
  28. package/dist/{chunk-5KW7DNCJ.cjs.map → chunk-J7FHVZII.cjs.map} +1 -1
  29. package/dist/{chunk-AWEMD747.js → chunk-M5RYMAFI.js} +3 -3
  30. package/dist/{chunk-H66ARFU5.js → chunk-NB25P3EH.js} +3 -3
  31. package/dist/{chunk-57WB2EDF.js → chunk-NFJ4P6ZZ.js} +3 -3
  32. package/dist/{chunk-5JJ6EHEZ.cjs → chunk-NM7UAMC3.cjs} +62 -62
  33. package/dist/{chunk-5JJ6EHEZ.cjs.map → chunk-NM7UAMC3.cjs.map} +1 -1
  34. package/dist/{chunk-R7B5N2JK.cjs → chunk-PM4XJE2Y.cjs} +47 -47
  35. package/dist/{chunk-R7B5N2JK.cjs.map → chunk-PM4XJE2Y.cjs.map} +1 -1
  36. package/dist/{chunk-7GOKQJTQ.js → chunk-PUKJP2Z5.js} +2 -2
  37. package/dist/{chunk-R5VUXQMP.js → chunk-Q6LFSAKV.js} +7 -7
  38. package/dist/{chunk-FPBZFNCD.js → chunk-RFIBF2RR.js} +47 -18
  39. package/dist/{chunk-FPBZFNCD.js.map → chunk-RFIBF2RR.js.map} +1 -1
  40. package/dist/{chunk-XKSO2V5I.cjs → chunk-S5BKZZGM.cjs} +1 -1
  41. package/dist/{chunk-XKSO2V5I.cjs.map → chunk-S5BKZZGM.cjs.map} +1 -1
  42. package/dist/{chunk-Q6R3QAZD.cjs → chunk-SGLEQVJH.cjs} +332 -332
  43. package/dist/{chunk-Q6R3QAZD.cjs.map → chunk-SGLEQVJH.cjs.map} +1 -1
  44. package/dist/{chunk-HOHFYGKW.js → chunk-UMWZ4ZET.js} +2 -2
  45. package/dist/{coerce-wwdELNYS.d.ts → coerce-DP0vYu-x.d.ts} +77 -1
  46. package/dist/{coerce-CJlgULrQ.d.cts → coerce-DRERzdve.d.cts} +77 -1
  47. package/dist/core/index.cjs +5 -5
  48. package/dist/core/index.d.cts +2 -2
  49. package/dist/core/index.d.ts +2 -2
  50. package/dist/core/index.js +4 -4
  51. package/dist/generate/index.cjs +8 -8
  52. package/dist/generate/index.d.cts +8 -8
  53. package/dist/generate/index.d.ts +8 -8
  54. package/dist/generate/index.js +7 -7
  55. package/dist/{index-BaoKVVhE.d.cts → index-B9QLziDe.d.cts} +2 -2
  56. package/dist/{index-B3WCj_Hm.d.cts → index-BBWNZS0f.d.cts} +2 -2
  57. package/dist/{index-CnHQgqNh.d.ts → index-BHIUyjhZ.d.ts} +2 -2
  58. package/dist/{index-DpC-mDlV.d.ts → index-BJgP97N1.d.ts} +4 -4
  59. package/dist/{index-CBCP84rv.d.cts → index-BL5N2Oyz.d.cts} +1 -1
  60. package/dist/{index-D_hzxD8w.d.cts → index-BMweUlm5.d.cts} +3 -0
  61. package/dist/{index-BzLNkmA7.d.cts → index-BNSM-DSk.d.cts} +4 -4
  62. package/dist/{index-BUtIf2go.d.ts → index-BRMbPkHE.d.ts} +25 -5
  63. package/dist/{index-BpWOhkkE.d.ts → index-CJBBiAmU.d.ts} +2 -2
  64. package/dist/{index-Ci3xyows.d.ts → index-CL4b4gUQ.d.ts} +3 -0
  65. package/dist/{index-DTsKaPaC.d.cts → index-DGCNKAUr.d.cts} +25 -5
  66. package/dist/{index-CnIdP4EZ.d.ts → index-Dw2DP7vm.d.ts} +1 -1
  67. package/dist/index.cjs +13 -13
  68. package/dist/index.d.cts +8 -8
  69. package/dist/index.d.ts +8 -8
  70. package/dist/index.js +12 -12
  71. package/dist/{masks-O73Rhj5d.d.ts → masks-Cc7-MzzY.d.ts} +1 -1
  72. package/dist/{masks-C8TWLFIi.d.cts → masks-pADfTOiD.d.cts} +1 -1
  73. package/dist/model/index.cjs +12 -12
  74. package/dist/model/index.d.cts +16 -15
  75. package/dist/model/index.d.ts +16 -15
  76. package/dist/model/index.js +11 -11
  77. package/dist/theory/index.cjs +5 -5
  78. package/dist/theory/index.d.cts +7 -7
  79. package/dist/theory/index.d.ts +7 -7
  80. package/dist/theory/index.js +4 -4
  81. package/package.json +6 -5
  82. package/dist/chunk-GDKE6RQW.cjs.map +0 -1
  83. package/dist/chunk-HSY2VQXZ.js.map +0 -1
  84. package/dist/chunk-XVMJO3QF.cjs.map +0 -1
  85. package/dist/chunk-YPB3A3EY.cjs.map +0 -1
  86. /package/dist/{chunk-X6RJAHII.js.map → chunk-7KG3RTYS.js.map} +0 -0
  87. /package/dist/{chunk-VLE5R7PF.js.map → chunk-H2KJHBW4.js.map} +0 -0
  88. /package/dist/{chunk-AWEMD747.js.map → chunk-M5RYMAFI.js.map} +0 -0
  89. /package/dist/{chunk-H66ARFU5.js.map → chunk-NB25P3EH.js.map} +0 -0
  90. /package/dist/{chunk-57WB2EDF.js.map → chunk-NFJ4P6ZZ.js.map} +0 -0
  91. /package/dist/{chunk-7GOKQJTQ.js.map → chunk-PUKJP2Z5.js.map} +0 -0
  92. /package/dist/{chunk-R5VUXQMP.js.map → chunk-Q6LFSAKV.js.map} +0 -0
  93. /package/dist/{chunk-HOHFYGKW.js.map → chunk-UMWZ4ZET.js.map} +0 -0
@@ -16,23 +16,23 @@
16
16
 
17
17
 
18
18
 
19
- var _chunkGDKE6RQWcjs = require('../chunk-GDKE6RQW.cjs');
20
- require('../chunk-XVMJO3QF.cjs');
21
- require('../chunk-5JJ6EHEZ.cjs');
22
- require('../chunk-5KW7DNCJ.cjs');
23
- require('../chunk-Q6R3QAZD.cjs');
24
- require('../chunk-J772DL3B.cjs');
25
- require('../chunk-TT6PKMPR.cjs');
26
- require('../chunk-RVS4G4MR.cjs');
27
- require('../chunk-R7B5N2JK.cjs');
19
+ var _chunkDSMJRXCZcjs = require('../chunk-DSMJRXCZ.cjs');
20
+ require('../chunk-HPVSH7SF.cjs');
21
+ require('../chunk-NM7UAMC3.cjs');
22
+ require('../chunk-J7FHVZII.cjs');
23
+ require('../chunk-SGLEQVJH.cjs');
24
+ require('../chunk-CGBADIO5.cjs');
25
+ require('../chunk-35NBV2FT.cjs');
26
+ require('../chunk-76ZBTRG2.cjs');
27
+ require('../chunk-PM4XJE2Y.cjs');
28
28
 
29
29
 
30
- var _chunkYPB3A3EYcjs = require('../chunk-YPB3A3EY.cjs');
30
+ var _chunk3R3QVKY5cjs = require('../chunk-3R3QVKY5.cjs');
31
31
 
32
32
 
33
33
 
34
34
 
35
- var _chunkXKSO2V5Icjs = require('../chunk-XKSO2V5I.cjs');
35
+ var _chunkS5BKZZGMcjs = require('../chunk-S5BKZZGM.cjs');
36
36
 
37
37
 
38
38
 
@@ -55,5 +55,5 @@ var _chunkXKSO2V5Icjs = require('../chunk-XKSO2V5I.cjs');
55
55
 
56
56
 
57
57
 
58
- exports.Arrangement = _chunkGDKE6RQWcjs.Arrangement; exports.BudgetExceededError = _chunkXKSO2V5Icjs.BudgetExceededError; exports.Chord = _chunkGDKE6RQWcjs.Chord; exports.Composer = _chunkGDKE6RQWcjs.Composer; exports.Duration = _chunkGDKE6RQWcjs.Duration; exports.Instrument = _chunkGDKE6RQWcjs.Instrument; exports.Interval = _chunkGDKE6RQWcjs.Interval; exports.InvalidInputError = _chunkXKSO2V5Icjs.InvalidInputError; exports.Key = _chunkGDKE6RQWcjs.Key; exports.Meter = _chunkGDKE6RQWcjs.Meter; exports.Motif = _chunkGDKE6RQWcjs.Motif; exports.NoSolutionError = _chunkXKSO2V5Icjs.NoSolutionError; exports.Note = _chunkGDKE6RQWcjs.Note; exports.NoteSafety = _chunkYPB3A3EYcjs.NoteSafety; exports.Progression = _chunkGDKE6RQWcjs.Progression; exports.Rhythm = _chunkGDKE6RQWcjs.Rhythm; exports.Score = _chunkGDKE6RQWcjs.Score; exports.Tempo = _chunkGDKE6RQWcjs.Tempo; exports.Timeline = _chunkGDKE6RQWcjs.Timeline; exports.Tuning = _chunkGDKE6RQWcjs.Tuning; exports.Voicing = _chunkGDKE6RQWcjs.Voicing;
58
+ exports.Arrangement = _chunkDSMJRXCZcjs.Arrangement; exports.BudgetExceededError = _chunkS5BKZZGMcjs.BudgetExceededError; exports.Chord = _chunkDSMJRXCZcjs.Chord; exports.Composer = _chunkDSMJRXCZcjs.Composer; exports.Duration = _chunkDSMJRXCZcjs.Duration; exports.Instrument = _chunkDSMJRXCZcjs.Instrument; exports.Interval = _chunkDSMJRXCZcjs.Interval; exports.InvalidInputError = _chunkS5BKZZGMcjs.InvalidInputError; exports.Key = _chunkDSMJRXCZcjs.Key; exports.Meter = _chunkDSMJRXCZcjs.Meter; exports.Motif = _chunkDSMJRXCZcjs.Motif; exports.NoSolutionError = _chunkS5BKZZGMcjs.NoSolutionError; exports.Note = _chunkDSMJRXCZcjs.Note; exports.NoteSafety = _chunk3R3QVKY5cjs.NoteSafety; exports.Progression = _chunkDSMJRXCZcjs.Progression; exports.Rhythm = _chunkDSMJRXCZcjs.Rhythm; exports.Score = _chunkDSMJRXCZcjs.Score; exports.Tempo = _chunkDSMJRXCZcjs.Tempo; exports.Timeline = _chunkDSMJRXCZcjs.Timeline; exports.Tuning = _chunkDSMJRXCZcjs.Tuning; exports.Voicing = _chunkDSMJRXCZcjs.Voicing;
59
59
  //# sourceMappingURL=index.cjs.map
@@ -1,23 +1,23 @@
1
- import { R as ReduceProgressionOptions, u as ReducedChord, D as DetectChordOptions, C as ChordMatch, g as DetectKeyOptions, K as KeyMatch, d as AugmentedSixthKind, s as PhraseOptions, P as Phrase, S as StructuralCadence, h as FormSectionOptions, F as FormSection, i as HypermeterOptions, H as Hypermeter, E as ExtractMotifsOptions, o as MotifData, j as MelodicContour, c as ArrangementTrack, a as ArrangementOptions, A as ArrangementAnalysis, e as Conflict, y as TrackEdit, T as TensionPoint, q as MotifRelation } from '../index-DTsKaPaC.cjs';
2
- export { b as ArrangementSession, f as ContourDirection, k as MelodicContourShape, n as ModalScaleName, p as MotifOccurrence, r as MotifRelationKind, t as PhraseSignal, v as ReductionBasis, w as ReductionLevel, x as TrackAnalysis, z as TrackRole } from '../index-DTsKaPaC.cjs';
3
- import { k as KeyRegion, f as ChordTimelineOptions, C as CadenceHit, l as KeyTimelineOptions, h as ChordToRomanOptions, e as ChordTimeline, H as HarmonicFunction, A as AnalyzeChordOptions, D as DetectCadenceOptions, c as ChordAnalysis, b as CadenceResult, E as ExplainRomanOptions, m as RomanExplanation, B as BorrowedSource, a as AnalyzedNote, I as IdentifiedVoiceNote } from '../index-B3WCj_Hm.cjs';
4
- export { d as ChordSegmentation, g as ChordTimelineResult, K as KeyContext, i as KeyProfileName, j as KeyProfilePair, P as PivotChord, R as RejectedCandidate, S as SuspensionFigure, T as TheoryLabel, V as VoiceNote } from '../index-B3WCj_Hm.cjs';
1
+ import { R as ReduceProgressionOptions, v as ReducedChord, D as DetectChordOptions, C as ChordMatch, h as DetectKeyOptions, K as KeyMatch, d as AugmentedSixthKind, t as PhraseOptions, P as Phrase, S as StructuralCadence, i as FormSectionOptions, F as FormSection, j as HypermeterOptions, H as Hypermeter, E as ExtractMotifsOptions, p as MotifData, k as MelodicContour, c as ArrangementTrack, a as ArrangementOptions, A as ArrangementAnalysis, e as Conflict, z as TrackEdit, T as TensionPoint, r as MotifRelation } from '../index-DGCNKAUr.cjs';
2
+ export { b as ArrangementSession, f as ConflictPartner, g as ContourDirection, l as MelodicContourShape, o as ModalScaleName, q as MotifOccurrence, s as MotifRelationKind, u as PhraseSignal, w as ReductionBasis, x as ReductionLevel, y as TrackAnalysis, B as TrackRole } from '../index-DGCNKAUr.cjs';
3
+ import { k as KeyRegion, f as ChordTimelineOptions, C as CadenceHit, l as KeyTimelineOptions, h as ChordToRomanOptions, e as ChordTimeline, H as HarmonicFunction, A as AnalyzeChordOptions, D as DetectCadenceOptions, c as ChordAnalysis, b as CadenceResult, E as ExplainRomanOptions, m as RomanExplanation, B as BorrowedSource, a as AnalyzedNote, I as IdentifiedVoiceNote } from '../index-BBWNZS0f.cjs';
4
+ export { d as ChordSegmentation, g as ChordTimelineResult, K as KeyContext, i as KeyProfileName, j as KeyProfilePair, P as PivotChord, R as RejectedCandidate, S as SuspensionFigure, T as TheoryLabel, V as VoiceNote } from '../index-BBWNZS0f.cjs';
5
5
  import { c as IntervalQualityLabel, I as IntervalData, P as ParseResult, S as SpelledInterval, g as Note$1, j as NoteNameOptions, b as IntervalLike, h as NoteEvent, i as NoteLike, e as KeyScale, a as Articulation } from '../index-Cy15oTvh.cjs';
6
6
  export { B as BudgetExceededError, d as InvalidInputError, L as LibcantusError, N as NoSolutionError, k as NoteNameSystem } from '../index-Cy15oTvh.cjs';
7
- import { K as KeyLike, e as ChordSegment, g as ChordSpan, b as Chord$1, d as ChordQuality, h as ChordSpec, i as ChordToneRole, n as ResolvedKey, k as KeyVariant, j as KeyRelation, c as ChordLike, q as SpelledKeyLike, o as SafetyQuery, E as EvaluateSafetyOptions, p as SafetyResult } from '../coerce-CJlgULrQ.cjs';
8
- export { A as Alteration, a as AlteredDegree, C as ChordBase, f as ChordSeventh, N as NoteSafety, l as PitchSpelling, m as ProfileWeights, S as SafetyProfile, r as SpelledKeyScale, V as VoiceSnapshot } from '../coerce-CJlgULrQ.cjs';
7
+ import { K as KeyLike, e as ChordSegment, g as ChordSpan, b as Chord$1, d as ChordQuality, h as ChordSpec, i as ChordToneRole, n as ResolvedKey, k as KeyVariant, j as KeyRelation, c as ChordLike, r as SpelledKeyLike, p as SafetyQuery, E as EvaluateSafetyOptions, q as SafetyResult } from '../coerce-DRERzdve.cjs';
8
+ export { A as Alteration, a as AlteredDegree, C as ChordBase, f as ChordSeventh, N as NoteSafety, l as PitchSpelling, m as ProfileWeights, S as SafetyPartner, o as SafetyProfile, s as SpelledKeyScale, V as VoiceSnapshot } from '../coerce-DRERzdve.cjs';
9
9
  import { j as TuningTable, i as TempoMap, g as PlayabilityReport, b as NoteEventIndexOptions, a as NoteEventIndex, d as NoteValue, k as Tuplet, D as DurationData, S as SpelledDuration } from '../index-cHvbYgJI.cjs';
10
10
  export { I as IndexedNoteEvent, c as NotePlacement, O as OnsetTieBreak, P as PlayabilityIssue, e as PlayabilityIssueType, f as PlayabilityLayer, h as TempoEvent } from '../index-cHvbYgJI.cjs';
11
11
  import { b as InstrumentProfileLike, d as PositionalRng, I as InstrumentProfile, e as StringFingering } from '../positional-DMZer-FM.cjs';
12
12
  export { a as InstrumentProfileCommon, c as Limb, P as PercussionProfile, S as SeedPath, f as StringedProfile, V as ValidatedPercussionProfile, g as ValidatedProfile, h as ValidatedStringedProfile } from '../positional-DMZer-FM.cjs';
13
- import { c as MeterMap, b as MeterLike, B as BarPosition, T as TimeSignature } from '../index-D_hzxD8w.cjs';
14
- export { M as MeterChange } from '../index-D_hzxD8w.cjs';
15
- import { s as ScaleNameInput, r as ScaleName } from '../masks-C8TWLFIi.cjs';
16
- import { n as TransposingInstrument, r as VoicingOptions, h as ScaleChoice, d as ChordSymbolOptions, m as StyledVoicingOptions, C as ChordScaleMatch, c as ChordScaleReportEntry, A as AvailableTensionsOptions, b as AvoidNotesOptions, K as KeyMode, i as ScaleSystem, q as VoiceRange, P as PartWritingOptions, e as PartWritingViolation, j as Species, k as SpeciesOptions, V as VoiceIndependenceOptions, p as VoiceIndependenceReport } from '../index-BaoKVVhE.cjs';
17
- export { a as AvoidNoteUse, f as PartWritingViolationKind, o as TransposingInstrumentName, s as VoicingStyle } from '../index-BaoKVVhE.cjs';
18
- import { a2 as SubstitutionType, a0 as SubstituteOptions, a1 as Substitution, g as BorrowedChord, z as HumanizeOptions, L as OrnamentOptions, w as GrooveTemplate, d as BassLineOptions, C as Complexity, a4 as Vocabulary, T as ProgressionOptions, o as DrumsOptions, e as BassSegment, h as CounterMelodyOptions, H as HarmonizeOptions, p as GenerationContext, A as MotifCell, F as MotifContour, q as GenerationContextInput, I as MotifNote, K as MotifTransform, Y as RhythmEvent, Z as RhythmOptions } from '../index-BzLNkmA7.cjs';
19
- export { f as BassStyle, l as DrumRole, E as EuclideanKick, r as Genre, s as GridEvent, t as GrooveFeel, u as GrooveSlot, v as GrooveStyle, x as HarmonizePlacement, M as MelodyNote, N as OrnamentStyle, Q as ProgFunction, R as ProgStyle, S as ProgressionDegree, U as ProgressionPreset, V as Provenance, W as ProvenanceBasis, $ as Section } from '../index-BzLNkmA7.cjs';
20
- import '../index-CBCP84rv.cjs';
13
+ import { c as MeterMap, b as MeterLike, B as BarPosition, T as TimeSignature } from '../index-BMweUlm5.cjs';
14
+ export { M as MeterChange } from '../index-BMweUlm5.cjs';
15
+ import { s as ScaleNameInput, r as ScaleName } from '../masks-pADfTOiD.cjs';
16
+ import { n as TransposingInstrument, r as VoicingOptions, h as ScaleChoice, d as ChordSymbolOptions, m as StyledVoicingOptions, C as ChordScaleMatch, c as ChordScaleReportEntry, A as AvailableTensionsOptions, b as AvoidNotesOptions, K as KeyMode, i as ScaleSystem, q as VoiceRange, P as PartWritingOptions, e as PartWritingViolation, j as Species, k as SpeciesOptions, V as VoiceIndependenceOptions, p as VoiceIndependenceReport } from '../index-B9QLziDe.cjs';
17
+ export { a as AvoidNoteUse, f as PartWritingViolationKind, o as TransposingInstrumentName, s as VoicingStyle } from '../index-B9QLziDe.cjs';
18
+ import { a2 as SubstitutionType, a0 as SubstituteOptions, a1 as Substitution, g as BorrowedChord, z as HumanizeOptions, L as OrnamentOptions, w as GrooveTemplate, d as BassLineOptions, C as Complexity, a4 as Vocabulary, T as ProgressionOptions, o as DrumsOptions, e as BassSegment, h as CounterMelodyOptions, H as HarmonizeOptions, p as GenerationContext, A as MotifCell, F as MotifContour, q as GenerationContextInput, I as MotifNote, K as MotifTransform, Y as RhythmEvent, Z as RhythmOptions } from '../index-BNSM-DSk.cjs';
19
+ export { f as BassStyle, l as DrumRole, E as EuclideanKick, r as Genre, s as GridEvent, t as GrooveFeel, u as GrooveSlot, v as GrooveStyle, x as HarmonizePlacement, M as MelodyNote, N as OrnamentStyle, Q as ProgFunction, R as ProgStyle, S as ProgressionDegree, U as ProgressionPreset, V as Provenance, W as ProvenanceBasis, $ as Section } from '../index-BNSM-DSk.cjs';
20
+ import '../index-BL5N2Oyz.cjs';
21
21
 
22
22
  /**
23
23
  * An immutable spelled interval value: a diatonic number, a quality label, and
@@ -5672,7 +5672,8 @@ declare class Voicing {
5672
5672
  * @param pitch The candidate MIDI pitch.
5673
5673
  * @param query The candidate's harmonic and voice-leading context.
5674
5674
  * @param opts Set `suggestions: false` to skip the search for safe
5675
- * replacements when the verdict is not safe.
5675
+ * replacements when the verdict is not safe, and `partners: true` to learn
5676
+ * which voice of this voicing, by index, raised each pairwise flag.
5676
5677
  * @returns The verdict, reason bitmask, and optional resolution guidance.
5677
5678
  * @throws If the profile is unknown, a value names no chord or key, or a
5678
5679
  * pitch is not a MIDI pitch in 0..127.
@@ -1,23 +1,23 @@
1
- import { R as ReduceProgressionOptions, u as ReducedChord, D as DetectChordOptions, C as ChordMatch, g as DetectKeyOptions, K as KeyMatch, d as AugmentedSixthKind, s as PhraseOptions, P as Phrase, S as StructuralCadence, h as FormSectionOptions, F as FormSection, i as HypermeterOptions, H as Hypermeter, E as ExtractMotifsOptions, o as MotifData, j as MelodicContour, c as ArrangementTrack, a as ArrangementOptions, A as ArrangementAnalysis, e as Conflict, y as TrackEdit, T as TensionPoint, q as MotifRelation } from '../index-BUtIf2go.js';
2
- export { b as ArrangementSession, f as ContourDirection, k as MelodicContourShape, n as ModalScaleName, p as MotifOccurrence, r as MotifRelationKind, t as PhraseSignal, v as ReductionBasis, w as ReductionLevel, x as TrackAnalysis, z as TrackRole } from '../index-BUtIf2go.js';
3
- import { k as KeyRegion, f as ChordTimelineOptions, C as CadenceHit, l as KeyTimelineOptions, h as ChordToRomanOptions, e as ChordTimeline, H as HarmonicFunction, A as AnalyzeChordOptions, D as DetectCadenceOptions, c as ChordAnalysis, b as CadenceResult, E as ExplainRomanOptions, m as RomanExplanation, B as BorrowedSource, a as AnalyzedNote, I as IdentifiedVoiceNote } from '../index-BpWOhkkE.js';
4
- export { d as ChordSegmentation, g as ChordTimelineResult, K as KeyContext, i as KeyProfileName, j as KeyProfilePair, P as PivotChord, R as RejectedCandidate, S as SuspensionFigure, T as TheoryLabel, V as VoiceNote } from '../index-BpWOhkkE.js';
1
+ import { R as ReduceProgressionOptions, v as ReducedChord, D as DetectChordOptions, C as ChordMatch, h as DetectKeyOptions, K as KeyMatch, d as AugmentedSixthKind, t as PhraseOptions, P as Phrase, S as StructuralCadence, i as FormSectionOptions, F as FormSection, j as HypermeterOptions, H as Hypermeter, E as ExtractMotifsOptions, p as MotifData, k as MelodicContour, c as ArrangementTrack, a as ArrangementOptions, A as ArrangementAnalysis, e as Conflict, z as TrackEdit, T as TensionPoint, r as MotifRelation } from '../index-BRMbPkHE.js';
2
+ export { b as ArrangementSession, f as ConflictPartner, g as ContourDirection, l as MelodicContourShape, o as ModalScaleName, q as MotifOccurrence, s as MotifRelationKind, u as PhraseSignal, w as ReductionBasis, x as ReductionLevel, y as TrackAnalysis, B as TrackRole } from '../index-BRMbPkHE.js';
3
+ import { k as KeyRegion, f as ChordTimelineOptions, C as CadenceHit, l as KeyTimelineOptions, h as ChordToRomanOptions, e as ChordTimeline, H as HarmonicFunction, A as AnalyzeChordOptions, D as DetectCadenceOptions, c as ChordAnalysis, b as CadenceResult, E as ExplainRomanOptions, m as RomanExplanation, B as BorrowedSource, a as AnalyzedNote, I as IdentifiedVoiceNote } from '../index-CJBBiAmU.js';
4
+ export { d as ChordSegmentation, g as ChordTimelineResult, K as KeyContext, i as KeyProfileName, j as KeyProfilePair, P as PivotChord, R as RejectedCandidate, S as SuspensionFigure, T as TheoryLabel, V as VoiceNote } from '../index-CJBBiAmU.js';
5
5
  import { c as IntervalQualityLabel, I as IntervalData, P as ParseResult, S as SpelledInterval, g as Note$1, j as NoteNameOptions, b as IntervalLike, h as NoteEvent, i as NoteLike, e as KeyScale, a as Articulation } from '../index-Cy15oTvh.js';
6
6
  export { B as BudgetExceededError, d as InvalidInputError, L as LibcantusError, N as NoSolutionError, k as NoteNameSystem } from '../index-Cy15oTvh.js';
7
- import { K as KeyLike, e as ChordSegment, g as ChordSpan, b as Chord$1, d as ChordQuality, h as ChordSpec, i as ChordToneRole, n as ResolvedKey, k as KeyVariant, j as KeyRelation, c as ChordLike, q as SpelledKeyLike, o as SafetyQuery, E as EvaluateSafetyOptions, p as SafetyResult } from '../coerce-wwdELNYS.js';
8
- export { A as Alteration, a as AlteredDegree, C as ChordBase, f as ChordSeventh, N as NoteSafety, l as PitchSpelling, m as ProfileWeights, S as SafetyProfile, r as SpelledKeyScale, V as VoiceSnapshot } from '../coerce-wwdELNYS.js';
7
+ import { K as KeyLike, e as ChordSegment, g as ChordSpan, b as Chord$1, d as ChordQuality, h as ChordSpec, i as ChordToneRole, n as ResolvedKey, k as KeyVariant, j as KeyRelation, c as ChordLike, r as SpelledKeyLike, p as SafetyQuery, E as EvaluateSafetyOptions, q as SafetyResult } from '../coerce-DP0vYu-x.js';
8
+ export { A as Alteration, a as AlteredDegree, C as ChordBase, f as ChordSeventh, N as NoteSafety, l as PitchSpelling, m as ProfileWeights, S as SafetyPartner, o as SafetyProfile, s as SpelledKeyScale, V as VoiceSnapshot } from '../coerce-DP0vYu-x.js';
9
9
  import { j as TuningTable, i as TempoMap, g as PlayabilityReport, b as NoteEventIndexOptions, a as NoteEventIndex, d as NoteValue, k as Tuplet, D as DurationData, S as SpelledDuration } from '../index-9eoQs2C1.js';
10
10
  export { I as IndexedNoteEvent, c as NotePlacement, O as OnsetTieBreak, P as PlayabilityIssue, e as PlayabilityIssueType, f as PlayabilityLayer, h as TempoEvent } from '../index-9eoQs2C1.js';
11
11
  import { b as InstrumentProfileLike, d as PositionalRng, I as InstrumentProfile, e as StringFingering } from '../positional-DJgs6ltD.js';
12
12
  export { a as InstrumentProfileCommon, c as Limb, P as PercussionProfile, S as SeedPath, f as StringedProfile, V as ValidatedPercussionProfile, g as ValidatedProfile, h as ValidatedStringedProfile } from '../positional-DJgs6ltD.js';
13
- import { c as MeterMap, b as MeterLike, B as BarPosition, T as TimeSignature } from '../index-Ci3xyows.js';
14
- export { M as MeterChange } from '../index-Ci3xyows.js';
15
- import { s as ScaleNameInput, r as ScaleName } from '../masks-O73Rhj5d.js';
16
- import { n as TransposingInstrument, r as VoicingOptions, h as ScaleChoice, d as ChordSymbolOptions, m as StyledVoicingOptions, C as ChordScaleMatch, c as ChordScaleReportEntry, A as AvailableTensionsOptions, b as AvoidNotesOptions, K as KeyMode, i as ScaleSystem, q as VoiceRange, P as PartWritingOptions, e as PartWritingViolation, j as Species, k as SpeciesOptions, V as VoiceIndependenceOptions, p as VoiceIndependenceReport } from '../index-CnHQgqNh.js';
17
- export { a as AvoidNoteUse, f as PartWritingViolationKind, o as TransposingInstrumentName, s as VoicingStyle } from '../index-CnHQgqNh.js';
18
- import { a2 as SubstitutionType, a0 as SubstituteOptions, a1 as Substitution, g as BorrowedChord, z as HumanizeOptions, L as OrnamentOptions, w as GrooveTemplate, d as BassLineOptions, C as Complexity, a4 as Vocabulary, T as ProgressionOptions, o as DrumsOptions, e as BassSegment, h as CounterMelodyOptions, H as HarmonizeOptions, p as GenerationContext, A as MotifCell, F as MotifContour, q as GenerationContextInput, I as MotifNote, K as MotifTransform, Y as RhythmEvent, Z as RhythmOptions } from '../index-DpC-mDlV.js';
19
- export { f as BassStyle, l as DrumRole, E as EuclideanKick, r as Genre, s as GridEvent, t as GrooveFeel, u as GrooveSlot, v as GrooveStyle, x as HarmonizePlacement, M as MelodyNote, N as OrnamentStyle, Q as ProgFunction, R as ProgStyle, S as ProgressionDegree, U as ProgressionPreset, V as Provenance, W as ProvenanceBasis, $ as Section } from '../index-DpC-mDlV.js';
20
- import '../index-CnIdP4EZ.js';
13
+ import { c as MeterMap, b as MeterLike, B as BarPosition, T as TimeSignature } from '../index-CL4b4gUQ.js';
14
+ export { M as MeterChange } from '../index-CL4b4gUQ.js';
15
+ import { s as ScaleNameInput, r as ScaleName } from '../masks-Cc7-MzzY.js';
16
+ import { n as TransposingInstrument, r as VoicingOptions, h as ScaleChoice, d as ChordSymbolOptions, m as StyledVoicingOptions, C as ChordScaleMatch, c as ChordScaleReportEntry, A as AvailableTensionsOptions, b as AvoidNotesOptions, K as KeyMode, i as ScaleSystem, q as VoiceRange, P as PartWritingOptions, e as PartWritingViolation, j as Species, k as SpeciesOptions, V as VoiceIndependenceOptions, p as VoiceIndependenceReport } from '../index-BHIUyjhZ.js';
17
+ export { a as AvoidNoteUse, f as PartWritingViolationKind, o as TransposingInstrumentName, s as VoicingStyle } from '../index-BHIUyjhZ.js';
18
+ import { a2 as SubstitutionType, a0 as SubstituteOptions, a1 as Substitution, g as BorrowedChord, z as HumanizeOptions, L as OrnamentOptions, w as GrooveTemplate, d as BassLineOptions, C as Complexity, a4 as Vocabulary, T as ProgressionOptions, o as DrumsOptions, e as BassSegment, h as CounterMelodyOptions, H as HarmonizeOptions, p as GenerationContext, A as MotifCell, F as MotifContour, q as GenerationContextInput, I as MotifNote, K as MotifTransform, Y as RhythmEvent, Z as RhythmOptions } from '../index-BJgP97N1.js';
19
+ export { f as BassStyle, l as DrumRole, E as EuclideanKick, r as Genre, s as GridEvent, t as GrooveFeel, u as GrooveSlot, v as GrooveStyle, x as HarmonizePlacement, M as MelodyNote, N as OrnamentStyle, Q as ProgFunction, R as ProgStyle, S as ProgressionDegree, U as ProgressionPreset, V as Provenance, W as ProvenanceBasis, $ as Section } from '../index-BJgP97N1.js';
20
+ import '../index-Dw2DP7vm.js';
21
21
 
22
22
  /**
23
23
  * An immutable spelled interval value: a diatonic number, a quality label, and
@@ -5672,7 +5672,8 @@ declare class Voicing {
5672
5672
  * @param pitch The candidate MIDI pitch.
5673
5673
  * @param query The candidate's harmonic and voice-leading context.
5674
5674
  * @param opts Set `suggestions: false` to skip the search for safe
5675
- * replacements when the verdict is not safe.
5675
+ * replacements when the verdict is not safe, and `partners: true` to learn
5676
+ * which voice of this voicing, by index, raised each pairwise flag.
5676
5677
  * @returns The verdict, reason bitmask, and optional resolution guidance.
5677
5678
  * @throws If the profile is unknown, a value names no chord or key, or a
5678
5679
  * pitch is not a MIDI pitch in 0..127.
@@ -16,23 +16,23 @@ import {
16
16
  Timeline,
17
17
  Tuning,
18
18
  Voicing
19
- } from "../chunk-DKICR7AN.js";
20
- import "../chunk-HSY2VQXZ.js";
21
- import "../chunk-HOHFYGKW.js";
22
- import "../chunk-R5VUXQMP.js";
23
- import "../chunk-VLE5R7PF.js";
24
- import "../chunk-X6RJAHII.js";
25
- import "../chunk-7GOKQJTQ.js";
26
- import "../chunk-AWEMD747.js";
27
- import "../chunk-H66ARFU5.js";
19
+ } from "../chunk-FBH75DAY.js";
20
+ import "../chunk-HYJJ2V2I.js";
21
+ import "../chunk-UMWZ4ZET.js";
22
+ import "../chunk-Q6LFSAKV.js";
23
+ import "../chunk-H2KJHBW4.js";
24
+ import "../chunk-7KG3RTYS.js";
25
+ import "../chunk-PUKJP2Z5.js";
26
+ import "../chunk-M5RYMAFI.js";
27
+ import "../chunk-NB25P3EH.js";
28
28
  import {
29
29
  NoteSafety
30
- } from "../chunk-FPBZFNCD.js";
30
+ } from "../chunk-RFIBF2RR.js";
31
31
  import {
32
32
  BudgetExceededError,
33
33
  InvalidInputError,
34
34
  NoSolutionError
35
- } from "../chunk-PQL7E5F6.js";
35
+ } from "../chunk-AGOVW7U6.js";
36
36
  export {
37
37
  Arrangement,
38
38
  BudgetExceededError,
@@ -16,7 +16,7 @@
16
16
 
17
17
 
18
18
 
19
- var _chunkRVS4G4MRcjs = require('../chunk-RVS4G4MR.cjs');
19
+ var _chunk76ZBTRG2cjs = require('../chunk-76ZBTRG2.cjs');
20
20
 
21
21
 
22
22
 
@@ -25,7 +25,7 @@ var _chunkRVS4G4MRcjs = require('../chunk-RVS4G4MR.cjs');
25
25
 
26
26
 
27
27
 
28
- var _chunkR7B5N2JKcjs = require('../chunk-R7B5N2JK.cjs');
28
+ var _chunkPM4XJE2Ycjs = require('../chunk-PM4XJE2Y.cjs');
29
29
 
30
30
 
31
31
 
@@ -142,13 +142,13 @@ var _chunkR7B5N2JKcjs = require('../chunk-R7B5N2JK.cjs');
142
142
 
143
143
 
144
144
 
145
- var _chunkYPB3A3EYcjs = require('../chunk-YPB3A3EY.cjs');
145
+ var _chunk3R3QVKY5cjs = require('../chunk-3R3QVKY5.cjs');
146
146
 
147
147
 
148
148
 
149
149
 
150
150
 
151
- var _chunkXKSO2V5Icjs = require('../chunk-XKSO2V5I.cjs');
151
+ var _chunkS5BKZZGMcjs = require('../chunk-S5BKZZGM.cjs');
152
152
 
153
153
 
154
154
 
@@ -292,5 +292,5 @@ var _chunkXKSO2V5Icjs = require('../chunk-XKSO2V5I.cjs');
292
292
 
293
293
 
294
294
 
295
- exports.ALTERED_MASK = _chunkYPB3A3EYcjs.ALTERED_MASK; exports.BLUES_MASK = _chunkYPB3A3EYcjs.BLUES_MASK; exports.BudgetExceededError = _chunkXKSO2V5Icjs.BudgetExceededError; exports.CHROMATIC_MASK = _chunkYPB3A3EYcjs.CHROMATIC_MASK; exports.ConsonanceClass = _chunkXKSO2V5Icjs.ConsonanceClass; exports.DORIAN_MASK = _chunkYPB3A3EYcjs.DORIAN_MASK; exports.DOUBLE_HARMONIC_MASK = _chunkYPB3A3EYcjs.DOUBLE_HARMONIC_MASK; exports.HARMONIC_MINOR_MASK = _chunkYPB3A3EYcjs.HARMONIC_MINOR_MASK; exports.InvalidInputError = _chunkXKSO2V5Icjs.InvalidInputError; exports.LOCRIAN_MASK = _chunkYPB3A3EYcjs.LOCRIAN_MASK; exports.LOCRIAN_NATURAL2_MASK = _chunkYPB3A3EYcjs.LOCRIAN_NATURAL2_MASK; exports.LYDIAN_DOMINANT_MASK = _chunkYPB3A3EYcjs.LYDIAN_DOMINANT_MASK; exports.LYDIAN_MASK = _chunkYPB3A3EYcjs.LYDIAN_MASK; exports.MAJOR_MASK = _chunkYPB3A3EYcjs.MAJOR_MASK; exports.MAJOR_PENTATONIC_MASK = _chunkYPB3A3EYcjs.MAJOR_PENTATONIC_MASK; exports.MARWA_MASK = _chunkYPB3A3EYcjs.MARWA_MASK; exports.MELODIC_MINOR_MASK = _chunkYPB3A3EYcjs.MELODIC_MINOR_MASK; exports.MINOR_PENTATONIC_MASK = _chunkYPB3A3EYcjs.MINOR_PENTATONIC_MASK; exports.MIXOLYDIAN_B13_MASK = _chunkYPB3A3EYcjs.MIXOLYDIAN_B13_MASK; exports.MIXOLYDIAN_MASK = _chunkYPB3A3EYcjs.MIXOLYDIAN_MASK; exports.MIYAKO_BUSHI_MASK = _chunkYPB3A3EYcjs.MIYAKO_BUSHI_MASK; exports.NAMED_SCALES = _chunkYPB3A3EYcjs.NAMED_SCALES; exports.NATURAL_MINOR_MASK = _chunkYPB3A3EYcjs.NATURAL_MINOR_MASK; exports.NoSolutionError = _chunkXKSO2V5Icjs.NoSolutionError; exports.NoteSafety = _chunkYPB3A3EYcjs.NoteSafety; exports.OCTATONIC_HALF_WHOLE_MASK = _chunkYPB3A3EYcjs.OCTATONIC_HALF_WHOLE_MASK; exports.OCTATONIC_WHOLE_HALF_MASK = _chunkYPB3A3EYcjs.OCTATONIC_WHOLE_HALF_MASK; exports.PHRYGIAN_DOMINANT_MASK = _chunkYPB3A3EYcjs.PHRYGIAN_DOMINANT_MASK; exports.PHRYGIAN_MASK = _chunkYPB3A3EYcjs.PHRYGIAN_MASK; exports.PROFILE_WEIGHTS = _chunkYPB3A3EYcjs.PROFILE_WEIGHTS; exports.PURVI_MASK = _chunkYPB3A3EYcjs.PURVI_MASK; exports.RITSU_MASK = _chunkYPB3A3EYcjs.RITSU_MASK; exports.RYUKYU_MASK = _chunkYPB3A3EYcjs.RYUKYU_MASK; exports.ReasonFlag = _chunkYPB3A3EYcjs.ReasonFlag; exports.SATB_RANGES = _chunkRVS4G4MRcjs.SATB_RANGES; exports.SCALE_ALIASES = _chunkYPB3A3EYcjs.SCALE_ALIASES; exports.SCALE_SYSTEMS = _chunkYPB3A3EYcjs.SCALE_SYSTEMS; exports.TODI_MASK = _chunkYPB3A3EYcjs.TODI_MASK; exports.TRANSPOSING_INSTRUMENTS = _chunkRVS4G4MRcjs.TRANSPOSING_INSTRUMENTS; exports.WHOLE_TONE_MASK = _chunkYPB3A3EYcjs.WHOLE_TONE_MASK; exports.WORLD_SCALES = _chunkYPB3A3EYcjs.WORLD_SCALES; exports.assertKeyVariant = _chunkYPB3A3EYcjs.assertKeyVariant; exports.assertModeMask = _chunkYPB3A3EYcjs.assertModeMask; exports.availableTensions = _chunkR7B5N2JKcjs.availableTensions; exports.avoidNotes = _chunkR7B5N2JKcjs.avoidNotes; exports.checkPartWriting = _chunkRVS4G4MRcjs.checkPartWriting; exports.checkSpecies = _chunkRVS4G4MRcjs.checkSpecies; exports.chordFromDegree = _chunkYPB3A3EYcjs.chordFromDegree; exports.chordFromSpan = _chunkYPB3A3EYcjs.chordFromSpan; exports.chordFromSpec = _chunkYPB3A3EYcjs.chordFromSpec; exports.chordPitchClasses = _chunkYPB3A3EYcjs.chordPitchClasses; exports.chordQualities = _chunkYPB3A3EYcjs.chordQualities; exports.chordScaleReport = _chunkR7B5N2JKcjs.chordScaleReport; exports.chordScales = _chunkR7B5N2JKcjs.chordScales; exports.chordSpecIntervals = _chunkYPB3A3EYcjs.chordSpecIntervals; exports.chordSpecOf = _chunkYPB3A3EYcjs.chordSpecOf; exports.chordSpecQuality = _chunkYPB3A3EYcjs.chordSpecQuality; exports.chordToneRole = _chunkYPB3A3EYcjs.chordToneRole; exports.classifySpelledInterval = _chunkYPB3A3EYcjs.classifySpelledInterval; exports.createsBattuta = _chunkYPB3A3EYcjs.createsBattuta; exports.createsHiddenParallelPerfect = _chunkYPB3A3EYcjs.createsHiddenParallelPerfect; exports.createsParallelOctave = _chunkYPB3A3EYcjs.createsParallelOctave; exports.createsParallelPerfect = _chunkYPB3A3EYcjs.createsParallelPerfect; exports.createsParallelUnison = _chunkYPB3A3EYcjs.createsParallelUnison; exports.createsVerticalDissonance = _chunkYPB3A3EYcjs.createsVerticalDissonance; exports.createsVoiceCrossing = _chunkYPB3A3EYcjs.createsVoiceCrossing; exports.createsVoiceOverlap = _chunkYPB3A3EYcjs.createsVoiceOverlap; exports.diatonicPitchClasses = _chunkYPB3A3EYcjs.diatonicPitchClasses; exports.diatonicSeventh = _chunkYPB3A3EYcjs.diatonicSeventh; exports.diatonicTriad = _chunkYPB3A3EYcjs.diatonicTriad; exports.dominantKeyOf = _chunkYPB3A3EYcjs.dominantKeyOf; exports.enharmonicKeyOf = _chunkYPB3A3EYcjs.enharmonicKeyOf; exports.enumerateSafePitches = _chunkYPB3A3EYcjs.enumerateSafePitches; exports.evaluateSafety = _chunkYPB3A3EYcjs.evaluateSafety; exports.exceedsSpacing = _chunkYPB3A3EYcjs.exceedsSpacing; exports.figuredBassOf = _chunkRVS4G4MRcjs.figuredBassOf; exports.figuredBassRealization = _chunkRVS4G4MRcjs.figuredBassRealization; exports.formatChordSymbol = _chunkYPB3A3EYcjs.formatChordSymbol; exports.instrumentTransposition = _chunkRVS4G4MRcjs.instrumentTransposition; exports.intervalAboveRoot = _chunkYPB3A3EYcjs.intervalAboveRoot; exports.isAugmentedMelodicInterval = _chunkYPB3A3EYcjs.isAugmentedMelodicInterval; exports.isChordMember = _chunkYPB3A3EYcjs.isChordMember; exports.isForbiddenMelodicLeap = _chunkYPB3A3EYcjs.isForbiddenMelodicLeap; exports.isLeadingToneResolution = _chunkYPB3A3EYcjs.isLeadingToneResolution; exports.isScaleTone = _chunkYPB3A3EYcjs.isScaleTone; exports.isSignatureKey = _chunkYPB3A3EYcjs.isSignatureKey; exports.keyFromFifths = _chunkYPB3A3EYcjs.keyFromFifths; exports.keyRelationBetween = _chunkYPB3A3EYcjs.keyRelationBetween; exports.keySignatureFifths = _chunkYPB3A3EYcjs.keySignatureFifths; exports.majorKey = _chunkYPB3A3EYcjs.majorKey; exports.makeChord = _chunkYPB3A3EYcjs.makeChord; exports.maskFromOffsets = _chunkYPB3A3EYcjs.maskFromOffsets; exports.minorKey = _chunkYPB3A3EYcjs.minorKey; exports.namedScaleMask = _chunkYPB3A3EYcjs.namedScaleMask; exports.nearestScaleTone = _chunkYPB3A3EYcjs.nearestScaleTone; exports.nextVoicing = _chunkRVS4G4MRcjs.nextVoicing; exports.noteNames = _chunkYPB3A3EYcjs.noteNames; exports.parallelKeyOf = _chunkYPB3A3EYcjs.parallelKeyOf; exports.parseChordSymbol = _chunkYPB3A3EYcjs.parseChordSymbol; exports.pitchToScaleDegree = _chunkYPB3A3EYcjs.pitchToScaleDegree; exports.profileWeights = _chunkYPB3A3EYcjs.profileWeights; exports.realizeFiguredBass = _chunkRVS4G4MRcjs.realizeFiguredBass; exports.relatedKeysOf = _chunkYPB3A3EYcjs.relatedKeysOf; exports.relativeKeyOf = _chunkYPB3A3EYcjs.relativeKeyOf; exports.requireScaleMask = _chunkYPB3A3EYcjs.requireScaleMask; exports.resolveKey = _chunkYPB3A3EYcjs.resolveKey; exports.resolveScaleName = _chunkYPB3A3EYcjs.resolveScaleName; exports.roleOf = _chunkR7B5N2JKcjs.roleOf; exports.scaleByName = _chunkYPB3A3EYcjs.scaleByName; exports.scaleLadderPitch = _chunkYPB3A3EYcjs.scaleLadderPitch; exports.scaleLadderPosition = _chunkYPB3A3EYcjs.scaleLadderPosition; exports.scaleMatchesChord = _chunkR7B5N2JKcjs.scaleMatchesChord; exports.scaleOf = _chunkYPB3A3EYcjs.scaleOf; exports.scaleSystemOf = _chunkYPB3A3EYcjs.scaleSystemOf; exports.scaleTonesInDegreeOrder = _chunkYPB3A3EYcjs.scaleTonesInDegreeOrder; exports.scalesForChanges = _chunkR7B5N2JKcjs.scalesForChanges; exports.shiftByScaleDegrees = _chunkYPB3A3EYcjs.shiftByScaleDegrees; exports.spanFromChord = _chunkYPB3A3EYcjs.spanFromChord; exports.spellChord = _chunkYPB3A3EYcjs.spellChord; exports.spellChordFromRoot = _chunkYPB3A3EYcjs.spellChordFromRoot; exports.spellPitch = _chunkYPB3A3EYcjs.spellPitch; exports.spellPitchClass = _chunkYPB3A3EYcjs.spellPitchClass; exports.spellPitchClasses = _chunkYPB3A3EYcjs.spellPitchClasses; exports.spellScale = _chunkYPB3A3EYcjs.spellScale; exports.spellVoicing = _chunkRVS4G4MRcjs.spellVoicing; exports.spelledKeyOf = _chunkYPB3A3EYcjs.spelledKeyOf; exports.subdominantKeyOf = _chunkYPB3A3EYcjs.subdominantKeyOf; exports.supportsFunctionalHarmony = _chunkYPB3A3EYcjs.supportsFunctionalHarmony; exports.toChordData = _chunkYPB3A3EYcjs.toChordData; exports.toKeyScale = _chunkYPB3A3EYcjs.toKeyScale; exports.toSoundingPitch = _chunkRVS4G4MRcjs.toSoundingPitch; exports.toWrittenPitch = _chunkRVS4G4MRcjs.toWrittenPitch; exports.transposeChord = _chunkYPB3A3EYcjs.transposeChord; exports.transposeChordSymbol = _chunkYPB3A3EYcjs.transposeChordSymbol; exports.tryParseChordSymbol = _chunkYPB3A3EYcjs.tryParseChordSymbol; exports.tryResolveKeyName = _chunkYPB3A3EYcjs.tryResolveKeyName; exports.variantOfMask = _chunkYPB3A3EYcjs.variantOfMask; exports.voiceChord = _chunkRVS4G4MRcjs.voiceChord; exports.voiceChordStyled = _chunkRVS4G4MRcjs.voiceChordStyled; exports.voiceIndependence = _chunkYPB3A3EYcjs.voiceIndependence; exports.voiceLeadingCost = _chunkRVS4G4MRcjs.voiceLeadingCost; exports.voiceProgression = _chunkRVS4G4MRcjs.voiceProgression;
295
+ exports.ALTERED_MASK = _chunk3R3QVKY5cjs.ALTERED_MASK; exports.BLUES_MASK = _chunk3R3QVKY5cjs.BLUES_MASK; exports.BudgetExceededError = _chunkS5BKZZGMcjs.BudgetExceededError; exports.CHROMATIC_MASK = _chunk3R3QVKY5cjs.CHROMATIC_MASK; exports.ConsonanceClass = _chunkS5BKZZGMcjs.ConsonanceClass; exports.DORIAN_MASK = _chunk3R3QVKY5cjs.DORIAN_MASK; exports.DOUBLE_HARMONIC_MASK = _chunk3R3QVKY5cjs.DOUBLE_HARMONIC_MASK; exports.HARMONIC_MINOR_MASK = _chunk3R3QVKY5cjs.HARMONIC_MINOR_MASK; exports.InvalidInputError = _chunkS5BKZZGMcjs.InvalidInputError; exports.LOCRIAN_MASK = _chunk3R3QVKY5cjs.LOCRIAN_MASK; exports.LOCRIAN_NATURAL2_MASK = _chunk3R3QVKY5cjs.LOCRIAN_NATURAL2_MASK; exports.LYDIAN_DOMINANT_MASK = _chunk3R3QVKY5cjs.LYDIAN_DOMINANT_MASK; exports.LYDIAN_MASK = _chunk3R3QVKY5cjs.LYDIAN_MASK; exports.MAJOR_MASK = _chunk3R3QVKY5cjs.MAJOR_MASK; exports.MAJOR_PENTATONIC_MASK = _chunk3R3QVKY5cjs.MAJOR_PENTATONIC_MASK; exports.MARWA_MASK = _chunk3R3QVKY5cjs.MARWA_MASK; exports.MELODIC_MINOR_MASK = _chunk3R3QVKY5cjs.MELODIC_MINOR_MASK; exports.MINOR_PENTATONIC_MASK = _chunk3R3QVKY5cjs.MINOR_PENTATONIC_MASK; exports.MIXOLYDIAN_B13_MASK = _chunk3R3QVKY5cjs.MIXOLYDIAN_B13_MASK; exports.MIXOLYDIAN_MASK = _chunk3R3QVKY5cjs.MIXOLYDIAN_MASK; exports.MIYAKO_BUSHI_MASK = _chunk3R3QVKY5cjs.MIYAKO_BUSHI_MASK; exports.NAMED_SCALES = _chunk3R3QVKY5cjs.NAMED_SCALES; exports.NATURAL_MINOR_MASK = _chunk3R3QVKY5cjs.NATURAL_MINOR_MASK; exports.NoSolutionError = _chunkS5BKZZGMcjs.NoSolutionError; exports.NoteSafety = _chunk3R3QVKY5cjs.NoteSafety; exports.OCTATONIC_HALF_WHOLE_MASK = _chunk3R3QVKY5cjs.OCTATONIC_HALF_WHOLE_MASK; exports.OCTATONIC_WHOLE_HALF_MASK = _chunk3R3QVKY5cjs.OCTATONIC_WHOLE_HALF_MASK; exports.PHRYGIAN_DOMINANT_MASK = _chunk3R3QVKY5cjs.PHRYGIAN_DOMINANT_MASK; exports.PHRYGIAN_MASK = _chunk3R3QVKY5cjs.PHRYGIAN_MASK; exports.PROFILE_WEIGHTS = _chunk3R3QVKY5cjs.PROFILE_WEIGHTS; exports.PURVI_MASK = _chunk3R3QVKY5cjs.PURVI_MASK; exports.RITSU_MASK = _chunk3R3QVKY5cjs.RITSU_MASK; exports.RYUKYU_MASK = _chunk3R3QVKY5cjs.RYUKYU_MASK; exports.ReasonFlag = _chunk3R3QVKY5cjs.ReasonFlag; exports.SATB_RANGES = _chunk76ZBTRG2cjs.SATB_RANGES; exports.SCALE_ALIASES = _chunk3R3QVKY5cjs.SCALE_ALIASES; exports.SCALE_SYSTEMS = _chunk3R3QVKY5cjs.SCALE_SYSTEMS; exports.TODI_MASK = _chunk3R3QVKY5cjs.TODI_MASK; exports.TRANSPOSING_INSTRUMENTS = _chunk76ZBTRG2cjs.TRANSPOSING_INSTRUMENTS; exports.WHOLE_TONE_MASK = _chunk3R3QVKY5cjs.WHOLE_TONE_MASK; exports.WORLD_SCALES = _chunk3R3QVKY5cjs.WORLD_SCALES; exports.assertKeyVariant = _chunk3R3QVKY5cjs.assertKeyVariant; exports.assertModeMask = _chunk3R3QVKY5cjs.assertModeMask; exports.availableTensions = _chunkPM4XJE2Ycjs.availableTensions; exports.avoidNotes = _chunkPM4XJE2Ycjs.avoidNotes; exports.checkPartWriting = _chunk76ZBTRG2cjs.checkPartWriting; exports.checkSpecies = _chunk76ZBTRG2cjs.checkSpecies; exports.chordFromDegree = _chunk3R3QVKY5cjs.chordFromDegree; exports.chordFromSpan = _chunk3R3QVKY5cjs.chordFromSpan; exports.chordFromSpec = _chunk3R3QVKY5cjs.chordFromSpec; exports.chordPitchClasses = _chunk3R3QVKY5cjs.chordPitchClasses; exports.chordQualities = _chunk3R3QVKY5cjs.chordQualities; exports.chordScaleReport = _chunkPM4XJE2Ycjs.chordScaleReport; exports.chordScales = _chunkPM4XJE2Ycjs.chordScales; exports.chordSpecIntervals = _chunk3R3QVKY5cjs.chordSpecIntervals; exports.chordSpecOf = _chunk3R3QVKY5cjs.chordSpecOf; exports.chordSpecQuality = _chunk3R3QVKY5cjs.chordSpecQuality; exports.chordToneRole = _chunk3R3QVKY5cjs.chordToneRole; exports.classifySpelledInterval = _chunk3R3QVKY5cjs.classifySpelledInterval; exports.createsBattuta = _chunk3R3QVKY5cjs.createsBattuta; exports.createsHiddenParallelPerfect = _chunk3R3QVKY5cjs.createsHiddenParallelPerfect; exports.createsParallelOctave = _chunk3R3QVKY5cjs.createsParallelOctave; exports.createsParallelPerfect = _chunk3R3QVKY5cjs.createsParallelPerfect; exports.createsParallelUnison = _chunk3R3QVKY5cjs.createsParallelUnison; exports.createsVerticalDissonance = _chunk3R3QVKY5cjs.createsVerticalDissonance; exports.createsVoiceCrossing = _chunk3R3QVKY5cjs.createsVoiceCrossing; exports.createsVoiceOverlap = _chunk3R3QVKY5cjs.createsVoiceOverlap; exports.diatonicPitchClasses = _chunk3R3QVKY5cjs.diatonicPitchClasses; exports.diatonicSeventh = _chunk3R3QVKY5cjs.diatonicSeventh; exports.diatonicTriad = _chunk3R3QVKY5cjs.diatonicTriad; exports.dominantKeyOf = _chunk3R3QVKY5cjs.dominantKeyOf; exports.enharmonicKeyOf = _chunk3R3QVKY5cjs.enharmonicKeyOf; exports.enumerateSafePitches = _chunk3R3QVKY5cjs.enumerateSafePitches; exports.evaluateSafety = _chunk3R3QVKY5cjs.evaluateSafety; exports.exceedsSpacing = _chunk3R3QVKY5cjs.exceedsSpacing; exports.figuredBassOf = _chunk76ZBTRG2cjs.figuredBassOf; exports.figuredBassRealization = _chunk76ZBTRG2cjs.figuredBassRealization; exports.formatChordSymbol = _chunk3R3QVKY5cjs.formatChordSymbol; exports.instrumentTransposition = _chunk76ZBTRG2cjs.instrumentTransposition; exports.intervalAboveRoot = _chunk3R3QVKY5cjs.intervalAboveRoot; exports.isAugmentedMelodicInterval = _chunk3R3QVKY5cjs.isAugmentedMelodicInterval; exports.isChordMember = _chunk3R3QVKY5cjs.isChordMember; exports.isForbiddenMelodicLeap = _chunk3R3QVKY5cjs.isForbiddenMelodicLeap; exports.isLeadingToneResolution = _chunk3R3QVKY5cjs.isLeadingToneResolution; exports.isScaleTone = _chunk3R3QVKY5cjs.isScaleTone; exports.isSignatureKey = _chunk3R3QVKY5cjs.isSignatureKey; exports.keyFromFifths = _chunk3R3QVKY5cjs.keyFromFifths; exports.keyRelationBetween = _chunk3R3QVKY5cjs.keyRelationBetween; exports.keySignatureFifths = _chunk3R3QVKY5cjs.keySignatureFifths; exports.majorKey = _chunk3R3QVKY5cjs.majorKey; exports.makeChord = _chunk3R3QVKY5cjs.makeChord; exports.maskFromOffsets = _chunk3R3QVKY5cjs.maskFromOffsets; exports.minorKey = _chunk3R3QVKY5cjs.minorKey; exports.namedScaleMask = _chunk3R3QVKY5cjs.namedScaleMask; exports.nearestScaleTone = _chunk3R3QVKY5cjs.nearestScaleTone; exports.nextVoicing = _chunk76ZBTRG2cjs.nextVoicing; exports.noteNames = _chunk3R3QVKY5cjs.noteNames; exports.parallelKeyOf = _chunk3R3QVKY5cjs.parallelKeyOf; exports.parseChordSymbol = _chunk3R3QVKY5cjs.parseChordSymbol; exports.pitchToScaleDegree = _chunk3R3QVKY5cjs.pitchToScaleDegree; exports.profileWeights = _chunk3R3QVKY5cjs.profileWeights; exports.realizeFiguredBass = _chunk76ZBTRG2cjs.realizeFiguredBass; exports.relatedKeysOf = _chunk3R3QVKY5cjs.relatedKeysOf; exports.relativeKeyOf = _chunk3R3QVKY5cjs.relativeKeyOf; exports.requireScaleMask = _chunk3R3QVKY5cjs.requireScaleMask; exports.resolveKey = _chunk3R3QVKY5cjs.resolveKey; exports.resolveScaleName = _chunk3R3QVKY5cjs.resolveScaleName; exports.roleOf = _chunkPM4XJE2Ycjs.roleOf; exports.scaleByName = _chunk3R3QVKY5cjs.scaleByName; exports.scaleLadderPitch = _chunk3R3QVKY5cjs.scaleLadderPitch; exports.scaleLadderPosition = _chunk3R3QVKY5cjs.scaleLadderPosition; exports.scaleMatchesChord = _chunkPM4XJE2Ycjs.scaleMatchesChord; exports.scaleOf = _chunk3R3QVKY5cjs.scaleOf; exports.scaleSystemOf = _chunk3R3QVKY5cjs.scaleSystemOf; exports.scaleTonesInDegreeOrder = _chunk3R3QVKY5cjs.scaleTonesInDegreeOrder; exports.scalesForChanges = _chunkPM4XJE2Ycjs.scalesForChanges; exports.shiftByScaleDegrees = _chunk3R3QVKY5cjs.shiftByScaleDegrees; exports.spanFromChord = _chunk3R3QVKY5cjs.spanFromChord; exports.spellChord = _chunk3R3QVKY5cjs.spellChord; exports.spellChordFromRoot = _chunk3R3QVKY5cjs.spellChordFromRoot; exports.spellPitch = _chunk3R3QVKY5cjs.spellPitch; exports.spellPitchClass = _chunk3R3QVKY5cjs.spellPitchClass; exports.spellPitchClasses = _chunk3R3QVKY5cjs.spellPitchClasses; exports.spellScale = _chunk3R3QVKY5cjs.spellScale; exports.spellVoicing = _chunk76ZBTRG2cjs.spellVoicing; exports.spelledKeyOf = _chunk3R3QVKY5cjs.spelledKeyOf; exports.subdominantKeyOf = _chunk3R3QVKY5cjs.subdominantKeyOf; exports.supportsFunctionalHarmony = _chunk3R3QVKY5cjs.supportsFunctionalHarmony; exports.toChordData = _chunk3R3QVKY5cjs.toChordData; exports.toKeyScale = _chunk3R3QVKY5cjs.toKeyScale; exports.toSoundingPitch = _chunk76ZBTRG2cjs.toSoundingPitch; exports.toWrittenPitch = _chunk76ZBTRG2cjs.toWrittenPitch; exports.transposeChord = _chunk3R3QVKY5cjs.transposeChord; exports.transposeChordSymbol = _chunk3R3QVKY5cjs.transposeChordSymbol; exports.tryParseChordSymbol = _chunk3R3QVKY5cjs.tryParseChordSymbol; exports.tryResolveKeyName = _chunk3R3QVKY5cjs.tryResolveKeyName; exports.variantOfMask = _chunk3R3QVKY5cjs.variantOfMask; exports.voiceChord = _chunk76ZBTRG2cjs.voiceChord; exports.voiceChordStyled = _chunk76ZBTRG2cjs.voiceChordStyled; exports.voiceIndependence = _chunk3R3QVKY5cjs.voiceIndependence; exports.voiceLeadingCost = _chunk76ZBTRG2cjs.voiceLeadingCost; exports.voiceProgression = _chunk76ZBTRG2cjs.voiceProgression;
296
296
  //# sourceMappingURL=index.cjs.map
@@ -1,13 +1,13 @@
1
1
  import { e as KeyScale, j as NoteNameOptions, P as ParseResult, S as SpelledInterval, g as Note, i as NoteLike } from '../index-Cy15oTvh.cjs';
2
2
  export { B as BudgetExceededError, I as IntervalData, b as IntervalLike, c as IntervalQualityLabel, d as InvalidInputError, L as LibcantusError, N as NoSolutionError, k as NoteNameSystem } from '../index-Cy15oTvh.cjs';
3
3
  import { C as ConsonanceClass } from '../index-DInQqT8Q.cjs';
4
- import { K as KeyLike, n as ResolvedKey, r as SpelledKeyScale, c as ChordLike, b as Chord, q as SpelledKeyLike } from '../coerce-CJlgULrQ.cjs';
5
- export { A as Alteration, a as AlteredDegree, C as ChordBase, d as ChordQuality, e as ChordSegment, f as ChordSeventh, g as ChordSpan, h as ChordSpec, i as ChordToneRole, E as EvaluateSafetyOptions, j as KeyRelation, k as KeyVariant, N as NoteSafety, P as PROFILE_WEIGHTS, l as PitchSpelling, m as ProfileWeights, R as ReasonFlag, S as SafetyProfile, o as SafetyQuery, p as SafetyResult, V as VoiceSnapshot, s as chordFromDegree, t as chordFromSpan, u as chordFromSpec, v as chordPitchClasses, w as chordQualities, x as chordSpecIntervals, y as chordSpecOf, z as chordSpecQuality, B as chordToneRole, D as diatonicSeventh, F as diatonicTriad, G as dominantKeyOf, H as enharmonicKeyOf, I as enumerateSafePitches, J as evaluateSafety, L as intervalAboveRoot, M as isChordMember, O as keyRelationBetween, Q as makeChord, T as parallelKeyOf, U as profileWeights, W as relatedKeysOf, X as relativeKeyOf, Y as spanFromChord, Z as spelledKeyOf, _ as subdominantKeyOf, $ as toChordData, a0 as toKeyScale, a1 as transposeChord } from '../coerce-CJlgULrQ.cjs';
6
- import { r as VoicingOptions } from '../index-BaoKVVhE.cjs';
7
- export { A as AvailableTensionsOptions, a as AvoidNoteUse, b as AvoidNotesOptions, C as ChordScaleMatch, c as ChordScaleReportEntry, d as ChordSymbolOptions, K as KeyMode, P as PartWritingOptions, e as PartWritingViolation, f as PartWritingViolationKind, S as SATB_RANGES, g as SCALE_SYSTEMS, h as ScaleChoice, i as ScaleSystem, j as Species, k as SpeciesOptions, l as SpelledVoicing, m as StyledVoicingOptions, T as TRANSPOSING_INSTRUMENTS, n as TransposingInstrument, o as TransposingInstrumentName, V as VoiceIndependenceOptions, p as VoiceIndependenceReport, q as VoiceRange, s as VoicingStyle, t as availableTensions, u as avoidNotes, v as checkPartWriting, w as checkSpecies, x as chordScaleReport, y as chordScales, z as formatChordSymbol, B as instrumentTransposition, D as isSignatureKey, E as keyFromFifths, F as keySignatureFifths, G as parseChordSymbol, H as scaleMatchesChord, I as scaleSystemOf, J as scalesForChanges, L as spellVoicing, M as supportsFunctionalHarmony, N as toSoundingPitch, O as toWrittenPitch, Q as transposeChordSymbol, R as tryParseChordSymbol, U as voiceChord, W as voiceChordStyled, X as voiceIndependence, Y as voiceProgression } from '../index-BaoKVVhE.cjs';
8
- export { H as HarmonyRole, L as LockLevel, V as VoicedRole, r as roleOf } from '../index-CBCP84rv.cjs';
9
- import { s as ScaleNameInput } from '../masks-C8TWLFIi.cjs';
10
- export { A as ALTERED_MASK, B as BLUES_MASK, C as CHROMATIC_MASK, D as DORIAN_MASK, a as DOUBLE_HARMONIC_MASK, H as HARMONIC_MINOR_MASK, L as LOCRIAN_MASK, b as LOCRIAN_NATURAL2_MASK, c as LYDIAN_DOMINANT_MASK, d as LYDIAN_MASK, M as MAJOR_MASK, e as MAJOR_PENTATONIC_MASK, f as MARWA_MASK, g as MELODIC_MINOR_MASK, h as MINOR_PENTATONIC_MASK, i as MIXOLYDIAN_B13_MASK, j as MIXOLYDIAN_MASK, k as MIYAKO_BUSHI_MASK, N as NAMED_SCALES, l as NATURAL_MINOR_MASK, O as OCTATONIC_HALF_WHOLE_MASK, m as OCTATONIC_WHOLE_HALF_MASK, P as PHRYGIAN_DOMINANT_MASK, n as PHRYGIAN_MASK, o as PURVI_MASK, R as RITSU_MASK, p as RYUKYU_MASK, S as SCALE_ALIASES, q as ScaleAliasName, r as ScaleName, T as TODI_MASK, W as WHOLE_TONE_MASK, t as WORLD_SCALES, u as WorldScaleName, v as assertKeyVariant, w as assertModeMask, x as maskFromOffsets, y as namedScaleMask, z as requireScaleMask, E as resolveScaleName, F as variantOfMask } from '../masks-C8TWLFIi.cjs';
4
+ import { K as KeyLike, n as ResolvedKey, s as SpelledKeyScale, c as ChordLike, b as Chord, r as SpelledKeyLike } from '../coerce-DRERzdve.cjs';
5
+ export { A as Alteration, a as AlteredDegree, C as ChordBase, d as ChordQuality, e as ChordSegment, f as ChordSeventh, g as ChordSpan, h as ChordSpec, i as ChordToneRole, E as EvaluateSafetyOptions, j as KeyRelation, k as KeyVariant, N as NoteSafety, P as PROFILE_WEIGHTS, l as PitchSpelling, m as ProfileWeights, R as ReasonFlag, S as SafetyPartner, o as SafetyProfile, p as SafetyQuery, q as SafetyResult, V as VoiceSnapshot, t as chordFromDegree, u as chordFromSpan, v as chordFromSpec, w as chordPitchClasses, x as chordQualities, y as chordSpecIntervals, z as chordSpecOf, B as chordSpecQuality, D as chordToneRole, F as diatonicSeventh, G as diatonicTriad, H as dominantKeyOf, I as enharmonicKeyOf, J as enumerateSafePitches, L as evaluateSafety, M as intervalAboveRoot, O as isChordMember, Q as keyRelationBetween, T as makeChord, U as parallelKeyOf, W as profileWeights, X as relatedKeysOf, Y as relativeKeyOf, Z as spanFromChord, _ as spelledKeyOf, $ as subdominantKeyOf, a0 as toChordData, a1 as toKeyScale, a2 as transposeChord } from '../coerce-DRERzdve.cjs';
6
+ import { r as VoicingOptions } from '../index-B9QLziDe.cjs';
7
+ export { A as AvailableTensionsOptions, a as AvoidNoteUse, b as AvoidNotesOptions, C as ChordScaleMatch, c as ChordScaleReportEntry, d as ChordSymbolOptions, K as KeyMode, P as PartWritingOptions, e as PartWritingViolation, f as PartWritingViolationKind, S as SATB_RANGES, g as SCALE_SYSTEMS, h as ScaleChoice, i as ScaleSystem, j as Species, k as SpeciesOptions, l as SpelledVoicing, m as StyledVoicingOptions, T as TRANSPOSING_INSTRUMENTS, n as TransposingInstrument, o as TransposingInstrumentName, V as VoiceIndependenceOptions, p as VoiceIndependenceReport, q as VoiceRange, s as VoicingStyle, t as availableTensions, u as avoidNotes, v as checkPartWriting, w as checkSpecies, x as chordScaleReport, y as chordScales, z as formatChordSymbol, B as instrumentTransposition, D as isSignatureKey, E as keyFromFifths, F as keySignatureFifths, G as parseChordSymbol, H as scaleMatchesChord, I as scaleSystemOf, J as scalesForChanges, L as spellVoicing, M as supportsFunctionalHarmony, N as toSoundingPitch, O as toWrittenPitch, Q as transposeChordSymbol, R as tryParseChordSymbol, U as voiceChord, W as voiceChordStyled, X as voiceIndependence, Y as voiceProgression } from '../index-B9QLziDe.cjs';
8
+ export { H as HarmonyRole, L as LockLevel, V as VoicedRole, r as roleOf } from '../index-BL5N2Oyz.cjs';
9
+ import { s as ScaleNameInput } from '../masks-pADfTOiD.cjs';
10
+ export { A as ALTERED_MASK, B as BLUES_MASK, C as CHROMATIC_MASK, D as DORIAN_MASK, a as DOUBLE_HARMONIC_MASK, H as HARMONIC_MINOR_MASK, L as LOCRIAN_MASK, b as LOCRIAN_NATURAL2_MASK, c as LYDIAN_DOMINANT_MASK, d as LYDIAN_MASK, M as MAJOR_MASK, e as MAJOR_PENTATONIC_MASK, f as MARWA_MASK, g as MELODIC_MINOR_MASK, h as MINOR_PENTATONIC_MASK, i as MIXOLYDIAN_B13_MASK, j as MIXOLYDIAN_MASK, k as MIYAKO_BUSHI_MASK, N as NAMED_SCALES, l as NATURAL_MINOR_MASK, O as OCTATONIC_HALF_WHOLE_MASK, m as OCTATONIC_WHOLE_HALF_MASK, P as PHRYGIAN_DOMINANT_MASK, n as PHRYGIAN_MASK, o as PURVI_MASK, R as RITSU_MASK, p as RYUKYU_MASK, S as SCALE_ALIASES, q as ScaleAliasName, r as ScaleName, T as TODI_MASK, W as WHOLE_TONE_MASK, t as WORLD_SCALES, u as WorldScaleName, v as assertKeyVariant, w as assertModeMask, x as maskFromOffsets, y as namedScaleMask, z as requireScaleMask, E as resolveScaleName, F as variantOfMask } from '../masks-pADfTOiD.cjs';
11
11
 
12
12
  /**
13
13
  * Test whether a pitch belongs to the scale.
@@ -1,13 +1,13 @@
1
1
  import { e as KeyScale, j as NoteNameOptions, P as ParseResult, S as SpelledInterval, g as Note, i as NoteLike } from '../index-Cy15oTvh.js';
2
2
  export { B as BudgetExceededError, I as IntervalData, b as IntervalLike, c as IntervalQualityLabel, d as InvalidInputError, L as LibcantusError, N as NoSolutionError, k as NoteNameSystem } from '../index-Cy15oTvh.js';
3
3
  import { C as ConsonanceClass } from '../index-DInQqT8Q.js';
4
- import { K as KeyLike, n as ResolvedKey, r as SpelledKeyScale, c as ChordLike, b as Chord, q as SpelledKeyLike } from '../coerce-wwdELNYS.js';
5
- export { A as Alteration, a as AlteredDegree, C as ChordBase, d as ChordQuality, e as ChordSegment, f as ChordSeventh, g as ChordSpan, h as ChordSpec, i as ChordToneRole, E as EvaluateSafetyOptions, j as KeyRelation, k as KeyVariant, N as NoteSafety, P as PROFILE_WEIGHTS, l as PitchSpelling, m as ProfileWeights, R as ReasonFlag, S as SafetyProfile, o as SafetyQuery, p as SafetyResult, V as VoiceSnapshot, s as chordFromDegree, t as chordFromSpan, u as chordFromSpec, v as chordPitchClasses, w as chordQualities, x as chordSpecIntervals, y as chordSpecOf, z as chordSpecQuality, B as chordToneRole, D as diatonicSeventh, F as diatonicTriad, G as dominantKeyOf, H as enharmonicKeyOf, I as enumerateSafePitches, J as evaluateSafety, L as intervalAboveRoot, M as isChordMember, O as keyRelationBetween, Q as makeChord, T as parallelKeyOf, U as profileWeights, W as relatedKeysOf, X as relativeKeyOf, Y as spanFromChord, Z as spelledKeyOf, _ as subdominantKeyOf, $ as toChordData, a0 as toKeyScale, a1 as transposeChord } from '../coerce-wwdELNYS.js';
6
- import { r as VoicingOptions } from '../index-CnHQgqNh.js';
7
- export { A as AvailableTensionsOptions, a as AvoidNoteUse, b as AvoidNotesOptions, C as ChordScaleMatch, c as ChordScaleReportEntry, d as ChordSymbolOptions, K as KeyMode, P as PartWritingOptions, e as PartWritingViolation, f as PartWritingViolationKind, S as SATB_RANGES, g as SCALE_SYSTEMS, h as ScaleChoice, i as ScaleSystem, j as Species, k as SpeciesOptions, l as SpelledVoicing, m as StyledVoicingOptions, T as TRANSPOSING_INSTRUMENTS, n as TransposingInstrument, o as TransposingInstrumentName, V as VoiceIndependenceOptions, p as VoiceIndependenceReport, q as VoiceRange, s as VoicingStyle, t as availableTensions, u as avoidNotes, v as checkPartWriting, w as checkSpecies, x as chordScaleReport, y as chordScales, z as formatChordSymbol, B as instrumentTransposition, D as isSignatureKey, E as keyFromFifths, F as keySignatureFifths, G as parseChordSymbol, H as scaleMatchesChord, I as scaleSystemOf, J as scalesForChanges, L as spellVoicing, M as supportsFunctionalHarmony, N as toSoundingPitch, O as toWrittenPitch, Q as transposeChordSymbol, R as tryParseChordSymbol, U as voiceChord, W as voiceChordStyled, X as voiceIndependence, Y as voiceProgression } from '../index-CnHQgqNh.js';
8
- export { H as HarmonyRole, L as LockLevel, V as VoicedRole, r as roleOf } from '../index-CnIdP4EZ.js';
9
- import { s as ScaleNameInput } from '../masks-O73Rhj5d.js';
10
- export { A as ALTERED_MASK, B as BLUES_MASK, C as CHROMATIC_MASK, D as DORIAN_MASK, a as DOUBLE_HARMONIC_MASK, H as HARMONIC_MINOR_MASK, L as LOCRIAN_MASK, b as LOCRIAN_NATURAL2_MASK, c as LYDIAN_DOMINANT_MASK, d as LYDIAN_MASK, M as MAJOR_MASK, e as MAJOR_PENTATONIC_MASK, f as MARWA_MASK, g as MELODIC_MINOR_MASK, h as MINOR_PENTATONIC_MASK, i as MIXOLYDIAN_B13_MASK, j as MIXOLYDIAN_MASK, k as MIYAKO_BUSHI_MASK, N as NAMED_SCALES, l as NATURAL_MINOR_MASK, O as OCTATONIC_HALF_WHOLE_MASK, m as OCTATONIC_WHOLE_HALF_MASK, P as PHRYGIAN_DOMINANT_MASK, n as PHRYGIAN_MASK, o as PURVI_MASK, R as RITSU_MASK, p as RYUKYU_MASK, S as SCALE_ALIASES, q as ScaleAliasName, r as ScaleName, T as TODI_MASK, W as WHOLE_TONE_MASK, t as WORLD_SCALES, u as WorldScaleName, v as assertKeyVariant, w as assertModeMask, x as maskFromOffsets, y as namedScaleMask, z as requireScaleMask, E as resolveScaleName, F as variantOfMask } from '../masks-O73Rhj5d.js';
4
+ import { K as KeyLike, n as ResolvedKey, s as SpelledKeyScale, c as ChordLike, b as Chord, r as SpelledKeyLike } from '../coerce-DP0vYu-x.js';
5
+ export { A as Alteration, a as AlteredDegree, C as ChordBase, d as ChordQuality, e as ChordSegment, f as ChordSeventh, g as ChordSpan, h as ChordSpec, i as ChordToneRole, E as EvaluateSafetyOptions, j as KeyRelation, k as KeyVariant, N as NoteSafety, P as PROFILE_WEIGHTS, l as PitchSpelling, m as ProfileWeights, R as ReasonFlag, S as SafetyPartner, o as SafetyProfile, p as SafetyQuery, q as SafetyResult, V as VoiceSnapshot, t as chordFromDegree, u as chordFromSpan, v as chordFromSpec, w as chordPitchClasses, x as chordQualities, y as chordSpecIntervals, z as chordSpecOf, B as chordSpecQuality, D as chordToneRole, F as diatonicSeventh, G as diatonicTriad, H as dominantKeyOf, I as enharmonicKeyOf, J as enumerateSafePitches, L as evaluateSafety, M as intervalAboveRoot, O as isChordMember, Q as keyRelationBetween, T as makeChord, U as parallelKeyOf, W as profileWeights, X as relatedKeysOf, Y as relativeKeyOf, Z as spanFromChord, _ as spelledKeyOf, $ as subdominantKeyOf, a0 as toChordData, a1 as toKeyScale, a2 as transposeChord } from '../coerce-DP0vYu-x.js';
6
+ import { r as VoicingOptions } from '../index-BHIUyjhZ.js';
7
+ export { A as AvailableTensionsOptions, a as AvoidNoteUse, b as AvoidNotesOptions, C as ChordScaleMatch, c as ChordScaleReportEntry, d as ChordSymbolOptions, K as KeyMode, P as PartWritingOptions, e as PartWritingViolation, f as PartWritingViolationKind, S as SATB_RANGES, g as SCALE_SYSTEMS, h as ScaleChoice, i as ScaleSystem, j as Species, k as SpeciesOptions, l as SpelledVoicing, m as StyledVoicingOptions, T as TRANSPOSING_INSTRUMENTS, n as TransposingInstrument, o as TransposingInstrumentName, V as VoiceIndependenceOptions, p as VoiceIndependenceReport, q as VoiceRange, s as VoicingStyle, t as availableTensions, u as avoidNotes, v as checkPartWriting, w as checkSpecies, x as chordScaleReport, y as chordScales, z as formatChordSymbol, B as instrumentTransposition, D as isSignatureKey, E as keyFromFifths, F as keySignatureFifths, G as parseChordSymbol, H as scaleMatchesChord, I as scaleSystemOf, J as scalesForChanges, L as spellVoicing, M as supportsFunctionalHarmony, N as toSoundingPitch, O as toWrittenPitch, Q as transposeChordSymbol, R as tryParseChordSymbol, U as voiceChord, W as voiceChordStyled, X as voiceIndependence, Y as voiceProgression } from '../index-BHIUyjhZ.js';
8
+ export { H as HarmonyRole, L as LockLevel, V as VoicedRole, r as roleOf } from '../index-Dw2DP7vm.js';
9
+ import { s as ScaleNameInput } from '../masks-Cc7-MzzY.js';
10
+ export { A as ALTERED_MASK, B as BLUES_MASK, C as CHROMATIC_MASK, D as DORIAN_MASK, a as DOUBLE_HARMONIC_MASK, H as HARMONIC_MINOR_MASK, L as LOCRIAN_MASK, b as LOCRIAN_NATURAL2_MASK, c as LYDIAN_DOMINANT_MASK, d as LYDIAN_MASK, M as MAJOR_MASK, e as MAJOR_PENTATONIC_MASK, f as MARWA_MASK, g as MELODIC_MINOR_MASK, h as MINOR_PENTATONIC_MASK, i as MIXOLYDIAN_B13_MASK, j as MIXOLYDIAN_MASK, k as MIYAKO_BUSHI_MASK, N as NAMED_SCALES, l as NATURAL_MINOR_MASK, O as OCTATONIC_HALF_WHOLE_MASK, m as OCTATONIC_WHOLE_HALF_MASK, P as PHRYGIAN_DOMINANT_MASK, n as PHRYGIAN_MASK, o as PURVI_MASK, R as RITSU_MASK, p as RYUKYU_MASK, S as SCALE_ALIASES, q as ScaleAliasName, r as ScaleName, T as TODI_MASK, W as WHOLE_TONE_MASK, t as WORLD_SCALES, u as WorldScaleName, v as assertKeyVariant, w as assertModeMask, x as maskFromOffsets, y as namedScaleMask, z as requireScaleMask, E as resolveScaleName, F as variantOfMask } from '../masks-Cc7-MzzY.js';
11
11
 
12
12
  /**
13
13
  * Test whether a pitch belongs to the scale.
@@ -16,7 +16,7 @@ import {
16
16
  voiceChordStyled,
17
17
  voiceLeadingCost,
18
18
  voiceProgression
19
- } from "../chunk-AWEMD747.js";
19
+ } from "../chunk-M5RYMAFI.js";
20
20
  import {
21
21
  availableTensions,
22
22
  avoidNotes,
@@ -25,7 +25,7 @@ import {
25
25
  roleOf,
26
26
  scaleMatchesChord,
27
27
  scalesForChanges
28
- } from "../chunk-H66ARFU5.js";
28
+ } from "../chunk-NB25P3EH.js";
29
29
  import {
30
30
  ALTERED_MASK,
31
31
  BLUES_MASK,
@@ -142,13 +142,13 @@ import {
142
142
  tryResolveKeyName,
143
143
  variantOfMask,
144
144
  voiceIndependence
145
- } from "../chunk-FPBZFNCD.js";
145
+ } from "../chunk-RFIBF2RR.js";
146
146
  import {
147
147
  BudgetExceededError,
148
148
  ConsonanceClass,
149
149
  InvalidInputError,
150
150
  NoSolutionError
151
- } from "../chunk-PQL7E5F6.js";
151
+ } from "../chunk-AGOVW7U6.js";
152
152
  export {
153
153
  ALTERED_MASK,
154
154
  BLUES_MASK,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libraz/libcantus",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "description": "Pure-TypeScript music theory engine: harmonic analysis, chord and scale vocabulary, voicing, reharmonization, and seeded part generation over MIDI note events.",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -142,15 +142,16 @@
142
142
  "prepublishOnly": "yarn build"
143
143
  },
144
144
  "devDependencies": {
145
- "@biomejs/biome": "2.5.11",
145
+ "@biomejs/biome": "2.5.14",
146
146
  "@libraz/typedoc-theme": "^0.1.1",
147
- "@types/node": "^26.4.0",
148
- "@vitest/coverage-v8": "4.1.11",
147
+ "@types/node": "^26.6.2",
148
+ "@vitest/coverage-v8": "5.0.1",
149
149
  "tsup": "8.5.1",
150
150
  "typedoc": "0.28.20",
151
151
  "typedoc-plugin-extras": "4.0.1",
152
152
  "typedoc-plugin-mdn-links": "5.1.1",
153
153
  "typescript": "6.0.3",
154
- "vitest": "4.1.11"
154
+ "vite": "8.3.0",
155
+ "vitest": "5.0.1"
155
156
  }
156
157
  }