@libraz/libcantus 0.9.4 → 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 (120) hide show
  1. package/README.md +27 -18
  2. package/README_ja.md +268 -0
  3. package/dist/analyze/index.cjs +7 -7
  4. package/dist/analyze/index.d.cts +9 -99
  5. package/dist/analyze/index.d.ts +9 -99
  6. package/dist/analyze/index.js +6 -6
  7. package/dist/{chunk-36N73KZ3.cjs → chunk-2A2QMA74.cjs} +80 -65
  8. package/dist/chunk-2A2QMA74.cjs.map +1 -0
  9. package/dist/{chunk-YLEMGEFH.js → chunk-2PTFGVD7.js} +50 -35
  10. package/dist/chunk-2PTFGVD7.js.map +1 -0
  11. package/dist/{chunk-ZEJR4TKL.cjs → chunk-357ZDPVU.cjs} +36 -47
  12. package/dist/chunk-357ZDPVU.cjs.map +1 -0
  13. package/dist/{chunk-EHVEBWM5.js → chunk-3KX76RLG.js} +136 -37
  14. package/dist/chunk-3KX76RLG.js.map +1 -0
  15. package/dist/{chunk-RC6GBMCD.cjs → chunk-4VZ5MZAM.cjs} +155 -111
  16. package/dist/chunk-4VZ5MZAM.cjs.map +1 -0
  17. package/dist/{chunk-RK35RIN7.js → chunk-7EONYVI5.js} +115 -28
  18. package/dist/chunk-7EONYVI5.js.map +1 -0
  19. package/dist/{chunk-GQSGS2N4.js → chunk-7JEP3MFY.js} +5 -16
  20. package/dist/chunk-7JEP3MFY.js.map +1 -0
  21. package/dist/{chunk-7NKDPF74.js → chunk-AID75RN3.js} +203 -104
  22. package/dist/chunk-AID75RN3.js.map +1 -0
  23. package/dist/{chunk-FNDWXRRI.cjs → chunk-BSLTLGM3.cjs} +55 -37
  24. package/dist/chunk-BSLTLGM3.cjs.map +1 -0
  25. package/dist/{chunk-NP4NA2FB.cjs → chunk-CU6VG2YM.cjs} +39 -36
  26. package/dist/chunk-CU6VG2YM.cjs.map +1 -0
  27. package/dist/{chunk-NYYWMV2C.js → chunk-DZMHIGI4.js} +27 -17
  28. package/dist/chunk-DZMHIGI4.js.map +1 -0
  29. package/dist/{chunk-I24MV65U.js → chunk-EDOTEABK.js} +18 -15
  30. package/dist/{chunk-I24MV65U.js.map → chunk-EDOTEABK.js.map} +1 -1
  31. package/dist/{chunk-NKIBQ6PT.js → chunk-HN2OEUN2.js} +7 -4
  32. package/dist/chunk-HN2OEUN2.js.map +1 -0
  33. package/dist/{chunk-D2FAJBYL.js → chunk-KBTTEX7Q.js} +30 -12
  34. package/dist/chunk-KBTTEX7Q.js.map +1 -0
  35. package/dist/{chunk-CAN76NCU.cjs → chunk-KQN2ZYND.cjs} +147 -102
  36. package/dist/chunk-KQN2ZYND.cjs.map +1 -0
  37. package/dist/{chunk-4HLLZPXT.cjs → chunk-MPTVJIVG.cjs} +350 -251
  38. package/dist/chunk-MPTVJIVG.cjs.map +1 -0
  39. package/dist/{chunk-RUMU3UA6.cjs → chunk-MTMZTMWM.cjs} +12 -12
  40. package/dist/{chunk-RUMU3UA6.cjs.map → chunk-MTMZTMWM.cjs.map} +1 -1
  41. package/dist/{chunk-KMHOICIY.js → chunk-NNB67XA2.js} +90 -45
  42. package/dist/chunk-NNB67XA2.js.map +1 -0
  43. package/dist/{chunk-LW53AHQU.cjs → chunk-OL3IHHSJ.cjs} +228 -141
  44. package/dist/chunk-OL3IHHSJ.cjs.map +1 -0
  45. package/dist/{chunk-7MGZ7D62.cjs → chunk-PI3UXRWK.cjs} +43 -13
  46. package/dist/chunk-PI3UXRWK.cjs.map +1 -0
  47. package/dist/{chunk-XEBG3G53.js → chunk-R2VVFAIN.js} +42 -12
  48. package/dist/chunk-R2VVFAIN.js.map +1 -0
  49. package/dist/{chunk-Q6OP4U43.cjs → chunk-WFDXOLUB.cjs} +50 -40
  50. package/dist/chunk-WFDXOLUB.cjs.map +1 -0
  51. package/dist/{chunk-NVE34YGZ.cjs → chunk-WTAN4ACG.cjs} +212 -113
  52. package/dist/chunk-WTAN4ACG.cjs.map +1 -0
  53. package/dist/{chunk-FCANXBAT.cjs → chunk-YFJXS3AU.cjs} +8 -5
  54. package/dist/chunk-YFJXS3AU.cjs.map +1 -0
  55. package/dist/{chunk-Q2XUP227.js → chunk-YUE6TJ4M.js} +89 -45
  56. package/dist/chunk-YUE6TJ4M.js.map +1 -0
  57. package/dist/{chunk-HKGYCQ34.js → chunk-ZGLJM4A4.js} +2 -2
  58. package/dist/core/index.cjs +15 -5
  59. package/dist/core/index.cjs.map +1 -1
  60. package/dist/core/index.d.cts +14 -4
  61. package/dist/core/index.d.ts +14 -4
  62. package/dist/core/index.js +14 -4
  63. package/dist/{function-DNugAOrt.d.cts → function-CxixTB02.d.cts} +98 -7
  64. package/dist/{function-BtiZb9i9.d.ts → function-DTCt675z.d.ts} +98 -7
  65. package/dist/generate/index.cjs +10 -10
  66. package/dist/generate/index.d.cts +21 -21
  67. package/dist/generate/index.d.ts +21 -21
  68. package/dist/generate/index.js +9 -9
  69. package/dist/{index-tJhkmQgE.d.cts → index-B2Ulxxpo.d.cts} +3 -2
  70. package/dist/{index-Be74mcon.d.cts → index-BkYJ0xMq.d.cts} +2 -2
  71. package/dist/{index-6VR8-kit.d.ts → index-BuaB-ypt.d.ts} +3 -2
  72. package/dist/{index-70p168VM.d.ts → index-CAN7v-kw.d.ts} +9 -2
  73. package/dist/{index-C83mZI1P.d.ts → index-COw1Ky9g.d.ts} +1 -1
  74. package/dist/{index-tSQh-xwY.d.ts → index-Cfx8xgH0.d.ts} +1 -1
  75. package/dist/{index-C5UBbQ4G.d.ts → index-DRtIhlJj.d.ts} +2 -2
  76. package/dist/{index-BtXT6UQ0.d.cts → index-alrRninU.d.cts} +9 -2
  77. package/dist/{index-y_ak9_Hi.d.cts → index-oTQbYYIs.d.cts} +1 -1
  78. package/dist/{index-OG65ocOr.d.ts → index-tR9jTn26.d.cts} +4 -1
  79. package/dist/{index-OG65ocOr.d.cts → index-tR9jTn26.d.ts} +4 -1
  80. package/dist/{index-D6b6na69.d.cts → index-x2vcsduE.d.cts} +1 -1
  81. package/dist/index.cjs +24 -14
  82. package/dist/index.cjs.map +1 -1
  83. package/dist/index.d.cts +11 -11
  84. package/dist/index.d.ts +11 -11
  85. package/dist/index.js +23 -13
  86. package/dist/model/index.cjs +7 -7
  87. package/dist/model/index.d.cts +48 -16
  88. package/dist/model/index.d.ts +48 -16
  89. package/dist/model/index.js +6 -6
  90. package/dist/{styled-DIRkk9Uz.d.ts → styled-Bl0ZK28h.d.ts} +40 -3
  91. package/dist/{styled-DJbkJQfj.d.cts → styled-Crv6SA4S.d.cts} +40 -3
  92. package/dist/theory/index.cjs +6 -6
  93. package/dist/theory/index.d.cts +9 -9
  94. package/dist/theory/index.d.ts +9 -9
  95. package/dist/theory/index.js +5 -5
  96. package/package.json +12 -9
  97. package/dist/chunk-36N73KZ3.cjs.map +0 -1
  98. package/dist/chunk-4HLLZPXT.cjs.map +0 -1
  99. package/dist/chunk-7MGZ7D62.cjs.map +0 -1
  100. package/dist/chunk-7NKDPF74.js.map +0 -1
  101. package/dist/chunk-CAN76NCU.cjs.map +0 -1
  102. package/dist/chunk-D2FAJBYL.js.map +0 -1
  103. package/dist/chunk-EHVEBWM5.js.map +0 -1
  104. package/dist/chunk-FCANXBAT.cjs.map +0 -1
  105. package/dist/chunk-FNDWXRRI.cjs.map +0 -1
  106. package/dist/chunk-GQSGS2N4.js.map +0 -1
  107. package/dist/chunk-KMHOICIY.js.map +0 -1
  108. package/dist/chunk-LW53AHQU.cjs.map +0 -1
  109. package/dist/chunk-NKIBQ6PT.js.map +0 -1
  110. package/dist/chunk-NP4NA2FB.cjs.map +0 -1
  111. package/dist/chunk-NVE34YGZ.cjs.map +0 -1
  112. package/dist/chunk-NYYWMV2C.js.map +0 -1
  113. package/dist/chunk-Q2XUP227.js.map +0 -1
  114. package/dist/chunk-Q6OP4U43.cjs.map +0 -1
  115. package/dist/chunk-RC6GBMCD.cjs.map +0 -1
  116. package/dist/chunk-RK35RIN7.js.map +0 -1
  117. package/dist/chunk-XEBG3G53.js.map +0 -1
  118. package/dist/chunk-YLEMGEFH.js.map +0 -1
  119. package/dist/chunk-ZEJR4TKL.cjs.map +0 -1
  120. /package/dist/{chunk-HKGYCQ34.js.map → chunk-ZGLJM4A4.js.map} +0 -0
