@libraz/libcantus 0.9.2 → 0.9.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/README.md +6 -5
  2. package/dist/analyze/index.cjs +41 -1676
  3. package/dist/analyze/index.cjs.map +1 -1
  4. package/dist/analyze/index.d.cts +194 -122
  5. package/dist/analyze/index.d.ts +194 -122
  6. package/dist/analyze/index.js +19 -8
  7. package/dist/chunk-36N73KZ3.cjs +246 -0
  8. package/dist/chunk-36N73KZ3.cjs.map +1 -0
  9. package/dist/chunk-4HLLZPXT.cjs +3077 -0
  10. package/dist/chunk-4HLLZPXT.cjs.map +1 -0
  11. package/dist/chunk-7MGZ7D62.cjs +498 -0
  12. package/dist/chunk-7MGZ7D62.cjs.map +1 -0
  13. package/dist/{chunk-R3S2LUBH.js → chunk-7NKDPF74.js} +660 -305
  14. package/dist/chunk-7NKDPF74.js.map +1 -0
  15. package/dist/chunk-CAN76NCU.cjs +679 -0
  16. package/dist/chunk-CAN76NCU.cjs.map +1 -0
  17. package/dist/{chunk-7Y7WF64D.js → chunk-D2FAJBYL.js} +104 -35
  18. package/dist/chunk-D2FAJBYL.js.map +1 -0
  19. package/dist/{chunk-COKTX2G5.js → chunk-EHVEBWM5.js} +1052 -510
  20. package/dist/chunk-EHVEBWM5.js.map +1 -0
  21. package/dist/chunk-FCANXBAT.cjs +30 -0
  22. package/dist/chunk-FCANXBAT.cjs.map +1 -0
  23. package/dist/chunk-FNDWXRRI.cjs +479 -0
  24. package/dist/chunk-FNDWXRRI.cjs.map +1 -0
  25. package/dist/{chunk-GQKN5KDT.js → chunk-GQSGS2N4.js} +43 -29
  26. package/dist/chunk-GQSGS2N4.js.map +1 -0
  27. package/dist/chunk-HKGYCQ34.js +53 -0
  28. package/dist/chunk-HKGYCQ34.js.map +1 -0
  29. package/dist/chunk-I24MV65U.js +106 -0
  30. package/dist/chunk-I24MV65U.js.map +1 -0
  31. package/dist/{chunk-LN7ZZMD2.js → chunk-KMHOICIY.js} +322 -173
  32. package/dist/chunk-KMHOICIY.js.map +1 -0
  33. package/dist/chunk-LW53AHQU.cjs +1117 -0
  34. package/dist/chunk-LW53AHQU.cjs.map +1 -0
  35. package/dist/chunk-N6IHQUOX.js +1 -0
  36. package/dist/chunk-N6IHQUOX.js.map +1 -0
  37. package/dist/chunk-NKIBQ6PT.js +30 -0
  38. package/dist/chunk-NKIBQ6PT.js.map +1 -0
  39. package/dist/chunk-NP4NA2FB.cjs +106 -0
  40. package/dist/chunk-NP4NA2FB.cjs.map +1 -0
  41. package/dist/chunk-NVE34YGZ.cjs +1449 -0
  42. package/dist/chunk-NVE34YGZ.cjs.map +1 -0
  43. package/dist/{chunk-A4532ZFR.js → chunk-NYYWMV2C.js} +115 -47
  44. package/dist/chunk-NYYWMV2C.js.map +1 -0
  45. package/dist/{chunk-5HTNMQW4.js → chunk-Q2XUP227.js} +310 -118
  46. package/dist/chunk-Q2XUP227.js.map +1 -0
  47. package/dist/chunk-Q6OP4U43.cjs +327 -0
  48. package/dist/chunk-Q6OP4U43.cjs.map +1 -0
  49. package/dist/chunk-RC6GBMCD.cjs +845 -0
  50. package/dist/chunk-RC6GBMCD.cjs.map +1 -0
  51. package/dist/{chunk-XTC3X6MS.js → chunk-RK35RIN7.js} +453 -152
  52. package/dist/chunk-RK35RIN7.js.map +1 -0
  53. package/dist/chunk-RUMU3UA6.cjs +53 -0
  54. package/dist/chunk-RUMU3UA6.cjs.map +1 -0
  55. package/dist/chunk-T64C7ZD7.cjs +1 -0
  56. package/dist/chunk-T64C7ZD7.cjs.map +1 -0
  57. package/dist/chunk-XEBG3G53.js +498 -0
  58. package/dist/chunk-XEBG3G53.js.map +1 -0
  59. package/dist/chunk-YLEMGEFH.js +246 -0
  60. package/dist/chunk-YLEMGEFH.js.map +1 -0
  61. package/dist/chunk-ZEJR4TKL.cjs +173 -0
  62. package/dist/chunk-ZEJR4TKL.cjs.map +1 -0
  63. package/dist/core/index.cjs +130 -431
  64. package/dist/core/index.cjs.map +1 -1
  65. package/dist/core/index.d.cts +331 -17
  66. package/dist/core/index.d.ts +331 -17
  67. package/dist/core/index.js +71 -13
  68. package/dist/{function-2bJW1Zp_.d.ts → function-BtiZb9i9.d.ts} +28 -7
  69. package/dist/{function-r2sh-jOO.d.cts → function-DNugAOrt.d.cts} +28 -7
  70. package/dist/generate/index.cjs +30 -3751
  71. package/dist/generate/index.cjs.map +1 -1
  72. package/dist/generate/index.d.cts +373 -59
  73. package/dist/generate/index.d.ts +373 -59
  74. package/dist/generate/index.js +23 -9
  75. package/dist/{index-DZ1M21do.d.cts → index-6VR8-kit.d.ts} +20 -4
  76. package/dist/index-70p168VM.d.ts +192 -0
  77. package/dist/{index-D_ZTUNKp.d.cts → index-Be74mcon.d.cts} +18 -17
  78. package/dist/index-BtXT6UQ0.d.cts +192 -0
  79. package/dist/{index-BMPxwjwV.d.ts → index-C5UBbQ4G.d.ts} +18 -17
  80. package/dist/{index-BOBXBNwP.d.cts → index-C83mZI1P.d.ts} +93 -8
  81. package/dist/{index-BdeQ1r_p.d.cts → index-D6b6na69.d.cts} +14 -11
  82. package/dist/{index-Cl7mhOFM.d.cts → index-DXd9JikN.d.cts} +92 -10
  83. package/dist/{index-Cl7mhOFM.d.ts → index-DXd9JikN.d.ts} +92 -10
  84. package/dist/index-OG65ocOr.d.cts +272 -0
  85. package/dist/index-OG65ocOr.d.ts +272 -0
  86. package/dist/{index-BreoJRw0.d.ts → index-tJhkmQgE.d.cts} +20 -4
  87. package/dist/{index-CP3wAfEH.d.ts → index-tSQh-xwY.d.ts} +14 -11
  88. package/dist/{index-CM5W4rcm.d.ts → index-y_ak9_Hi.d.cts} +93 -8
  89. package/dist/index.cjs +419 -6848
  90. package/dist/index.cjs.map +1 -1
  91. package/dist/index.d.cts +14 -13
  92. package/dist/index.d.ts +14 -13
  93. package/dist/index.js +132 -27
  94. package/dist/model/index.cjs +8 -2423
  95. package/dist/model/index.cjs.map +1 -1
  96. package/dist/model/index.d.cts +433 -74
  97. package/dist/model/index.d.ts +433 -74
  98. package/dist/model/index.js +6 -7
  99. package/dist/styled-DIRkk9Uz.d.ts +506 -0
  100. package/dist/styled-DJbkJQfj.d.cts +506 -0
  101. package/dist/theory/index.cjs +172 -1676
  102. package/dist/theory/index.cjs.map +1 -1
  103. package/dist/theory/index.d.cts +151 -233
  104. package/dist/theory/index.d.ts +151 -233
  105. package/dist/theory/index.js +31 -7
  106. package/dist/{types-MGP29r3t.d.cts → types-BN6_Q9Kl.d.cts} +11 -2
  107. package/dist/{types-MGP29r3t.d.ts → types-BN6_Q9Kl.d.ts} +11 -2
  108. package/package.json +73 -24
  109. package/dist/chunk-5HTNMQW4.js.map +0 -1
  110. package/dist/chunk-7Y7WF64D.js.map +0 -1
  111. package/dist/chunk-A4532ZFR.js.map +0 -1
  112. package/dist/chunk-BHUT2S5G.js +0 -22
  113. package/dist/chunk-BHUT2S5G.js.map +0 -1
  114. package/dist/chunk-CCBLVAPK.js +0 -42
  115. package/dist/chunk-CCBLVAPK.js.map +0 -1
  116. package/dist/chunk-COKTX2G5.js.map +0 -1
  117. package/dist/chunk-DYWFNC4A.js +0 -152
  118. package/dist/chunk-DYWFNC4A.js.map +0 -1
  119. package/dist/chunk-GQKN5KDT.js.map +0 -1
  120. package/dist/chunk-LN7ZZMD2.js.map +0 -1
  121. package/dist/chunk-MSWFZF7J.js +0 -118
  122. package/dist/chunk-MSWFZF7J.js.map +0 -1
  123. package/dist/chunk-R3S2LUBH.js.map +0 -1
  124. package/dist/chunk-SDM3VJJ5.js +0 -41
  125. package/dist/chunk-SDM3VJJ5.js.map +0 -1
  126. package/dist/chunk-XTC3X6MS.js.map +0 -1
  127. package/dist/chunk-ZXW5YIWK.js +0 -55
  128. package/dist/chunk-ZXW5YIWK.js.map +0 -1
  129. package/dist/index-CGMZNCx6.d.cts +0 -140
  130. package/dist/index-CGMZNCx6.d.ts +0 -140
  131. package/dist/styled-BjXtOFNk.d.cts +0 -282
  132. package/dist/styled-D7BAx3S3.d.ts +0 -282
  133. package/src/analyze/arrange/index.ts +0 -21
  134. package/src/analyze/arrange/internal.ts +0 -125
  135. package/src/analyze/arrange/tension.ts +0 -187
  136. package/src/analyze/arrange/tracks.ts +0 -279
  137. package/src/analyze/detect/index.ts +0 -235
  138. package/src/analyze/functional/borrowed.ts +0 -84
  139. package/src/analyze/functional/cadence.ts +0 -66
  140. package/src/analyze/functional/function.ts +0 -184
  141. package/src/analyze/functional/index.ts +0 -23
  142. package/src/analyze/functional/internal.ts +0 -29
  143. package/src/analyze/functional/roman.ts +0 -393
  144. package/src/analyze/index.ts +0 -49
  145. package/src/analyze/timeline/index.ts +0 -415
  146. package/src/analyze/voice/index.ts +0 -330
  147. package/src/core/index.ts +0 -47
  148. package/src/core/interval/index.ts +0 -81
  149. package/src/core/meter/index.ts +0 -282
  150. package/src/core/pitch/index.ts +0 -311
  151. package/src/core/random/index.ts +0 -53
  152. package/src/core/tuning/index.ts +0 -156
  153. package/src/core/types.ts +0 -29
  154. package/src/generate/bass/index.ts +0 -350
  155. package/src/generate/countermelody/index.ts +0 -379
  156. package/src/generate/drums/beat.ts +0 -266
  157. package/src/generate/drums/euclid.ts +0 -58
  158. package/src/generate/drums/fills.ts +0 -356
  159. package/src/generate/drums/ghost.ts +0 -119
  160. package/src/generate/drums/hihat.ts +0 -285
  161. package/src/generate/drums/hit.ts +0 -31
  162. package/src/generate/drums/index.ts +0 -329
  163. package/src/generate/drums/internal.ts +0 -257
  164. package/src/generate/drums/kick.ts +0 -160
  165. package/src/generate/drums/percussion.ts +0 -121
  166. package/src/generate/drums/rng.ts +0 -7
  167. package/src/generate/drums/swing.ts +0 -71
  168. package/src/generate/groove/index.ts +0 -326
  169. package/src/generate/harmonize/index.ts +0 -440
  170. package/src/generate/index.ts +0 -59
  171. package/src/generate/motif/index.ts +0 -398
  172. package/src/generate/progression/index.ts +0 -370
  173. package/src/generate/reharmony/index.ts +0 -330
  174. package/src/generate/rhythm/index.ts +0 -165
  175. package/src/index.ts +0 -247
  176. package/src/model/chord.ts +0 -423
  177. package/src/model/index.ts +0 -15
  178. package/src/model/interval.ts +0 -82
  179. package/src/model/key.ts +0 -266
  180. package/src/model/note.ts +0 -176
  181. package/src/model/progression.ts +0 -161
  182. package/src/model/shared.ts +0 -12
  183. package/src/theory/chord/index.ts +0 -373
  184. package/src/theory/chordscale/index.ts +0 -374
  185. package/src/theory/counterpoint/index.ts +0 -230
  186. package/src/theory/harmony/index.ts +0 -92
  187. package/src/theory/index.ts +0 -107
  188. package/src/theory/safety/index.ts +0 -419
  189. package/src/theory/scale/degrees.ts +0 -123
  190. package/src/theory/scale/index.ts +0 -28
  191. package/src/theory/scale/key.ts +0 -56
  192. package/src/theory/scale/masks.ts +0 -153
  193. package/src/theory/spelling/index.ts +0 -182
  194. package/src/theory/symbol/index.ts +0 -268
  195. package/src/theory/voicing/index.ts +0 -5
  196. package/src/theory/voicing/internal.ts +0 -168
  197. package/src/theory/voicing/leading.ts +0 -112
  198. package/src/theory/voicing/satb.ts +0 -195
  199. package/src/theory/voicing/styled.ts +0 -176
  200. package/tsconfig.json +0 -23
