@libraz/libcantus 1.0.1 → 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/README.md +27 -65
- package/README_ja.md +28 -66
- package/dist/analyze/index.cjs +11 -7
- package/dist/analyze/index.cjs.map +1 -1
- package/dist/analyze/index.d.cts +79 -144
- package/dist/analyze/index.d.ts +79 -144
- package/dist/analyze/index.js +20 -16
- package/dist/chunk-35NBV2FT.cjs +145 -0
- package/dist/chunk-35NBV2FT.cjs.map +1 -0
- package/dist/{chunk-UADYAYAT.cjs → chunk-3R3QVKY5.cjs} +1353 -580
- package/dist/chunk-3R3QVKY5.cjs.map +1 -0
- package/dist/{chunk-WWURE4XT.cjs → chunk-76ZBTRG2.cjs} +624 -729
- package/dist/chunk-76ZBTRG2.cjs.map +1 -0
- package/dist/{chunk-FVSI36UV.js → chunk-7KG3RTYS.js} +197 -110
- package/dist/chunk-7KG3RTYS.js.map +1 -0
- package/dist/{chunk-VTI6FOLB.js → chunk-AGOVW7U6.js} +709 -133
- package/dist/chunk-AGOVW7U6.js.map +1 -0
- package/dist/{chunk-E3F4AHAH.cjs → chunk-CGBADIO5.cjs} +221 -134
- package/dist/chunk-CGBADIO5.cjs.map +1 -0
- package/dist/{chunk-6XH6QZYQ.cjs → chunk-DSMJRXCZ.cjs} +1455 -849
- package/dist/chunk-DSMJRXCZ.cjs.map +1 -0
- package/dist/{chunk-PKFNUHDY.js → chunk-FBH75DAY.js} +1218 -612
- package/dist/chunk-FBH75DAY.js.map +1 -0
- package/dist/chunk-H2KJHBW4.js +3329 -0
- package/dist/chunk-H2KJHBW4.js.map +1 -0
- package/dist/chunk-HPVSH7SF.cjs +2294 -0
- package/dist/chunk-HPVSH7SF.cjs.map +1 -0
- package/dist/{chunk-MXO72PLY.cjs → chunk-HWHGOVO6.cjs} +21 -19
- package/dist/chunk-HWHGOVO6.cjs.map +1 -0
- package/dist/chunk-HYJJ2V2I.js +2294 -0
- package/dist/chunk-HYJJ2V2I.js.map +1 -0
- package/dist/{chunk-AFM2ULJH.cjs → chunk-J7FHVZII.cjs} +1567 -1067
- package/dist/chunk-J7FHVZII.cjs.map +1 -0
- package/dist/chunk-K6OZXIR6.js +1 -0
- package/dist/{chunk-H3VORETI.js → chunk-M5RYMAFI.js} +487 -592
- package/dist/chunk-M5RYMAFI.js.map +1 -0
- package/dist/chunk-NB25P3EH.js +363 -0
- package/dist/chunk-NB25P3EH.js.map +1 -0
- package/dist/{chunk-TTCLJX6D.js → chunk-NFJ4P6ZZ.js} +10 -8
- package/dist/chunk-NFJ4P6ZZ.js.map +1 -0
- package/dist/chunk-NM7UAMC3.cjs +457 -0
- package/dist/chunk-NM7UAMC3.cjs.map +1 -0
- package/dist/chunk-PM4XJE2Y.cjs +363 -0
- package/dist/chunk-PM4XJE2Y.cjs.map +1 -0
- package/dist/chunk-PUKJP2Z5.js +145 -0
- package/dist/chunk-PUKJP2Z5.js.map +1 -0
- package/dist/{chunk-VOHZB45S.js → chunk-Q6LFSAKV.js} +1321 -821
- package/dist/chunk-Q6LFSAKV.js.map +1 -0
- package/dist/{chunk-INHVXP6Z.js → chunk-RFIBF2RR.js} +1203 -430
- package/dist/chunk-RFIBF2RR.js.map +1 -0
- package/dist/{chunk-Q2WGKJNN.cjs → chunk-S5BKZZGM.cjs} +699 -123
- package/dist/chunk-S5BKZZGM.cjs.map +1 -0
- package/dist/chunk-SGLEQVJH.cjs +3329 -0
- package/dist/chunk-SGLEQVJH.cjs.map +1 -0
- package/dist/chunk-UGLFDG7L.cjs +1 -0
- package/dist/chunk-UGLFDG7L.cjs.map +1 -0
- package/dist/{chunk-YH3BIKHH.js → chunk-UMWZ4ZET.js} +146 -49
- package/dist/chunk-UMWZ4ZET.js.map +1 -0
- package/dist/{index-szBv3496.d.ts → coerce-DP0vYu-x.d.ts} +286 -199
- package/dist/{index-C_8o--VE.d.cts → coerce-DRERzdve.d.cts} +286 -199
- package/dist/core/index.cjs +9 -5
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.d.cts +122 -108
- package/dist/core/index.d.ts +122 -108
- package/dist/core/index.js +32 -28
- package/dist/generate/index.cjs +8 -8
- package/dist/generate/index.d.cts +168 -84
- package/dist/generate/index.d.ts +168 -84
- package/dist/generate/index.js +7 -7
- package/dist/{index-CGpRv5sl.d.cts → index-9eoQs2C1.d.ts} +34 -19
- package/dist/{index-CCNJRG-P.d.cts → index-B9QLziDe.d.cts} +293 -56
- package/dist/{index-Dzr13q3d.d.cts → index-BBWNZS0f.d.cts} +135 -58
- package/dist/{index-9wcMhG73.d.ts → index-BHIUyjhZ.d.ts} +293 -56
- package/dist/{index-BGFW-8P2.d.cts → index-BJgP97N1.d.ts} +196 -114
- package/dist/{index-CunYKLiu.d.ts → index-BL5N2Oyz.d.cts} +1 -1
- package/dist/{index-Cj49F892.d.ts → index-BMweUlm5.d.cts} +63 -23
- package/dist/{index-CgHqxdps.d.ts → index-BNSM-DSk.d.cts} +196 -114
- package/dist/{index-D57QRbVn.d.ts → index-BRMbPkHE.d.ts} +480 -254
- package/dist/{index-Chbst3Jx.d.ts → index-CJBBiAmU.d.ts} +135 -58
- package/dist/{index-BkGmlyI3.d.cts → index-CL4b4gUQ.d.ts} +63 -23
- package/dist/{index-B9MNZboQ.d.ts → index-Cy15oTvh.d.cts} +52 -22
- package/dist/{index-B9MNZboQ.d.cts → index-Cy15oTvh.d.ts} +52 -22
- package/dist/{index-BO6xE9YU.d.cts → index-DGCNKAUr.d.cts} +480 -254
- package/dist/{index-B4o55NDr.d.cts → index-Dw2DP7vm.d.ts} +1 -1
- package/dist/{index-G1uwGGWQ.d.ts → index-cHvbYgJI.d.cts} +34 -19
- package/dist/index.cjs +42 -14
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +14 -14
- package/dist/index.d.ts +14 -14
- package/dist/index.js +82 -54
- package/dist/{masks-DYbE485J.d.cts → masks-Cc7-MzzY.d.ts} +49 -2
- package/dist/{masks-DYbE485J.d.ts → masks-pADfTOiD.d.cts} +49 -2
- package/dist/model/index.cjs +19 -12
- package/dist/model/index.cjs.map +1 -1
- package/dist/model/index.d.cts +504 -182
- package/dist/model/index.d.ts +504 -182
- package/dist/model/index.js +18 -11
- package/dist/{positional-Cptlj-xs.d.ts → positional-DJgs6ltD.d.ts} +85 -8
- package/dist/{positional-DvH_sd8u.d.cts → positional-DMZer-FM.d.cts} +85 -8
- package/dist/theory/index.cjs +35 -6
- package/dist/theory/index.cjs.map +1 -1
- package/dist/theory/index.d.cts +257 -62
- package/dist/theory/index.d.ts +257 -62
- package/dist/theory/index.js +41 -12
- package/package.json +7 -5
- package/dist/chunk-2LCPM3EG.js +0 -3224
- package/dist/chunk-2LCPM3EG.js.map +0 -1
- package/dist/chunk-6XH6QZYQ.cjs.map +0 -1
- package/dist/chunk-6XPTBE7Y.cjs +0 -49
- package/dist/chunk-6XPTBE7Y.cjs.map +0 -1
- package/dist/chunk-AFM2ULJH.cjs.map +0 -1
- package/dist/chunk-B6XNKWZV.cjs +0 -3224
- package/dist/chunk-B6XNKWZV.cjs.map +0 -1
- package/dist/chunk-E3F4AHAH.cjs.map +0 -1
- package/dist/chunk-ELCTZUJJ.js +0 -379
- package/dist/chunk-ELCTZUJJ.js.map +0 -1
- package/dist/chunk-FVSI36UV.js.map +0 -1
- package/dist/chunk-H3VORETI.js.map +0 -1
- package/dist/chunk-H42UHPYW.js +0 -1577
- package/dist/chunk-H42UHPYW.js.map +0 -1
- package/dist/chunk-HFPS7JFD.js +0 -1
- package/dist/chunk-INHVXP6Z.js.map +0 -1
- package/dist/chunk-K4ZJUGF4.cjs +0 -379
- package/dist/chunk-K4ZJUGF4.cjs.map +0 -1
- package/dist/chunk-KNJEKLKV.js +0 -49
- package/dist/chunk-KNJEKLKV.js.map +0 -1
- package/dist/chunk-MXO72PLY.cjs.map +0 -1
- package/dist/chunk-NLEU4QSE.cjs +0 -360
- package/dist/chunk-NLEU4QSE.cjs.map +0 -1
- package/dist/chunk-OE6WK2Y2.cjs +0 -1577
- package/dist/chunk-OE6WK2Y2.cjs.map +0 -1
- package/dist/chunk-PKFNUHDY.js.map +0 -1
- package/dist/chunk-Q2WGKJNN.cjs.map +0 -1
- package/dist/chunk-RHIJ3S4I.cjs +0 -1
- package/dist/chunk-RHIJ3S4I.cjs.map +0 -1
- package/dist/chunk-TTCLJX6D.js.map +0 -1
- package/dist/chunk-UADYAYAT.cjs.map +0 -1
- package/dist/chunk-VOHZB45S.js.map +0 -1
- package/dist/chunk-VTI6FOLB.js.map +0 -1
- package/dist/chunk-WWURE4XT.cjs.map +0 -1
- package/dist/chunk-YH3BIKHH.js.map +0 -1
- /package/dist/{chunk-HFPS7JFD.js.map → chunk-K6OZXIR6.js.map} +0 -0
package/dist/index.d.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
export { A as ARTICULATIONS, a as Articulation, B as BudgetExceededError, I as
|
|
2
|
-
export { D as DurationData, I as IndexedNoteEvent, J as JUST_RATIOS, N as NOTE_VALUES, a as NoteEventIndex, b as NoteEventIndexOptions, c as NotePlacement, d as NoteValue, O as OnsetTieBreak, P as PlayabilityIssue, e as PlayabilityIssueType, f as PlayabilityLayer, g as PlayabilityReport, S as SpelledDuration, T as TWELVE_TET, h as TempoEvent, i as TempoMap, j as TuningTable, k as Tuplet, l as beatsToDuration, m as beatsToSeconds, n as beatsToTicks, o as beatsToTiedDurations, p as centsBetweenFreq, q as centsFromNearestStep, r as centsOfSteps, s as centsToRatio, t as createNoteEventIndex, u as durationToBeats, v as durationToSeconds, w as edo, x as frequencyOf, y as justDeviationCents, z as nearestStep, A as playability, B as ratioToCents, C as secondsToBeats, E as stepOf, F as stepsOfCents, G as tempoAt, H as ticksToBeats } from './index-
|
|
3
|
-
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, f as StringedProfile, g as
|
|
1
|
+
export { A as ARTICULATIONS, a as Articulation, B as BudgetExceededError, I as IntervalData, b as IntervalLike, c as IntervalQualityLabel, d as InvalidInputError, K as KeyName, e as KeyScale, L as LibcantusError, f as LibcantusErrorCode, N as NoSolutionError, g as NoteData, h as NoteEvent, i as NoteLike, j as NoteNameOptions, k as NoteNameSystem, P as ParseResult, S as SpelledInterval, l as detectNoteNameSystem, m as diatonicLetterOf, n as formatKeyName, o as formatNote, p as intervalSemitones, q as isLibcantusError, r as midiToNote, s as naturalPitchClassOf, t as noteToMidi, u as noteToPitchClass, v as parseInterval, w as parseKeyName, x as parseNote, y as pitchClassOf, z as spelledInterval, C as toNoteData, D as toSpelledInterval, E as transposeByInterval, F as transposeNote, G as tryParseInterval, H as tryParseKeyName, J as tryParseNote } from './index-Cy15oTvh.js';
|
|
2
|
+
export { D as DurationData, I as IndexedNoteEvent, J as JUST_RATIOS, N as NOTE_VALUES, a as NoteEventIndex, b as NoteEventIndexOptions, c as NotePlacement, d as NoteValue, O as OnsetTieBreak, P as PlayabilityIssue, e as PlayabilityIssueType, f as PlayabilityLayer, g as PlayabilityReport, S as SpelledDuration, T as TWELVE_TET, h as TempoEvent, i as TempoMap, j as TuningTable, k as Tuplet, l as beatsToDuration, m as beatsToSeconds, n as beatsToTicks, o as beatsToTiedDurations, p as centsBetweenFreq, q as centsFromNearestStep, r as centsOfSteps, s as centsToRatio, t as createNoteEventIndex, u as durationToBeats, v as durationToSeconds, w as edo, x as frequencyOf, y as justDeviationCents, z as nearestStep, A as playability, B as ratioToCents, C as secondsToBeats, E as stepOf, F as stepsOfCents, G as tempoAt, H as ticksToBeats } from './index-9eoQs2C1.js';
|
|
3
|
+
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, f as StringedProfile, 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';
|
|
4
4
|
export { ALGORITHM_VERSION, BASS_4_STRING, BASS_5_STRING, DEFAULT_GENERATION_BUDGET, GUITAR_DROP_D, GUITAR_STANDARD, MIN_ALGORITHM_VERSION, NoteEventAssertOptions, Rng, assertDegree, assertFiniteNumber, assertFiniteSemitones, assertGenerationBudget, assertInteger, assertMeterMap, assertMidiPitch, assertNoteEvent, assertNoteEvents, assertOneOf, assertPositiveInt, assertRange, assertTimeSignature, clampToMidi, createRng, dropSilentNotes, resolveAlgorithmVersion, soundingNotesOnly } from './core/index.js';
|
|
5
|
-
export { B as BarPosition, M as MeterChange, a as MeterData, b as MeterLike, c as MeterMap, T as TimeSignature, 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-
|
|
6
|
-
export { A as Alteration, a as AlteredDegree, C as ChordBase, b as ChordData, c as ChordLike, d as ChordQuality, e as ChordSegment, f as ChordSeventh, g as ChordSpan, h as ChordSpec, i as
|
|
7
|
-
export { FiguredBassRealization, FiguredBassSuspension, SpellingContext, classifySpelledInterval, createsBattuta, createsHiddenParallelPerfect, createsParallelOctave, createsParallelPerfect, createsParallelUnison, createsVerticalDissonance, createsVoiceCrossing, createsVoiceOverlap, diatonicPitchClasses, exceedsSpacing, figuredBassOf, figuredBassRealization, isAugmentedMelodicInterval, isForbiddenMelodicLeap, isLeadingToneResolution, isScaleTone, majorKey, minorKey, nearestScaleTone, nextVoicing, noteNames, pitchToScaleDegree, realizeFiguredBass, scaleByName, scaleTonesInDegreeOrder, spellChord, spellChordFromRoot, spellPitch, spellPitchClass, spellPitchClasses, spellScale, voiceLeadingCost } from './theory/index.js';
|
|
8
|
-
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, s as ScaleNameInput, T as TODI_MASK, W as WHOLE_TONE_MASK, t as WORLD_SCALES, u as WorldScaleName, v as
|
|
9
|
-
export { A as AvailableTensionsOptions, a as AvoidNoteUse, b as AvoidNotesOptions, C as ChordScaleMatch, c as ChordScaleReportEntry, K as KeyMode, P as PartWritingOptions,
|
|
10
|
-
export { A as
|
|
11
|
-
export { AugmentedSixthKind,
|
|
12
|
-
export {
|
|
5
|
+
export { B as BarPosition, M as MeterChange, a as MeterData, b as MeterLike, c as MeterMap, T as TimeSignature, 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';
|
|
6
|
+
export { A as Alteration, a as AlteredDegree, C as ChordBase, b as ChordData, c as ChordLike, d as ChordQuality, e as ChordSegment, f as ChordSeventh, g as ChordSpan, h as ChordSpec, i as ChordToneRole, E as EvaluateSafetyOptions, K as KeyLike, j as KeyRelation, k as KeyVariant, N as NoteSafety, P as PROFILE_WEIGHTS, l as PitchSpelling, m as ProfileWeights, R as ReasonFlag, n as ResolvedKey, S as SafetyPartner, o as SafetyProfile, p as SafetyQuery, q as SafetyResult, r as SpelledKeyLike, s as SpelledKeyScale, 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';
|
|
7
|
+
export { FiguredBassRealization, FiguredBassSuspension, HiddenParallelReading, ScaleLadderPosition, SpellingContext, classifySpelledInterval, createsBattuta, createsHiddenParallelPerfect, createsParallelOctave, createsParallelPerfect, createsParallelUnison, createsVerticalDissonance, createsVoiceCrossing, createsVoiceOverlap, diatonicPitchClasses, exceedsSpacing, figuredBassOf, figuredBassRealization, isAugmentedMelodicInterval, isForbiddenMelodicLeap, isLeadingToneResolution, isScaleTone, majorKey, minorKey, nearestScaleTone, nextVoicing, noteNames, pitchToScaleDegree, realizeFiguredBass, resolveKey, scaleByName, scaleLadderPitch, scaleLadderPosition, scaleOf, scaleTonesInDegreeOrder, shiftByScaleDegrees, spellChord, spellChordFromRoot, spellPitch, spellPitchClass, spellPitchClasses, spellScale, tryResolveKeyName, voiceLeadingCost } from './theory/index.js';
|
|
8
|
+
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, s as ScaleNameInput, 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';
|
|
9
|
+
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, r as VoicingOptions, 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';
|
|
10
|
+
export { A as AnalyzeChordOptions, a as AnalyzedNote, B as BorrowedSource, C as CadenceHit, b as CadenceResult, c as ChordAnalysis, d as ChordSegmentation, e as ChordTimeline, f as ChordTimelineOptions, g as ChordTimelineResult, h as ChordToRomanOptions, D as DetectCadenceOptions, E as ExplainRomanOptions, H as HarmonicFunction, I as IdentifiedVoiceNote, K as KeyContext, i as KeyProfileName, j as KeyProfilePair, k as KeyRegion, l as KeyTimelineOptions, P as PivotChord, R as RejectedCandidate, m as RomanExplanation, S as SuspensionFigure, T as TheoryLabel, V as VoiceNote, n as analyzeChord, o as analyzeVoice, p as assertChordTimeline, q as borrowedSource, r as chordTimelineFromChords, s as chordTimelineFromNotes, t as chordToRoman, u as detectCadence, v as detectCadences, w as detectModulations, x as explainRoman, y as functionOf, z as isBorrowedChord, F as isDiatonic, G as isMinorKey, J as keyTimelineFromNotes, L as pivotChords, M as prevailingKeyOf, N as romanToChord, O as secondaryDominant, Q as secondaryDominantOf, U as toVoiceNotes } from './index-CJBBiAmU.js';
|
|
11
|
+
export { A as ArrangementAnalysis, a as ArrangementOptions, b as ArrangementSession, c as ArrangementTrack, d as AugmentedSixthKind, C as ChordMatch, e as Conflict, f as ConflictPartner, g as ContourDirection, D as DetectChordOptions, h as DetectKeyOptions, E as ExtractMotifsOptions, F as FormSection, i as FormSectionOptions, H as Hypermeter, j as HypermeterOptions, K as KeyMatch, M as MODAL_SCALE_NAMES, k as MelodicContour, l as MelodicContourShape, m as MelodicPhrase, n as ModalCandidate, o as ModalScaleName, p as MotifData, q as MotifOccurrence, r as MotifRelation, s as MotifRelationKind, P as Phrase, t as PhraseOptions, u as PhraseSignal, R as ReduceProgressionOptions, v as ReducedChord, w as ReductionBasis, x as ReductionLevel, S as StructuralCadence, T as TensionPoint, y as TrackAnalysis, z as TrackEdit, B as TrackRole, G as analyzeArrangement, I as analyzePolyphony, J as augmentedSixthChord, L as augmentedSixthFromPitchClasses, N as augmentedSixthKind, O as createArrangementSession, Q as detectChord, U as detectChordBest, V as detectKey, W as detectKeyBest, X as detectKeyFromNotes, Y as extractMotifs, Z as hypermeter, _ as melodicContour, $ as motifFromNotes, a0 as phrasesFromTimeline, a1 as reduceProgression, a2 as relateMotifs, a3 as sectionsFromNotes, a4 as spellAugmentedSixth, a5 as structuralCadences, a6 as tensionCurve, a7 as tensionCurveFrom } from './index-BRMbPkHE.js';
|
|
12
|
+
export { MelodicComparison, SpellLineOptions, compareMelodies, melodicSimilarity, spellLine } from './analyze/index.js';
|
|
13
13
|
export { C as ConsonanceClass, c as classifyInterval, i as isConsonantInterval, a as isPerfectInterval } from './index-DInQqT8Q.js';
|
|
14
|
-
export { H as HarmonyRole, L as LockLevel, V as VoicedRole, r as roleOf } from './index-
|
|
15
|
-
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, k as DrumHit, l as DrumRole, m as DrumStyle, n as DrumVoice, o as DrumsOptions, E as EuclideanKick, G as GENRES, p as GenerationContext, q as GenerationContextInput, r as Genre, s as GridEvent, t as GrooveFeel, u as GrooveSlot, v as GrooveStyle, w as GrooveTemplate, H as HarmonizeOptions, x as HarmonizePlacement, y as HarmonizeResult, 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, $ as Section, a0 as SubstituteOptions, a1 as Substitution, a2 as SubstitutionType, a3 as
|
|
14
|
+
export { H as HarmonyRole, L as LockLevel, V as VoicedRole, r as roleOf } from './index-Dw2DP7vm.js';
|
|
15
|
+
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, k as DrumHit, l as DrumRole, m as DrumStyle, n as DrumVoice, o as DrumsOptions, E as EuclideanKick, G as GENRES, p as GenerationContext, q as GenerationContextInput, r as Genre, s as GridEvent, t as GrooveFeel, u as GrooveSlot, v as GrooveStyle, w as GrooveTemplate, H as HarmonizeOptions, x as HarmonizePlacement, y as HarmonizeResult, 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, $ as Section, a0 as SubstituteOptions, a1 as Substitution, a2 as SubstitutionType, a3 as SyncopateOptions, a4 as Vocabulary, 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';
|
|
16
|
+
export { BASS_LICKS, BassLick, ClassifiedMelodyTone, DRUM_KIT, DRUM_PATTERNS, DrumPattern, DrumPatternOptions, DrumStroke, DrumVocabulary, FILL_ARCHETYPES, FILL_TYPES, FillArchetype, FillStroke, FillType, FillVelocity, ImitationAnswer, ImitationOptions, KICK_FIGURES, KICK_STEPS, KickFigure, KickPattern, KickSlot, LickMaterial, LickNote, MAX_DIFFICULTY, MIN_DIFFICULTY, MelodyToneRole, PlaceLicksOptions, classifyMelodyTones, harmonizeMelody, imitate, isDrumPattern, isFillArchetype, isLickMaterial, placeDrumPattern, placeLicks, sustainsShift, sustainsStrokes } from './generate/index.js';
|
|
16
17
|
export { Arrangement, ArrangementData, ArrangementSettings, ArrangementSetup, ArrangementTensionOptions, BassLineSettings, Chord, Composer, ComposerOptions, CounterMelodySettings, DetectedKeyMatch, Duration, HarmonizedMelody, Instrument, Interval, Key, KeyData, Meter, Motif, MotifGenerateOptions, Note, Progression, ProgressionData, Rhythm, RhythmData, RhythmDeformOptions, Score, ScoreData, ScoreOptions, Tempo, TempoData, Timeline, TimelineData, TimelineRoman, Tuning, Voicing, VoicingData, VoicingIndependenceOptions, VoicingSafetyQuery } from './model/index.js';
|
|
17
|
-
export { BASS_LICKS, BassLick, ClassifiedMelodyTone, DRUM_KIT, DRUM_PATTERNS, DrumPattern, DrumPatternOptions, DrumStroke, DrumVocabulary, FILL_ARCHETYPES, FILL_TYPES, FillArchetype, FillStroke, FillType, FillVelocity, ImitationAnswer, ImitationOptions, KICK_FIGURES, KICK_STEPS, KickFigure, KickPattern, KickSlot, LickMaterial, LickNote, MAX_DIFFICULTY, MIN_DIFFICULTY, MelodyToneRole, PlaceLicksOptions, classifyMelodyTones, imitate, isDrumPattern, isFillArchetype, isLickMaterial, placeDrumPattern, placeLicks, sustainsShift, sustainsStrokes } from './generate/index.js';
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
spellLine
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-NFJ4P6ZZ.js";
|
|
4
4
|
import "./chunk-QYQQ5J6E.js";
|
|
5
5
|
import {
|
|
6
6
|
Arrangement,
|
|
@@ -20,32 +20,25 @@ import {
|
|
|
20
20
|
Timeline,
|
|
21
21
|
Tuning,
|
|
22
22
|
Voicing
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-FBH75DAY.js";
|
|
24
24
|
import {
|
|
25
25
|
analyzeArrangement,
|
|
26
|
-
|
|
27
|
-
chordTimelineFromChords,
|
|
28
|
-
chordTimelineFromNotes,
|
|
26
|
+
analyzePolyphony,
|
|
29
27
|
compareMelodies,
|
|
30
28
|
createArrangementSession,
|
|
31
|
-
detectCadences,
|
|
32
|
-
detectModulations,
|
|
33
29
|
extractMotifs,
|
|
34
30
|
hypermeter,
|
|
35
|
-
keyTimelineFromNotes,
|
|
36
31
|
melodicContour,
|
|
37
32
|
melodicSimilarity,
|
|
38
33
|
motifFromNotes,
|
|
39
34
|
phrasesFromTimeline,
|
|
40
|
-
prevailingKeyOf,
|
|
41
35
|
reduceProgression,
|
|
42
36
|
relateMotifs,
|
|
43
37
|
sectionsFromNotes,
|
|
44
38
|
structuralCadences,
|
|
45
39
|
tensionCurve,
|
|
46
|
-
tensionCurveFrom
|
|
47
|
-
|
|
48
|
-
} from "./chunk-2LCPM3EG.js";
|
|
40
|
+
tensionCurveFrom
|
|
41
|
+
} from "./chunk-HYJJ2V2I.js";
|
|
49
42
|
import {
|
|
50
43
|
JUST_RATIOS,
|
|
51
44
|
NOTE_VALUES,
|
|
@@ -70,7 +63,7 @@ import {
|
|
|
70
63
|
stepsOfCents,
|
|
71
64
|
tempoAt,
|
|
72
65
|
ticksToBeats
|
|
73
|
-
} from "./chunk-
|
|
66
|
+
} from "./chunk-UMWZ4ZET.js";
|
|
74
67
|
import {
|
|
75
68
|
BAR_STEPS,
|
|
76
69
|
BASS_LICKS,
|
|
@@ -139,35 +132,43 @@ import {
|
|
|
139
132
|
transformMotif,
|
|
140
133
|
vocabularyOfKind,
|
|
141
134
|
withinCeiling
|
|
142
|
-
} from "./chunk-
|
|
135
|
+
} from "./chunk-Q6LFSAKV.js";
|
|
143
136
|
import {
|
|
144
137
|
MODAL_SCALE_NAMES,
|
|
145
138
|
analyzeChord,
|
|
139
|
+
analyzeVoice,
|
|
140
|
+
assertChordTimeline,
|
|
146
141
|
augmentedSixthChord,
|
|
147
142
|
augmentedSixthFromPitchClasses,
|
|
148
143
|
augmentedSixthKind,
|
|
149
144
|
borrowedSource,
|
|
145
|
+
chordTimelineFromChords,
|
|
146
|
+
chordTimelineFromNotes,
|
|
150
147
|
chordToRoman,
|
|
151
148
|
detectCadence,
|
|
149
|
+
detectCadences,
|
|
152
150
|
detectChord,
|
|
153
151
|
detectChordBest,
|
|
154
152
|
detectKey,
|
|
155
153
|
detectKeyBest,
|
|
156
154
|
detectKeyFromNotes,
|
|
155
|
+
detectModulations,
|
|
157
156
|
explainRoman,
|
|
158
157
|
functionOf,
|
|
159
158
|
isBorrowedChord,
|
|
160
159
|
isDiatonic,
|
|
161
160
|
isMinorKey,
|
|
161
|
+
keyTimelineFromNotes,
|
|
162
162
|
pivotChords,
|
|
163
|
+
prevailingKeyOf,
|
|
163
164
|
romanToChord,
|
|
164
165
|
secondaryDominant,
|
|
165
166
|
secondaryDominantOf,
|
|
166
|
-
spellAugmentedSixth
|
|
167
|
-
|
|
167
|
+
spellAugmentedSixth,
|
|
168
|
+
toVoiceNotes
|
|
169
|
+
} from "./chunk-H2KJHBW4.js";
|
|
168
170
|
import {
|
|
169
171
|
ALGORITHM_VERSION,
|
|
170
|
-
ARTICULATIONS,
|
|
171
172
|
BASS_4_STRING,
|
|
172
173
|
BASS_5_STRING,
|
|
173
174
|
GUITAR_DROP_D,
|
|
@@ -183,48 +184,24 @@ import {
|
|
|
183
184
|
includeAt,
|
|
184
185
|
instrumentRange,
|
|
185
186
|
playability,
|
|
186
|
-
resolveAlgorithmVersion
|
|
187
|
-
|
|
187
|
+
resolveAlgorithmVersion,
|
|
188
|
+
toInstrumentProfile,
|
|
189
|
+
toStringedProfile
|
|
190
|
+
} from "./chunk-7KG3RTYS.js";
|
|
188
191
|
import {
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
barStartBeat,
|
|
193
|
-
beatToBarPosition,
|
|
194
|
-
beatsPerBar,
|
|
195
|
-
beatsPerBarAt,
|
|
196
|
-
createNoteEventIndex,
|
|
197
|
-
formatBarPosition,
|
|
198
|
-
formatTimeSignature,
|
|
199
|
-
isCompound,
|
|
200
|
-
isStrongBeat,
|
|
201
|
-
meterAt,
|
|
202
|
-
metricWeight,
|
|
203
|
-
parseTimeSignature,
|
|
204
|
-
pulseBeats,
|
|
205
|
-
pulsesPerBar,
|
|
206
|
-
resolveMeters,
|
|
207
|
-
toMeterData,
|
|
208
|
-
tryParseTimeSignature,
|
|
209
|
-
tuplet
|
|
210
|
-
} from "./chunk-ELCTZUJJ.js";
|
|
211
|
-
import "./chunk-HFPS7JFD.js";
|
|
192
|
+
createNoteEventIndex
|
|
193
|
+
} from "./chunk-PUKJP2Z5.js";
|
|
194
|
+
import "./chunk-K6OZXIR6.js";
|
|
212
195
|
import {
|
|
213
196
|
SATB_RANGES,
|
|
214
197
|
TRANSPOSING_INSTRUMENTS,
|
|
215
|
-
availableTensions,
|
|
216
|
-
avoidNotes,
|
|
217
198
|
checkPartWriting,
|
|
218
199
|
checkSpecies,
|
|
219
|
-
chordScaleReport,
|
|
220
|
-
chordScales,
|
|
221
200
|
figuredBassOf,
|
|
222
201
|
figuredBassRealization,
|
|
223
202
|
instrumentTransposition,
|
|
224
203
|
nextVoicing,
|
|
225
204
|
realizeFiguredBass,
|
|
226
|
-
scaleMatchesChord,
|
|
227
|
-
scalesForChanges,
|
|
228
205
|
spellVoicing,
|
|
229
206
|
toSoundingPitch,
|
|
230
207
|
toWrittenPitch,
|
|
@@ -232,10 +209,16 @@ import {
|
|
|
232
209
|
voiceChordStyled,
|
|
233
210
|
voiceLeadingCost,
|
|
234
211
|
voiceProgression
|
|
235
|
-
} from "./chunk-
|
|
212
|
+
} from "./chunk-M5RYMAFI.js";
|
|
236
213
|
import {
|
|
237
|
-
|
|
238
|
-
|
|
214
|
+
availableTensions,
|
|
215
|
+
avoidNotes,
|
|
216
|
+
chordScaleReport,
|
|
217
|
+
chordScales,
|
|
218
|
+
roleOf,
|
|
219
|
+
scaleMatchesChord,
|
|
220
|
+
scalesForChanges
|
|
221
|
+
} from "./chunk-NB25P3EH.js";
|
|
239
222
|
import {
|
|
240
223
|
ALTERED_MASK,
|
|
241
224
|
BLUES_MASK,
|
|
@@ -272,6 +255,8 @@ import {
|
|
|
272
255
|
TODI_MASK,
|
|
273
256
|
WHOLE_TONE_MASK,
|
|
274
257
|
WORLD_SCALES,
|
|
258
|
+
assertKeyVariant,
|
|
259
|
+
assertModeMask,
|
|
275
260
|
chordFromDegree,
|
|
276
261
|
chordFromSpan,
|
|
277
262
|
chordFromSpec,
|
|
@@ -305,6 +290,7 @@ import {
|
|
|
305
290
|
isForbiddenMelodicLeap,
|
|
306
291
|
isLeadingToneResolution,
|
|
307
292
|
isScaleTone,
|
|
293
|
+
isSignatureKey,
|
|
308
294
|
keyFromFifths,
|
|
309
295
|
keyRelationBetween,
|
|
310
296
|
keySignatureFifths,
|
|
@@ -322,10 +308,15 @@ import {
|
|
|
322
308
|
relatedKeysOf,
|
|
323
309
|
relativeKeyOf,
|
|
324
310
|
requireScaleMask,
|
|
311
|
+
resolveKey,
|
|
325
312
|
resolveScaleName,
|
|
326
313
|
scaleByName,
|
|
314
|
+
scaleLadderPitch,
|
|
315
|
+
scaleLadderPosition,
|
|
316
|
+
scaleOf,
|
|
327
317
|
scaleSystemOf,
|
|
328
318
|
scaleTonesInDegreeOrder,
|
|
319
|
+
shiftByScaleDegrees,
|
|
329
320
|
spanFromChord,
|
|
330
321
|
spellChord,
|
|
331
322
|
spellChordFromRoot,
|
|
@@ -341,9 +332,12 @@ import {
|
|
|
341
332
|
transposeChord,
|
|
342
333
|
transposeChordSymbol,
|
|
343
334
|
tryParseChordSymbol,
|
|
335
|
+
tryResolveKeyName,
|
|
336
|
+
variantOfMask,
|
|
344
337
|
voiceIndependence
|
|
345
|
-
} from "./chunk-
|
|
338
|
+
} from "./chunk-RFIBF2RR.js";
|
|
346
339
|
import {
|
|
340
|
+
ARTICULATIONS,
|
|
347
341
|
BudgetExceededError,
|
|
348
342
|
ConsonanceClass,
|
|
349
343
|
DEFAULT_GENERATION_BUDGET,
|
|
@@ -362,17 +356,30 @@ import {
|
|
|
362
356
|
assertPositiveInt,
|
|
363
357
|
assertRange,
|
|
364
358
|
assertTimeSignature,
|
|
359
|
+
barIndexAt,
|
|
360
|
+
barPositionToBeat,
|
|
361
|
+
barPositionToPulse,
|
|
362
|
+
barStartBeat,
|
|
363
|
+
beatToBarPosition,
|
|
364
|
+
beatsPerBar,
|
|
365
|
+
beatsPerBarAt,
|
|
365
366
|
clampToMidi,
|
|
366
367
|
classifyInterval,
|
|
367
368
|
detectNoteNameSystem,
|
|
368
369
|
diatonicLetterOf,
|
|
369
370
|
dropSilentNotes,
|
|
371
|
+
formatBarPosition,
|
|
370
372
|
formatKeyName,
|
|
371
373
|
formatNote,
|
|
374
|
+
formatTimeSignature,
|
|
372
375
|
intervalSemitones,
|
|
376
|
+
isCompound,
|
|
373
377
|
isConsonantInterval,
|
|
374
378
|
isLibcantusError,
|
|
375
379
|
isPerfectInterval,
|
|
380
|
+
isStrongBeat,
|
|
381
|
+
meterAt,
|
|
382
|
+
metricWeight,
|
|
376
383
|
midiToNote,
|
|
377
384
|
naturalPitchClassOf,
|
|
378
385
|
noteToMidi,
|
|
@@ -380,17 +387,24 @@ import {
|
|
|
380
387
|
parseInterval,
|
|
381
388
|
parseKeyName,
|
|
382
389
|
parseNote,
|
|
390
|
+
parseTimeSignature,
|
|
383
391
|
pitchClassOf,
|
|
392
|
+
pulseBeats,
|
|
393
|
+
pulsesPerBar,
|
|
394
|
+
resolveMeters,
|
|
384
395
|
soundingNotesOnly,
|
|
385
396
|
spelledInterval,
|
|
397
|
+
toMeterData,
|
|
386
398
|
toNoteData,
|
|
387
399
|
toSpelledInterval,
|
|
388
400
|
transposeByInterval,
|
|
389
401
|
transposeNote,
|
|
390
402
|
tryParseInterval,
|
|
391
403
|
tryParseKeyName,
|
|
392
|
-
tryParseNote
|
|
393
|
-
|
|
404
|
+
tryParseNote,
|
|
405
|
+
tryParseTimeSignature,
|
|
406
|
+
tuplet
|
|
407
|
+
} from "./chunk-AGOVW7U6.js";
|
|
394
408
|
export {
|
|
395
409
|
ALGORITHM_VERSION,
|
|
396
410
|
ALTERED_MASK,
|
|
@@ -483,15 +497,19 @@ export {
|
|
|
483
497
|
WORLD_SCALES,
|
|
484
498
|
analyzeArrangement,
|
|
485
499
|
analyzeChord,
|
|
500
|
+
analyzePolyphony,
|
|
486
501
|
analyzeVoice,
|
|
487
502
|
applyGrooveTemplate,
|
|
503
|
+
assertChordTimeline,
|
|
488
504
|
assertDegree,
|
|
489
505
|
assertFiniteNumber,
|
|
490
506
|
assertFiniteSemitones,
|
|
491
507
|
assertGenerationBudget,
|
|
492
508
|
assertInteger,
|
|
509
|
+
assertKeyVariant,
|
|
493
510
|
assertMeterMap,
|
|
494
511
|
assertMidiPitch,
|
|
512
|
+
assertModeMask,
|
|
495
513
|
assertNoteEvent,
|
|
496
514
|
assertNoteEvents,
|
|
497
515
|
assertOneOf,
|
|
@@ -629,6 +647,7 @@ export {
|
|
|
629
647
|
isMinorKey,
|
|
630
648
|
isPerfectInterval,
|
|
631
649
|
isScaleTone,
|
|
650
|
+
isSignatureKey,
|
|
632
651
|
isStrongBeat,
|
|
633
652
|
justDeviationCents,
|
|
634
653
|
keyFromFifths,
|
|
@@ -690,6 +709,7 @@ export {
|
|
|
690
709
|
requireScaleMask,
|
|
691
710
|
resolveAlgorithmVersion,
|
|
692
711
|
resolveContext,
|
|
712
|
+
resolveKey,
|
|
693
713
|
resolveMeters,
|
|
694
714
|
resolveScaleName,
|
|
695
715
|
rhythmDensity,
|
|
@@ -697,7 +717,10 @@ export {
|
|
|
697
717
|
roleOf,
|
|
698
718
|
romanToChord,
|
|
699
719
|
scaleByName,
|
|
720
|
+
scaleLadderPitch,
|
|
721
|
+
scaleLadderPosition,
|
|
700
722
|
scaleMatchesChord,
|
|
723
|
+
scaleOf,
|
|
701
724
|
scaleSystemOf,
|
|
702
725
|
scaleTonesInDegreeOrder,
|
|
703
726
|
scalesForChanges,
|
|
@@ -706,6 +729,7 @@ export {
|
|
|
706
729
|
secondsToBeats,
|
|
707
730
|
sectionsFromNotes,
|
|
708
731
|
selectVocabulary,
|
|
732
|
+
shiftByScaleDegrees,
|
|
709
733
|
soundingNotesOnly,
|
|
710
734
|
spanFromChord,
|
|
711
735
|
spellAugmentedSixth,
|
|
@@ -734,11 +758,13 @@ export {
|
|
|
734
758
|
thin,
|
|
735
759
|
ticksToBeats,
|
|
736
760
|
toChordData,
|
|
761
|
+
toInstrumentProfile,
|
|
737
762
|
toKeyScale,
|
|
738
763
|
toMeterData,
|
|
739
764
|
toNoteData,
|
|
740
765
|
toSoundingPitch,
|
|
741
766
|
toSpelledInterval,
|
|
767
|
+
toStringedProfile,
|
|
742
768
|
toVoiceNotes,
|
|
743
769
|
toWrittenPitch,
|
|
744
770
|
transformMotif,
|
|
@@ -751,7 +777,9 @@ export {
|
|
|
751
777
|
tryParseKeyName,
|
|
752
778
|
tryParseNote,
|
|
753
779
|
tryParseTimeSignature,
|
|
780
|
+
tryResolveKeyName,
|
|
754
781
|
tuplet,
|
|
782
|
+
variantOfMask,
|
|
755
783
|
vocabularyOfKind,
|
|
756
784
|
voiceChord,
|
|
757
785
|
voiceChordStyled,
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { k as KeyVariant } from './coerce-DP0vYu-x.js';
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* Build a 12-bit mode mask from a list of semitone offsets above the root.
|
|
3
5
|
*
|
|
@@ -103,6 +105,28 @@ declare const OCTATONIC_WHOLE_HALF_MASK: number;
|
|
|
103
105
|
* @category Scales
|
|
104
106
|
*/
|
|
105
107
|
declare const CHROMATIC_MASK = 4095;
|
|
108
|
+
/**
|
|
109
|
+
* Require a twelve-bit mode mask, and return it.
|
|
110
|
+
*
|
|
111
|
+
* A mask is read with bit operations, and those coerce: a `null` reads as the
|
|
112
|
+
* empty mask, an object as zero. Every answer taken from a mask is a musical
|
|
113
|
+
* claim — which form a key stands in, whether its signature is its own, which
|
|
114
|
+
* system it belongs to — so a value that is not a mask has to be refused rather
|
|
115
|
+
* than answered, and it is refused in one place so the answers cannot disagree
|
|
116
|
+
* about what a mask is.
|
|
117
|
+
*
|
|
118
|
+
* @param modeMask12 The value to check.
|
|
119
|
+
* @param name What the value is, for the error message.
|
|
120
|
+
* @returns The mask.
|
|
121
|
+
* @throws If it is not an integer in [1, {@link CHROMATIC_MASK}].
|
|
122
|
+
* @example
|
|
123
|
+
* ```ts
|
|
124
|
+
* import { assertModeMask, MAJOR_MASK } from '@libraz/libcantus';
|
|
125
|
+
* assertModeMask(MAJOR_MASK); // 2741
|
|
126
|
+
* ```
|
|
127
|
+
* @category Scales
|
|
128
|
+
*/
|
|
129
|
+
declare function assertModeMask(modeMask12: number, name?: string): number;
|
|
106
130
|
/**
|
|
107
131
|
* Lydian dominant (melodic minor's fourth mode): offsets {0,2,4,6,7,9,10}.
|
|
108
132
|
*
|
|
@@ -168,7 +192,7 @@ declare const MIYAKO_BUSHI_MASK: number;
|
|
|
168
192
|
*
|
|
169
193
|
* Two ritsu tetrachords a fourth apart: the middle note sits a whole tone above
|
|
170
194
|
* the lower nuclear tone. The result is the same five pitch classes as the
|
|
171
|
-
* major pentatonic a fourth
|
|
195
|
+
* major pentatonic a fourth above, which is why the mask alone cannot say which
|
|
172
196
|
* tradition is meant.
|
|
173
197
|
*
|
|
174
198
|
* @category Scales
|
|
@@ -441,5 +465,28 @@ declare function namedScaleMask(name: ScaleNameInput): number | undefined;
|
|
|
441
465
|
* @category Scales
|
|
442
466
|
*/
|
|
443
467
|
declare function requireScaleMask(name: ScaleNameInput, label?: string): number;
|
|
468
|
+
/**
|
|
469
|
+
* The form a mask stands in, when it stands in one.
|
|
470
|
+
*
|
|
471
|
+
* A bare scale still names its form — a major mask is a major key whoever built
|
|
472
|
+
* it — so the form is read from the mask rather than defaulted away. Only a
|
|
473
|
+
* mask matching none of the four is modal.
|
|
474
|
+
*/
|
|
475
|
+
declare function variantOfMask(modeMask12: number): KeyVariant;
|
|
476
|
+
/**
|
|
477
|
+
* Refuse a scale form the key's own mask does not hold.
|
|
478
|
+
*
|
|
479
|
+
* A key whose variant says `'harmonic'` over a major mask prints as a harmonic
|
|
480
|
+
* minor while comparing equal to plain C major, so a project file that carried
|
|
481
|
+
* the two apart is refused where the mismatch is still an argument. Kept beside
|
|
482
|
+
* the type it validates: the pairing of form and mask is written once, and
|
|
483
|
+
* every construction path reads that one.
|
|
484
|
+
*
|
|
485
|
+
* @param variant The form claimed for the key.
|
|
486
|
+
* @param modeMask12 The mask the key actually holds.
|
|
487
|
+
* @throws If the form is not one a key may stand in, or the mask does not hold it.
|
|
488
|
+
* @category Scales
|
|
489
|
+
*/
|
|
490
|
+
declare function assertKeyVariant(variant: KeyVariant, modeMask12: number): void;
|
|
444
491
|
|
|
445
|
-
export { ALTERED_MASK as A, BLUES_MASK as B, CHROMATIC_MASK as C, DORIAN_MASK as D, HARMONIC_MINOR_MASK as H, LOCRIAN_MASK as L, MAJOR_MASK as M, NAMED_SCALES as N, OCTATONIC_HALF_WHOLE_MASK as O, PHRYGIAN_DOMINANT_MASK as P, RITSU_MASK as R, SCALE_ALIASES as S, TODI_MASK as T, WHOLE_TONE_MASK as W, DOUBLE_HARMONIC_MASK as a, LOCRIAN_NATURAL2_MASK as b, LYDIAN_DOMINANT_MASK as c, LYDIAN_MASK as d, MAJOR_PENTATONIC_MASK as e, MARWA_MASK as f, MELODIC_MINOR_MASK as g, MINOR_PENTATONIC_MASK as h, MIXOLYDIAN_B13_MASK as i, MIXOLYDIAN_MASK as j, MIYAKO_BUSHI_MASK as k, NATURAL_MINOR_MASK as l, OCTATONIC_WHOLE_HALF_MASK as m, PHRYGIAN_MASK as n, PURVI_MASK as o, RYUKYU_MASK as p, type ScaleAliasName as q, type ScaleName as r, type ScaleNameInput as s, WORLD_SCALES as t, type WorldScaleName as u,
|
|
492
|
+
export { ALTERED_MASK as A, BLUES_MASK as B, CHROMATIC_MASK as C, DORIAN_MASK as D, resolveScaleName as E, variantOfMask as F, HARMONIC_MINOR_MASK as H, LOCRIAN_MASK as L, MAJOR_MASK as M, NAMED_SCALES as N, OCTATONIC_HALF_WHOLE_MASK as O, PHRYGIAN_DOMINANT_MASK as P, RITSU_MASK as R, SCALE_ALIASES as S, TODI_MASK as T, WHOLE_TONE_MASK as W, DOUBLE_HARMONIC_MASK as a, LOCRIAN_NATURAL2_MASK as b, LYDIAN_DOMINANT_MASK as c, LYDIAN_MASK as d, MAJOR_PENTATONIC_MASK as e, MARWA_MASK as f, MELODIC_MINOR_MASK as g, MINOR_PENTATONIC_MASK as h, MIXOLYDIAN_B13_MASK as i, MIXOLYDIAN_MASK as j, MIYAKO_BUSHI_MASK as k, NATURAL_MINOR_MASK as l, OCTATONIC_WHOLE_HALF_MASK as m, PHRYGIAN_MASK as n, PURVI_MASK as o, RYUKYU_MASK as p, type ScaleAliasName as q, type ScaleName as r, type ScaleNameInput as s, WORLD_SCALES as t, type WorldScaleName as u, assertKeyVariant as v, assertModeMask as w, maskFromOffsets as x, namedScaleMask as y, requireScaleMask as z };
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { k as KeyVariant } from './coerce-DRERzdve.cjs';
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* Build a 12-bit mode mask from a list of semitone offsets above the root.
|
|
3
5
|
*
|
|
@@ -103,6 +105,28 @@ declare const OCTATONIC_WHOLE_HALF_MASK: number;
|
|
|
103
105
|
* @category Scales
|
|
104
106
|
*/
|
|
105
107
|
declare const CHROMATIC_MASK = 4095;
|
|
108
|
+
/**
|
|
109
|
+
* Require a twelve-bit mode mask, and return it.
|
|
110
|
+
*
|
|
111
|
+
* A mask is read with bit operations, and those coerce: a `null` reads as the
|
|
112
|
+
* empty mask, an object as zero. Every answer taken from a mask is a musical
|
|
113
|
+
* claim — which form a key stands in, whether its signature is its own, which
|
|
114
|
+
* system it belongs to — so a value that is not a mask has to be refused rather
|
|
115
|
+
* than answered, and it is refused in one place so the answers cannot disagree
|
|
116
|
+
* about what a mask is.
|
|
117
|
+
*
|
|
118
|
+
* @param modeMask12 The value to check.
|
|
119
|
+
* @param name What the value is, for the error message.
|
|
120
|
+
* @returns The mask.
|
|
121
|
+
* @throws If it is not an integer in [1, {@link CHROMATIC_MASK}].
|
|
122
|
+
* @example
|
|
123
|
+
* ```ts
|
|
124
|
+
* import { assertModeMask, MAJOR_MASK } from '@libraz/libcantus';
|
|
125
|
+
* assertModeMask(MAJOR_MASK); // 2741
|
|
126
|
+
* ```
|
|
127
|
+
* @category Scales
|
|
128
|
+
*/
|
|
129
|
+
declare function assertModeMask(modeMask12: number, name?: string): number;
|
|
106
130
|
/**
|
|
107
131
|
* Lydian dominant (melodic minor's fourth mode): offsets {0,2,4,6,7,9,10}.
|
|
108
132
|
*
|
|
@@ -168,7 +192,7 @@ declare const MIYAKO_BUSHI_MASK: number;
|
|
|
168
192
|
*
|
|
169
193
|
* Two ritsu tetrachords a fourth apart: the middle note sits a whole tone above
|
|
170
194
|
* the lower nuclear tone. The result is the same five pitch classes as the
|
|
171
|
-
* major pentatonic a fourth
|
|
195
|
+
* major pentatonic a fourth above, which is why the mask alone cannot say which
|
|
172
196
|
* tradition is meant.
|
|
173
197
|
*
|
|
174
198
|
* @category Scales
|
|
@@ -441,5 +465,28 @@ declare function namedScaleMask(name: ScaleNameInput): number | undefined;
|
|
|
441
465
|
* @category Scales
|
|
442
466
|
*/
|
|
443
467
|
declare function requireScaleMask(name: ScaleNameInput, label?: string): number;
|
|
468
|
+
/**
|
|
469
|
+
* The form a mask stands in, when it stands in one.
|
|
470
|
+
*
|
|
471
|
+
* A bare scale still names its form — a major mask is a major key whoever built
|
|
472
|
+
* it — so the form is read from the mask rather than defaulted away. Only a
|
|
473
|
+
* mask matching none of the four is modal.
|
|
474
|
+
*/
|
|
475
|
+
declare function variantOfMask(modeMask12: number): KeyVariant;
|
|
476
|
+
/**
|
|
477
|
+
* Refuse a scale form the key's own mask does not hold.
|
|
478
|
+
*
|
|
479
|
+
* A key whose variant says `'harmonic'` over a major mask prints as a harmonic
|
|
480
|
+
* minor while comparing equal to plain C major, so a project file that carried
|
|
481
|
+
* the two apart is refused where the mismatch is still an argument. Kept beside
|
|
482
|
+
* the type it validates: the pairing of form and mask is written once, and
|
|
483
|
+
* every construction path reads that one.
|
|
484
|
+
*
|
|
485
|
+
* @param variant The form claimed for the key.
|
|
486
|
+
* @param modeMask12 The mask the key actually holds.
|
|
487
|
+
* @throws If the form is not one a key may stand in, or the mask does not hold it.
|
|
488
|
+
* @category Scales
|
|
489
|
+
*/
|
|
490
|
+
declare function assertKeyVariant(variant: KeyVariant, modeMask12: number): void;
|
|
444
491
|
|
|
445
|
-
export { ALTERED_MASK as A, BLUES_MASK as B, CHROMATIC_MASK as C, DORIAN_MASK as D, HARMONIC_MINOR_MASK as H, LOCRIAN_MASK as L, MAJOR_MASK as M, NAMED_SCALES as N, OCTATONIC_HALF_WHOLE_MASK as O, PHRYGIAN_DOMINANT_MASK as P, RITSU_MASK as R, SCALE_ALIASES as S, TODI_MASK as T, WHOLE_TONE_MASK as W, DOUBLE_HARMONIC_MASK as a, LOCRIAN_NATURAL2_MASK as b, LYDIAN_DOMINANT_MASK as c, LYDIAN_MASK as d, MAJOR_PENTATONIC_MASK as e, MARWA_MASK as f, MELODIC_MINOR_MASK as g, MINOR_PENTATONIC_MASK as h, MIXOLYDIAN_B13_MASK as i, MIXOLYDIAN_MASK as j, MIYAKO_BUSHI_MASK as k, NATURAL_MINOR_MASK as l, OCTATONIC_WHOLE_HALF_MASK as m, PHRYGIAN_MASK as n, PURVI_MASK as o, RYUKYU_MASK as p, type ScaleAliasName as q, type ScaleName as r, type ScaleNameInput as s, WORLD_SCALES as t, type WorldScaleName as u,
|
|
492
|
+
export { ALTERED_MASK as A, BLUES_MASK as B, CHROMATIC_MASK as C, DORIAN_MASK as D, resolveScaleName as E, variantOfMask as F, HARMONIC_MINOR_MASK as H, LOCRIAN_MASK as L, MAJOR_MASK as M, NAMED_SCALES as N, OCTATONIC_HALF_WHOLE_MASK as O, PHRYGIAN_DOMINANT_MASK as P, RITSU_MASK as R, SCALE_ALIASES as S, TODI_MASK as T, WHOLE_TONE_MASK as W, DOUBLE_HARMONIC_MASK as a, LOCRIAN_NATURAL2_MASK as b, LYDIAN_DOMINANT_MASK as c, LYDIAN_MASK as d, MAJOR_PENTATONIC_MASK as e, MARWA_MASK as f, MELODIC_MINOR_MASK as g, MINOR_PENTATONIC_MASK as h, MIXOLYDIAN_B13_MASK as i, MIXOLYDIAN_MASK as j, MIYAKO_BUSHI_MASK as k, NATURAL_MINOR_MASK as l, OCTATONIC_WHOLE_HALF_MASK as m, PHRYGIAN_MASK as n, PURVI_MASK as o, RYUKYU_MASK as p, type ScaleAliasName as q, type ScaleName as r, type ScaleNameInput as s, WORLD_SCALES as t, type WorldScaleName as u, assertKeyVariant as v, assertModeMask as w, maskFromOffsets as x, namedScaleMask as y, requireScaleMask as z };
|
package/dist/model/index.cjs
CHANGED
|
@@ -16,23 +16,23 @@
|
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
var
|
|
20
|
-
require('../chunk-
|
|
21
|
-
require('../chunk-
|
|
22
|
-
require('../chunk-
|
|
23
|
-
require('../chunk-
|
|
24
|
-
require('../chunk-
|
|
25
|
-
require('../chunk-
|
|
26
|
-
require('../chunk-
|
|
27
|
-
require('../chunk-
|
|
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
|
|
31
|
-
require('../chunk-Q2WGKJNN.cjs');
|
|
30
|
+
var _chunk3R3QVKY5cjs = require('../chunk-3R3QVKY5.cjs');
|
|
32
31
|
|
|
33
32
|
|
|
34
33
|
|
|
35
34
|
|
|
35
|
+
var _chunkS5BKZZGMcjs = require('../chunk-S5BKZZGM.cjs');
|
|
36
36
|
|
|
37
37
|
|
|
38
38
|
|
|
@@ -48,5 +48,12 @@ require('../chunk-Q2WGKJNN.cjs');
|
|
|
48
48
|
|
|
49
49
|
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
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;
|
|
52
59
|
//# sourceMappingURL=index.cjs.map
|
package/dist/model/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/libcantus/libcantus/dist/model/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACF,yDAA8B;AAC9B,
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/libcantus/libcantus/dist/model/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACF,yDAA8B;AAC9B;AACE;AACA;AACA;AACF,yDAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,0+BAAC","file":"/home/runner/work/libcantus/libcantus/dist/model/index.cjs"}
|