@@ -1,5 +1,5 @@
1
1
  import { K as KeyScale } from './types-BN6_Q9Kl.js';
2
- import { C as Chord } from './index-C83mZI1P.js';
2
+ import { C as Chord } from './index-COw1Ky9g.js';
3
3
 
4
4
  /**
5
5
  * Severity policy: `strict` counterpoint vs. lenient `pop` voice-leading.
@@ -38,7 +38,8 @@ declare enum ReasonFlag {
38
38
  HiddenParallel = 4096,
39
39
  VoiceCrossing = 8192,
40
40
  Suspension = 16384,
41
- NeedsResolution = 32768
41
+ NeedsResolution = 32768,
42
+ MelodicTritone = 65536
42
43
  }
43
44
  /**
44
45
  * A neighbouring voice's current and previous pitch.
@@ -1,5 +1,5 @@
1
1
  import { K as KeyScale, N as NoteEvent } from './types-BN6_Q9Kl.js';
2
- import { a as ChordQuality, C as Chord } from './index-C83mZI1P.js';
2
+ import { a as ChordQuality, C as Chord } from './index-COw1Ky9g.js';
3
3
 
4
4
  /**
5
5
  * Recognition: infer a chord name from a set of pitches, or a key from a set of
@@ -92,6 +92,12 @@ type DetectKeyOptions = {
92
92
  * histogram.
93
93
  */
94
94
  weights?: readonly number[];
95
+ /**
96
+ * Upper bound on the input pitches processed by this detection call.
97
+ *
98
+ * @defaultValue {@link DEFAULT_GENERATION_BUDGET}
99
+ */
100
+ budget?: number;
95
101
  };
96
102
  /**
97
103
  * Identify chords matching a set of pitches.
@@ -161,6 +167,7 @@ declare function detectKey(pitches: readonly number[], opts?: DetectKeyOptions):
161
167
  * or negative duration) are ignored.
162
168
  *
163
169
  * @param notes The note events to weigh.
170
+ * @param opts Budget for processing imported note events.
164
171
  * @returns Ranked key interpretations (empty when nothing sounds).
165
172
  * @example
166
173
  * ```ts
@@ -169,7 +176,7 @@ declare function detectKey(pitches: readonly number[], opts?: DetectKeyOptions):
169
176
  * ```
170
177
  * @category Recognition
171
178
  */
172
- declare function detectKeyFromNotes(notes: readonly NoteEvent[]): KeyMatch[];
179
+ declare function detectKeyFromNotes(notes: readonly NoteEvent[], opts?: Omit<DetectKeyOptions, 'weights'>): KeyMatch[];
173
180
  /**
174
181
  * The single best key interpretation of a pitch set.
175
182
  *
@@ -5,7 +5,7 @@ import { K as KeyScale } from './types-BN6_Q9Kl.js';
5
5
  *
6
6
  * @category Chords
7
7
  */
8
- type ChordQuality = 'maj' | 'min' | 'dim' | 'aug' | 'maj7' | 'min7' | 'dom7' | 'dim7' | 'm7b5' | 'minMaj7' | 'aug7' | 'augMaj7' | 'majb5' | '6' | 'min6' | '6/9' | 'sus2' | 'sus4' | 'add9' | 'add11' | 'maj9' | 'min9' | 'dom9' | '7b9' | '7#9' | '7#11' | '7b13' | '11' | '13' | '5' | '7sus4' | '7b5' | '7alt' | '13b9' | 'maj13' | 'maj7#11' | 'min11' | 'min13' | 'minAdd9' | 'min6/9';
8
+ type ChordQuality = 'maj' | 'min' | 'dim' | 'aug' | 'maj7' | 'min7' | 'dom7' | 'dim7' | 'm7b5' | 'minMaj7' | 'minMaj9' | 'minMaj11' | 'minMaj13' | 'aug7' | 'augMaj7' | 'majb5' | '6' | 'min6' | '6/9' | 'sus2' | 'sus4' | 'add9' | 'add11' | 'maj9' | 'min9' | 'dom9' | '7b9' | '7#9' | '7#11' | '7b13' | '11' | '13' | '5' | '7sus4' | '7b5' | '7alt' | '13b9' | 'maj13' | 'maj7#11' | 'min11' | 'min13' | 'minAdd9' | 'min6/9';
9
9
  /**
10
10
  * The basic role a chord tone plays: the degrees a chord's own template names.
11
11
  *
@@ -1,4 +1,4 @@
1
- import { d as ChordToneRole, C as Chord } from './index-C83mZI1P.js';
1
+ import { d as ChordToneRole, C as Chord } from './index-COw1Ky9g.js';
2
2
 
3
3
  /**
4
4
  * Harmonic role a pitch plays within a chord.
@@ -1,7 +1,7 @@
1
1
  import { T as TimeSignature } from './index-DXd9JikN.js';
2
2
  import { K as KeyScale, N as NoteEvent } from './types-BN6_Q9Kl.js';
3
- import { C as Chord, b as ChordSegment, c as ChordSpan } from './index-C83mZI1P.js';
4
- import { C as Cadence } from './function-BtiZb9i9.js';
3
+ import { C as Chord, b as ChordSegment, c as ChordSpan } from './index-COw1Ky9g.js';
4
+ import { C as Cadence } from './function-DTCt675z.js';
5
5
 
6
6
  /**
7
7
  * A beat-indexed sequence of chord segments.
@@ -1,5 +1,5 @@
1
1
  import { K as KeyScale, N as NoteEvent } from './types-BN6_Q9Kl.cjs';
2
- import { a as ChordQuality, C as Chord } from './index-y_ak9_Hi.cjs';
2
+ import { a as ChordQuality, C as Chord } from './index-oTQbYYIs.cjs';
3
3
 
4
4
  /**
5
5
  * Recognition: infer a chord name from a set of pitches, or a key from a set of
@@ -92,6 +92,12 @@ type DetectKeyOptions = {
92
92
  * histogram.
93
93
  */
94
94
  weights?: readonly number[];
95
+ /**
96
+ * Upper bound on the input pitches processed by this detection call.
97
+ *
98
+ * @defaultValue {@link DEFAULT_GENERATION_BUDGET}
99
+ */
100
+ budget?: number;
95
101
  };
96
102
  /**
97
103
  * Identify chords matching a set of pitches.
@@ -161,6 +167,7 @@ declare function detectKey(pitches: readonly number[], opts?: DetectKeyOptions):
161
167
  * or negative duration) are ignored.
162
168
  *
163
169
  * @param notes The note events to weigh.
170
+ * @param opts Budget for processing imported note events.
164
171
  * @returns Ranked key interpretations (empty when nothing sounds).
165
172
  * @example
166
173
  * ```ts
@@ -169,7 +176,7 @@ declare function detectKey(pitches: readonly number[], opts?: DetectKeyOptions):
169
176
  * ```
170
177
  * @category Recognition
171
178
  */
172
- declare function detectKeyFromNotes(notes: readonly NoteEvent[]): KeyMatch[];
179
+ declare function detectKeyFromNotes(notes: readonly NoteEvent[], opts?: Omit<DetectKeyOptions, 'weights'>): KeyMatch[];
173
180
  /**
174
181
  * The single best key interpretation of a pitch set.
175
182
  *
@@ -5,7 +5,7 @@ import { K as KeyScale } from './types-BN6_Q9Kl.cjs';
5
5
  *
6
6
  * @category Chords
7
7
  */