package/dist/index.d.cts CHANGED
@@ -1,14 +1,15 @@
1
- export { AnalyzedNote, ArrangementAnalysis, ArrangementOptions, ArrangementTrack, ChordMatch, Conflict, KeyMatch, TensionPoint, TheoryLabel, TrackAnalysis, TrackRole, VoiceNote, analyzeArrangement, analyzeVoice, chordToRoman, detectChord, detectChordBest, detectKey, romanToChord, tensionCurve } from './analyze/index.cjs';
2
- export { B as BorrowedSource, C as Cadence, a as ChordAnalysis, H as HarmonicFunction, b as analyzeChord, c as borrowedSource, d as detectCadence, f as functionOf, i as isBorrowedChord, e as isDiatonic, g as isMinorKey, p as parallelKey, s as secondaryDominant } from './function-r2sh-jOO.cjs';
3
- export { C as CadenceHit, a as ChordSegment, b as ChordTimeline, c as ChordTimelineOptions, d as ChordTimelineResult, e as chordTimelineFromChords, f as chordTimelineFromNotes, g as detectCadences } from './index-D_ZTUNKp.cjs';
4
- export { IntervalQuality, JUST_RATIOS, Rng, TWELVE_TET, Tuning, centsBetweenFreq, centsOfSteps, classifyInterval, createRng, edo, frequencyOf, isConsonantInterval, isPerfectInterval, justDeviationCents, nearestStep, ratioToCents } from './core/index.cjs';
5
- export { B as BarPosition, T as TimeSignature, b as barPositionToBeat, a as beatToBarPosition, c as beatsPerBar, f as formatTimeSignature, i as isCompound, d as isStrongBeat, m as metricWeight, p as parseTimeSignature, e as pulsesPerBar, t as tuplet } from './index-Cl7mhOFM.cjs';
6
- export { N as NoteData, S as SpelledInterval, f as formatNote, m as midiToNote, n as noteToMidi, a as noteToPitchClass, p as parseNote, s as spelledInterval } from './index-CGMZNCx6.cjs';
7
- export { K as KeyScale, N as NoteEvent } from './types-MGP29r3t.cjs';
8
- export { BassLineOptions, BassSegment, BassStyle, BorrowedChord, CounterMelodyOptions, DrumHit, DrumRole, DrumsOptions, EuclideanKick, GrooveFeel, GrooveSlot, GrooveStyle, GrooveTemplate, HarmonizeOptions, HarmonizeResult, HumanizeOptions, MelodyNote, MotifCell, MotifContour, MotifNote, MotifOptions, MotifTransform, ProgFunction, ProgStyle, ProgressionOptions, ProgressionPreset, RhythmEvent, RhythmOptions, Section, SubstituteOptions, Substitution, SubstitutionType, applyGrooveTemplate, developMotif, extractGrooveTemplate, generateBassLine, generateCounterMelody, generateDrums, generateMotif, generateProgression, generateRhythm, harmonizeMelody, humanize, modalInterchangePalette, negativeHarmonyMirror, onsetWeightCurve, progressions, progressionsByStyle, rhythmDensity, substituteChord, transformMotif } from './generate/index.cjs';
1
+ export { B as BarPosition, T as TimeSignature, b as barPositionToBeat, a as barPositionToPulse, c as beatToBarPosition, d as beatsPerBar, f as formatBarPosition, e as formatTimeSignature, i as isCompound, g as isStrongBeat, m as metricWeight, p as parseTimeSignature, h as pulseBeats, j as pulsesPerBar, t as tuplet } from './index-DXd9JikN.cjs';
2
+ export { K as KeyScale, N as NoteEvent } from './types-BN6_Q9Kl.cjs';
3
+ export { C as ChordData, a as ChordQuality, b as ChordSegment, c as ChordSpan, d as ChordToneRole, P as PitchSpelling, e as chordFromDegree, f as chordPitchClasses, g as chordQualities, h as chordToneRole, i as diatonicSeventh, j as diatonicTriad, k as intervalAboveRoot, l as isChordMember, m as makeChord, t as transposeChord } from './index-y_ak9_Hi.cjs';
4
+ export { E as EvaluateSafetyOptions, N as NoteSafety, R as ReasonFlag, S as SafetyProfile, a as SafetyQuery, b as SafetyResult, V as VoiceSnapshot, e as enumerateSafePitches, c as evaluateSafety } from './index-tJhkmQgE.cjs';
5
+ export { AnalyzedNote, ArrangementAnalysis, ArrangementOptions, ArrangementTrack, ChordToRomanOptions, Conflict, IdentifiedVoiceNote, SuspensionFigure, TensionPoint, TheoryLabel, TrackAnalysis, TrackRole, VoiceNote, analyzeArrangement, analyzeVoice, chordToRoman, romanToChord, tensionCurve, tensionCurveFrom, toVoiceNotes } from './analyze/index.cjs';
6
+ export { C as ChordMatch, D as DetectChordOptions, a as DetectKeyOptions, K as KeyMatch, b as KeyVariant, d as detectChord, c as detectChordBest, e as detectKey, f as detectKeyBest, g as detectKeyFromNotes } from './index-BtXT6UQ0.cjs';
7
+ export { B as BorrowedSource, C as Cadence, a as ChordAnalysis, H as HarmonicFunction, b as analyzeChord, c as borrowedSource, d as detectCadence, f as functionOf, i as isBorrowedChord, e as isDiatonic, g as isMinorKey, p as parallelKey, s as secondaryDominant } from './function-DNugAOrt.cjs';
8
+ export { C as CadenceHit, a as ChordTimeline, b as ChordTimelineOptions, c as ChordTimelineResult, d as chordTimelineFromChords, e as chordTimelineFromNotes, f as detectCadences } from './index-Be74mcon.cjs';
9
+ export { BudgetExceededError, ConsonanceClass, DEFAULT_GENERATION_BUDGET, IndexedNoteEvent, InvalidInputError, JUST_RATIOS, LibcantusErrorCode, NoSolutionError, NoteEventAssertOptions, NoteEventIndex, OnsetTieBreak, Rng, TWELVE_TET, Tuning, assertFiniteNumber, assertGenerationBudget, assertInteger, assertNoteEvent, assertNoteEvents, assertOneOf, assertPositiveInt, assertRange, assertTimeSignature, centsBetweenFreq, centsFromNearestStep, centsOfSteps, centsToRatio, classifyInterval, createNoteEventIndex, createRng, dropSilentNotes, edo, frequencyOf, isConsonantInterval, isLibcantusError, isPerfectInterval, justDeviationCents, nearestStep, ratioToCents, stepOf, stepsOfCents } from './core/index.cjs';
10
+ export { I as IntervalQualityLabel, N as NoteData, S as SpelledInterval, d as diatonicLetterOf, f as formatNote, i as intervalSemitones, m as midiToNote, n as naturalPitchClassOf, a as noteToMidi, b as noteToPitchClass, p as parseInterval, c as parseNote, e as pitchClassOf, s as spelledInterval, t as transposeByInterval, g as transposeNote } from './index-OG65ocOr.cjs';
11
+ export { H as HarmonyRole, L as LockLevel, V as VoicedRole, r as roleOf } from './index-D6b6na69.cjs';
12
+ export { BASS_STYLES, BORROWED_DEGREES, BassLineOptions, BassSegment, BassStyle, BorrowedChord, CounterMelodyOptions, DRUM_NOTES, DrumHit, DrumRole, DrumVoice, DrumsOptions, EuclideanKick, GrooveFeel, GrooveSlot, GrooveStyle, GrooveTemplate, HarmonizeOptions, HarmonizePlacement, HarmonizeResult, HumanizeOptions, MelodyNote, MotifCell, MotifContour, MotifNote, MotifOptions, MotifTransform, ProgFunction, ProgStyle, ProgressionDegree, ProgressionOptions, ProgressionPreset, RhythmEvent, RhythmOptions, Section, SubstituteOptions, Substitution, SubstitutionType, applyGrooveTemplate, developMotif, drumVoiceOf, extractGrooveTemplate, generateBassLine, generateCounterMelody, generateDrums, generateMotif, generateProgression, generateRhythm, harmonizeMelody, humanize, modalInterchangePalette, motifToNoteEvents, negativeHarmonyMirror, onsetWeightCurve, pickProgressionPreset, progressions, progressionsByStyle, rhythmDensity, rhythmToNoteEvents, substituteChord, transformMotif } from './generate/index.cjs';
13
+ export { A as ALTERED_MASK, B as BLUES_MASK, C as CHROMATIC_MASK, a as ChordScaleMatch, b as ChordScaleReportEntry, D as DORIAN_MASK, H as HARMONIC_MINOR_MASK, L as LOCRIAN_MASK, c as LOCRIAN_NATURAL2_MASK, d as LYDIAN_DOMINANT_MASK, e as LYDIAN_MASK, M as MAJOR_MASK, f as MAJOR_PENTATONIC_MASK, g as MELODIC_MINOR_MASK, h as MINOR_PENTATONIC_MASK, i as MIXOLYDIAN_B13_MASK, j as MIXOLYDIAN_MASK, N as NAMED_SCALES, k as NATURAL_MINOR_MASK, O as OCTATONIC_HALF_WHOLE_MASK, l as OCTATONIC_WHOLE_HALF_MASK, P as PHRYGIAN_DOMINANT_MASK, m as PHRYGIAN_MASK, S as SATB_RANGES, n as ScaleChoice, o as ScaleName, p as ScaleNameInput, q as StyledVoicingOptions, V as VoiceRange, r as VoicingOptions, s as VoicingStyle, W as WHOLE_TONE_MASK, t as availableTensions, u as avoidNotes, v as chordScaleReport, w as chordScales, x as maskFromOffsets, y as namedScaleMask, z as requireScaleMask, E as scaleMatchesChord, F as scalesForChanges, G as voiceChord, I as voiceChordStyled, J as voiceProgression } from './styled-DJbkJQfj.cjs';
14
+ export { createsHiddenParallelPerfect, createsParallelOctave, createsParallelPerfect, createsParallelUnison, createsVerticalDissonance, createsVoiceCrossing, createsVoiceOverlap, diatonicPitchClasses, exceedsSpacing, formatChordSymbol, isForbiddenMelodicLeap, isLeadingToneResolution, isScaleTone, majorKey, minorKey, nearestScaleTone, nextVoicing, noteNames, parseChordSymbol, pitchToScaleDegree, scaleByName, scaleTonesInDegreeOrder, spellChord, spellChordFromRoot, spellPitch, spellPitchClass, spellPitchClasses, spellScale, transposeChordSymbol, voiceLeadingCost } from './theory/index.cjs';
9
15
  export { Chord, Interval, Key, Note, Progression } from './model/index.cjs';
