@libraz/libcantus 1.2.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/NOTICE +63 -0
- package/README.md +7 -1
- package/README_ja.md +17 -11
- package/dist/analyze/index.cjs +31 -7
- package/dist/analyze/index.cjs.map +1 -1
- package/dist/analyze/index.d.cts +161 -13
- package/dist/analyze/index.d.ts +161 -13
- package/dist/analyze/index.js +37 -13
- package/dist/{chunk-NB25P3EH.js → chunk-2G5MCGYU.js} +33 -11
- package/dist/chunk-2G5MCGYU.js.map +1 -0
- package/dist/{chunk-NM7UAMC3.cjs → chunk-3FDBMIPR.cjs} +64 -64
- package/dist/chunk-3FDBMIPR.cjs.map +1 -0
- package/dist/{chunk-HPVSH7SF.cjs → chunk-3MDOEFIQ.cjs} +618 -954
- package/dist/chunk-3MDOEFIQ.cjs.map +1 -0
- package/dist/{chunk-FBH75DAY.js → chunk-5MWRBYAT.js} +560 -159
- package/dist/chunk-5MWRBYAT.js.map +1 -0
- package/dist/{chunk-J7FHVZII.cjs → chunk-6TTBEON3.cjs} +3074 -740
- package/dist/chunk-6TTBEON3.cjs.map +1 -0
- package/dist/{chunk-UMWZ4ZET.js → chunk-7NQ6AL3H.js} +4 -4
- package/dist/chunk-7NQ6AL3H.js.map +1 -0
- package/dist/{chunk-HWHGOVO6.cjs → chunk-E3QO3UET.cjs} +31 -23
- package/dist/chunk-E3QO3UET.cjs.map +1 -0
- package/dist/{chunk-H2KJHBW4.js → chunk-FJFULJZE.js} +2375 -191
- package/dist/chunk-FJFULJZE.js.map +1 -0
- package/dist/{chunk-Q6LFSAKV.js → chunk-FK3DGAIZ.js} +2657 -323
- package/dist/chunk-FK3DGAIZ.js.map +1 -0
- package/dist/chunk-GEDTJHAC.cjs.map +1 -1
- package/dist/{chunk-RFIBF2RR.js → chunk-H7FVMBUC.js} +138 -65
- package/dist/chunk-H7FVMBUC.js.map +1 -0
- package/dist/{chunk-DSMJRXCZ.cjs → chunk-HYSVSFNI.cjs} +931 -530
- package/dist/chunk-HYSVSFNI.cjs.map +1 -0
- package/dist/{chunk-35NBV2FT.cjs → chunk-KMYGRFZ6.cjs} +47 -24
- package/dist/chunk-KMYGRFZ6.cjs.map +1 -0
- package/dist/chunk-LQZQDBCD.cjs +5513 -0
- package/dist/chunk-LQZQDBCD.cjs.map +1 -0
- package/dist/{chunk-PM4XJE2Y.cjs → chunk-P3CPXAJ5.cjs} +76 -54
- package/dist/chunk-P3CPXAJ5.cjs.map +1 -0
- package/dist/{chunk-S5BKZZGM.cjs → chunk-S3QELJUE.cjs} +72 -56
- package/dist/chunk-S3QELJUE.cjs.map +1 -0
- package/dist/{chunk-PUKJP2Z5.js → chunk-TXFWSU5D.js} +31 -8
- package/dist/chunk-TXFWSU5D.js.map +1 -0
- package/dist/{chunk-76ZBTRG2.cjs → chunk-U4EQTDGN.cjs} +258 -218
- package/dist/chunk-U4EQTDGN.cjs.map +1 -0
- package/dist/chunk-UGLFDG7L.cjs.map +1 -1
- package/dist/{chunk-HYJJ2V2I.js → chunk-UTE5A36R.js} +483 -819
- package/dist/chunk-UTE5A36R.js.map +1 -0
- package/dist/{chunk-NFJ4P6ZZ.js → chunk-UZKQISRF.js} +17 -9
- package/dist/chunk-UZKQISRF.js.map +1 -0
- package/dist/{chunk-7KG3RTYS.js → chunk-VL5NXVCN.js} +281 -155
- package/dist/chunk-VL5NXVCN.js.map +1 -0
- package/dist/{chunk-CGBADIO5.cjs → chunk-WOMCXN2W.cjs} +328 -202
- package/dist/chunk-WOMCXN2W.cjs.map +1 -0
- package/dist/{chunk-3R3QVKY5.cjs → chunk-YDGMWH43.cjs} +397 -324
- package/dist/chunk-YDGMWH43.cjs.map +1 -0
- package/dist/{chunk-AGOVW7U6.js → chunk-YYVXRV3V.js} +72 -56
- package/dist/chunk-YYVXRV3V.js.map +1 -0
- package/dist/{chunk-M5RYMAFI.js → chunk-ZLNSH4UL.js} +71 -31
- package/dist/chunk-ZLNSH4UL.js.map +1 -0
- package/dist/{coerce-DRERzdve.d.cts → coerce-CUhHc3Tu.d.ts} +16 -8
- package/dist/{coerce-DP0vYu-x.d.ts → coerce-Ytt2Eiq9.d.cts} +16 -8
- package/dist/core/index.cjs +5 -5
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.d.cts +9 -8
- package/dist/core/index.d.ts +9 -8
- package/dist/core/index.js +4 -4
- package/dist/generate/index.cjs +20 -8
- package/dist/generate/index.cjs.map +1 -1
- package/dist/generate/index.d.cts +105 -17
- package/dist/generate/index.d.ts +105 -17
- package/dist/generate/index.js +19 -7
- package/dist/{index-CL4b4gUQ.d.ts → index-5VJgKz_Q.d.cts} +6 -2
- package/dist/{index-B9QLziDe.d.cts → index-BLuDesVG.d.ts} +20 -13
- package/dist/{index-BHIUyjhZ.d.ts → index-BV6APVa6.d.cts} +20 -13
- package/dist/{index-BMweUlm5.d.cts → index-Bf0Sv8a9.d.ts} +6 -2
- package/dist/{index-Dw2DP7vm.d.ts → index-BkT21EMv.d.cts} +3 -2
- package/dist/{index-BL5N2Oyz.d.cts → index-C7KCaTRz.d.ts} +3 -2
- package/dist/{index-Cy15oTvh.d.ts → index-C9MYbuKS.d.cts} +7 -3
- package/dist/{index-Cy15oTvh.d.cts → index-C9MYbuKS.d.ts} +7 -3
- package/dist/{index-BNSM-DSk.d.cts → index-DVInzCDS.d.cts} +533 -28
- package/dist/{index-9eoQs2C1.d.ts → index-Dg-SAfhz.d.ts} +6 -4
- package/dist/{index-BJgP97N1.d.ts → index-jgeug9EA.d.ts} +533 -28
- package/dist/{index-cHvbYgJI.d.cts → index-pQihL4z7.d.cts} +6 -4
- package/dist/index.cjs +49 -13
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +13 -13
- package/dist/index.d.ts +13 -13
- package/dist/index.js +55 -19
- package/dist/{masks-Cc7-MzzY.d.ts → masks-BnzXnBj0.d.cts} +3 -2
- package/dist/{masks-pADfTOiD.d.cts → masks-tycmkrgs.d.ts} +3 -2
- package/dist/model/index.cjs +12 -12
- package/dist/model/index.cjs.map +1 -1
- package/dist/model/index.d.cts +259 -48
- package/dist/model/index.d.ts +259 -48
- package/dist/model/index.js +11 -11
- package/dist/{positional-DJgs6ltD.d.ts → positional-CscpxtlE.d.cts} +3 -2
- package/dist/{positional-DMZer-FM.d.cts → positional-DLnfUgqG.d.ts} +3 -2
- package/dist/{index-BRMbPkHE.d.ts → profile-B4WqcM4H.d.ts} +85 -610
- package/dist/{index-DGCNKAUr.d.cts → profile-BJd1XkPB.d.cts} +85 -610
- package/dist/theory/index.cjs +5 -5
- package/dist/theory/index.cjs.map +1 -1
- package/dist/theory/index.d.cts +18 -14
- package/dist/theory/index.d.ts +18 -14
- package/dist/theory/index.js +4 -4
- package/dist/{index-CJBBiAmU.d.ts → types-7mGFwvMm.d.ts} +1210 -31
- package/dist/{index-BBWNZS0f.d.cts → types-_ofpb2be.d.cts} +1210 -31
- package/package.json +13 -13
- package/dist/chunk-35NBV2FT.cjs.map +0 -1
- package/dist/chunk-3R3QVKY5.cjs.map +0 -1
- package/dist/chunk-76ZBTRG2.cjs.map +0 -1
- package/dist/chunk-7KG3RTYS.js.map +0 -1
- package/dist/chunk-AGOVW7U6.js.map +0 -1
- package/dist/chunk-CGBADIO5.cjs.map +0 -1
- package/dist/chunk-DSMJRXCZ.cjs.map +0 -1
- package/dist/chunk-FBH75DAY.js.map +0 -1
- package/dist/chunk-H2KJHBW4.js.map +0 -1
- package/dist/chunk-HPVSH7SF.cjs.map +0 -1
- package/dist/chunk-HWHGOVO6.cjs.map +0 -1
- package/dist/chunk-HYJJ2V2I.js.map +0 -1
- package/dist/chunk-J7FHVZII.cjs.map +0 -1
- package/dist/chunk-M5RYMAFI.js.map +0 -1
- package/dist/chunk-NB25P3EH.js.map +0 -1
- package/dist/chunk-NFJ4P6ZZ.js.map +0 -1
- package/dist/chunk-NM7UAMC3.cjs.map +0 -1
- package/dist/chunk-PM4XJE2Y.cjs.map +0 -1
- package/dist/chunk-PUKJP2Z5.js.map +0 -1
- package/dist/chunk-Q6LFSAKV.js.map +0 -1
- package/dist/chunk-RFIBF2RR.js.map +0 -1
- package/dist/chunk-S5BKZZGM.cjs.map +0 -1
- package/dist/chunk-SGLEQVJH.cjs +0 -3329
- package/dist/chunk-SGLEQVJH.cjs.map +0 -1
- package/dist/chunk-UMWZ4ZET.js.map +0 -1
package/dist/model/index.d.ts
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export { b as ArrangementSession, f as ConflictPartner,
|
|
3
|
-
import {
|
|
4
|
-
export {
|
|
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-
|
|
6
|
-
export { B as BudgetExceededError, d as InvalidInputError, L as LibcantusError, N as NoSolutionError, k as NoteNameSystem } from '../index-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
11
|
-
import { b as InstrumentProfileLike, d as PositionalRng, I as InstrumentProfile, e as StringFingering } from '../positional-
|
|
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-
|
|
13
|
-
import { c as MeterMap, b as MeterLike, B as BarPosition, T as TimeSignature } from '../index-
|
|
14
|
-
export { M as MeterChange } from '../index-
|
|
15
|
-
import { s as ScaleNameInput, r as ScaleName } from '../masks-
|
|
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-
|
|
17
|
-
export { a as AvoidNoteUse, f as PartWritingViolationKind, o as TransposingInstrumentName, s as VoicingStyle } from '../index-
|
|
18
|
-
import {
|
|
19
|
-
export { f as BassStyle, l as DrumRole, E as EuclideanKick,
|
|
20
|
-
import '../index-
|
|
1
|
+
import { D as DetectChordOptions, C as ChordMatch, g as DetectKeyOptions, K as KeyMatch, d as AugmentedSixthKind, k as PhraseOptions, P as Phrase, S as StructuralCadence, h as HypermeterOptions, H as Hypermeter, R as ReferenceProfileOptions, c as ArrangementTrack, a as ArrangementOptions, A as ArrangementAnalysis, e as Conflict, n as TrackEdit, T as TensionPoint } from '../profile-B4WqcM4H.js';
|
|
2
|
+
export { b as ArrangementSession, f as ConflictPartner, j as ModalScaleName, l as PhraseSignal, m as TrackAnalysis, o as TrackRole } from '../profile-B4WqcM4H.js';
|
|
3
|
+
import { r as KeyRegion, i as ChordTimelineOptions, U as ReduceProgressionOptions, V as ReducedChord, c as CadenceHit, s as KeyTimelineOptions, k as ChordToRomanOptions, h as ChordTimeline, o as HarmonicFunction, A as AnalyzeChordOptions, D as DetectCadenceOptions, f as ChordAnalysis, d as CadenceResult, E as ExplainRomanOptions, a9 as RomanExplanation, b as BorrowedSource, n as FormSectionOptions, F as FormSection, m as ExtractMotifsOptions, x as MotifData, u as MelodicContour, a5 as ReferenceProfile, a8 as RhythmAnalysisOptions, a7 as RhythmAnalysis, J as MotifGraphOptions, y as MotifGraph, a as AnalyzedNote, I as IdentifiedVoiceNote, N as MotifRelation } from '../types-7mGFwvMm.js';
|
|
4
|
+
export { B as BarPositionProfile, e as CadenceType, g as ChordSegmentation, j as ChordTimelineResult, l as ContourDirection, K as KeyContext, p as KeyProfileName, q as KeyProfilePair, v as MelodicContourShape, z as MotifGraphEdge, G as MotifGraphNode, L as MotifOccurrence, O as MotifRelationKind, P as MotifRelationSummary, Q as PivotChord, W as ReductionBasis, X as ReductionLevel, Y as ReferenceCadence, Z as ReferenceChord, _ as ReferenceForm, $ as ReferenceHarmony, a0 as ReferenceKeyRegion, a1 as ReferenceMelody, a2 as ReferenceMotif, a3 as ReferencePhrase, a4 as ReferencePhraseMelody, a6 as RejectedCandidate, aa as SuspensionFigure, ab as TheoryLabel, ac as VoiceNote } from '../types-7mGFwvMm.js';
|
|
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-C9MYbuKS.js';
|
|
6
|
+
export { B as BudgetExceededError, d as InvalidInputError, L as LibcantusError, N as NoSolutionError, k as NoteNameSystem } from '../index-C9MYbuKS.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-CUhHc3Tu.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-CUhHc3Tu.js';
|
|
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-Dg-SAfhz.js';
|
|
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-Dg-SAfhz.js';
|
|
11
|
+
import { b as InstrumentProfileLike, d as PositionalRng, I as InstrumentProfile, e as StringFingering } from '../positional-DLnfUgqG.js';
|
|
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-DLnfUgqG.js';
|
|
13
|
+
import { c as MeterMap, b as MeterLike, B as BarPosition, T as TimeSignature } from '../index-Bf0Sv8a9.js';
|
|
14
|
+
export { M as MeterChange } from '../index-Bf0Sv8a9.js';
|
|
15
|
+
import { s as ScaleNameInput, r as ScaleName } from '../masks-tycmkrgs.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-BLuDesVG.js';
|
|
17
|
+
export { a as AvoidNoteUse, f as PartWritingViolationKind, o as TransposingInstrumentName, s as VoicingStyle } from '../index-BLuDesVG.js';
|
|
18
|
+
import { af as SubstitutionType, ad as SubstituteOptions, ae as Substitution, g as BorrowedChord, L as HumanizeOptions, U as OrnamentOptions, H as GrooveTemplate, j as CompositionPlan, u as EvaluateCompositionOptions, i as CompositionEvaluation, d as BassLineOptions, h as Complexity, ah as Vocabulary, a4 as ProgressionOptions, t as DrumsOptions, e as BassSegment, m as CounterMelodyOptions, I as HarmonizeOptions, k as CompositionPlanOptions, N as MelodyOptions, v as GenerationContext, O as MotifCell, P as MotifContour, w as GenerationContextInput, Q as MotifNote, S as MotifTransform, a9 as RhythmEvent, aa as RhythmOptions } from '../index-jgeug9EA.js';
|
|
19
|
+
export { f as BassStyle, l as CompositionViolation, q as DrumRole, E as EuclideanKick, x as Genre, y as GridEvent, z as GrooveFeel, A as GrooveSlot, F as GrooveStyle, J as HarmonizePlacement, M as MelodyNote, V as OrnamentStyle, X as PlannedChord, Y as PlannedMotif, Z as PlannedPhrase, _ as PlannedRhythm, $ as PlannedSection, a0 as PreserveWeights, a1 as ProgFunction, a2 as ProgStyle, a3 as ProgressionDegree, a5 as ProgressionPreset, a6 as Provenance, a7 as ProvenanceBasis, ac as Section } from '../index-jgeug9EA.js';
|
|
20
|
+
import '../index-C7KCaTRz.js';
|
|
21
21
|
|
|
22
22
|
/**
|
|
23
23
|
* An immutable spelled interval value: a diatonic number, a quality label, and
|
|
@@ -160,6 +160,9 @@ declare class Interval {
|
|
|
160
160
|
/**
|
|
161
161
|
* Whether the interval is consonant.
|
|
162
162
|
*
|
|
163
|
+
* The spelling decides, not the span: a diminished fourth is a dissonance
|
|
164
|
+
* though it sounds like a major third.
|
|
165
|
+
*
|
|
163
166
|
* @param twoVoice When true, the perfect fourth counts as a dissonance,
|
|
164
167
|
* matching two-voice counterpoint.
|
|
165
168
|
* @returns True if the interval is consonant in that context.
|
|
@@ -609,8 +612,9 @@ declare class Timeline {
|
|
|
609
612
|
*
|
|
610
613
|
* @param data The segments and the span they cover; copied, never retained.
|
|
611
614
|
* @throws If the span, a segment, or a key region carries a number it cannot
|
|
612
|
-
* hold — a beat that is not finite, a mode mask that names no scale —
|
|
613
|
-
* the
|
|
615
|
+
* hold — a beat that is not finite, a mode mask that names no scale — if
|
|
616
|
+
* the segments or the key regions are not disjoint, in beat order and of
|
|
617
|
+
* positive length, or if the confidences do not run one per segment.
|
|
614
618
|
*/
|
|
615
619
|
constructor(data: TimelineData);
|
|
616
620
|
/**
|
|
@@ -619,7 +623,8 @@ declare class Timeline {
|
|
|
619
623
|
* @param spans The chords with their onsets, in any order.
|
|
620
624
|
* @param totalBeats Where the last chord stops sounding.
|
|
621
625
|
* @param key The key the chords are read in, when it is already known. It
|
|
622
|
-
* becomes the one key region
|
|
626
|
+
* becomes the one key region from the first chord to the end of the span;
|
|
627
|
+
* without it, or without a chord for it to be in force over, the timeline
|
|
623
628
|
* carries no key, and the members that need one say so.
|
|
624
629
|
* @returns The timeline.
|
|
625
630
|
*/
|
|
@@ -844,6 +849,12 @@ declare class Timeline {
|
|
|
844
849
|
type ProgressionData = {
|
|
845
850
|
chords: Chord$1[];
|
|
846
851
|
key: KeyData | undefined;
|
|
852
|
+
/**
|
|
853
|
+
* Each chord's own key by position, null for a chord without one. Written
|
|
854
|
+
* only when the progression carries no key and some chord does; read only
|
|
855
|
+
* when `key` is absent, since a progression key reaches every chord.
|
|
856
|
+
*/
|
|
857
|
+
chordKeys?: (KeyData | null)[];
|
|
847
858
|
};
|
|
848
859
|
/**
|
|
849
860
|
* An immutable ordered sequence of chords, optionally carrying a {@link Key}
|
|
@@ -907,10 +918,12 @@ declare class Progression {
|
|
|
907
918
|
*/
|
|
908
919
|
static fromSpans(spans: readonly ChordSpan[], key?: KeyLike): Progression;
|
|
909
920
|
/**
|
|
910
|
-
* Rebuild a progression from its {@link Progression.toJSON} output
|
|
921
|
+
* Rebuild a progression from its {@link Progression.toJSON} output, with the
|
|
922
|
+
* carried key or, without one, each chord's own key.
|
|
911
923
|
*
|
|
912
|
-
* @param data The serialized chords and
|
|
924
|
+
* @param data The serialized chords and keys.
|
|
913
925
|
* @returns The progression.
|
|
926
|
+
* @throws If `chordKeys` does not hold one entry per chord.
|
|
914
927
|
*/
|
|
915
928
|
static fromJSON(data: ProgressionData): Progression;
|
|
916
929
|
/**
|
|
@@ -1284,10 +1297,12 @@ declare class Progression {
|
|
|
1284
1297
|
/**
|
|
1285
1298
|
* The plain progression data, for JSON serialization.
|
|
1286
1299
|
*
|
|
1287
|
-
* Private class fields do not serialize, so this preserves
|
|
1288
|
-
*
|
|
1300
|
+
* Private class fields do not serialize, so this preserves the chord data,
|
|
1301
|
+
* any carried key, and — for a progression with no key of its own — each
|
|
1302
|
+
* chord's own key in `JSON.stringify(progression)`.
|
|
1289
1303
|
*
|
|
1290
|
-
* @returns The chord data sequence
|
|
1304
|
+
* @returns The chord data sequence, the carried key, if any, and the
|
|
1305
|
+
* per-chord keys when they are what spells the chords.
|
|
1291
1306
|
*/
|
|
1292
1307
|
toJSON(): ProgressionData;
|
|
1293
1308
|
}
|
|
@@ -2225,7 +2240,7 @@ declare class Key {
|
|
|
2225
2240
|
get scaleName(): ScaleName | undefined;
|
|
2226
2241
|
/** A copy of the underlying plain key data. */
|
|
2227
2242
|
get data(): KeyData;
|
|
2228
|
-
/** The
|
|
2243
|
+
/** The scale form this key stands in: natural, harmonic or melodic, read from the mask unless named. */
|
|
2229
2244
|
get variant(): KeyVariant;
|
|
2230
2245
|
/**
|
|
2231
2246
|
* The scale's pitch classes.
|
|
@@ -2516,7 +2531,7 @@ declare class Key {
|
|
|
2516
2531
|
*
|
|
2517
2532
|
* Unlike {@link Key.transpose}, which picks a letter from the semitone count,
|
|
2518
2533
|
* the interval's diatonic number decides the tonic's letter: G# minor down an
|
|
2519
|
-
* augmented fourth is D minor, while down a diminished fifth it is
|
|
2534
|
+
* augmented fourth is D minor, while down a diminished fifth it is C## minor.
|
|
2520
2535
|
* The mode mask is unchanged, so the scale keeps its shape.
|
|
2521
2536
|
*
|
|
2522
2537
|
* @param interval The interval to apply, as a name (`'A4'`, `'-A4'`), plain
|
|
@@ -2790,12 +2805,11 @@ declare class Key {
|
|
|
2790
2805
|
*
|
|
2791
2806
|
* Private class fields do not serialize, so an explicit `toJSON` keeps
|
|
2792
2807
|
* `JSON.stringify(key)` from collapsing to `{}`. The result pairs the
|
|
2793
|
-
* `KeyScale` with the spelled tonic and
|
|
2794
|
-
*
|
|
2795
|
-
*
|
|
2808
|
+
* `KeyScale` with the spelled tonic and the scale form — everything
|
|
2809
|
+
* {@link Key.fromJSON} needs to rebuild a key that reads and prints as this
|
|
2810
|
+
* one.
|
|
2796
2811
|
*
|
|
2797
|
-
* @returns The key/scale, its spelled tonic, and its scale form
|
|
2798
|
-
* one.
|
|
2812
|
+
* @returns The key/scale, its spelled tonic, and its scale form.
|
|
2799
2813
|
*/
|
|
2800
2814
|
toJSON(): KeyData;
|
|
2801
2815
|
/**
|
|
@@ -3033,9 +3047,8 @@ declare class Score {
|
|
|
3033
3047
|
/**
|
|
3034
3048
|
* The notes pushed off the grid the way a player would.
|
|
3035
3049
|
*
|
|
3036
|
-
* The metric accents are read
|
|
3037
|
-
* {@link
|
|
3038
|
-
* to read a later stretch of a score that changes meter.
|
|
3050
|
+
* The metric accents are read against the score's meter map, exactly as
|
|
3051
|
+
* {@link humanize} reads that map; pass `ts` to read against another meter.
|
|
3039
3052
|
*
|
|
3040
3053
|
* @param opts Jitter amounts, accent depth and the seed; see
|
|
3041
3054
|
* {@link HumanizeOptions}.
|
|
@@ -3045,8 +3058,8 @@ declare class Score {
|
|
|
3045
3058
|
/**
|
|
3046
3059
|
* The notes with ornaments added.
|
|
3047
3060
|
*
|
|
3048
|
-
* Strong positions are read
|
|
3049
|
-
* {@link
|
|
3061
|
+
* Strong positions are read against the score's meter map, exactly as
|
|
3062
|
+
* {@link ornament} reads that map.
|
|
3050
3063
|
*
|
|
3051
3064
|
* @param opts The ornament style, how much is decorated, and the seed; see
|
|
3052
3065
|
* {@link OrnamentOptions}.
|
|
@@ -3056,9 +3069,9 @@ declare class Score {
|
|
|
3056
3069
|
/**
|
|
3057
3070
|
* The notes placed on a groove template's slots.
|
|
3058
3071
|
*
|
|
3059
|
-
* The template's per-bar grid is laid out against the score's
|
|
3060
|
-
*
|
|
3061
|
-
* under
|
|
3072
|
+
* The template's per-bar grid is laid out against the score's meter map,
|
|
3073
|
+
* exactly as {@link applyGrooveTemplate} reads that map; a template extracted
|
|
3074
|
+
* under another meter is refused rather than drifting.
|
|
3062
3075
|
*
|
|
3063
3076
|
* @param template The groove template, from `extractGrooveTemplate`.
|
|
3064
3077
|
* @returns The score with the template's feel imposed.
|
|
@@ -3072,8 +3085,8 @@ declare class Score {
|
|
|
3072
3085
|
* slot by slot for how far ahead of or behind the grid it sits and how hard
|
|
3073
3086
|
* it is struck, and the reading is handed back as a template. Only the
|
|
3074
3087
|
* subdivision is named, because the score already holds the meter the grid is
|
|
3075
|
-
* laid out against — its
|
|
3076
|
-
*
|
|
3088
|
+
* laid out against — its meter map, read exactly as
|
|
3089
|
+
* {@link extractGrooveTemplate} reads that map.
|
|
3077
3090
|
*
|
|
3078
3091
|
* @param subdivision Grid steps per quarter-note beat; a sixteenth-note grid
|
|
3079
3092
|
* by default, which is where swing, push and drag are audible.
|
|
@@ -3202,8 +3215,9 @@ declare class Score {
|
|
|
3202
3215
|
*
|
|
3203
3216
|
* A melody is one line, so a score holding several is read as its top voice:
|
|
3204
3217
|
* notes struck together are one event and the highest of them stands for it.
|
|
3205
|
-
* A
|
|
3206
|
-
*
|
|
3218
|
+
* A block-chord part read whole therefore answers for its top voice rather
|
|
3219
|
+
* than for a line assembled from the insides of its chords; a lower note
|
|
3220
|
+
* struck while a higher one still sounds stays in the line, though. Split the
|
|
3207
3221
|
* score into lines first to have each of them answered for.
|
|
3208
3222
|
*
|
|
3209
3223
|
* @param opts Cell-length bounds and the recurrence threshold; see
|
|
@@ -3236,6 +3250,113 @@ declare class Score {
|
|
|
3236
3250
|
* answered for; {@link Score.voices} is what reads the polyphony as polyphony.
|
|
3237
3251
|
*/
|
|
3238
3252
|
contour(): MelodicContour;
|
|
3253
|
+
/**
|
|
3254
|
+
* The score's structural fingerprint: form, phrase shape, harmonic function
|
|
3255
|
+
* and rhythm, and how its motifs derive from one another.
|
|
3256
|
+
*
|
|
3257
|
+
* The harmony is the score's own kept chord analysis, read once whether this
|
|
3258
|
+
* is asked before or after {@link Score.timeline} — unless `opts.timeline`
|
|
3259
|
+
* gives the harmony directly, in which case the reading runs fresh through
|
|
3260
|
+
* {@link analyzeReference} rather than the harmony this score already holds.
|
|
3261
|
+
* The meter, the key and the span are the score's own and are not on offer
|
|
3262
|
+
* here: a caller wanting another meter reads through {@link
|
|
3263
|
+
* Score.withMeters}, and one wanting another key or span calls {@link
|
|
3264
|
+
* analyzeReference} directly.
|
|
3265
|
+
*
|
|
3266
|
+
* Asked with no options, the answer is kept and a copy of it handed back, as
|
|
3267
|
+
* {@link Score.timeline} keeps its own reading; asked with options, the
|
|
3268
|
+
* answer is read afresh and not kept.
|
|
3269
|
+
*
|
|
3270
|
+
* @param opts The harmony, the melody, and the budget; see {@link
|
|
3271
|
+
* ReferenceProfileOptions}. Meter, key and span are the score's own.
|
|
3272
|
+
* @returns The profile.
|
|
3273
|
+
* @example
|
|
3274
|
+
* ```ts
|
|
3275
|
+
* import { Score } from '@libraz/libcantus';
|
|
3276
|
+
* const triad = (pitches: number[], startBeat: number) =>
|
|
3277
|
+
* pitches.map((pitch) => ({ pitch, startBeat, durationBeat: 4 }));
|
|
3278
|
+
* const score = Score.of(
|
|
3279
|
+
* [
|
|
3280
|
+
* ...triad([60, 64, 67], 0),
|
|
3281
|
+
* ...triad([65, 69, 72], 4),
|
|
3282
|
+
* ...triad([67, 71, 74], 8),
|
|
3283
|
+
* ...triad([60, 64, 67], 12),
|
|
3284
|
+
* ],
|
|
3285
|
+
* { key: 'C major' },
|
|
3286
|
+
* );
|
|
3287
|
+
* score.reference().harmony.chords.map((chord) => chord.roman); // ['I', 'IV', 'V', 'I']
|
|
3288
|
+
* ```
|
|
3289
|
+
*/
|
|
3290
|
+
reference(opts?: Omit<ReferenceProfileOptions, 'ts' | 'meters' | 'key' | 'totalBeats'>): ReferenceProfile;
|
|
3291
|
+
/**
|
|
3292
|
+
* The onset placement of the score's melodic line.
|
|
3293
|
+
*
|
|
3294
|
+
* A melody is one line, so a score holding several is read as its top voice,
|
|
3295
|
+
* as {@link Score.motifs} and {@link Score.contour} are.
|
|
3296
|
+
*
|
|
3297
|
+
* @param opts The span's end and the budget; see {@link
|
|
3298
|
+
* RhythmAnalysisOptions}. The meter is the score's own.
|
|
3299
|
+
* @returns The rhythm reading.
|
|
3300
|
+
* @example
|
|
3301
|
+
* ```ts
|
|
3302
|
+
* import { Score } from '@libraz/libcantus';
|
|
3303
|
+
* const score = Score.of([
|
|
3304
|
+
* { pitch: 60, startBeat: 0, durationBeat: 1 },
|
|
3305
|
+
* { pitch: 62, startBeat: 1, durationBeat: 1 },
|
|
3306
|
+
* { pitch: 64, startBeat: 2, durationBeat: 1 },
|
|
3307
|
+
* { pitch: 65, startBeat: 3, durationBeat: 1 },
|
|
3308
|
+
* ]);
|
|
3309
|
+
* score.rhythm().onsetDensity; // 4
|
|
3310
|
+
* ```
|
|
3311
|
+
*/
|
|
3312
|
+
rhythm(opts?: Omit<RhythmAnalysisOptions, 'ts' | 'meters'>): RhythmAnalysis;
|
|
3313
|
+
/**
|
|
3314
|
+
* How the score's motifs derive from one another: which statement grew out
|
|
3315
|
+
* of which, and by what transformation.
|
|
3316
|
+
*
|
|
3317
|
+
* {@link Score.motifs} finds the cells; this reads across their occurrences
|
|
3318
|
+
* and names, for every statement after the first, the earlier one it most
|
|
3319
|
+
* plausibly grew out of. A melody is one line, so a score holding several is
|
|
3320
|
+
* read as its top voice, as {@link Score.motifs} is.
|
|
3321
|
+
*
|
|
3322
|
+
* @param opts Cell-length bounds and the recurrence threshold {@link
|
|
3323
|
+
* Score.motifs} takes, plus the variation threshold and the budget; see
|
|
3324
|
+
* {@link MotifGraphOptions} and {@link ExtractMotifsOptions}.
|
|
3325
|
+
* @returns The derivation forest.
|
|
3326
|
+
* @example
|
|
3327
|
+
* ```ts
|
|
3328
|
+
* import { Score } from '@libraz/libcantus';
|
|
3329
|
+
* const score = Score.of([
|
|
3330
|
+
* { pitch: 60, startBeat: 0, durationBeat: 1 },
|
|
3331
|
+
* { pitch: 62, startBeat: 1, durationBeat: 1 },
|
|
3332
|
+
* { pitch: 64, startBeat: 2, durationBeat: 1 },
|
|
3333
|
+
* { pitch: 60, startBeat: 3, durationBeat: 1 },
|
|
3334
|
+
* { pitch: 62, startBeat: 4, durationBeat: 1 },
|
|
3335
|
+
* { pitch: 64, startBeat: 5, durationBeat: 1 },
|
|
3336
|
+
* ]);
|
|
3337
|
+
* score.motifGraph().edges.length; // 1
|
|
3338
|
+
* ```
|
|
3339
|
+
*/
|
|
3340
|
+
motifGraph(opts?: MotifGraphOptions & ExtractMotifsOptions): MotifGraph;
|
|
3341
|
+
/**
|
|
3342
|
+
* How this score, read as a melody, keeps to a composition plan.
|
|
3343
|
+
*
|
|
3344
|
+
* @param plan The plan the melody was written for.
|
|
3345
|
+
* @param opts The budget; see {@link EvaluateCompositionOptions}.
|
|
3346
|
+
* @returns The violations found and the fit reading; see {@link
|
|
3347
|
+
* evaluateComposition}.
|
|
3348
|
+
* @example
|
|
3349
|
+
* ```ts
|
|
3350
|
+
* import { Composer, Score } from '@libraz/libcantus';
|
|
3351
|
+
* const notes = [60, 62, 64, 65, 67, 65, 64, 62, 60, 62, 64, 65, 67, 65, 64, 60].map(
|
|
3352
|
+
* (pitch, startBeat) => ({ pitch, startBeat, durationBeat: 1 }),
|
|
3353
|
+
* );
|
|
3354
|
+
* const composer = Composer.of({ key: 'C major', seed: 5 });
|
|
3355
|
+
* const plan = composer.plan(Score.of(notes, { key: 'C major' }).reference());
|
|
3356
|
+
* composer.melody(plan).evaluate(plan).violations.some((v) => v.severity === 'error'); // false
|
|
3357
|
+
* ```
|
|
3358
|
+
*/
|
|
3359
|
+
evaluate(plan: CompositionPlan, opts?: EvaluateCompositionOptions): CompositionEvaluation;
|
|
3239
3360
|
/**
|
|
3240
3361
|
* Each note's role in the harmony sounding under it.
|
|
3241
3362
|
*
|
|
@@ -3577,6 +3698,47 @@ declare class Arrangement {
|
|
|
3577
3698
|
* found under it.
|
|
3578
3699
|
*/
|
|
3579
3700
|
timeline(): Timeline;
|
|
3701
|
+
/**
|
|
3702
|
+
* The arrangement's structural fingerprint: form, phrase shape, harmonic
|
|
3703
|
+
* function and rhythm, and how its melody's motifs derive from one another.
|
|
3704
|
+
*
|
|
3705
|
+
* The harmony reads the arrangement's own session analysis directly — the
|
|
3706
|
+
* tracks `settings.harmonyTracks` names, or else every track but the
|
|
3707
|
+
* percussion ones — so the harmony is never inferred a second time. The
|
|
3708
|
+
* melody is the notes of the tracks played with `role: 'melody'`, joined in
|
|
3709
|
+
* the order the tracks were given; an arrangement naming none reads the top
|
|
3710
|
+
* line of the harmony notes instead, as {@link analyzeReference} does
|
|
3711
|
+
* without a `melody` option. Meter, key, harmony and melody are the
|
|
3712
|
+
* arrangement's own and are not on offer here: a caller wanting others calls
|
|
3713
|
+
* {@link analyzeReference} directly, with the same notes {@link
|
|
3714
|
+
* Arrangement.tracks} hands out.
|
|
3715
|
+
*
|
|
3716
|
+
* @param opts The budget; see {@link ReferenceProfileOptions}.
|
|
3717
|
+
* @returns The profile.
|
|
3718
|
+
* @example
|
|
3719
|
+
* ```ts
|
|
3720
|
+
* import { Arrangement } from '@libraz/libcantus';
|
|
3721
|
+
* const triad = (pitches: number[], startBeat: number) =>
|
|
3722
|
+
* pitches.map((pitch) => ({ pitch, startBeat, durationBeat: 4 }));
|
|
3723
|
+
* const arrangement = Arrangement.of(
|
|
3724
|
+
* [
|
|
3725
|
+
* {
|
|
3726
|
+
* name: 'lead',
|
|
3727
|
+
* role: 'melody',
|
|
3728
|
+
* notes: [
|
|
3729
|
+
* ...triad([60, 64, 67], 0),
|
|
3730
|
+
* ...triad([65, 69, 72], 4),
|
|
3731
|
+
* ...triad([67, 71, 74], 8),
|
|
3732
|
+
* ...triad([60, 64, 67], 12),
|
|
3733
|
+
* ],
|
|
3734
|
+
* },
|
|
3735
|
+
* ],
|
|
3736
|
+
* { key: 'C major' },
|
|
3737
|
+
* );
|
|
3738
|
+
* arrangement.reference().harmony.chords.map((chord) => chord.roman); // ['I', 'IV', 'V', 'I']
|
|
3739
|
+
* ```
|
|
3740
|
+
*/
|
|
3741
|
+
reference(opts?: Omit<ReferenceProfileOptions, 'ts' | 'meters' | 'key' | 'melody' | 'timeline' | 'totalBeats'>): ReferenceProfile;
|
|
3580
3742
|
/**
|
|
3581
3743
|
* Whether another arrangement holds the same tracks under the same settings.
|
|
3582
3744
|
*
|
|
@@ -3844,6 +4006,54 @@ declare class Composer {
|
|
|
3844
4006
|
* ```
|
|
3845
4007
|
*/
|
|
3846
4008
|
harmonize(melody: Score, opts?: Omit<HarmonizeOptions, 'melody' | 'key' | 'ts' | 'ctx'>): HarmonizedMelody;
|
|
4009
|
+
/**
|
|
4010
|
+
* A composition plan derived from a reference profile.
|
|
4011
|
+
*
|
|
4012
|
+
* The composer's key is the plan's home key unless `opts.key` names another,
|
|
4013
|
+
* and its seed and algorithm version are the ones the plan records, so the
|
|
4014
|
+
* plan is written under the same recipe as the composer's other parts.
|
|
4015
|
+
*
|
|
4016
|
+
* @param reference The reference profile to derive from.
|
|
4017
|
+
* @param opts Everything {@link deriveCompositionPlan} takes but the context,
|
|
4018
|
+
* which is the composer's.
|
|
4019
|
+
* @returns The plan.
|
|
4020
|
+
* @throws If the composer draws from a caller-held `rng`: a plan records its
|
|
4021
|
+
* seed, and a source cannot be written into it.
|
|
4022
|
+
* @example
|
|
4023
|
+
* ```ts
|
|
4024
|
+
* import { Composer, Score } from '@libraz/libcantus';
|
|
4025
|
+
* const notes = [60, 62, 64, 65, 67, 65, 64, 62, 60, 62, 64, 65, 67, 65, 64, 60].map(
|
|
4026
|
+
* (pitch, startBeat) => ({ pitch, startBeat, durationBeat: 1 }),
|
|
4027
|
+
* );
|
|
4028
|
+
* const reference = Score.of(notes, { key: 'C major' }).reference();
|
|
4029
|
+
* const plan = Composer.of({ key: 'D major', seed: 5 }).plan(reference);
|
|
4030
|
+
* plan.seed; // 5
|
|
4031
|
+
* plan.keys[0].scale.rootPc; // 2
|
|
4032
|
+
* ```
|
|
4033
|
+
*/
|
|
4034
|
+
plan(reference: ReferenceProfile, opts?: Omit<CompositionPlanOptions, 'ctx'>): CompositionPlan;
|
|
4035
|
+
/**
|
|
4036
|
+
* A melody written to a composition plan.
|
|
4037
|
+
*
|
|
4038
|
+
* The plan is the reproduction recipe, so its seed and algorithm version are
|
|
4039
|
+
* the ones the melody is drawn under, not the composer's. The score is read
|
|
4040
|
+
* in the plan's meter and home key, at the composer's tempo.
|
|
4041
|
+
*
|
|
4042
|
+
* @param plan The plan to follow.
|
|
4043
|
+
* @param opts The budget; see {@link MelodyOptions}.
|
|
4044
|
+
* @returns The melody, as a score.
|
|
4045
|
+
* @example
|
|
4046
|
+
* ```ts
|
|
4047
|
+
* import { Composer, Score } from '@libraz/libcantus';
|
|
4048
|
+
* const notes = [60, 62, 64, 65, 67, 65, 64, 62, 60, 62, 64, 65, 67, 65, 64, 60].map(
|
|
4049
|
+
* (pitch, startBeat) => ({ pitch, startBeat, durationBeat: 1 }),
|
|
4050
|
+
* );
|
|
4051
|
+
* const composer = Composer.of({ key: 'C major', seed: 5 });
|
|
4052
|
+
* const plan = composer.plan(Score.of(notes, { key: 'C major' }).reference());
|
|
4053
|
+
* composer.melody(plan).notes.length > 0; // true
|
|
4054
|
+
* ```
|
|
4055
|
+
*/
|
|
4056
|
+
melody(plan: CompositionPlan, opts?: Omit<MelodyOptions, 'ctx'>): Score;
|
|
3847
4057
|
/**
|
|
3848
4058
|
* Whether another composer holds the same settings.
|
|
3849
4059
|
*
|
|
@@ -5750,4 +5960,5 @@ declare class Voicing {
|
|
|
5750
5960
|
toString(): string;
|
|
5751
5961
|
}
|
|
5752
5962
|
|
|
5753
|
-
export { AnalyzeChordOptions, AnalyzedNote, Arrangement, ArrangementAnalysis,
|
|
5963
|
+
export { AnalyzeChordOptions, AnalyzedNote, Arrangement, ArrangementAnalysis, ArrangementOptions, ArrangementTrack, Articulation, AugmentedSixthKind, AvailableTensionsOptions, AvoidNotesOptions, BarPosition, BassLineOptions, BassSegment, BorrowedChord, BorrowedSource, CadenceHit, CadenceResult, Chord, ChordAnalysis, Chord$1 as ChordData, ChordLike, ChordMatch, ChordQuality, ChordScaleMatch, ChordScaleReportEntry, ChordSegment, ChordSpan, ChordSpec, ChordSymbolOptions, ChordTimeline, ChordTimelineOptions, ChordToRomanOptions, ChordToneRole, Complexity, Composer, CompositionEvaluation, CompositionPlan, CompositionPlanOptions, Conflict, CounterMelodyOptions, DetectCadenceOptions, DetectChordOptions, DetectKeyOptions, DrumsOptions, Duration, DurationData, EvaluateCompositionOptions, EvaluateSafetyOptions, ExplainRomanOptions, ExtractMotifsOptions, FormSection, FormSectionOptions, GenerationContext, GenerationContextInput, GrooveTemplate, HarmonicFunction, HarmonizeOptions, HumanizeOptions, Hypermeter, HypermeterOptions, IdentifiedVoiceNote, Instrument, InstrumentProfile, InstrumentProfileLike, Interval, IntervalData, IntervalLike, IntervalQualityLabel, Key, KeyLike, KeyMatch, KeyMode, KeyRegion, KeyRelation, KeyScale, KeyTimelineOptions, KeyVariant, MelodicContour, MelodyOptions, Meter, MeterLike, MeterMap, Motif, MotifCell, MotifContour, MotifData, MotifGraph, MotifGraphOptions, MotifNote, MotifRelation, MotifTransform, Note, Note$1 as NoteData, NoteEvent, NoteEventIndex, NoteEventIndexOptions, NoteLike, NoteNameOptions, NoteValue, OrnamentOptions, ParseResult, PartWritingOptions, PartWritingViolation, Phrase, PhraseOptions, PlayabilityReport, PositionalRng, Progression, ProgressionOptions, ReduceProgressionOptions, ReducedChord, ReferenceProfile, ReferenceProfileOptions, ResolvedKey, Rhythm, RhythmAnalysis, RhythmAnalysisOptions, RhythmEvent, RhythmOptions, RomanExplanation, SafetyQuery, SafetyResult, ScaleChoice, ScaleName, ScaleNameInput, ScaleSystem, Score, Species, SpeciesOptions, SpelledDuration, SpelledInterval, SpelledKeyLike, StringFingering, StructuralCadence, StyledVoicingOptions, SubstituteOptions, Substitution, SubstitutionType, Tempo, TempoMap, TensionPoint, TimeSignature, Timeline, TrackEdit, TransposingInstrument, Tuning, TuningTable, Tuplet, Vocabulary, VoiceIndependenceOptions, VoiceIndependenceReport, VoiceRange, Voicing, VoicingOptions };
|
|
5964
|
+
export type { ArrangementData, ArrangementSettings, ArrangementSetup, ArrangementTensionOptions, BassLineSettings, ComposerOptions, CounterMelodySettings, DetectedKeyMatch, HarmonizedMelody, KeyData, MotifGenerateOptions, ProgressionData, RhythmData, RhythmDeformOptions, ScoreData, ScoreOptions, TempoData, TimelineData, TimelineRoman, VoicingData, VoicingIndependenceOptions, VoicingSafetyQuery };
|
package/dist/model/index.js
CHANGED
|
@@ -16,23 +16,23 @@ import {
|
|
|
16
16
|
Timeline,
|
|
17
17
|
Tuning,
|
|
18
18
|
Voicing
|
|
19
|
-
} from "../chunk-
|
|
20
|
-
import "../chunk-
|
|
21
|
-
import "../chunk-
|
|
22
|
-
import "../chunk-
|
|
23
|
-
import "../chunk-
|
|
24
|
-
import "../chunk-
|
|
25
|
-
import "../chunk-
|
|
26
|
-
import "../chunk-
|
|
27
|
-
import "../chunk-
|
|
19
|
+
} from "../chunk-5MWRBYAT.js";
|
|
20
|
+
import "../chunk-UTE5A36R.js";
|
|
21
|
+
import "../chunk-7NQ6AL3H.js";
|
|
22
|
+
import "../chunk-FK3DGAIZ.js";
|
|
23
|
+
import "../chunk-FJFULJZE.js";
|
|
24
|
+
import "../chunk-VL5NXVCN.js";
|
|
25
|
+
import "../chunk-TXFWSU5D.js";
|
|
26
|
+
import "../chunk-ZLNSH4UL.js";
|
|
27
|
+
import "../chunk-2G5MCGYU.js";
|
|
28
28
|
import {
|
|
29
29
|
NoteSafety
|
|
30
|
-
} from "../chunk-
|
|
30
|
+
} from "../chunk-H7FVMBUC.js";
|
|
31
31
|
import {
|
|
32
32
|
BudgetExceededError,
|
|
33
33
|
InvalidInputError,
|
|
34
34
|
NoSolutionError
|
|
35
|
-
} from "../chunk-
|
|
35
|
+
} from "../chunk-YYVXRV3V.js";
|
|
36
36
|
export {
|
|
37
37
|
Arrangement,
|
|
38
38
|
BudgetExceededError,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as Articulation } from './index-
|
|
1
|
+
import { a as Articulation } from './index-C9MYbuKS.cjs';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Every limb a percussionist strikes with, in declaration order.
|
|
@@ -361,4 +361,5 @@ declare function createPositionalRng(seed: number): PositionalRng;
|
|
|
361
361
|
*/
|
|
362
362
|
declare function includeAt(rng: PositionalRng, complexity: number, ...path: SeedPath): boolean;
|
|
363
363
|
|
|
364
|
-
export {
|
|
364
|
+
export { LIMBS as L, canSound as i, createPositionalRng as j, deriveSeed as k, fingeringsFor as l, foldIntoRange as m, includeAt as n, instrumentRange as o, toStringedProfile as p, toInstrumentProfile as t };
|
|
365
|
+
export type { InstrumentProfile as I, PercussionProfile as P, SeedPath as S, ValidatedPercussionProfile as V, InstrumentProfileCommon as a, InstrumentProfileLike as b, Limb as c, PositionalRng as d, StringFingering as e, StringedProfile as f, ValidatedProfile as g, ValidatedStringedProfile as h };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as Articulation } from './index-
|
|
1
|
+
import { a as Articulation } from './index-C9MYbuKS.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Every limb a percussionist strikes with, in declaration order.
|
|
@@ -361,4 +361,5 @@ declare function createPositionalRng(seed: number): PositionalRng;
|
|
|
361
361
|
*/
|
|
362
362
|
declare function includeAt(rng: PositionalRng, complexity: number, ...path: SeedPath): boolean;
|
|
363
363
|
|
|
364
|
-
export {
|
|
364
|
+
export { LIMBS as L, canSound as i, createPositionalRng as j, deriveSeed as k, fingeringsFor as l, foldIntoRange as m, includeAt as n, instrumentRange as o, toStringedProfile as p, toInstrumentProfile as t };
|
|
365
|
+
export type { InstrumentProfile as I, PercussionProfile as P, SeedPath as S, ValidatedPercussionProfile as V, InstrumentProfileCommon as a, InstrumentProfileLike as b, Limb as c, PositionalRng as d, StringFingering as e, StringedProfile as f, ValidatedProfile as g, ValidatedStringedProfile as h };
|