8
- type ChordQuality = 'maj' | 'min' | 'dim' | 'aug' | 'maj7' | 'min7' | 'dom7' | 'dim7' | 'm7b5' | 'minMaj7' | 'aug7' | 'augMaj7' | 'majb5' | '6' | 'min6' | '6/9' | 'sus2' | 'sus4' | 'add9' | 'add11' | 'maj9' | 'min9' | 'dom9' | '7b9' | '7#9' | '7#11' | '7b13' | '11' | '13' | '5' | '7sus4' | '7b5' | '7alt' | '13b9' | 'maj13' | 'maj7#11' | 'min11' | 'min13' | 'minAdd9' | 'min6/9';
8
+ type ChordQuality = 'maj' | 'min' | 'dim' | 'aug' | 'maj7' | 'min7' | 'dom7' | 'dim7' | 'm7b5' | 'minMaj7' | 'minMaj9' | 'minMaj11' | 'minMaj13' | 'aug7' | 'augMaj7' | 'majb5' | '6' | 'min6' | '6/9' | 'sus2' | 'sus4' | 'add9' | 'add11' | 'maj9' | 'min9' | 'dom9' | '7b9' | '7#9' | '7#11' | '7b13' | '11' | '13' | '5' | '7sus4' | '7b5' | '7alt' | '13b9' | 'maj13' | 'maj7#11' | 'min11' | 'min13' | 'minAdd9' | 'min6/9';
9
9
  /**
10
10
  * The basic role a chord tone plays: the degrees a chord's own template names.
11
11
  *
@@ -49,6 +49,8 @@ type SpelledInterval = {
49
49
  quality: IntervalQualityLabel;
50
50
  /** Signed semitone distance from the first note to the second. */
51
51
  semitones: number;
52
+ /** True when the diatonic letter movement is descending despite a zero span. */
53
+ descending?: boolean;
52
54
  };
53
55
  /**
54
56
  * Reduce a MIDI pitch, a bare pitch class, or any signed offset to a pitch
@@ -219,7 +221,8 @@ declare function intervalSemitones(numberValue: number, quality: IntervalQuality
219
221
  * Parse an interval name such as `'P5'`, `'m3'`, or `'AA4'`.
220
222
  *
221
223
  * @param name The interval name: a quality label followed by a diatonic number.
222
- * @returns The spelled interval, with an ascending (positive) span.
224
+ * @returns The spelled interval. Diminished unisons have a descending
225
+ * (negative) semitone span; all other supported names are ascending.
223
226
  * @throws If the name is not a quality label followed by a number, or the two
224
227
  * cannot describe the same interval.
225
228
  * @example
@@ -49,6 +49,8 @@ type SpelledInterval = {
49
49
  quality: IntervalQualityLabel;
50
50
  /** Signed semitone distance from the first note to the second. */
51
51
  semitones: number;
52
+ /** True when the diatonic letter movement is descending despite a zero span. */
53
+ descending?: boolean;
52
54
  };