10
- export { C as ChordData, a as ChordQuality, b as ChordSpan, c as chordFromDegree, d as chordPitchClasses, e as chordQualities, f as chordToneRole, g as diatonicSeventh, h as diatonicTriad, m as makeChord } from './index-BOBXBNwP.cjs';
11
- export { C as ChordScaleMatch, a as ChordScaleReportEntry, S as SATB_RANGES, b as ScaleChoice, c as StyledVoicingOptions, V as VoiceRange, d as VoicingOptions, e as VoicingStyle, f as availableTensions, g as avoidNotes, h as chordScaleReport, i as chordScales, s as scaleMatchesChord, j as scalesForChanges, v as voiceChord, k as voiceChordStyled, l as voiceProgression } from './styled-BjXtOFNk.cjs';
12
- export { BLUES_MASK, CHROMATIC_MASK, DORIAN_MASK, HARMONIC_MINOR_MASK, LOCRIAN_MASK, LYDIAN_MASK, MAJOR_MASK, MAJOR_PENTATONIC_MASK, MELODIC_MINOR_MASK, MINOR_PENTATONIC_MASK, MIXOLYDIAN_MASK, NAMED_SCALES, NATURAL_MINOR_MASK, OCTATONIC_HALF_WHOLE_MASK, OCTATONIC_WHOLE_HALF_MASK, PHRYGIAN_MASK, WHOLE_TONE_MASK, createsHiddenParallelPerfect, createsParallelOctave, createsParallelPerfect, createsParallelUnison, createsVerticalDissonance, createsVoiceCrossing, createsVoiceOverlap, diatonicPitchClasses, exceedsSpacing, formatChordSymbol, isForbiddenMelodicLeap, isLeadingToneResolution, isScaleTone, majorKey, maskFromOffsets, minorKey, nearestScaleTone, nextVoicing, noteNames, parseChordSymbol, pitchToScaleDegree, scaleByName, scaleTonesInDegreeOrder, spellChord, spellPitchClass, spellPitchClasses, spellScale, transposeChordSymbol, voiceLeadingCost } from './theory/index.cjs';
13
- export { H as HarmonyRole, L as LockLevel, V as VoicedRole, r as roleOf } from './index-BdeQ1r_p.cjs';
14
- export { N as NoteSafety, R as ReasonFlag, S as SafetyProfile, a as SafetyQuery, b as SafetyResult, V as VoiceSnapshot, e as enumerateSafePitches, c as evaluateSafety } from './index-DZ1M21do.cjs';
package/dist/index.d.ts CHANGED
@@ -1,14 +1,15 @@
1
- export { AnalyzedNote, ArrangementAnalysis, ArrangementOptions, ArrangementTrack, ChordMatch, Conflict, KeyMatch, TensionPoint, TheoryLabel, TrackAnalysis, TrackRole, VoiceNote, analyzeArrangement, analyzeVoice, chordToRoman, detectChord, detectChordBest, detectKey, romanToChord, tensionCurve } from './analyze/index.js';
2
- export { B as BorrowedSource, C as Cadence, a as ChordAnalysis, H as HarmonicFunction, b as analyzeChord, c as borrowedSource, d as detectCadence, f as functionOf, i as isBorrowedChord, e as isDiatonic, g as isMinorKey, p as parallelKey, s as secondaryDominant } from './function-2bJW1Zp_.js';
3
- export { C as CadenceHit, a as ChordSegment, b as ChordTimeline, c as ChordTimelineOptions, d as ChordTimelineResult, e as chordTimelineFromChords, f as chordTimelineFromNotes, g as detectCadences } from './index-BMPxwjwV.js';
4
- export { IntervalQuality, JUST_RATIOS, Rng, TWELVE_TET, Tuning, centsBetweenFreq, centsOfSteps, classifyInterval, createRng, edo, frequencyOf, isConsonantInterval, isPerfectInterval, justDeviationCents, nearestStep, ratioToCents } from './core/index.js';
5
- export { B as BarPosition, T as TimeSignature, b as barPositionToBeat, a as beatToBarPosition, c as beatsPerBar, f as formatTimeSignature, i as isCompound, d as isStrongBeat, m as metricWeight, p as parseTimeSignature, e as pulsesPerBar, t as tuplet } from './index-Cl7mhOFM.js';
6
- export { N as NoteData, S as SpelledInterval, f as formatNote, m as midiToNote, n as noteToMidi, a as noteToPitchClass, p as parseNote, s as spelledInterval } from './index-CGMZNCx6.js';
7
- export { K as KeyScale, N as NoteEvent } from './types-MGP29r3t.js';
8
- export { BassLineOptions, BassSegment, BassStyle, BorrowedChord, CounterMelodyOptions, DrumHit, DrumRole, DrumsOptions, EuclideanKick, GrooveFeel, GrooveSlot, GrooveStyle, GrooveTemplate, HarmonizeOptions, HarmonizeResult, HumanizeOptions, MelodyNote, MotifCell, MotifContour, MotifNote, MotifOptions, MotifTransform, ProgFunction, ProgStyle, ProgressionOptions, ProgressionPreset, RhythmEvent, RhythmOptions, Section, SubstituteOptions, Substitution, SubstitutionType, applyGrooveTemplate, developMotif, extractGrooveTemplate, generateBassLine, generateCounterMelody, generateDrums, generateMotif, generateProgression, generateRhythm, harmonizeMelody, humanize, modalInterchangePalette, negativeHarmonyMirror, onsetWeightCurve, progressions, progressionsByStyle, rhythmDensity, substituteChord, transformMotif } from './generate/index.js';
1
+ export { B as BarPosition, T as TimeSignature, b as barPositionToBeat, a as barPositionToPulse, c as beatToBarPosition, d as beatsPerBar, f as formatBarPosition, e as formatTimeSignature, i as isCompound, g as isStrongBeat, m as metricWeight, p as parseTimeSignature, h as pulseBeats, j as pulsesPerBar, t as tuplet } from './index-DXd9JikN.js';
2
+ export { K as KeyScale, N as NoteEvent } from './types-BN6_Q9Kl.js';
3
+ export { C as ChordData, a as ChordQuality, b as ChordSegment, c as ChordSpan, d as ChordToneRole, P as PitchSpelling, e as chordFromDegree, f as chordPitchClasses, g as chordQualities, h as chordToneRole, i as diatonicSeventh, j as diatonicTriad, k as intervalAboveRoot, l as isChordMember, m as makeChord, t as transposeChord } from './index-C83mZI1P.js';
4
+ export { E as EvaluateSafetyOptions, N as NoteSafety, R as ReasonFlag, S as SafetyProfile, a as SafetyQuery, b as SafetyResult, V as VoiceSnapshot, e as enumerateSafePitches, c as evaluateSafety } from './index-6VR8-kit.js';
5
+ export { AnalyzedNote, ArrangementAnalysis, ArrangementOptions, ArrangementTrack, ChordToRomanOptions, Conflict, IdentifiedVoiceNote, SuspensionFigure, TensionPoint, TheoryLabel, TrackAnalysis, TrackRole, VoiceNote, analyzeArrangement, analyzeVoice, chordToRoman, romanToChord, tensionCurve, tensionCurveFrom, toVoiceNotes } from './analyze/index.js';
6
+ export { C as ChordMatch, D as DetectChordOptions, a as DetectKeyOptions, K as KeyMatch, b as KeyVariant, d as detectChord, c as detectChordBest, e as detectKey, f as detectKeyBest, g as detectKeyFromNotes } from './index-70p168VM.js';
7
+ export { B as BorrowedSource, C as Cadence, a as ChordAnalysis, H as HarmonicFunction, b as analyzeChord, c as borrowedSource, d as detectCadence, f as functionOf, i as isBorrowedChord, e as isDiatonic, g as isMinorKey, p as parallelKey, s as secondaryDominant } from './function-BtiZb9i9.js';
8
+ export { C as CadenceHit, a as ChordTimeline, b as ChordTimelineOptions, c as ChordTimelineResult, d as chordTimelineFromChords, e as chordTimelineFromNotes, f as detectCadences } from './index-C5UBbQ4G.js';
9
+ export { BudgetExceededError, ConsonanceClass, DEFAULT_GENERATION_BUDGET, IndexedNoteEvent, InvalidInputError, JUST_RATIOS, LibcantusErrorCode, NoSolutionError, NoteEventAssertOptions, NoteEventIndex, OnsetTieBreak, Rng, TWELVE_TET, Tuning, assertFiniteNumber, assertGenerationBudget, assertInteger, assertNoteEvent, assertNoteEvents, assertOneOf, assertPositiveInt, assertRange, assertTimeSignature, centsBetweenFreq, centsFromNearestStep, centsOfSteps, centsToRatio, classifyInterval, createNoteEventIndex, createRng, dropSilentNotes, edo, frequencyOf, isConsonantInterval, isLibcantusError, isPerfectInterval, justDeviationCents, nearestStep, ratioToCents, stepOf, stepsOfCents } from './core/index.js';
10
+ export { I as IntervalQualityLabel, N as NoteData, S as SpelledInterval, d as diatonicLetterOf, f as formatNote, i as intervalSemitones, m as midiToNote, n as naturalPitchClassOf, a as noteToMidi, b as noteToPitchClass, p as parseInterval, c as parseNote, e as pitchClassOf, s as spelledInterval, t as transposeByInterval, g as transposeNote } from './index-OG65ocOr.js';
11
+ export { H as HarmonyRole, L as LockLevel, V as VoicedRole, r as roleOf } from './index-tSQh-xwY.js';
12
+ export { BASS_STYLES, BORROWED_DEGREES, BassLineOptions, BassSegment, BassStyle, BorrowedChord, CounterMelodyOptions, DRUM_NOTES, DrumHit, DrumRole, DrumVoice, DrumsOptions, EuclideanKick, GrooveFeel, GrooveSlot, GrooveStyle, GrooveTemplate, HarmonizeOptions, HarmonizePlacement, HarmonizeResult, HumanizeOptions, MelodyNote, MotifCell, MotifContour, MotifNote, MotifOptions, MotifTransform, ProgFunction, ProgStyle, ProgressionDegree, ProgressionOptions, ProgressionPreset, RhythmEvent, RhythmOptions, Section, SubstituteOptions, Substitution, SubstitutionType, applyGrooveTemplate, developMotif, drumVoiceOf, extractGrooveTemplate, generateBassLine, generateCounterMelody, generateDrums, generateMotif, generateProgression, generateRhythm, harmonizeMelody, humanize, modalInterchangePalette, motifToNoteEvents, negativeHarmonyMirror, onsetWeightCurve, pickProgressionPreset, progressions, progressionsByStyle, rhythmDensity, rhythmToNoteEvents, substituteChord, transformMotif } from './generate/index.js';
13
+ export { A as ALTERED_MASK, B as BLUES_MASK, C as CHROMATIC_MASK, a as ChordScaleMatch, b as ChordScaleReportEntry, D as DORIAN_MASK, H as HARMONIC_MINOR_MASK, L as LOCRIAN_MASK, c as LOCRIAN_NATURAL2_MASK, d as LYDIAN_DOMINANT_MASK, e as LYDIAN_MASK, M as MAJOR_MASK, f as MAJOR_PENTATONIC_MASK, g as MELODIC_MINOR_MASK, h as MINOR_PENTATONIC_MASK, i as MIXOLYDIAN_B13_MASK, j as MIXOLYDIAN_MASK, N as NAMED_SCALES, k as NATURAL_MINOR_MASK, O as OCTATONIC_HALF_WHOLE_MASK, l as OCTATONIC_WHOLE_HALF_MASK, P as PHRYGIAN_DOMINANT_MASK, m as PHRYGIAN_MASK, S as SATB_RANGES, n as ScaleChoice, o as ScaleName, p as ScaleNameInput, q as StyledVoicingOptions, V as VoiceRange, r as VoicingOptions, s as VoicingStyle, W as WHOLE_TONE_MASK, t as availableTensions, u as avoidNotes, v as chordScaleReport, w as chordScales, x as maskFromOffsets, y as namedScaleMask, z as requireScaleMask, E as scaleMatchesChord, F as scalesForChanges, G as voiceChord, I as voiceChordStyled, J as voiceProgression } from './styled-DIRkk9Uz.js';
14
+ export { createsHiddenParallelPerfect, createsParallelOctave, createsParallelPerfect, createsParallelUnison, createsVerticalDissonance, createsVoiceCrossing, createsVoiceOverlap, diatonicPitchClasses, exceedsSpacing, formatChordSymbol, isForbiddenMelodicLeap, isLeadingToneResolution, isScaleTone, majorKey, minorKey, nearestScaleTone, nextVoicing, noteNames, parseChordSymbol, pitchToScaleDegree, scaleByName, scaleTonesInDegreeOrder, spellChord, spellChordFromRoot, spellPitch, spellPitchClass, spellPitchClasses, spellScale, transposeChordSymbol, voiceLeadingCost } from './theory/index.js';
9
15
  export { Chord, Interval, Key, Note, Progression } from './model/index.js';
