@libraz/libcantus 0.9.3 → 0.9.5

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 (201) hide show
  1. package/README.md +29 -20
  2. package/README_ja.md +268 -0
  3. package/dist/analyze/index.cjs +39 -1947
  4. package/dist/analyze/index.cjs.map +1 -1
  5. package/dist/analyze/index.d.cts +161 -91
  6. package/dist/analyze/index.d.ts +161 -91
  7. package/dist/analyze/index.js +19 -8
  8. package/dist/chunk-2A2QMA74.cjs +261 -0
  9. package/dist/chunk-2A2QMA74.cjs.map +1 -0
  10. package/dist/chunk-2PTFGVD7.js +261 -0
  11. package/dist/chunk-2PTFGVD7.js.map +1 -0
  12. package/dist/chunk-357ZDPVU.cjs +162 -0
  13. package/dist/chunk-357ZDPVU.cjs.map +1 -0
  14. package/dist/chunk-3KX76RLG.js +1548 -0
  15. package/dist/chunk-3KX76RLG.js.map +1 -0
  16. package/dist/chunk-4VZ5MZAM.cjs +889 -0
  17. package/dist/chunk-4VZ5MZAM.cjs.map +1 -0
  18. package/dist/{chunk-C5XYKUVG.js → chunk-7EONYVI5.js} +471 -171
  19. package/dist/chunk-7EONYVI5.js.map +1 -0
  20. package/dist/{chunk-IT2O4XFE.js → chunk-7JEP3MFY.js} +42 -34
  21. package/dist/chunk-7JEP3MFY.js.map +1 -0
  22. package/dist/{chunk-4MHA432G.js → chunk-AID75RN3.js} +572 -250
  23. package/dist/chunk-AID75RN3.js.map +1 -0
  24. package/dist/chunk-BSLTLGM3.cjs +497 -0
  25. package/dist/chunk-BSLTLGM3.cjs.map +1 -0
  26. package/dist/chunk-CU6VG2YM.cjs +109 -0
  27. package/dist/chunk-CU6VG2YM.cjs.map +1 -0
  28. package/dist/{chunk-EH6EM37U.js → chunk-DZMHIGI4.js} +81 -59
  29. package/dist/chunk-DZMHIGI4.js.map +1 -0
  30. package/dist/{chunk-AKLYPWIN.js → chunk-EDOTEABK.js} +45 -19
  31. package/dist/chunk-EDOTEABK.js.map +1 -0
  32. package/dist/{chunk-2ZWMSJH6.js → chunk-HN2OEUN2.js} +7 -4
  33. package/dist/chunk-HN2OEUN2.js.map +1 -0
  34. package/dist/{chunk-MIWO425M.js → chunk-KBTTEX7Q.js} +128 -43
  35. package/dist/chunk-KBTTEX7Q.js.map +1 -0
  36. package/dist/chunk-KQN2ZYND.cjs +724 -0
  37. package/dist/chunk-KQN2ZYND.cjs.map +1 -0
  38. package/dist/chunk-MPTVJIVG.cjs +3176 -0
  39. package/dist/chunk-MPTVJIVG.cjs.map +1 -0
  40. package/dist/chunk-MTMZTMWM.cjs +53 -0
  41. package/dist/chunk-MTMZTMWM.cjs.map +1 -0
  42. package/dist/{chunk-CHMXELDS.js → chunk-NNB67XA2.js} +372 -197
  43. package/dist/chunk-NNB67XA2.js.map +1 -0
  44. package/dist/chunk-OL3IHHSJ.cjs +1204 -0
  45. package/dist/chunk-OL3IHHSJ.cjs.map +1 -0
  46. package/dist/chunk-PI3UXRWK.cjs +528 -0
  47. package/dist/chunk-PI3UXRWK.cjs.map +1 -0
  48. package/dist/chunk-R2VVFAIN.js +528 -0
  49. package/dist/chunk-R2VVFAIN.js.map +1 -0
  50. package/dist/chunk-T64C7ZD7.cjs +1 -0
  51. package/dist/chunk-T64C7ZD7.cjs.map +1 -0
  52. package/dist/chunk-WFDXOLUB.cjs +337 -0
  53. package/dist/chunk-WFDXOLUB.cjs.map +1 -0
  54. package/dist/chunk-WTAN4ACG.cjs +1548 -0
  55. package/dist/chunk-WTAN4ACG.cjs.map +1 -0
  56. package/dist/chunk-YFJXS3AU.cjs +33 -0
  57. package/dist/chunk-YFJXS3AU.cjs.map +1 -0
  58. package/dist/{chunk-GOAW4VYL.js → chunk-YUE6TJ4M.js} +315 -145
  59. package/dist/chunk-YUE6TJ4M.js.map +1 -0
  60. package/dist/{chunk-62QZKCJQ.js → chunk-ZGLJM4A4.js} +10 -6
  61. package/dist/chunk-ZGLJM4A4.js.map +1 -0
  62. package/dist/core/index.cjs +140 -647
  63. package/dist/core/index.cjs.map +1 -1
  64. package/dist/core/index.d.cts +313 -41
  65. package/dist/core/index.d.ts +313 -41
  66. package/dist/core/index.js +64 -16
  67. package/dist/{function-DVH4Eusr.d.ts → function-CxixTB02.d.cts} +122 -10
  68. package/dist/{function-DYt4iKsn.d.cts → function-DTCt675z.d.ts} +122 -10
  69. package/dist/generate/index.cjs +28 -4085
  70. package/dist/generate/index.cjs.map +1 -1
  71. package/dist/generate/index.d.cts +374 -66
  72. package/dist/generate/index.d.ts +374 -66
  73. package/dist/generate/index.js +23 -9
  74. package/dist/{index-Jc0Ryi79.d.ts → index-B2Ulxxpo.d.cts} +21 -5
  75. package/dist/{index-CpOsP1y9.d.cts → index-BkYJ0xMq.d.cts} +18 -17
  76. package/dist/{index-CxqBQtH1.d.cts → index-BuaB-ypt.d.ts} +21 -5
  77. package/dist/index-CAN7v-kw.d.ts +199 -0
  78. package/dist/{index-Bt4tOUD9.d.ts → index-COw1Ky9g.d.ts} +93 -8
  79. package/dist/{index-Dikst44v.d.cts → index-Cfx8xgH0.d.ts} +14 -11
  80. package/dist/{index-DxvARIP2.d.ts → index-DRtIhlJj.d.ts} +18 -17
  81. package/dist/{index-Cl7mhOFM.d.cts → index-DXd9JikN.d.cts} +92 -10
  82. package/dist/{index-Cl7mhOFM.d.ts → index-DXd9JikN.d.ts} +92 -10
  83. package/dist/index-alrRninU.d.cts +199 -0
  84. package/dist/{index-BNlGP86A.d.cts → index-oTQbYYIs.d.cts} +93 -8
  85. package/dist/index-tR9jTn26.d.cts +275 -0
  86. package/dist/index-tR9jTn26.d.ts +275 -0
  87. package/dist/{index-Bg5dYMmZ.d.ts → index-x2vcsduE.d.cts} +14 -11
  88. package/dist/index.cjs +429 -7383
  89. package/dist/index.cjs.map +1 -1
  90. package/dist/index.d.cts +15 -15
  91. package/dist/index.d.ts +15 -15
  92. package/dist/index.js +121 -27
  93. package/dist/model/index.cjs +8 -2562
  94. package/dist/model/index.cjs.map +1 -1
  95. package/dist/model/index.d.cts +471 -81
  96. package/dist/model/index.d.ts +471 -81
  97. package/dist/model/index.js +6 -7
  98. package/dist/styled-Bl0ZK28h.d.ts +543 -0
  99. package/dist/styled-Crv6SA4S.d.cts +543 -0
  100. package/dist/theory/index.cjs +172 -1822
  101. package/dist/theory/index.cjs.map +1 -1
  102. package/dist/theory/index.d.cts +151 -233
  103. package/dist/theory/index.d.ts +151 -233
  104. package/dist/theory/index.js +30 -7
  105. package/dist/{types-MGP29r3t.d.cts → types-BN6_Q9Kl.d.cts} +11 -2
  106. package/dist/{types-MGP29r3t.d.ts → types-BN6_Q9Kl.d.ts} +11 -2
  107. package/package.json +34 -13
  108. package/dist/chunk-2ZWMSJH6.js.map +0 -1
  109. package/dist/chunk-4MHA432G.js.map +0 -1
  110. package/dist/chunk-62QZKCJQ.js.map +0 -1
  111. package/dist/chunk-AKLYPWIN.js.map +0 -1
  112. package/dist/chunk-C5XYKUVG.js.map +0 -1
  113. package/dist/chunk-CHMXELDS.js.map +0 -1
  114. package/dist/chunk-DYWFNC4A.js +0 -152
  115. package/dist/chunk-DYWFNC4A.js.map +0 -1
  116. package/dist/chunk-EH6EM37U.js.map +0 -1
  117. package/dist/chunk-FBQK3ZQN.js +0 -131
  118. package/dist/chunk-FBQK3ZQN.js.map +0 -1
  119. package/dist/chunk-GOAW4VYL.js.map +0 -1
  120. package/dist/chunk-I5R7ZBJS.js +0 -202
  121. package/dist/chunk-I5R7ZBJS.js.map +0 -1
  122. package/dist/chunk-IT2O4XFE.js.map +0 -1
  123. package/dist/chunk-MIWO425M.js.map +0 -1
  124. package/dist/chunk-SGU7SPLK.js +0 -924
  125. package/dist/chunk-SGU7SPLK.js.map +0 -1
  126. package/dist/index-CGMZNCx6.d.cts +0 -140
  127. package/dist/index-CGMZNCx6.d.ts +0 -140
  128. package/dist/index-CnZCo29u.d.cts +0 -108
  129. package/dist/index-JnF4v9bx.d.ts +0 -108
  130. package/dist/styled-DZ7GjShb.d.ts +0 -282
  131. package/dist/styled-ZTbdaVFM.d.cts +0 -282
  132. package/src/analyze/arrange/index.ts +0 -21
  133. package/src/analyze/arrange/internal.ts +0 -127
  134. package/src/analyze/arrange/tension.ts +0 -199
  135. package/src/analyze/arrange/tracks.ts +0 -312
  136. package/src/analyze/detect/index.ts +0 -272
  137. package/src/analyze/functional/borrowed.ts +0 -84
  138. package/src/analyze/functional/cadence.ts +0 -66
  139. package/src/analyze/functional/function.ts +0 -184
  140. package/src/analyze/functional/index.ts +0 -23
  141. package/src/analyze/functional/internal.ts +0 -29
  142. package/src/analyze/functional/roman.ts +0 -402
  143. package/src/analyze/index.ts +0 -49
  144. package/src/analyze/timeline/index.ts +0 -451
  145. package/src/analyze/voice/index.ts +0 -339
  146. package/src/core/event-index/index.ts +0 -104
  147. package/src/core/index.ts +0 -61
  148. package/src/core/interval/index.ts +0 -81
  149. package/src/core/meter/index.ts +0 -302
  150. package/src/core/pitch/index.ts +0 -311
  151. package/src/core/random/index.ts +0 -76
  152. package/src/core/tuning/index.ts +0 -186
  153. package/src/core/types.ts +0 -29
  154. package/src/core/validation/index.ts +0 -119
  155. package/src/generate/bass/index.ts +0 -373
  156. package/src/generate/countermelody/index.ts +0 -470
  157. package/src/generate/drums/beat.ts +0 -266
  158. package/src/generate/drums/euclid.ts +0 -65
  159. package/src/generate/drums/fills.ts +0 -356
  160. package/src/generate/drums/ghost.ts +0 -119
  161. package/src/generate/drums/hihat.ts +0 -285
  162. package/src/generate/drums/hit.ts +0 -31
  163. package/src/generate/drums/index.ts +0 -361
  164. package/src/generate/drums/internal.ts +0 -257
  165. package/src/generate/drums/kick.ts +0 -160
  166. package/src/generate/drums/percussion.ts +0 -121
  167. package/src/generate/drums/rng.ts +0 -7
  168. package/src/generate/drums/swing.ts +0 -71
  169. package/src/generate/groove/index.ts +0 -351
  170. package/src/generate/harmonize/index.ts +0 -451
  171. package/src/generate/index.ts +0 -58
  172. package/src/generate/motif/index.ts +0 -422
  173. package/src/generate/progression/index.ts +0 -362
  174. package/src/generate/reharmony/index.ts +0 -323
  175. package/src/generate/rhythm/index.ts +0 -175
  176. package/src/index.ts +0 -13
  177. package/src/model/chord.ts +0 -442
  178. package/src/model/index.ts +0 -15
  179. package/src/model/interval.ts +0 -82
  180. package/src/model/key.ts +0 -266
  181. package/src/model/note.ts +0 -176
  182. package/src/model/progression.ts +0 -161
  183. package/src/model/shared.ts +0 -12
  184. package/src/theory/chord/index.ts +0 -375
  185. package/src/theory/chordscale/index.ts +0 -374
  186. package/src/theory/counterpoint/index.ts +0 -230
  187. package/src/theory/harmony/index.ts +0 -77
  188. package/src/theory/index.ts +0 -112
  189. package/src/theory/safety/index.ts +0 -488
  190. package/src/theory/scale/degrees.ts +0 -123
  191. package/src/theory/scale/index.ts +0 -28
  192. package/src/theory/scale/key.ts +0 -56
  193. package/src/theory/scale/masks.ts +0 -153
  194. package/src/theory/spelling/index.ts +0 -249
  195. package/src/theory/symbol/index.ts +0 -268
  196. package/src/theory/voicing/index.ts +0 -5
  197. package/src/theory/voicing/internal.ts +0 -168
  198. package/src/theory/voicing/leading.ts +0 -112
  199. package/src/theory/voicing/satb.ts +0 -216
  200. package/src/theory/voicing/styled.ts +0 -199
  201. package/tsconfig.json +0 -23