53
55
  /**
54
56
  * Reduce a MIDI pitch, a bare pitch class, or any signed offset to a pitch
@@ -219,7 +221,8 @@ declare function intervalSemitones(numberValue: number, quality: IntervalQuality
219
221
  * Parse an interval name such as `'P5'`, `'m3'`, or `'AA4'`.
220
222
  *
221
223
  * @param name The interval name: a quality label followed by a diatonic number.
222
- * @returns The spelled interval, with an ascending (positive) span.
224
+ * @returns The spelled interval. Diminished unisons have a descending
225
+ * (negative) semitone span; all other supported names are ascending.
223
226
  * @throws If the name is not a quality label followed by a number, or the two
224
227
  * cannot describe the same interval.
225
228
  * @example
@@ -1,4 +1,4 @@
1
- import { d as ChordToneRole, C as Chord } from './index-y_ak9_Hi.cjs';
1
+ import { d as ChordToneRole, C as Chord } from './index-oTQbYYIs.cjs';
2
2
 
3
3
  /**
4
4
  * Harmonic role a pitch plays within a chord.
package/dist/index.cjs CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
 
9
9
 
10
- var _chunkRC6GBMCDcjs = require('./chunk-RC6GBMCD.cjs');
10
+ var _chunk4VZ5MZAMcjs = require('./chunk-4VZ5MZAM.cjs');
11
11
 
12
12
 
13
13
 
@@ -22,7 +22,7 @@ var _chunkRC6GBMCDcjs = require('./chunk-RC6GBMCD.cjs');
22
22
 
23
23
 
24
24
 
25
- var _chunkNP4NA2FBcjs = require('./chunk-NP4NA2FB.cjs');
25
+ var _chunkCU6VG2YMcjs = require('./chunk-CU6VG2YM.cjs');
26
26
 
27
27
 
28
28
 
@@ -47,10 +47,10 @@ var _chunkNP4NA2FBcjs = require('./chunk-NP4NA2FB.cjs');
47
47
 
48
48
 
49
49
 
50
- var _chunk4HLLZPXTcjs = require('./chunk-4HLLZPXT.cjs');
50
+ var _chunkMPTVJIVGcjs = require('./chunk-MPTVJIVG.cjs');
51
51
 
52
52
 
53
- var _chunkRUMU3UA6cjs = require('./chunk-RUMU3UA6.cjs');
53
+ var _chunkMTMZTMWMcjs = require('./chunk-MTMZTMWM.cjs');
54
54
 
55
55
 
56
56
 
@@ -66,19 +66,19 @@ var _chunkRUMU3UA6cjs = require('./chunk-RUMU3UA6.cjs');
66
66
 
67
67
 
68
68
 
69
- var _chunk36N73KZ3cjs = require('./chunk-36N73KZ3.cjs');
69
+ var _chunk2A2QMA74cjs = require('./chunk-2A2QMA74.cjs');
70
70
 
71
71
 
72
72
 
73
73
 
74
74
 
75
75
 
76
- var _chunkNVE34YGZcjs = require('./chunk-NVE34YGZ.cjs');
76
+ var _chunkWTAN4ACGcjs = require('./chunk-WTAN4ACG.cjs');
77
77
 
78
78
 
79
79
 
80
80
 
81
- var _chunkZEJR4TKLcjs = require('./chunk-ZEJR4TKL.cjs');
81
+ var _chunk357ZDPVUcjs = require('./chunk-357ZDPVU.cjs');
82
82
 
83
83
 
84
84
 
@@ -96,17 +96,17 @@ var _chunkZEJR4TKLcjs = require('./chunk-ZEJR4TKL.cjs');
96
96
 
97
97
 
98
98
 
99
- var _chunkCAN76NCUcjs = require('./chunk-CAN76NCU.cjs');
99
+ var _chunkKQN2ZYNDcjs = require('./chunk-KQN2ZYND.cjs');
100
100
  require('./chunk-T64C7ZD7.cjs');
101
101
 
102
102
 
103
- var _chunkFCANXBATcjs = require('./chunk-FCANXBAT.cjs');
103
+ var _chunkYFJXS3AUcjs = require('./chunk-YFJXS3AU.cjs');
104
104
 
105
105
 
106
106
 
107
107
 
108
108
 
109
- var _chunkQ6OP4U43cjs = require('./chunk-Q6OP4U43.cjs');
109
+ var _chunkWFDXOLUBcjs = require('./chunk-WFDXOLUB.cjs');
110
110
 
111
111
 
112
112
 
@@ -130,7 +130,7 @@ var _chunkQ6OP4U43cjs = require('./chunk-Q6OP4U43.cjs');
130
130
 
131
131
 
132
132
 
133
- var _chunkLW53AHQUcjs = require('./chunk-LW53AHQU.cjs');
133
+ var _chunkOL3IHHSJcjs = require('./chunk-OL3IHHSJ.cjs');
134
134
 
135
135
 
136
136
 
@@ -185,7 +185,7 @@ var _chunkLW53AHQUcjs = require('./chunk-LW53AHQU.cjs');
185
185
 
186
186
 
187
187
 
188
- var _chunkFNDWXRRIcjs = require('./chunk-FNDWXRRI.cjs');
188
+ var _chunkBSLTLGM3cjs = require('./chunk-BSLTLGM3.cjs');
189
189
 
190
190
 
191
191
 
@@ -219,12 +219,12 @@ var _chunkFNDWXRRIcjs = require('./chunk-FNDWXRRI.cjs');
219
219
 
220
220
 
221
221
 
222
- var _chunk7MGZ7D62cjs = require('./chunk-7MGZ7D62.cjs');
223
222
 
224
223
 
225
224
 
226
225
 
227
226
 
227
+ var _chunkPI3UXRWKcjs = require('./chunk-PI3UXRWK.cjs');
228
228
 
229
229
 
230
230
 
@@ -416,5 +416,15 @@ var _chunk7MGZ7D62cjs = require('./chunk-7MGZ7D62.cjs');
416
416
 
417
417
 
418
418
 
419
- exports.ALTERED_MASK = _chunkFNDWXRRIcjs.ALTERED_MASK; exports.BASS_STYLES = _chunk4HLLZPXTcjs.BASS_STYLES; exports.BLUES_MASK = _chunkFNDWXRRIcjs.BLUES_MASK; exports.BORROWED_DEGREES = _chunk4HLLZPXTcjs.BORROWED_DEGREES; exports.BudgetExceededError = _chunk7MGZ7D62cjs.BudgetExceededError; exports.CHROMATIC_MASK = _chunkFNDWXRRIcjs.CHROMATIC_MASK; exports.Chord = _chunkNVE34YGZcjs.Chord; exports.ConsonanceClass = _chunk7MGZ7D62cjs.ConsonanceClass; exports.DEFAULT_GENERATION_BUDGET = _chunk7MGZ7D62cjs.DEFAULT_GENERATION_BUDGET; exports.DORIAN_MASK = _chunkFNDWXRRIcjs.DORIAN_MASK; exports.DRUM_NOTES = _chunk4HLLZPXTcjs.DRUM_NOTES; exports.HARMONIC_MINOR_MASK = _chunkFNDWXRRIcjs.HARMONIC_MINOR_MASK; exports.Interval = _chunkNVE34YGZcjs.Interval; exports.InvalidInputError = _chunk7MGZ7D62cjs.InvalidInputError; exports.JUST_RATIOS = _chunkNP4NA2FBcjs.JUST_RATIOS; exports.Key = _chunkNVE34YGZcjs.Key; exports.LOCRIAN_MASK = _chunkFNDWXRRIcjs.LOCRIAN_MASK; exports.LOCRIAN_NATURAL2_MASK = _chunkFNDWXRRIcjs.LOCRIAN_NATURAL2_MASK; exports.LYDIAN_DOMINANT_MASK = _chunkFNDWXRRIcjs.LYDIAN_DOMINANT_MASK; exports.LYDIAN_MASK = _chunkFNDWXRRIcjs.LYDIAN_MASK; exports.MAJOR_MASK = _chunkFNDWXRRIcjs.MAJOR_MASK; exports.MAJOR_PENTATONIC_MASK = _chunkFNDWXRRIcjs.MAJOR_PENTATONIC_MASK; exports.MELODIC_MINOR_MASK = _chunkFNDWXRRIcjs.MELODIC_MINOR_MASK; exports.MINOR_PENTATONIC_MASK = _chunkFNDWXRRIcjs.MINOR_PENTATONIC_MASK; exports.MIXOLYDIAN_B13_MASK = _chunkFNDWXRRIcjs.MIXOLYDIAN_B13_MASK; exports.MIXOLYDIAN_MASK = _chunkFNDWXRRIcjs.MIXOLYDIAN_MASK; exports.NAMED_SCALES = _chunkFNDWXRRIcjs.NAMED_SCALES; exports.NATURAL_MINOR_MASK = _chunkFNDWXRRIcjs.NATURAL_MINOR_MASK; exports.NoSolutionError = _chunk7MGZ7D62cjs.NoSolutionError; exports.Note = _chunkNVE34YGZcjs.Note; exports.NoteSafety = _chunkQ6OP4U43cjs.NoteSafety; exports.OCTATONIC_HALF_WHOLE_MASK = _chunkFNDWXRRIcjs.OCTATONIC_HALF_WHOLE_MASK; exports.OCTATONIC_WHOLE_HALF_MASK = _chunkFNDWXRRIcjs.OCTATONIC_WHOLE_HALF_MASK; exports.PHRYGIAN_DOMINANT_MASK = _chunkFNDWXRRIcjs.PHRYGIAN_DOMINANT_MASK; exports.PHRYGIAN_MASK = _chunkFNDWXRRIcjs.PHRYGIAN_MASK; exports.Progression = _chunkNVE34YGZcjs.Progression; exports.ReasonFlag = _chunkQ6OP4U43cjs.ReasonFlag; exports.SATB_RANGES = _chunkLW53AHQUcjs.SATB_RANGES; exports.TWELVE_TET = _chunkNP4NA2FBcjs.TWELVE_TET; exports.WHOLE_TONE_MASK = _chunkFNDWXRRIcjs.WHOLE_TONE_MASK; exports.analyzeArrangement = _chunkRC6GBMCDcjs.analyzeArrangement; exports.analyzeChord = _chunkCAN76NCUcjs.analyzeChord; exports.analyzeVoice = _chunkRC6GBMCDcjs.analyzeVoice; exports.applyGrooveTemplate = _chunk4HLLZPXTcjs.applyGrooveTemplate; exports.assertFiniteNumber = _chunk7MGZ7D62cjs.assertFiniteNumber; exports.assertGenerationBudget = _chunk7MGZ7D62cjs.assertGenerationBudget; exports.assertInteger = _chunk7MGZ7D62cjs.assertInteger; exports.assertNoteEvent = _chunk7MGZ7D62cjs.assertNoteEvent; exports.assertNoteEvents = _chunk7MGZ7D62cjs.assertNoteEvents; exports.assertOneOf = _chunk7MGZ7D62cjs.assertOneOf; exports.assertPositiveInt = _chunk7MGZ7D62cjs.assertPositiveInt; exports.assertRange = _chunk7MGZ7D62cjs.assertRange; exports.assertTimeSignature = _chunk7MGZ7D62cjs.assertTimeSignature; exports.availableTensions = _chunkLW53AHQUcjs.availableTensions; exports.avoidNotes = _chunkLW53AHQUcjs.avoidNotes; exports.barPositionToBeat = _chunk36N73KZ3cjs.barPositionToBeat; exports.barPositionToPulse = _chunk36N73KZ3cjs.barPositionToPulse; exports.beatToBarPosition = _chunk36N73KZ3cjs.beatToBarPosition; exports.beatsPerBar = _chunk36N73KZ3cjs.beatsPerBar; exports.borrowedSource = _chunkCAN76NCUcjs.borrowedSource; exports.centsBetweenFreq = _chunkNP4NA2FBcjs.centsBetweenFreq; exports.centsFromNearestStep = _chunkNP4NA2FBcjs.centsFromNearestStep; exports.centsOfSteps = _chunkNP4NA2FBcjs.centsOfSteps; exports.centsToRatio = _chunkNP4NA2FBcjs.centsToRatio; exports.chordFromDegree = _chunkFNDWXRRIcjs.chordFromDegree; exports.chordPitchClasses = _chunkFNDWXRRIcjs.chordPitchClasses; exports.chordQualities = _chunkFNDWXRRIcjs.chordQualities; exports.chordScaleReport = _chunkLW53AHQUcjs.chordScaleReport; exports.chordScales = _chunkLW53AHQUcjs.chordScales; exports.chordTimelineFromChords = _chunkRC6GBMCDcjs.chordTimelineFromChords; exports.chordTimelineFromNotes = _chunkRC6GBMCDcjs.chordTimelineFromNotes; exports.chordToRoman = _chunkCAN76NCUcjs.chordToRoman; exports.chordToneRole = _chunkFNDWXRRIcjs.chordToneRole; exports.classifyInterval = _chunk7MGZ7D62cjs.classifyInterval; exports.createNoteEventIndex = _chunk36N73KZ3cjs.createNoteEventIndex; exports.createRng = _chunkRUMU3UA6cjs.createRng; exports.createsHiddenParallelPerfect = _chunkFNDWXRRIcjs.createsHiddenParallelPerfect; exports.createsParallelOctave = _chunkFNDWXRRIcjs.createsParallelOctave; exports.createsParallelPerfect = _chunkFNDWXRRIcjs.createsParallelPerfect; exports.createsParallelUnison = _chunkFNDWXRRIcjs.createsParallelUnison; exports.createsVerticalDissonance = _chunkFNDWXRRIcjs.createsVerticalDissonance; exports.createsVoiceCrossing = _chunkFNDWXRRIcjs.createsVoiceCrossing; exports.createsVoiceOverlap = _chunkFNDWXRRIcjs.createsVoiceOverlap; exports.detectCadence = _chunkCAN76NCUcjs.detectCadence; exports.detectCadences = _chunkRC6GBMCDcjs.detectCadences; exports.detectChord = _chunkCAN76NCUcjs.detectChord; exports.detectChordBest = _chunkCAN76NCUcjs.detectChordBest; exports.detectKey = _chunkCAN76NCUcjs.detectKey; exports.detectKeyBest = _chunkCAN76NCUcjs.detectKeyBest; exports.detectKeyFromNotes = _chunkCAN76NCUcjs.detectKeyFromNotes; exports.developMotif = _chunk4HLLZPXTcjs.developMotif; exports.diatonicLetterOf = _chunk7MGZ7D62cjs.diatonicLetterOf; exports.diatonicPitchClasses = _chunkFNDWXRRIcjs.diatonicPitchClasses; exports.diatonicSeventh = _chunkFNDWXRRIcjs.diatonicSeventh; exports.diatonicTriad = _chunkFNDWXRRIcjs.diatonicTriad; exports.dropSilentNotes = _chunk7MGZ7D62cjs.dropSilentNotes; exports.drumVoiceOf = _chunk4HLLZPXTcjs.drumVoiceOf; exports.edo = _chunkNP4NA2FBcjs.edo; exports.enumerateSafePitches = _chunkQ6OP4U43cjs.enumerateSafePitches; exports.evaluateSafety = _chunkQ6OP4U43cjs.evaluateSafety; exports.exceedsSpacing = _chunkFNDWXRRIcjs.exceedsSpacing; exports.extractGrooveTemplate = _chunk4HLLZPXTcjs.extractGrooveTemplate; exports.formatBarPosition = _chunk36N73KZ3cjs.formatBarPosition; exports.formatChordSymbol = _chunkLW53AHQUcjs.formatChordSymbol; exports.formatNote = _chunk7MGZ7D62cjs.formatNote; exports.formatTimeSignature = _chunk36N73KZ3cjs.formatTimeSignature; exports.frequencyOf = _chunkNP4NA2FBcjs.frequencyOf; exports.functionOf = _chunkCAN76NCUcjs.functionOf; exports.generateBassLine = _chunk4HLLZPXTcjs.generateBassLine; exports.generateCounterMelody = _chunk4HLLZPXTcjs.generateCounterMelody; exports.generateDrums = _chunk4HLLZPXTcjs.generateDrums; exports.generateMotif = _chunk4HLLZPXTcjs.generateMotif; exports.generateProgression = _chunk4HLLZPXTcjs.generateProgression; exports.generateRhythm = _chunk4HLLZPXTcjs.generateRhythm; exports.harmonizeMelody = _chunk4HLLZPXTcjs.harmonizeMelody; exports.humanize = _chunk4HLLZPXTcjs.humanize; exports.intervalAboveRoot = _chunkFNDWXRRIcjs.intervalAboveRoot; exports.intervalSemitones = _chunk7MGZ7D62cjs.intervalSemitones; exports.isBorrowedChord = _chunkCAN76NCUcjs.isBorrowedChord; exports.isChordMember = _chunkFNDWXRRIcjs.isChordMember; exports.isCompound = _chunk36N73KZ3cjs.isCompound; exports.isConsonantInterval = _chunk7MGZ7D62cjs.isConsonantInterval; exports.isDiatonic = _chunkCAN76NCUcjs.isDiatonic; exports.isForbiddenMelodicLeap = _chunkFNDWXRRIcjs.isForbiddenMelodicLeap; exports.isLeadingToneResolution = _chunkFNDWXRRIcjs.isLeadingToneResolution; exports.isLibcantusError = _chunk7MGZ7D62cjs.isLibcantusError; exports.isMinorKey = _chunkCAN76NCUcjs.isMinorKey; exports.isPerfectInterval = _chunk7MGZ7D62cjs.isPerfectInterval; exports.isScaleTone = _chunkFNDWXRRIcjs.isScaleTone; exports.isStrongBeat = _chunk36N73KZ3cjs.isStrongBeat; exports.justDeviationCents = _chunkNP4NA2FBcjs.justDeviationCents; exports.majorKey = _chunkFNDWXRRIcjs.majorKey; exports.makeChord = _chunkFNDWXRRIcjs.makeChord; exports.maskFromOffsets = _chunkFNDWXRRIcjs.maskFromOffsets; exports.metricWeight = _chunk36N73KZ3cjs.metricWeight; exports.midiToNote = _chunk7MGZ7D62cjs.midiToNote; exports.minorKey = _chunkFNDWXRRIcjs.minorKey; exports.modalInterchangePalette = _chunkZEJR4TKLcjs.modalInterchangePalette; exports.motifToNoteEvents = _chunk4HLLZPXTcjs.motifToNoteEvents; exports.namedScaleMask = _chunkFNDWXRRIcjs.namedScaleMask; exports.naturalPitchClassOf = _chunk7MGZ7D62cjs.naturalPitchClassOf; exports.nearestScaleTone = _chunkFNDWXRRIcjs.nearestScaleTone; exports.nearestStep = _chunkNP4NA2FBcjs.nearestStep; exports.negativeHarmonyMirror = _chunkZEJR4TKLcjs.negativeHarmonyMirror; exports.nextVoicing = _chunkLW53AHQUcjs.nextVoicing; exports.noteNames = _chunkLW53AHQUcjs.noteNames; exports.noteToMidi = _chunk7MGZ7D62cjs.noteToMidi; exports.noteToPitchClass = _chunk7MGZ7D62cjs.noteToPitchClass; exports.onsetWeightCurve = _chunk4HLLZPXTcjs.onsetWeightCurve; exports.parallelKey = _chunkCAN76NCUcjs.parallelKey; exports.parseChordSymbol = _chunkLW53AHQUcjs.parseChordSymbol; exports.parseInterval = _chunk7MGZ7D62cjs.parseInterval; exports.parseNote = _chunk7MGZ7D62cjs.parseNote; exports.parseTimeSignature = _chunk36N73KZ3cjs.parseTimeSignature; exports.pickProgressionPreset = _chunk4HLLZPXTcjs.pickProgressionPreset; exports.pitchClassOf = _chunk7MGZ7D62cjs.pitchClassOf; exports.pitchToScaleDegree = _chunkFNDWXRRIcjs.pitchToScaleDegree; exports.progressions = _chunk4HLLZPXTcjs.progressions; exports.progressionsByStyle = _chunk4HLLZPXTcjs.progressionsByStyle; exports.pulseBeats = _chunk36N73KZ3cjs.pulseBeats; exports.pulsesPerBar = _chunk36N73KZ3cjs.pulsesPerBar; exports.ratioToCents = _chunkNP4NA2FBcjs.ratioToCents; exports.requireScaleMask = _chunkFNDWXRRIcjs.requireScaleMask; exports.rhythmDensity = _chunk4HLLZPXTcjs.rhythmDensity; exports.rhythmToNoteEvents = _chunk4HLLZPXTcjs.rhythmToNoteEvents; exports.roleOf = _chunkFCANXBATcjs.roleOf; exports.romanToChord = _chunkCAN76NCUcjs.romanToChord; exports.scaleByName = _chunkFNDWXRRIcjs.scaleByName; exports.scaleMatchesChord = _chunkLW53AHQUcjs.scaleMatchesChord; exports.scaleTonesInDegreeOrder = _chunkFNDWXRRIcjs.scaleTonesInDegreeOrder; exports.scalesForChanges = _chunkLW53AHQUcjs.scalesForChanges; exports.secondaryDominant = _chunkCAN76NCUcjs.secondaryDominant; exports.spellChord = _chunkLW53AHQUcjs.spellChord; exports.spellChordFromRoot = _chunkLW53AHQUcjs.spellChordFromRoot; exports.spellPitch = _chunkLW53AHQUcjs.spellPitch; exports.spellPitchClass = _chunkLW53AHQUcjs.spellPitchClass; exports.spellPitchClasses = _chunkLW53AHQUcjs.spellPitchClasses; exports.spellScale = _chunkLW53AHQUcjs.spellScale; exports.spelledInterval = _chunk7MGZ7D62cjs.spelledInterval; exports.stepOf = _chunkNP4NA2FBcjs.stepOf; exports.stepsOfCents = _chunkNP4NA2FBcjs.stepsOfCents; exports.substituteChord = _chunkZEJR4TKLcjs.substituteChord; exports.tensionCurve = _chunkRC6GBMCDcjs.tensionCurve; exports.tensionCurveFrom = _chunkRC6GBMCDcjs.tensionCurveFrom; exports.toVoiceNotes = _chunkRC6GBMCDcjs.toVoiceNotes; exports.transformMotif = _chunk4HLLZPXTcjs.transformMotif; exports.transposeByInterval = _chunk7MGZ7D62cjs.transposeByInterval; exports.transposeChord = _chunkFNDWXRRIcjs.transposeChord; exports.transposeChordSymbol = _chunkLW53AHQUcjs.transposeChordSymbol; exports.transposeNote = _chunk7MGZ7D62cjs.transposeNote; exports.tuplet = _chunk36N73KZ3cjs.tuplet; exports.voiceChord = _chunkLW53AHQUcjs.voiceChord; exports.voiceChordStyled = _chunkLW53AHQUcjs.voiceChordStyled; exports.voiceLeadingCost = _chunkLW53AHQUcjs.voiceLeadingCost; exports.voiceProgression = _chunkLW53AHQUcjs.voiceProgression;
419
+
420
+
421
+
422
+
423
+
424
+
425
+
426
+
427
+
428
+
429
+ exports.ALTERED_MASK = _chunkBSLTLGM3cjs.ALTERED_MASK; exports.BASS_STYLES = _chunkMPTVJIVGcjs.BASS_STYLES; exports.BLUES_MASK = _chunkBSLTLGM3cjs.BLUES_MASK; exports.BORROWED_DEGREES = _chunkMPTVJIVGcjs.BORROWED_DEGREES; exports.BudgetExceededError = _chunkPI3UXRWKcjs.BudgetExceededError; exports.CHROMATIC_MASK = _chunkBSLTLGM3cjs.CHROMATIC_MASK; exports.Chord = _chunkWTAN4ACGcjs.Chord; exports.ConsonanceClass = _chunkPI3UXRWKcjs.ConsonanceClass; exports.DEFAULT_GENERATION_BUDGET = _chunkPI3UXRWKcjs.DEFAULT_GENERATION_BUDGET; exports.DORIAN_MASK = _chunkBSLTLGM3cjs.DORIAN_MASK; exports.DRUM_NOTES = _chunkMPTVJIVGcjs.DRUM_NOTES; exports.HARMONIC_MINOR_MASK = _chunkBSLTLGM3cjs.HARMONIC_MINOR_MASK; exports.Interval = _chunkWTAN4ACGcjs.Interval; exports.InvalidInputError = _chunkPI3UXRWKcjs.InvalidInputError; exports.JUST_RATIOS = _chunkCU6VG2YMcjs.JUST_RATIOS; exports.Key = _chunkWTAN4ACGcjs.Key; exports.LOCRIAN_MASK = _chunkBSLTLGM3cjs.LOCRIAN_MASK; exports.LOCRIAN_NATURAL2_MASK = _chunkBSLTLGM3cjs.LOCRIAN_NATURAL2_MASK; exports.LYDIAN_DOMINANT_MASK = _chunkBSLTLGM3cjs.LYDIAN_DOMINANT_MASK; exports.LYDIAN_MASK = _chunkBSLTLGM3cjs.LYDIAN_MASK; exports.MAJOR_MASK = _chunkBSLTLGM3cjs.MAJOR_MASK; exports.MAJOR_PENTATONIC_MASK = _chunkBSLTLGM3cjs.MAJOR_PENTATONIC_MASK; exports.MELODIC_MINOR_MASK = _chunkBSLTLGM3cjs.MELODIC_MINOR_MASK; exports.MINOR_PENTATONIC_MASK = _chunkBSLTLGM3cjs.MINOR_PENTATONIC_MASK; exports.MIXOLYDIAN_B13_MASK = _chunkBSLTLGM3cjs.MIXOLYDIAN_B13_MASK; exports.MIXOLYDIAN_MASK = _chunkBSLTLGM3cjs.MIXOLYDIAN_MASK; exports.NAMED_SCALES = _chunkBSLTLGM3cjs.NAMED_SCALES; exports.NATURAL_MINOR_MASK = _chunkBSLTLGM3cjs.NATURAL_MINOR_MASK; exports.NoSolutionError = _chunkPI3UXRWKcjs.NoSolutionError; exports.Note = _chunkWTAN4ACGcjs.Note; exports.NoteSafety = _chunkWFDXOLUBcjs.NoteSafety; exports.OCTATONIC_HALF_WHOLE_MASK = _chunkBSLTLGM3cjs.OCTATONIC_HALF_WHOLE_MASK; exports.OCTATONIC_WHOLE_HALF_MASK = _chunkBSLTLGM3cjs.OCTATONIC_WHOLE_HALF_MASK; exports.PHRYGIAN_DOMINANT_MASK = _chunkBSLTLGM3cjs.PHRYGIAN_DOMINANT_MASK; exports.PHRYGIAN_MASK = _chunkBSLTLGM3cjs.PHRYGIAN_MASK; exports.Progression = _chunkWTAN4ACGcjs.Progression; exports.ReasonFlag = _chunkWFDXOLUBcjs.ReasonFlag; exports.SATB_RANGES = _chunkOL3IHHSJcjs.SATB_RANGES; exports.TWELVE_TET = _chunkCU6VG2YMcjs.TWELVE_TET; exports.WHOLE_TONE_MASK = _chunkBSLTLGM3cjs.WHOLE_TONE_MASK; exports.analyzeArrangement = _chunk4VZ5MZAMcjs.analyzeArrangement; exports.analyzeChord = _chunkKQN2ZYNDcjs.analyzeChord; exports.analyzeVoice = _chunk4VZ5MZAMcjs.analyzeVoice; exports.applyGrooveTemplate = _chunkMPTVJIVGcjs.applyGrooveTemplate; exports.assertDegree = _chunkPI3UXRWKcjs.assertDegree; exports.assertFiniteNumber = _chunkPI3UXRWKcjs.assertFiniteNumber; exports.assertFiniteSemitones = _chunkPI3UXRWKcjs.assertFiniteSemitones; exports.assertGenerationBudget = _chunkPI3UXRWKcjs.assertGenerationBudget; exports.assertInteger = _chunkPI3UXRWKcjs.assertInteger; exports.assertMidiPitch = _chunkPI3UXRWKcjs.assertMidiPitch; exports.assertNoteEvent = _chunkPI3UXRWKcjs.assertNoteEvent; exports.assertNoteEvents = _chunkPI3UXRWKcjs.assertNoteEvents; exports.assertOneOf = _chunkPI3UXRWKcjs.assertOneOf; exports.assertPositiveInt = _chunkPI3UXRWKcjs.assertPositiveInt; exports.assertRange = _chunkPI3UXRWKcjs.assertRange; exports.assertTimeSignature = _chunkPI3UXRWKcjs.assertTimeSignature; exports.availableTensions = _chunkOL3IHHSJcjs.availableTensions; exports.avoidNotes = _chunkOL3IHHSJcjs.avoidNotes; exports.barPositionToBeat = _chunk2A2QMA74cjs.barPositionToBeat; exports.barPositionToPulse = _chunk2A2QMA74cjs.barPositionToPulse; exports.beatToBarPosition = _chunk2A2QMA74cjs.beatToBarPosition; exports.beatsPerBar = _chunk2A2QMA74cjs.beatsPerBar; exports.borrowedSource = _chunkKQN2ZYNDcjs.borrowedSource; exports.centsBetweenFreq = _chunkCU6VG2YMcjs.centsBetweenFreq; exports.centsFromNearestStep = _chunkCU6VG2YMcjs.centsFromNearestStep; exports.centsOfSteps = _chunkCU6VG2YMcjs.centsOfSteps; exports.centsToRatio = _chunkCU6VG2YMcjs.centsToRatio; exports.chordFromDegree = _chunkBSLTLGM3cjs.chordFromDegree; exports.chordPitchClasses = _chunkBSLTLGM3cjs.chordPitchClasses; exports.chordQualities = _chunkBSLTLGM3cjs.chordQualities; exports.chordScaleReport = _chunkOL3IHHSJcjs.chordScaleReport; exports.chordScales = _chunkOL3IHHSJcjs.chordScales; exports.chordTimelineFromChords = _chunk4VZ5MZAMcjs.chordTimelineFromChords; exports.chordTimelineFromNotes = _chunk4VZ5MZAMcjs.chordTimelineFromNotes; exports.chordToRoman = _chunkKQN2ZYNDcjs.chordToRoman; exports.chordToneRole = _chunkBSLTLGM3cjs.chordToneRole; exports.clampToMidi = _chunkPI3UXRWKcjs.clampToMidi; exports.classifyInterval = _chunkPI3UXRWKcjs.classifyInterval; exports.createNoteEventIndex = _chunk2A2QMA74cjs.createNoteEventIndex; exports.createRng = _chunkMTMZTMWMcjs.createRng; exports.createsHiddenParallelPerfect = _chunkBSLTLGM3cjs.createsHiddenParallelPerfect; exports.createsParallelOctave = _chunkBSLTLGM3cjs.createsParallelOctave; exports.createsParallelPerfect = _chunkBSLTLGM3cjs.createsParallelPerfect; exports.createsParallelUnison = _chunkBSLTLGM3cjs.createsParallelUnison; exports.createsVerticalDissonance = _chunkBSLTLGM3cjs.createsVerticalDissonance; exports.createsVoiceCrossing = _chunkBSLTLGM3cjs.createsVoiceCrossing; exports.createsVoiceOverlap = _chunkBSLTLGM3cjs.createsVoiceOverlap; exports.detectCadence = _chunkKQN2ZYNDcjs.detectCadence; exports.detectCadences = _chunk4VZ5MZAMcjs.detectCadences; exports.detectChord = _chunkKQN2ZYNDcjs.detectChord; exports.detectChordBest = _chunkKQN2ZYNDcjs.detectChordBest; exports.detectKey = _chunkKQN2ZYNDcjs.detectKey; exports.detectKeyBest = _chunkKQN2ZYNDcjs.detectKeyBest; exports.detectKeyFromNotes = _chunkKQN2ZYNDcjs.detectKeyFromNotes; exports.developMotif = _chunkMPTVJIVGcjs.developMotif; exports.diatonicLetterOf = _chunkPI3UXRWKcjs.diatonicLetterOf; exports.diatonicPitchClasses = _chunkBSLTLGM3cjs.diatonicPitchClasses; exports.diatonicSeventh = _chunkBSLTLGM3cjs.diatonicSeventh; exports.diatonicTriad = _chunkBSLTLGM3cjs.diatonicTriad; exports.dropSilentNotes = _chunkPI3UXRWKcjs.dropSilentNotes; exports.drumVoiceOf = _chunkMPTVJIVGcjs.drumVoiceOf; exports.edo = _chunkCU6VG2YMcjs.edo; exports.enumerateSafePitches = _chunkWFDXOLUBcjs.enumerateSafePitches; exports.evaluateSafety = _chunkWFDXOLUBcjs.evaluateSafety; exports.exceedsSpacing = _chunkBSLTLGM3cjs.exceedsSpacing; exports.extractGrooveTemplate = _chunkMPTVJIVGcjs.extractGrooveTemplate; exports.formatBarPosition = _chunk2A2QMA74cjs.formatBarPosition; exports.formatChordSymbol = _chunkOL3IHHSJcjs.formatChordSymbol; exports.formatNote = _chunkPI3UXRWKcjs.formatNote; exports.formatTimeSignature = _chunk2A2QMA74cjs.formatTimeSignature; exports.frequencyOf = _chunkCU6VG2YMcjs.frequencyOf; exports.functionOf = _chunkKQN2ZYNDcjs.functionOf; exports.generateBassLine = _chunkMPTVJIVGcjs.generateBassLine; exports.generateCounterMelody = _chunkMPTVJIVGcjs.generateCounterMelody; exports.generateDrums = _chunkMPTVJIVGcjs.generateDrums; exports.generateMotif = _chunkMPTVJIVGcjs.generateMotif; exports.generateProgression = _chunkMPTVJIVGcjs.generateProgression; exports.generateRhythm = _chunkMPTVJIVGcjs.generateRhythm; exports.harmonizeMelody = _chunkMPTVJIVGcjs.harmonizeMelody; exports.humanize = _chunkMPTVJIVGcjs.humanize; exports.intervalAboveRoot = _chunkBSLTLGM3cjs.intervalAboveRoot; exports.intervalSemitones = _chunkPI3UXRWKcjs.intervalSemitones; exports.isBorrowedChord = _chunkKQN2ZYNDcjs.isBorrowedChord; exports.isChordMember = _chunkBSLTLGM3cjs.isChordMember; exports.isCompound = _chunk2A2QMA74cjs.isCompound; exports.isConsonantInterval = _chunkPI3UXRWKcjs.isConsonantInterval; exports.isDiatonic = _chunkKQN2ZYNDcjs.isDiatonic; exports.isForbiddenMelodicLeap = _chunkBSLTLGM3cjs.isForbiddenMelodicLeap; exports.isLeadingToneResolution = _chunkBSLTLGM3cjs.isLeadingToneResolution; exports.isLibcantusError = _chunkPI3UXRWKcjs.isLibcantusError; exports.isMinorKey = _chunkKQN2ZYNDcjs.isMinorKey; exports.isPerfectInterval = _chunkPI3UXRWKcjs.isPerfectInterval; exports.isScaleTone = _chunkBSLTLGM3cjs.isScaleTone; exports.isStrongBeat = _chunk2A2QMA74cjs.isStrongBeat; exports.justDeviationCents = _chunkCU6VG2YMcjs.justDeviationCents; exports.majorKey = _chunkBSLTLGM3cjs.majorKey; exports.makeChord = _chunkBSLTLGM3cjs.makeChord; exports.maskFromOffsets = _chunkBSLTLGM3cjs.maskFromOffsets; exports.metricWeight = _chunk2A2QMA74cjs.metricWeight; exports.midiToNote = _chunkPI3UXRWKcjs.midiToNote; exports.minorKey = _chunkBSLTLGM3cjs.minorKey; exports.modalInterchangePalette = _chunk357ZDPVUcjs.modalInterchangePalette; exports.motifToNoteEvents = _chunkMPTVJIVGcjs.motifToNoteEvents; exports.namedScaleMask = _chunkBSLTLGM3cjs.namedScaleMask; exports.naturalPitchClassOf = _chunkPI3UXRWKcjs.naturalPitchClassOf; exports.nearestScaleTone = _chunkBSLTLGM3cjs.nearestScaleTone; exports.nearestStep = _chunkCU6VG2YMcjs.nearestStep; exports.negativeHarmonyMirror = _chunk357ZDPVUcjs.negativeHarmonyMirror; exports.nextVoicing = _chunkOL3IHHSJcjs.nextVoicing; exports.noteNames = _chunkOL3IHHSJcjs.noteNames; exports.noteToMidi = _chunkPI3UXRWKcjs.noteToMidi; exports.noteToPitchClass = _chunkPI3UXRWKcjs.noteToPitchClass; exports.onsetWeightCurve = _chunkMPTVJIVGcjs.onsetWeightCurve; exports.parallelKey = _chunkKQN2ZYNDcjs.parallelKey; exports.parseChordSymbol = _chunkOL3IHHSJcjs.parseChordSymbol; exports.parseInterval = _chunkPI3UXRWKcjs.parseInterval; exports.parseNote = _chunkPI3UXRWKcjs.parseNote; exports.parseTimeSignature = _chunk2A2QMA74cjs.parseTimeSignature; exports.pickProgressionPreset = _chunkMPTVJIVGcjs.pickProgressionPreset; exports.pitchClassOf = _chunkPI3UXRWKcjs.pitchClassOf; exports.pitchToScaleDegree = _chunkBSLTLGM3cjs.pitchToScaleDegree; exports.progressions = _chunkMPTVJIVGcjs.progressions; exports.progressionsByStyle = _chunkMPTVJIVGcjs.progressionsByStyle; exports.pulseBeats = _chunk2A2QMA74cjs.pulseBeats; exports.pulsesPerBar = _chunk2A2QMA74cjs.pulsesPerBar; exports.ratioToCents = _chunkCU6VG2YMcjs.ratioToCents; exports.requireScaleMask = _chunkBSLTLGM3cjs.requireScaleMask; exports.rhythmDensity = _chunkMPTVJIVGcjs.rhythmDensity; exports.rhythmToNoteEvents = _chunkMPTVJIVGcjs.rhythmToNoteEvents; exports.roleOf = _chunkYFJXS3AUcjs.roleOf; exports.romanToChord = _chunkKQN2ZYNDcjs.romanToChord; exports.scaleByName = _chunkBSLTLGM3cjs.scaleByName; exports.scaleMatchesChord = _chunkOL3IHHSJcjs.scaleMatchesChord; exports.scaleTonesInDegreeOrder = _chunkBSLTLGM3cjs.scaleTonesInDegreeOrder; exports.scalesForChanges = _chunkOL3IHHSJcjs.scalesForChanges; exports.secondaryDominant = _chunkKQN2ZYNDcjs.secondaryDominant; exports.soundingNotesOnly = _chunkPI3UXRWKcjs.soundingNotesOnly; exports.spellChord = _chunkOL3IHHSJcjs.spellChord; exports.spellChordFromRoot = _chunkOL3IHHSJcjs.spellChordFromRoot; exports.spellPitch = _chunkOL3IHHSJcjs.spellPitch; exports.spellPitchClass = _chunkOL3IHHSJcjs.spellPitchClass; exports.spellPitchClasses = _chunkOL3IHHSJcjs.spellPitchClasses; exports.spellScale = _chunkOL3IHHSJcjs.spellScale; exports.spelledInterval = _chunkPI3UXRWKcjs.spelledInterval; exports.stepOf = _chunkCU6VG2YMcjs.stepOf; exports.stepsOfCents = _chunkCU6VG2YMcjs.stepsOfCents; exports.substituteChord = _chunk357ZDPVUcjs.substituteChord; exports.tensionCurve = _chunk4VZ5MZAMcjs.tensionCurve; exports.tensionCurveFrom = _chunk4VZ5MZAMcjs.tensionCurveFrom; exports.toVoiceNotes = _chunk4VZ5MZAMcjs.toVoiceNotes; exports.transformMotif = _chunkMPTVJIVGcjs.transformMotif; exports.transposeByInterval = _chunkPI3UXRWKcjs.transposeByInterval; exports.transposeChord = _chunkBSLTLGM3cjs.transposeChord; exports.transposeChordSymbol = _chunkOL3IHHSJcjs.transposeChordSymbol; exports.transposeNote = _chunkPI3UXRWKcjs.transposeNote; exports.tuplet = _chunk2A2QMA74cjs.tuplet; exports.voiceChord = _chunkOL3IHHSJcjs.voiceChord; exports.voiceChordStyled = _chunkOL3IHHSJcjs.voiceChordStyled; exports.voiceLeadingCost = _chunkOL3IHHSJcjs.voiceLeadingCost; exports.voiceProgression = _chunkOL3IHHSJcjs.voiceProgression;
420
430
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/libcantus/libcantus/dist/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,khXAAC","file":"/home/runner/work/libcantus/libcantus/dist/index.cjs"}
1
+ {"version":3,"sources":["/home/runner/work/libcantus/libcantus/dist/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,q0XAAC","file":"/home/runner/work/libcantus/libcantus/dist/index.cjs"}
package/dist/index.d.cts CHANGED
@@ -1,15 +1,15 @@
1
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
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';
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
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';
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
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, Interval, Key, Note, Progression } from './model/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
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
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';
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
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';
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
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, Interval, Key, Note, Progression } from './model/index.js';
15
+ export { Chord, DetectedKeyMatch, Interval, Key, Note, Progression } from './model/index.js';
package/dist/index.js CHANGED
@@ -7,7 +7,7 @@ import {
7
7
  tensionCurve,
8
8
  tensionCurveFrom,
9
9
  toVoiceNotes
10
- } from "./chunk-Q2XUP227.js";
10
+ } from "./chunk-YUE6TJ4M.js";
11
11
  import {
12
12
  JUST_RATIOS,
13
13
  TWELVE_TET,
@@ -22,7 +22,7 @@ import {
22
22
  ratioToCents,
23
23
  stepOf,
24
24
  stepsOfCents
25
- } from "./chunk-I24MV65U.js";
25
+ } from "./chunk-EDOTEABK.js";
26
26
  import {
27
27
  BASS_STYLES,
28
28
  BORROWED_DEGREES,
@@ -47,10 +47,10 @@ import {
47
47
  rhythmDensity,
48
48
  rhythmToNoteEvents,
49
49
  transformMotif
50
- } from "./chunk-7NKDPF74.js";
50
+ } from "./chunk-AID75RN3.js";
51
51
  import {
52
52
  createRng
53
- } from "./chunk-HKGYCQ34.js";
53
+ } from "./chunk-ZGLJM4A4.js";
54
54
  import {
55
55
  barPositionToBeat,
56
56
  barPositionToPulse,
@@ -66,19 +66,19 @@ import {
66
66
  pulseBeats,
67
67
  pulsesPerBar,
68
68
  tuplet
69
- } from "./chunk-YLEMGEFH.js";
69
+ } from "./chunk-2PTFGVD7.js";
70
70
  import {
71
71
  Chord,
72
72
  Interval,
73
73
  Key,
74
74
  Note,
75
75
  Progression
76
- } from "./chunk-EHVEBWM5.js";
76
+ } from "./chunk-3KX76RLG.js";
77
77
  import {
78
78
  modalInterchangePalette,
79
79
  negativeHarmonyMirror,
80
80
  substituteChord
81
- } from "./chunk-GQSGS2N4.js";
81
+ } from "./chunk-7JEP3MFY.js";
82
82
  import {
83
83
  analyzeChord,
84
84
  borrowedSource,
@@ -96,17 +96,17 @@ import {
96
96
  parallelKey,
97
97
  romanToChord,
98
98
  secondaryDominant
99
- } from "./chunk-KMHOICIY.js";
99
+ } from "./chunk-NNB67XA2.js";
100
100
  import "./chunk-N6IHQUOX.js";
101
101
  import {
102
102
  roleOf
103
- } from "./chunk-NKIBQ6PT.js";
103
+ } from "./chunk-HN2OEUN2.js";
104
104
  import {
105
105
  NoteSafety,
106
106
  ReasonFlag,
107
107
  enumerateSafePitches,
108
108
  evaluateSafety
109
- } from "./chunk-NYYWMV2C.js";
109
+ } from "./chunk-DZMHIGI4.js";
110
110
  import {
111
111
  SATB_RANGES,
112
112
  availableTensions,
@@ -130,7 +130,7 @@ import {
130
130
  voiceChordStyled,
131
131
  voiceLeadingCost,
132
132
  voiceProgression
133
- } from "./chunk-RK35RIN7.js";
133
+ } from "./chunk-7EONYVI5.js";
134
134
  import {
135
135
  ALTERED_MASK,
136
136
  BLUES_MASK,
@@ -185,22 +185,26 @@ import {
185
185
  scaleByName,
186
186
  scaleTonesInDegreeOrder,
187
187
  transposeChord
188
- } from "./chunk-D2FAJBYL.js";
188
+ } from "./chunk-KBTTEX7Q.js";
189
189
  import {
190
190
  BudgetExceededError,
191
191
  ConsonanceClass,
192
192
  DEFAULT_GENERATION_BUDGET,
193
193
  InvalidInputError,
194
194
  NoSolutionError,
195
+ assertDegree,
195
196
  assertFiniteNumber,
197
+ assertFiniteSemitones,
196
198
  assertGenerationBudget,
197
199
  assertInteger,
200
+ assertMidiPitch,
198
201
  assertNoteEvent,
199
202
  assertNoteEvents,
200
203
  assertOneOf,
201
204
  assertPositiveInt,
202
205
  assertRange,
203
206
  assertTimeSignature,
207
+ clampToMidi,
204
208
  classifyInterval,
205
209
  diatonicLetterOf,
206
210
  dropSilentNotes,
@@ -216,10 +220,11 @@ import {
216
220
  parseInterval,
217
221
  parseNote,
218
222
  pitchClassOf,
223
+ soundingNotesOnly,
219
224
  spelledInterval,
220
225
  transposeByInterval,
221
226
  transposeNote
222
- } from "./chunk-XEBG3G53.js";
227
+ } from "./chunk-R2VVFAIN.js";
223
228
  export {
224
229
  ALTERED_MASK,
225
230
  BASS_STYLES,
@@ -265,9 +270,12 @@ export {
265
270
  analyzeChord,
266
271
  analyzeVoice,
267
272
  applyGrooveTemplate,
273
+ assertDegree,
268
274
  assertFiniteNumber,
275
+ assertFiniteSemitones,
269
276
  assertGenerationBudget,
270
277
  assertInteger,
278
+ assertMidiPitch,
271
279
  assertNoteEvent,
272
280
  assertNoteEvents,
273
281
  assertOneOf,
@@ -294,6 +302,7 @@ export {
294
302
  chordTimelineFromNotes,
295
303
  chordToRoman,
296
304
  chordToneRole,
305
+ clampToMidi,
297
306
  classifyInterval,
298
307
  createNoteEventIndex,
299
308
  createRng,
@@ -393,6 +402,7 @@ export {
393
402
  scaleTonesInDegreeOrder,
394
403
  scalesForChanges,
395
404
  secondaryDominant,
405
+ soundingNotesOnly,
396
406
  spellChord,
397
407
  spellChordFromRoot,
398
408
  spellPitch,
@@ -4,17 +4,17 @@
4
4
 
5
5
 
6
6
 
7
- var _chunkNVE34YGZcjs = require('../chunk-NVE34YGZ.cjs');
8
- require('../chunk-ZEJR4TKL.cjs');
9
- require('../chunk-CAN76NCU.cjs');
10
- require('../chunk-LW53AHQU.cjs');
11
- require('../chunk-FNDWXRRI.cjs');
12
- require('../chunk-7MGZ7D62.cjs');
7
+ var _chunkWTAN4ACGcjs = require('../chunk-WTAN4ACG.cjs');
8
+ require('../chunk-357ZDPVU.cjs');
9
+ require('../chunk-KQN2ZYND.cjs');
10
+ require('../chunk-OL3IHHSJ.cjs');
11
+ require('../chunk-BSLTLGM3.cjs');
12
+ require('../chunk-PI3UXRWK.cjs');
13
13
 
14
14
 
15
15
 
16
16
 
17
17
 
18
18
 
19
- exports.Chord = _chunkNVE34YGZcjs.Chord; exports.Interval = _chunkNVE34YGZcjs.Interval; exports.Key = _chunkNVE34YGZcjs.Key; exports.Note = _chunkNVE34YGZcjs.Note; exports.Progression = _chunkNVE34YGZcjs.Progression;
19
+ exports.Chord = _chunkWTAN4ACGcjs.Chord; exports.Interval = _chunkWTAN4ACGcjs.Interval; exports.Key = _chunkWTAN4ACGcjs.Key; exports.Note = _chunkWTAN4ACGcjs.Note; exports.Progression = _chunkWTAN4ACGcjs.Progression;
20
20
  //# sourceMappingURL=index.cjs.map