10
- export { C as ChordData, a as ChordQuality, b as ChordSpan, c as chordFromDegree, d as chordPitchClasses, e as chordQualities, f as chordToneRole, g as diatonicSeventh, h as diatonicTriad, m as makeChord } from './index-CM5W4rcm.js';
11
- export { C as ChordScaleMatch, a as ChordScaleReportEntry, S as SATB_RANGES, b as ScaleChoice, c as StyledVoicingOptions, V as VoiceRange, d as VoicingOptions, e as VoicingStyle, f as availableTensions, g as avoidNotes, h as chordScaleReport, i as chordScales, s as scaleMatchesChord, j as scalesForChanges, v as voiceChord, k as voiceChordStyled, l as voiceProgression } from './styled-D7BAx3S3.js';
12
- export { BLUES_MASK, CHROMATIC_MASK, DORIAN_MASK, HARMONIC_MINOR_MASK, LOCRIAN_MASK, LYDIAN_MASK, MAJOR_MASK, MAJOR_PENTATONIC_MASK, MELODIC_MINOR_MASK, MINOR_PENTATONIC_MASK, MIXOLYDIAN_MASK, NAMED_SCALES, NATURAL_MINOR_MASK, OCTATONIC_HALF_WHOLE_MASK, OCTATONIC_WHOLE_HALF_MASK, PHRYGIAN_MASK, WHOLE_TONE_MASK, createsHiddenParallelPerfect, createsParallelOctave, createsParallelPerfect, createsParallelUnison, createsVerticalDissonance, createsVoiceCrossing, createsVoiceOverlap, diatonicPitchClasses, exceedsSpacing, formatChordSymbol, isForbiddenMelodicLeap, isLeadingToneResolution, isScaleTone, majorKey, maskFromOffsets, minorKey, nearestScaleTone, nextVoicing, noteNames, parseChordSymbol, pitchToScaleDegree, scaleByName, scaleTonesInDegreeOrder, spellChord, spellPitchClass, spellPitchClasses, spellScale, transposeChordSymbol, voiceLeadingCost } from './theory/index.js';
13
- export { H as HarmonyRole, L as LockLevel, V as VoicedRole, r as roleOf } from './index-CP3wAfEH.js';
14
- export { N as NoteSafety, R as ReasonFlag, S as SafetyProfile, a as SafetyQuery, b as SafetyResult, V as VoiceSnapshot, e as enumerateSafePitches, c as evaluateSafety } from './index-BreoJRw0.js';
package/dist/index.js CHANGED
@@ -4,22 +4,32 @@ import {
4
4
  chordTimelineFromChords,
5
5
  chordTimelineFromNotes,
6
6
  detectCadences,
7
- tensionCurve
8
- } from "./chunk-5HTNMQW4.js";
7
+ tensionCurve,
8
+ tensionCurveFrom,
9
+ toVoiceNotes
10
+ } from "./chunk-Q2XUP227.js";
9
11
  import {
10
12
  JUST_RATIOS,
11
13
  TWELVE_TET,
12
14
  centsBetweenFreq,
15
+ centsFromNearestStep,
13
16
  centsOfSteps,
17
+ centsToRatio,
14
18
  edo,
15
19
  frequencyOf,
16
20
  justDeviationCents,
17
21
  nearestStep,
18
- ratioToCents
19
- } from "./chunk-ZXW5YIWK.js";
22
+ ratioToCents,
23
+ stepOf,
24
+ stepsOfCents
25
+ } from "./chunk-I24MV65U.js";
20
26
  import {
27
+ BASS_STYLES,
28
+ BORROWED_DEGREES,
29
+ DRUM_NOTES,
21
30
  applyGrooveTemplate,
22
31
  developMotif,
32
+ drumVoiceOf,
23
33
  extractGrooveTemplate,
24
34
  generateBassLine,
25
35
  generateCounterMelody,
@@ -29,39 +39,46 @@ import {
29
39
  generateRhythm,
30
40
  harmonizeMelody,
31
41
  humanize,
42
+ motifToNoteEvents,
32
43
  onsetWeightCurve,
44
+ pickProgressionPreset,
33
45
  progressions,
34
46
  progressionsByStyle,
35
47
  rhythmDensity,
48
+ rhythmToNoteEvents,
36
49
  transformMotif
37
- } from "./chunk-R3S2LUBH.js";
50
+ } from "./chunk-7NKDPF74.js";
38
51
  import {
39
52
  createRng
40
- } from "./chunk-BHUT2S5G.js";
53
+ } from "./chunk-HKGYCQ34.js";
41
54
  import {
42
55
  barPositionToBeat,
56
+ barPositionToPulse,
43
57
  beatToBarPosition,
44
58
  beatsPerBar,
59
+ createNoteEventIndex,
60
+ formatBarPosition,
45
61
  formatTimeSignature,
46
62
  isCompound,
47
63
  isStrongBeat,
48
64
  metricWeight,
49
65
  parseTimeSignature,
66
+ pulseBeats,
50
67
  pulsesPerBar,
51
68
  tuplet
52
- } from "./chunk-MSWFZF7J.js";
69
+ } from "./chunk-YLEMGEFH.js";
53
70
  import {
54
71
  Chord,
55
72
  Interval,
56
73
  Key,
57
74
  Note,
58
75
  Progression
59
- } from "./chunk-COKTX2G5.js";
76
+ } from "./chunk-EHVEBWM5.js";
60
77
  import {
61
78
  modalInterchangePalette,
62
79
  negativeHarmonyMirror,
63
80
  substituteChord
64
- } from "./chunk-GQKN5KDT.js";
81
+ } from "./chunk-GQSGS2N4.js";
65
82
  import {
66
83
  analyzeChord,
67
84
  borrowedSource,
@@ -70,6 +87,8 @@ import {
70
87
  detectChord,
71
88
  detectChordBest,
72
89
  detectKey,
90
+ detectKeyBest,
91
+ detectKeyFromNotes,
73
92
  functionOf,
74
93
  isBorrowedChord,
75
94
  isDiatonic,
@@ -77,16 +96,17 @@ import {
77
96
  parallelKey,
78
97
  romanToChord,
79
98
  secondaryDominant
80
- } from "./chunk-LN7ZZMD2.js";
99
+ } from "./chunk-KMHOICIY.js";
100
+ import "./chunk-N6IHQUOX.js";
81
101
  import {
82
102
  roleOf
83
- } from "./chunk-SDM3VJJ5.js";
103
+ } from "./chunk-NKIBQ6PT.js";
84
104
  import {
85
105
  NoteSafety,
86
106
  ReasonFlag,
87
107
  enumerateSafePitches,
88
108
  evaluateSafety
89
- } from "./chunk-A4532ZFR.js";
109
+ } from "./chunk-NYYWMV2C.js";
90
110
  import {
91
111
  SATB_RANGES,
92
112
  availableTensions,
@@ -100,6 +120,8 @@ import {
100
120
  scaleMatchesChord,
101
121
  scalesForChanges,
102
122
  spellChord,
123
+ spellChordFromRoot,
124
+ spellPitch,
103
125
  spellPitchClass,
104
126
  spellPitchClasses,
105
127
  spellScale,
@@ -108,31 +130,28 @@ import {
108
130
  voiceChordStyled,
109
131
  voiceLeadingCost,
110
132
  voiceProgression
111
- } from "./chunk-XTC3X6MS.js";
112
- import {
113
- formatNote,
114
- midiToNote,
115
- noteToMidi,
116
- noteToPitchClass,
117
- parseNote,
118
- spelledInterval
119
- } from "./chunk-DYWFNC4A.js";
133
+ } from "./chunk-RK35RIN7.js";
120
134
  import {
135
+ ALTERED_MASK,
121
136
  BLUES_MASK,
122
137
  CHROMATIC_MASK,
123
138
  DORIAN_MASK,
124
139
  HARMONIC_MINOR_MASK,
125
140
  LOCRIAN_MASK,
141
+ LOCRIAN_NATURAL2_MASK,
142
+ LYDIAN_DOMINANT_MASK,
126
143
  LYDIAN_MASK,
127
144
  MAJOR_MASK,
128
145
  MAJOR_PENTATONIC_MASK,
129
146
  MELODIC_MINOR_MASK,
130
147
  MINOR_PENTATONIC_MASK,
148
+ MIXOLYDIAN_B13_MASK,
131
149
  MIXOLYDIAN_MASK,
132
150
  NAMED_SCALES,
133
151
  NATURAL_MINOR_MASK,
134
152
  OCTATONIC_HALF_WHOLE_MASK,
135
153
  OCTATONIC_WHOLE_HALF_MASK,
154
+ PHRYGIAN_DOMINANT_MASK,
136
155
  PHRYGIAN_MASK,
137
156
  WHOLE_TONE_MASK,
138
157
  chordFromDegree,
@@ -150,6 +169,8 @@ import {
150
169
  diatonicSeventh,
151
170
  diatonicTriad,
152
171
  exceedsSpacing,
172
+ intervalAboveRoot,
173
+ isChordMember,
153
174
  isForbiddenMelodicLeap,
154
175
  isLeadingToneResolution,
155
176
  isScaleTone,
@@ -157,40 +178,83 @@ import {
157
178
  makeChord,
158
179
  maskFromOffsets,
159
180
  minorKey,
181
+ namedScaleMask,
160
182
  nearestScaleTone,
161
183
  pitchToScaleDegree,
184
+ requireScaleMask,
162
185
  scaleByName,
163
- scaleTonesInDegreeOrder
164
- } from "./chunk-7Y7WF64D.js";
186
+ scaleTonesInDegreeOrder,
187
+ transposeChord
188
+ } from "./chunk-D2FAJBYL.js";
165
189
  import {
166
- IntervalQuality,
190
+ BudgetExceededError,
191
+ ConsonanceClass,
192
+ DEFAULT_GENERATION_BUDGET,
193
+ InvalidInputError,
194
+ NoSolutionError,
195
+ assertFiniteNumber,
196
+ assertGenerationBudget,
197
+ assertInteger,
198
+ assertNoteEvent,
199
+ assertNoteEvents,
200
+ assertOneOf,
201
+ assertPositiveInt,
202
+ assertRange,
203
+ assertTimeSignature,
167
204
  classifyInterval,
205
+ diatonicLetterOf,
206
+ dropSilentNotes,
207
+ formatNote,
208
+ intervalSemitones,
168
209
  isConsonantInterval,
169
- isPerfectInterval
170
- } from "./chunk-CCBLVAPK.js";
210
+ isLibcantusError,
211
+ isPerfectInterval,
212
+ midiToNote,
213
+ naturalPitchClassOf,
214
+ noteToMidi,
215
+ noteToPitchClass,
216
+ parseInterval,
217
+ parseNote,
218
+ pitchClassOf,
219
+ spelledInterval,
220
+ transposeByInterval,
221
+ transposeNote
222
+ } from "./chunk-XEBG3G53.js";
171
223
  export {
224
+ ALTERED_MASK,
225
+ BASS_STYLES,
172
226
  BLUES_MASK,
227
+ BORROWED_DEGREES,
228
+ BudgetExceededError,
173
229
  CHROMATIC_MASK,
174
230
  Chord,
231
+ ConsonanceClass,
232
+ DEFAULT_GENERATION_BUDGET,
175
233
  DORIAN_MASK,
234
+ DRUM_NOTES,
176
235
  HARMONIC_MINOR_MASK,
177
236
  Interval,
178
- IntervalQuality,
237
+ InvalidInputError,
179
238
  JUST_RATIOS,
180
239
  Key,
181
240
  LOCRIAN_MASK,
241
+ LOCRIAN_NATURAL2_MASK,
242
+ LYDIAN_DOMINANT_MASK,
182
243
  LYDIAN_MASK,
183
244
  MAJOR_MASK,
184
245
  MAJOR_PENTATONIC_MASK,
185
246
  MELODIC_MINOR_MASK,
186
247
  MINOR_PENTATONIC_MASK,
248
+ MIXOLYDIAN_B13_MASK,
187
249
  MIXOLYDIAN_MASK,
188
250
  NAMED_SCALES,
189
251
  NATURAL_MINOR_MASK,
252
+ NoSolutionError,
190
253
  Note,
191
254
  NoteSafety,
192
255
  OCTATONIC_HALF_WHOLE_MASK,
193
256
  OCTATONIC_WHOLE_HALF_MASK,
257
+ PHRYGIAN_DOMINANT_MASK,
194
258
  PHRYGIAN_MASK,
195
259
  Progression,
196
260
  ReasonFlag,
@@ -201,14 +265,26 @@ export {
201
265
  analyzeChord,
202
266
  analyzeVoice,
203
267
  applyGrooveTemplate,
268
+ assertFiniteNumber,
269
+ assertGenerationBudget,
270
+ assertInteger,
271
+ assertNoteEvent,
272
+ assertNoteEvents,
273
+ assertOneOf,
274
+ assertPositiveInt,
275
+ assertRange,
276
+ assertTimeSignature,
204
277
  availableTensions,
205
278
  avoidNotes,
206
279
  barPositionToBeat,
280
+ barPositionToPulse,
207
281
  beatToBarPosition,
208
282
  beatsPerBar,
209
283
  borrowedSource,
210
284
  centsBetweenFreq,
285
+ centsFromNearestStep,
211
286
  centsOfSteps,
287
+ centsToRatio,
212
288
  chordFromDegree,
213
289
  chordPitchClasses,
214
290
  chordQualities,
@@ -219,6 +295,7 @@ export {
219
295
  chordToRoman,
220
296
  chordToneRole,
221
297
  classifyInterval,
298
+ createNoteEventIndex,
222
299
  createRng,
223
300
  createsHiddenParallelPerfect,
224
301
  createsParallelOctave,
@@ -232,15 +309,21 @@ export {
232
309
  detectChord,
233
310
  detectChordBest,
234
311
  detectKey,
312
+ detectKeyBest,
313
+ detectKeyFromNotes,
235
314
  developMotif,
315
+ diatonicLetterOf,
236
316
  diatonicPitchClasses,
237
317
  diatonicSeventh,
238
318
  diatonicTriad,
319
+ dropSilentNotes,
320
+ drumVoiceOf,
239
321
  edo,
240
322
  enumerateSafePitches,
241
323
  evaluateSafety,
242
324
  exceedsSpacing,
243
325
  extractGrooveTemplate,
326
+ formatBarPosition,
244
327
  formatChordSymbol,
245
328
  formatNote,
246
329
  formatTimeSignature,
@@ -254,12 +337,16 @@ export {
254
337
  generateRhythm,
255
338
  harmonizeMelody,
256
339
  humanize,
340
+ intervalAboveRoot,
341
+ intervalSemitones,
257
342
  isBorrowedChord,
343
+ isChordMember,
258
344
  isCompound,
259
345
  isConsonantInterval,
260
346
  isDiatonic,
261
347
  isForbiddenMelodicLeap,
262
348
  isLeadingToneResolution,
349
+ isLibcantusError,
263
350
  isMinorKey,
264
351
  isPerfectInterval,
265
352
  isScaleTone,
@@ -272,6 +359,9 @@ export {
272
359
  midiToNote,
273
360
  minorKey,
274
361
  modalInterchangePalette,
362
+ motifToNoteEvents,
363
+ namedScaleMask,
364
+ naturalPitchClassOf,
275
365
  nearestScaleTone,
276
366
  nearestStep,
277
367
  negativeHarmonyMirror,
@@ -282,14 +372,20 @@ export {
282
372
  onsetWeightCurve,
283
373
  parallelKey,
284
374
  parseChordSymbol,
375
+ parseInterval,
285
376
  parseNote,
286
377
  parseTimeSignature,
378
+ pickProgressionPreset,
379
+ pitchClassOf,
287
380
  pitchToScaleDegree,
288
381
  progressions,
289
382
  progressionsByStyle,
383
+ pulseBeats,
290
384
  pulsesPerBar,
291
385
  ratioToCents,
386
+ requireScaleMask,
292
387
  rhythmDensity,
388
+ rhythmToNoteEvents,
293
389
  roleOf,
294
390
  romanToChord,
295
391
  scaleByName,
@@ -298,14 +394,23 @@ export {
298
394
  scalesForChanges,
299
395
  secondaryDominant,
300
396
  spellChord,
397
+ spellChordFromRoot,
398
+ spellPitch,
301
399
  spellPitchClass,
302
400
  spellPitchClasses,
303
401
  spellScale,
304
402
  spelledInterval,
403
+ stepOf,
404
+ stepsOfCents,
305
405
  substituteChord,
306
406
  tensionCurve,
407
+ tensionCurveFrom,
408
+ toVoiceNotes,
307
409
  transformMotif,
410
+ transposeByInterval,
411
+ transposeChord,
308
412
  transposeChordSymbol,
413
+ transposeNote,
309
414
  tuplet,
310
415
  voiceChord,
311
416
  voiceChordStyled,