package/dist/index.d.cts CHANGED
@@ -1,15 +1,15 @@
1
- export { AnalyzedNote, ArrangementAnalysis, ArrangementOptions, ArrangementTrack, Conflict, TensionPoint, TheoryLabel, TrackAnalysis, TrackRole, VoiceNote, analyzeArrangement, analyzeVoice, chordToRoman, romanToChord, tensionCurve } from './analyze/index.cjs';
2
- export { C as ChordMatch, D as DetectChordOptions, K as KeyMatch, d as detectChord, a as detectChordBest, b as detectKey } from './index-CnZCo29u.cjs';
3
- 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-DYt4iKsn.cjs';
4
- 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-CpOsP1y9.cjs';
5
- export { DEFAULT_GENERATION_BUDGET, IndexedNoteEvent, IntervalQuality, JUST_RATIOS, NoteEventIndex, Rng, TWELVE_TET, Tuning, assertFiniteNumber, assertGenerationBudget, assertInteger, assertNoteEvent, assertNoteEvents, assertPositiveInt, assertRange, assertTimeSignature, centsBetweenFreq, centsOfSteps, classifyInterval, createNoteEventIndex, createRng, edo, frequencyOf, isConsonantInterval, isPerfectInterval, justDeviationCents, nearestStep, ratioToCents } from './core/index.cjs';
6
- 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';
7
- 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';
8
- export { K as KeyScale, N as NoteEvent } from './types-MGP29r3t.cjs';
9
- 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';
10
- export { Chord, Interval, Key, Note, Progression } from './model/index.cjs';
11
- export { C as ChordData, a as ChordQuality, b as ChordSpan, P as PitchSpelling, c as chordFromDegree, d as chordPitchClasses, e as chordQualities, f as chordToneRole, g as diatonicSeventh, h as diatonicTriad, m as makeChord } from './index-BNlGP86A.cjs';
12
- 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-ZTbdaVFM.cjs';
13
- 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';
14
- export { H as HarmonyRole, L as LockLevel, V as VoicedRole, r as roleOf } from './index-Dikst44v.cjs';
15
- 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-CxqBQtH1.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-oTQbYYIs.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-B2Ulxxpo.cjs';
5
+ export { AnalyzedNote, ArrangementAnalysis, ArrangementOptions, ArrangementTrack, Conflict, IdentifiedVoiceNote, SuspensionFigure, TensionPoint, TheoryLabel, TrackAnalysis, TrackRole, VoiceNote, analyzeArrangement, analyzeVoice, 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-alrRninU.cjs';
7
+ export { B as BorrowedSource, C as Cadence, a as ChordAnalysis, b as ChordToRomanOptions, H as HarmonicFunction, c as analyzeChord, d as borrowedSource, e as chordToRoman, f as detectCadence, g as functionOf, i as isBorrowedChord, h as isDiatonic, j as isMinorKey, p as parallelKey, r as romanToChord, s as secondaryDominant } from './function-CxixTB02.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-BkYJ0xMq.cjs';
9
+ export { BudgetExceededError, ConsonanceClass, DEFAULT_GENERATION_BUDGET, IndexedNoteEvent, InvalidInputError, JUST_RATIOS, LibcantusErrorCode, NoSolutionError, NoteEventAssertOptions, NoteEventIndex, OnsetTieBreak, Rng, TWELVE_TET, Tuning, assertDegree, assertFiniteNumber, assertFiniteSemitones, assertGenerationBudget, assertInteger, assertMidiPitch, assertNoteEvent, assertNoteEvents, assertOneOf, assertPositiveInt, assertRange, assertTimeSignature, centsBetweenFreq, centsFromNearestStep, centsOfSteps, centsToRatio, clampToMidi, classifyInterval, createNoteEventIndex, createRng, dropSilentNotes, edo, frequencyOf, isConsonantInterval, isLibcantusError, isPerfectInterval, justDeviationCents, nearestStep, ratioToCents, soundingNotesOnly, 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-tR9jTn26.cjs';
11
+ export { H as HarmonyRole, L as LockLevel, V as VoicedRole, r as roleOf } from './index-x2vcsduE.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-Crv6SA4S.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';
15
+ export { Chord, DetectedKeyMatch, Interval, Key, Note, Progression } from './model/index.cjs';
package/dist/index.d.ts CHANGED
@@ -1,15 +1,15 @@
1
- export { AnalyzedNote, ArrangementAnalysis, ArrangementOptions, ArrangementTrack, Conflict, TensionPoint, TheoryLabel, TrackAnalysis, TrackRole, VoiceNote, analyzeArrangement, analyzeVoice, chordToRoman, romanToChord, tensionCurve } from './analyze/index.js';
2
- export { C as ChordMatch, D as DetectChordOptions, K as KeyMatch, d as detectChord, a as detectChordBest, b as detectKey } from './index-JnF4v9bx.js';
3
- 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-DVH4Eusr.js';
4
- 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-DxvARIP2.js';
5
- export { DEFAULT_GENERATION_BUDGET, IndexedNoteEvent, IntervalQuality, JUST_RATIOS, NoteEventIndex, Rng, TWELVE_TET, Tuning, assertFiniteNumber, assertGenerationBudget, assertInteger, assertNoteEvent, assertNoteEvents, assertPositiveInt, assertRange, assertTimeSignature, centsBetweenFreq, centsOfSteps, classifyInterval, createNoteEventIndex, createRng, edo, frequencyOf, isConsonantInterval, isPerfectInterval, justDeviationCents, nearestStep, ratioToCents } from './core/index.js';
6
- 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';
7
- 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';
8
- export { K as KeyScale, N as NoteEvent } from './types-MGP29r3t.js';
9
- 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';
10
- export { Chord, Interval, Key, Note, Progression } from './model/index.js';
11
- export { C as ChordData, a as ChordQuality, b as ChordSpan, P as PitchSpelling, c as chordFromDegree, d as chordPitchClasses, e as chordQualities, f as chordToneRole, g as diatonicSeventh, h as diatonicTriad, m as makeChord } from './index-Bt4tOUD9.js';
12
- 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-DZ7GjShb.js';
13
- 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';
14
- export { H as HarmonyRole, L as LockLevel, V as VoicedRole, r as roleOf } from './index-Bg5dYMmZ.js';
15
- 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-Jc0Ryi79.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-COw1Ky9g.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-BuaB-ypt.js';
5
+ export { AnalyzedNote, ArrangementAnalysis, ArrangementOptions, ArrangementTrack, Conflict, IdentifiedVoiceNote, SuspensionFigure, TensionPoint, TheoryLabel, TrackAnalysis, TrackRole, VoiceNote, analyzeArrangement, analyzeVoice, 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-CAN7v-kw.js';
7
+ export { B as BorrowedSource, C as Cadence, a as ChordAnalysis, b as ChordToRomanOptions, H as HarmonicFunction, c as analyzeChord, d as borrowedSource, e as chordToRoman, f as detectCadence, g as functionOf, i as isBorrowedChord, h as isDiatonic, j as isMinorKey, p as parallelKey, r as romanToChord, s as secondaryDominant } from './function-DTCt675z.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-DRtIhlJj.js';
9
+ export { BudgetExceededError, ConsonanceClass, DEFAULT_GENERATION_BUDGET, IndexedNoteEvent, InvalidInputError, JUST_RATIOS, LibcantusErrorCode, NoSolutionError, NoteEventAssertOptions, NoteEventIndex, OnsetTieBreak, Rng, TWELVE_TET, Tuning, assertDegree, assertFiniteNumber, assertFiniteSemitones, assertGenerationBudget, assertInteger, assertMidiPitch, assertNoteEvent, assertNoteEvents, assertOneOf, assertPositiveInt, assertRange, assertTimeSignature, centsBetweenFreq, centsFromNearestStep, centsOfSteps, centsToRatio, clampToMidi, classifyInterval, createNoteEventIndex, createRng, dropSilentNotes, edo, frequencyOf, isConsonantInterval, isLibcantusError, isPerfectInterval, justDeviationCents, nearestStep, ratioToCents, soundingNotesOnly, 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-tR9jTn26.js';
11
+ export { H as HarmonyRole, L as LockLevel, V as VoicedRole, r as roleOf } from './index-Cfx8xgH0.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-Bl0ZK28h.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';
15
+ export { Chord, DetectedKeyMatch, Interval, Key, Note, Progression } from './model/index.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-GOAW4VYL.js";
7
+ tensionCurve,
8
+ tensionCurveFrom,
9
+ toVoiceNotes
10
+ } from "./chunk-YUE6TJ4M.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-AKLYPWIN.js";
22
+ ratioToCents,
23
+ stepOf,
24
+ stepsOfCents
25
+ } from "./chunk-EDOTEABK.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,40 +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-4MHA432G.js";
50
+ } from "./chunk-AID75RN3.js";
38
51
  import {
39
52
  createRng
40
- } from "./chunk-62QZKCJQ.js";
53
+ } from "./chunk-ZGLJM4A4.js";
41
54
  import {
42
55
  barPositionToBeat,
56
+ barPositionToPulse,
43
57
  beatToBarPosition,
44
58
  beatsPerBar,
45
59
  createNoteEventIndex,
60
+ formatBarPosition,
46
61
  formatTimeSignature,
47
62
  isCompound,
48
63
  isStrongBeat,
49
64
  metricWeight,
50
65
  parseTimeSignature,
66
+ pulseBeats,
51
67
  pulsesPerBar,
52
68
  tuplet
53
- } from "./chunk-I5R7ZBJS.js";
69
+ } from "./chunk-2PTFGVD7.js";
54
70
  import {
55
71
  Chord,
56
72
  Interval,
57
73
  Key,
58
74
  Note,
59
75
  Progression
60
- } from "./chunk-SGU7SPLK.js";
76
+ } from "./chunk-3KX76RLG.js";
61
77
  import {
62
78
  modalInterchangePalette,
63
79
  negativeHarmonyMirror,
64
80
  substituteChord
65
- } from "./chunk-IT2O4XFE.js";
81
+ } from "./chunk-7JEP3MFY.js";
66
82
  import {
67
83
  analyzeChord,
68
84
  borrowedSource,
@@ -71,6 +87,8 @@ import {
71
87
  detectChord,
72
88
  detectChordBest,
73
89
  detectKey,
90
+ detectKeyBest,
91
+ detectKeyFromNotes,
74
92
  functionOf,
75
93
  isBorrowedChord,
76
94
  isDiatonic,
@@ -78,17 +96,17 @@ import {
78
96
  parallelKey,
79
97
  romanToChord,
80
98
  secondaryDominant
81
- } from "./chunk-CHMXELDS.js";
99
+ } from "./chunk-NNB67XA2.js";
82
100
  import "./chunk-N6IHQUOX.js";
83
101
  import {
84
102
  roleOf
85
- } from "./chunk-2ZWMSJH6.js";
103
+ } from "./chunk-HN2OEUN2.js";
86
104
  import {
87
105
  NoteSafety,
88
106
  ReasonFlag,
89
107
  enumerateSafePitches,
90
108
  evaluateSafety
91
- } from "./chunk-EH6EM37U.js";
109
+ } from "./chunk-DZMHIGI4.js";
92
110
  import {
93
111
  SATB_RANGES,
94
112
  availableTensions,
@@ -102,6 +120,8 @@ import {
102
120
  scaleMatchesChord,
103
121
  scalesForChanges,
104
122
  spellChord,
123
+ spellChordFromRoot,
124
+ spellPitch,
105
125
  spellPitchClass,
106
126
  spellPitchClasses,
107
127
  spellScale,
@@ -110,31 +130,28 @@ import {
110
130
  voiceChordStyled,
111
131
  voiceLeadingCost,
112
132
  voiceProgression
113
- } from "./chunk-C5XYKUVG.js";
114
- import {
115
- formatNote,
116
- midiToNote,
117
- noteToMidi,
118
- noteToPitchClass,
119
- parseNote,
120
- spelledInterval
121
- } from "./chunk-DYWFNC4A.js";
133
+ } from "./chunk-7EONYVI5.js";
122
134
  import {
135
+ ALTERED_MASK,
123
136
  BLUES_MASK,
124
137
  CHROMATIC_MASK,
125
138
  DORIAN_MASK,
126
139
  HARMONIC_MINOR_MASK,
127
140
  LOCRIAN_MASK,
141
+ LOCRIAN_NATURAL2_MASK,
142
+ LYDIAN_DOMINANT_MASK,
128
143
  LYDIAN_MASK,
129
144
  MAJOR_MASK,
130
145
  MAJOR_PENTATONIC_MASK,
131
146
  MELODIC_MINOR_MASK,
132
147
  MINOR_PENTATONIC_MASK,
148
+ MIXOLYDIAN_B13_MASK,
133
149
  MIXOLYDIAN_MASK,
134
150
  NAMED_SCALES,
135
151
  NATURAL_MINOR_MASK,
136
152
  OCTATONIC_HALF_WHOLE_MASK,
137
153
  OCTATONIC_WHOLE_HALF_MASK,
154
+ PHRYGIAN_DOMINANT_MASK,
138
155
  PHRYGIAN_MASK,
139
156
  WHOLE_TONE_MASK,
140
157
  chordFromDegree,
@@ -152,6 +169,8 @@ import {
152
169
  diatonicSeventh,
153
170
  diatonicTriad,
154
171
  exceedsSpacing,
172
+ intervalAboveRoot,
173
+ isChordMember,
155
174
  isForbiddenMelodicLeap,
156
175
  isLeadingToneResolution,
157
176
  isScaleTone,
@@ -159,50 +178,88 @@ import {
159
178
  makeChord,
160
179
  maskFromOffsets,
161
180
  minorKey,
181
+ namedScaleMask,
162
182
  nearestScaleTone,
163
183
  pitchToScaleDegree,
184
+ requireScaleMask,
164
185
  scaleByName,
165
- scaleTonesInDegreeOrder
166
- } from "./chunk-MIWO425M.js";
186
+ scaleTonesInDegreeOrder,
187
+ transposeChord
188
+ } from "./chunk-KBTTEX7Q.js";
167
189
  import {
190
+ BudgetExceededError,
191
+ ConsonanceClass,
168
192
  DEFAULT_GENERATION_BUDGET,
169
- IntervalQuality,
193
+ InvalidInputError,
194
+ NoSolutionError,
195
+ assertDegree,
170
196
  assertFiniteNumber,
197
+ assertFiniteSemitones,
171
198
  assertGenerationBudget,
172
199
  assertInteger,
200
+ assertMidiPitch,
173
201
  assertNoteEvent,
174
202
  assertNoteEvents,
203
+ assertOneOf,
175
204
  assertPositiveInt,
176
205
  assertRange,
177
206
  assertTimeSignature,
207
+ clampToMidi,
178
208
  classifyInterval,
209
+ diatonicLetterOf,
210
+ dropSilentNotes,
211
+ formatNote,
212
+ intervalSemitones,
179
213
  isConsonantInterval,
180
- isPerfectInterval
181
- } from "./chunk-FBQK3ZQN.js";
214
+ isLibcantusError,
215
+ isPerfectInterval,
216
+ midiToNote,
217
+ naturalPitchClassOf,
218
+ noteToMidi,
219
+ noteToPitchClass,
220
+ parseInterval,
221
+ parseNote,
222
+ pitchClassOf,
223
+ soundingNotesOnly,
224
+ spelledInterval,
225
+ transposeByInterval,
226
+ transposeNote
227
+ } from "./chunk-R2VVFAIN.js";
182
228
  export {
229
+ ALTERED_MASK,
230
+ BASS_STYLES,
183
231
  BLUES_MASK,
232
+ BORROWED_DEGREES,
233
+ BudgetExceededError,
184
234
  CHROMATIC_MASK,
185
235
  Chord,
236
+ ConsonanceClass,
186
237
  DEFAULT_GENERATION_BUDGET,
187
238
  DORIAN_MASK,
239
+ DRUM_NOTES,
188
240
  HARMONIC_MINOR_MASK,
189
241
  Interval,
190
- IntervalQuality,
242
+ InvalidInputError,
191
243
  JUST_RATIOS,
192
244
  Key,
193
245
  LOCRIAN_MASK,
246
+ LOCRIAN_NATURAL2_MASK,
247
+ LYDIAN_DOMINANT_MASK,
194
248
  LYDIAN_MASK,
195
249
  MAJOR_MASK,
196
250
  MAJOR_PENTATONIC_MASK,
197
251
  MELODIC_MINOR_MASK,
198
252
  MINOR_PENTATONIC_MASK,
253
+ MIXOLYDIAN_B13_MASK,
199
254
  MIXOLYDIAN_MASK,
200
255
  NAMED_SCALES,
201
256
  NATURAL_MINOR_MASK,
257
+ NoSolutionError,
202
258
  Note,
203
259
  NoteSafety,
204
260
  OCTATONIC_HALF_WHOLE_MASK,
205
261
  OCTATONIC_WHOLE_HALF_MASK,
262
+ PHRYGIAN_DOMINANT_MASK,
206
263
  PHRYGIAN_MASK,
207
264
  Progression,
208
265
  ReasonFlag,
@@ -213,22 +270,29 @@ export {
213
270
  analyzeChord,
214
271
  analyzeVoice,
215
272
  applyGrooveTemplate,
273
+ assertDegree,
216
274
  assertFiniteNumber,
275
+ assertFiniteSemitones,
217
276
  assertGenerationBudget,
218
277
  assertInteger,
278
+ assertMidiPitch,
219
279
  assertNoteEvent,
220
280
  assertNoteEvents,
281
+ assertOneOf,
221
282
  assertPositiveInt,
222
283
  assertRange,
223
284
  assertTimeSignature,
224
285
  availableTensions,
225
286
  avoidNotes,
226
287
  barPositionToBeat,
288
+ barPositionToPulse,
227
289
  beatToBarPosition,
228
290
  beatsPerBar,
229
291
  borrowedSource,
230
292
  centsBetweenFreq,
293
+ centsFromNearestStep,
231
294
  centsOfSteps,
295
+ centsToRatio,
232
296
  chordFromDegree,
233
297
  chordPitchClasses,
234
298
  chordQualities,
@@ -238,6 +302,7 @@ export {
238
302
  chordTimelineFromNotes,
239
303
  chordToRoman,
240
304
  chordToneRole,
305
+ clampToMidi,
241
306
  classifyInterval,
242
307
  createNoteEventIndex,
243
308
  createRng,
@@ -253,15 +318,21 @@ export {
253
318
  detectChord,
254
319
  detectChordBest,
255
320
  detectKey,
321
+ detectKeyBest,
322
+ detectKeyFromNotes,
256
323
  developMotif,
324
+ diatonicLetterOf,
257
325
  diatonicPitchClasses,
258
326
  diatonicSeventh,
259
327
  diatonicTriad,
328
+ dropSilentNotes,
329
+ drumVoiceOf,
260
330
  edo,
261
331
  enumerateSafePitches,
262
332
  evaluateSafety,
263
333
  exceedsSpacing,
264
334
  extractGrooveTemplate,
335
+ formatBarPosition,
265
336
  formatChordSymbol,
266
337
  formatNote,
267
338
  formatTimeSignature,
@@ -275,12 +346,16 @@ export {
275
346
  generateRhythm,
276
347
  harmonizeMelody,
277
348
  humanize,
349
+ intervalAboveRoot,
350
+ intervalSemitones,
278
351
  isBorrowedChord,
352
+ isChordMember,
279
353
  isCompound,
280
354
  isConsonantInterval,
281
355
  isDiatonic,
282
356
  isForbiddenMelodicLeap,
283
357
  isLeadingToneResolution,
358
+ isLibcantusError,
284
359
  isMinorKey,
285
360
  isPerfectInterval,
286
361
  isScaleTone,
@@ -293,6 +368,9 @@ export {
293
368
  midiToNote,
294
369
  minorKey,
295
370
  modalInterchangePalette,
371
+ motifToNoteEvents,
372
+ namedScaleMask,
373
+ naturalPitchClassOf,
296
374
  nearestScaleTone,
297
375
  nearestStep,
298
376
  negativeHarmonyMirror,
@@ -303,14 +381,20 @@ export {
303
381
  onsetWeightCurve,
304
382
  parallelKey,
305
383
  parseChordSymbol,
384
+ parseInterval,
306
385
  parseNote,
307
386
  parseTimeSignature,
387
+ pickProgressionPreset,
388
+ pitchClassOf,
308
389
  pitchToScaleDegree,
309
390
  progressions,
310
391
  progressionsByStyle,
392
+ pulseBeats,
311
393
  pulsesPerBar,
312
394
  ratioToCents,
395
+ requireScaleMask,
313
396
  rhythmDensity,
397
+ rhythmToNoteEvents,
314
398
  roleOf,
315
399
  romanToChord,
316
400
  scaleByName,
@@ -318,15 +402,25 @@ export {
318
402
  scaleTonesInDegreeOrder,
319
403
  scalesForChanges,
320
404
  secondaryDominant,
405
+ soundingNotesOnly,
321
406
  spellChord,
407
+ spellChordFromRoot,
408
+ spellPitch,
322
409
  spellPitchClass,
323
410
  spellPitchClasses,
324
411
  spellScale,
325
412
  spelledInterval,
413
+ stepOf,
414
+ stepsOfCents,
326
415
  substituteChord,
327
416
  tensionCurve,
417
+ tensionCurveFrom,
418
+ toVoiceNotes,
328
419
  transformMotif,
420
+ transposeByInterval,
421
+ transposeChord,
329
422
  transposeChordSymbol,
423
+ transposeNote,
330
424
  tuplet,
331
425
  voiceChord,
332
426
  voiceChordStyled,