@tremolo-ui/functions 0.0.11 → 0.0.12

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.
@@ -9,11 +9,11 @@ export type WhiteKey = (typeof whiteKeys)[number];
9
9
  /**
10
10
  * @category MIDI
11
11
  */
12
- export declare const noteNames: readonly ["C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B"];
12
+ export declare const noteKeys: readonly ["C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B"];
13
13
  /**
14
14
  * @category MIDI
15
15
  */
16
- export type NoteName = (typeof noteNames)[number];
16
+ export type NoteKey = (typeof noteKeys)[number];
17
17
  /**
18
18
  * @category MIDI
19
19
  */
@@ -31,7 +31,12 @@ export declare function noteNumber(noteName: string): number;
31
31
  * Convert noteNumber to noteName
32
32
  * @category MIDI
33
33
  */
34
- export declare function noteName(noteNumber: number): string;
34
+ export declare function noteName(noteNumber: number): `${NoteKey}${number}`;
35
+ /**
36
+ * Convert noteNumber to noteKey
37
+ * @category MIDI
38
+ */
39
+ export declare function noteKey(noteNumber: number): NoteKey;
35
40
  /**
36
41
  * @param note noteNumber: 0 ~ 127 or noteName e.g. 'C3'
37
42
  * @category MIDI
@@ -1 +1 @@
1
- {"version":3,"file":"midi.d.ts","sourceRoot":"","sources":["../../../../../src/midi.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,SAAS,8CAA+C,CAAA;AAErE;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjD;;GAEG;AACH,eAAO,MAAM,SAAS,4EAaZ,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjD;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM;YAKJ,QAAQ;gBACpB,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE;;EAGzD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,UAK1C;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,UAI1C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,WAW/C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,WAE/C;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,UAAoD,CAAA;AAE3E;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,SAAI,EAAE,EAAE,SAAM,UAG1E"}
1
+ {"version":3,"file":"midi.d.ts","sourceRoot":"","sources":["../../../../../src/midi.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,SAAS,8CAA+C,CAAA;AAErE;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjD;;GAEG;AACH,eAAO,MAAM,QAAQ,4EAaX,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAA;AAE/C;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM;YAKJ,QAAQ;gBACpB,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE;;EAGzD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,UAK1C;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,OAAO,GAAG,MAAM,EAAE,CAIlE;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,WAW/C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,WAE/C;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,UAAoD,CAAA;AAE3E;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,SAAI,EAAE,EAAE,SAAM,UAG1E"}
@@ -9,11 +9,11 @@ export type WhiteKey = (typeof whiteKeys)[number];
9
9
  /**
10
10
  * @category MIDI
11
11
  */
12
- export declare const noteNames: readonly ["C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B"];
12
+ export declare const noteKeys: readonly ["C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B"];
13
13
  /**
14
14
  * @category MIDI
15
15
  */
16
- export type NoteName = (typeof noteNames)[number];
16
+ export type NoteKey = (typeof noteKeys)[number];
17
17
  /**
18
18
  * @category MIDI
19
19
  */
@@ -31,7 +31,12 @@ export declare function noteNumber(noteName: string): number;
31
31
  * Convert noteNumber to noteName
32
32
  * @category MIDI
33
33
  */
34
- export declare function noteName(noteNumber: number): string;
34
+ export declare function noteName(noteNumber: number): `${NoteKey}${number}`;
35
+ /**
36
+ * Convert noteNumber to noteKey
37
+ * @category MIDI
38
+ */
39
+ export declare function noteKey(noteNumber: number): NoteKey;
35
40
  /**
36
41
  * @param note noteNumber: 0 ~ 127 or noteName e.g. 'C3'
37
42
  * @category MIDI
@@ -1 +1 @@
1
- {"version":3,"file":"midi.d.ts","sourceRoot":"","sources":["../../../../../src/midi.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,SAAS,8CAA+C,CAAA;AAErE;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjD;;GAEG;AACH,eAAO,MAAM,SAAS,4EAaZ,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjD;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM;YAKJ,QAAQ;gBACpB,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE;;EAGzD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,UAK1C;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,UAI1C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,WAW/C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,WAE/C;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,UAAoD,CAAA;AAE3E;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,SAAI,EAAE,EAAE,SAAM,UAG1E"}
1
+ {"version":3,"file":"midi.d.ts","sourceRoot":"","sources":["../../../../../src/midi.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,SAAS,8CAA+C,CAAA;AAErE;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjD;;GAEG;AACH,eAAO,MAAM,QAAQ,4EAaX,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAA;AAE/C;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM;YAKJ,QAAQ;gBACpB,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE;;EAGzD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,UAK1C;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,OAAO,GAAG,MAAM,EAAE,CAIlE;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,WAW/C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,WAE/C;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,UAAoD,CAAA;AAE3E;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,SAAI,EAAE,EAAE,SAAM,UAG1E"}
package/dist/cjs/index.js CHANGED
@@ -163,7 +163,7 @@ const whiteKeys = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
163
163
  /**
164
164
  * @category MIDI
165
165
  */
166
- const noteNames = [
166
+ const noteKeys = [
167
167
  'C',
168
168
  'C#',
169
169
  'D',
@@ -197,7 +197,7 @@ function parseNoteName(noteName) {
197
197
  */
198
198
  function noteNumber(noteName) {
199
199
  const { letter, accidental, octave } = parseNoteName(noteName);
200
- const noteIndex = noteNames.indexOf(letter.toLocaleUpperCase());
200
+ const noteIndex = noteKeys.indexOf(letter.toLocaleUpperCase());
201
201
  const accidentalValue = (accidental[0] == 'b' ? -1 : 1) * accidental.length;
202
202
  return noteIndex + 12 * (Number(octave) + 1) + accidentalValue;
203
203
  }
@@ -208,7 +208,14 @@ function noteNumber(noteName) {
208
208
  function noteName(noteNumber) {
209
209
  const noteIndex = mod(noteNumber, 12);
210
210
  const octave = Math.floor(noteNumber / 12) - 1;
211
- return noteNames[noteIndex] + octave;
211
+ return `${noteKeys[noteIndex]}${octave}`;
212
+ }
213
+ /**
214
+ * Convert noteNumber to noteKey
215
+ * @category MIDI
216
+ */
217
+ function noteKey(noteNumber) {
218
+ return noteKeys[mod(noteNumber, 12)];
212
219
  }
213
220
  /**
214
221
  * @param note noteNumber: 0 ~ 127 or noteName e.g. 'C3'
@@ -259,8 +266,9 @@ exports.isWhiteKey = isWhiteKey;
259
266
  exports.mapValue = mapValue;
260
267
  exports.mod = mod;
261
268
  exports.normalizeValue = normalizeValue;
269
+ exports.noteKey = noteKey;
270
+ exports.noteKeys = noteKeys;
262
271
  exports.noteName = noteName;
263
- exports.noteNames = noteNames;
264
272
  exports.noteNumber = noteNumber;
265
273
  exports.noteToFrequency = noteToFrequency;
266
274
  exports.parseNoteName = parseNoteName;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/math.ts","../../../src/util.ts","../../../src/midi.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/math.ts","../../../src/util.ts","../../../src/midi.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"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"}
@@ -9,11 +9,11 @@ export type WhiteKey = (typeof whiteKeys)[number];
9
9
  /**
10
10
  * @category MIDI
11
11
  */
12
- export declare const noteNames: readonly ["C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B"];
12
+ export declare const noteKeys: readonly ["C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B"];
13
13
  /**
14
14
  * @category MIDI
15
15
  */
16
- export type NoteName = (typeof noteNames)[number];
16
+ export type NoteKey = (typeof noteKeys)[number];
17
17
  /**
18
18
  * @category MIDI
19
19
  */
@@ -31,7 +31,12 @@ export declare function noteNumber(noteName: string): number;
31
31
  * Convert noteNumber to noteName
32
32
  * @category MIDI
33
33
  */
34
- export declare function noteName(noteNumber: number): string;
34
+ export declare function noteName(noteNumber: number): `${NoteKey}${number}`;
35
+ /**
36
+ * Convert noteNumber to noteKey
37
+ * @category MIDI
38
+ */
39
+ export declare function noteKey(noteNumber: number): NoteKey;
35
40
  /**
36
41
  * @param note noteNumber: 0 ~ 127 or noteName e.g. 'C3'
37
42
  * @category MIDI
@@ -1 +1 @@
1
- {"version":3,"file":"midi.d.ts","sourceRoot":"","sources":["../../../src/midi.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,SAAS,8CAA+C,CAAA;AAErE;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjD;;GAEG;AACH,eAAO,MAAM,SAAS,4EAaZ,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjD;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM;YAKJ,QAAQ;gBACpB,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE;;EAGzD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,UAK1C;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,UAI1C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,WAW/C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,WAE/C;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,UAAoD,CAAA;AAE3E;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,SAAI,EAAE,EAAE,SAAM,UAG1E"}
1
+ {"version":3,"file":"midi.d.ts","sourceRoot":"","sources":["../../../src/midi.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,SAAS,8CAA+C,CAAA;AAErE;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjD;;GAEG;AACH,eAAO,MAAM,QAAQ,4EAaX,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAA;AAE/C;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM;YAKJ,QAAQ;gBACpB,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE;;EAGzD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,UAK1C;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,OAAO,GAAG,MAAM,EAAE,CAIlE;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,WAW/C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,WAE/C;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,UAAoD,CAAA;AAE3E;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,SAAI,EAAE,EAAE,SAAM,UAG1E"}
@@ -9,11 +9,11 @@ export type WhiteKey = (typeof whiteKeys)[number];
9
9
  /**
10
10
  * @category MIDI
11
11
  */
12
- export declare const noteNames: readonly ["C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B"];
12
+ export declare const noteKeys: readonly ["C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B"];
13
13
  /**
14
14
  * @category MIDI
15
15
  */
16
- export type NoteName = (typeof noteNames)[number];
16
+ export type NoteKey = (typeof noteKeys)[number];
17
17
  /**
18
18
  * @category MIDI
19
19
  */
@@ -31,7 +31,12 @@ export declare function noteNumber(noteName: string): number;
31
31
  * Convert noteNumber to noteName
32
32
  * @category MIDI
33
33
  */
34
- export declare function noteName(noteNumber: number): string;
34
+ export declare function noteName(noteNumber: number): `${NoteKey}${number}`;
35
+ /**
36
+ * Convert noteNumber to noteKey
37
+ * @category MIDI
38
+ */
39
+ export declare function noteKey(noteNumber: number): NoteKey;
35
40
  /**
36
41
  * @param note noteNumber: 0 ~ 127 or noteName e.g. 'C3'
37
42
  * @category MIDI
@@ -1 +1 @@
1
- {"version":3,"file":"midi.d.ts","sourceRoot":"","sources":["../../../../../src/midi.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,SAAS,8CAA+C,CAAA;AAErE;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjD;;GAEG;AACH,eAAO,MAAM,SAAS,4EAaZ,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjD;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM;YAKJ,QAAQ;gBACpB,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE;;EAGzD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,UAK1C;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,UAI1C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,WAW/C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,WAE/C;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,UAAoD,CAAA;AAE3E;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,SAAI,EAAE,EAAE,SAAM,UAG1E"}
1
+ {"version":3,"file":"midi.d.ts","sourceRoot":"","sources":["../../../../../src/midi.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,SAAS,8CAA+C,CAAA;AAErE;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjD;;GAEG;AACH,eAAO,MAAM,QAAQ,4EAaX,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAA;AAE/C;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM;YAKJ,QAAQ;gBACpB,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE;;EAGzD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,UAK1C;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,OAAO,GAAG,MAAM,EAAE,CAIlE;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,WAW/C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,WAE/C;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,UAAoD,CAAA;AAE3E;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,SAAI,EAAE,EAAE,SAAM,UAG1E"}
@@ -9,11 +9,11 @@ export type WhiteKey = (typeof whiteKeys)[number];
9
9
  /**
10
10
  * @category MIDI
11
11
  */
12
- export declare const noteNames: readonly ["C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B"];
12
+ export declare const noteKeys: readonly ["C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B"];
13
13
  /**
14
14
  * @category MIDI
15
15
  */
16
- export type NoteName = (typeof noteNames)[number];
16
+ export type NoteKey = (typeof noteKeys)[number];
17
17
  /**
18
18
  * @category MIDI
19
19
  */
@@ -31,7 +31,12 @@ export declare function noteNumber(noteName: string): number;
31
31
  * Convert noteNumber to noteName
32
32
  * @category MIDI
33
33
  */
34
- export declare function noteName(noteNumber: number): string;
34
+ export declare function noteName(noteNumber: number): `${NoteKey}${number}`;
35
+ /**
36
+ * Convert noteNumber to noteKey
37
+ * @category MIDI
38
+ */
39
+ export declare function noteKey(noteNumber: number): NoteKey;
35
40
  /**
36
41
  * @param note noteNumber: 0 ~ 127 or noteName e.g. 'C3'
37
42
  * @category MIDI
@@ -1 +1 @@
1
- {"version":3,"file":"midi.d.ts","sourceRoot":"","sources":["../../../../../src/midi.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,SAAS,8CAA+C,CAAA;AAErE;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjD;;GAEG;AACH,eAAO,MAAM,SAAS,4EAaZ,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjD;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM;YAKJ,QAAQ;gBACpB,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE;;EAGzD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,UAK1C;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,UAI1C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,WAW/C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,WAE/C;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,UAAoD,CAAA;AAE3E;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,SAAI,EAAE,EAAE,SAAM,UAG1E"}
1
+ {"version":3,"file":"midi.d.ts","sourceRoot":"","sources":["../../../../../src/midi.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,SAAS,8CAA+C,CAAA;AAErE;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjD;;GAEG;AACH,eAAO,MAAM,QAAQ,4EAaX,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAA;AAE/C;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM;YAKJ,QAAQ;gBACpB,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE;;EAGzD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,UAK1C;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,OAAO,GAAG,MAAM,EAAE,CAIlE;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,WAW/C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,WAE/C;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,UAAoD,CAAA;AAE3E;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,SAAI,EAAE,EAAE,SAAM,UAG1E"}
package/dist/esm/index.js CHANGED
@@ -161,7 +161,7 @@ const whiteKeys = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
161
161
  /**
162
162
  * @category MIDI
163
163
  */
164
- const noteNames = [
164
+ const noteKeys = [
165
165
  'C',
166
166
  'C#',
167
167
  'D',
@@ -195,7 +195,7 @@ function parseNoteName(noteName) {
195
195
  */
196
196
  function noteNumber(noteName) {
197
197
  const { letter, accidental, octave } = parseNoteName(noteName);
198
- const noteIndex = noteNames.indexOf(letter.toLocaleUpperCase());
198
+ const noteIndex = noteKeys.indexOf(letter.toLocaleUpperCase());
199
199
  const accidentalValue = (accidental[0] == 'b' ? -1 : 1) * accidental.length;
200
200
  return noteIndex + 12 * (Number(octave) + 1) + accidentalValue;
201
201
  }
@@ -206,7 +206,14 @@ function noteNumber(noteName) {
206
206
  function noteName(noteNumber) {
207
207
  const noteIndex = mod(noteNumber, 12);
208
208
  const octave = Math.floor(noteNumber / 12) - 1;
209
- return noteNames[noteIndex] + octave;
209
+ return `${noteKeys[noteIndex]}${octave}`;
210
+ }
211
+ /**
212
+ * Convert noteNumber to noteKey
213
+ * @category MIDI
214
+ */
215
+ function noteKey(noteNumber) {
216
+ return noteKeys[mod(noteNumber, 12)];
210
217
  }
211
218
  /**
212
219
  * @param note noteNumber: 0 ~ 127 or noteName e.g. 'C3'
@@ -245,5 +252,5 @@ function noteToFrequency(note, detune = 0, a4 = 440) {
245
252
  return (a4 / 32) * 2 ** ((n - 9 + detune / 100) / 12);
246
253
  }
247
254
 
248
- export { clamp, dbToGain, decimalPart, degree, gainToDb, integerPart, isBlackKey, isEmpty, isWhiteKey, mapValue, mod, normalizeValue, noteName, noteNames, noteNumber, noteToFrequency, parseNoteName, radian, rawValue, scaleNames, skewWithCenterValue, stepValue, styleHelper, toFixed, whiteKeys, xor };
255
+ export { clamp, dbToGain, decimalPart, degree, gainToDb, integerPart, isBlackKey, isEmpty, isWhiteKey, mapValue, mod, normalizeValue, noteKey, noteKeys, noteName, noteNumber, noteToFrequency, parseNoteName, radian, rawValue, scaleNames, skewWithCenterValue, stepValue, styleHelper, toFixed, whiteKeys, xor };
249
256
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/math.ts","../../../src/util.ts","../../../src/midi.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/math.ts","../../../src/util.ts","../../../src/midi.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"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"}
@@ -9,11 +9,11 @@ export type WhiteKey = (typeof whiteKeys)[number];
9
9
  /**
10
10
  * @category MIDI
11
11
  */
12
- export declare const noteNames: readonly ["C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B"];
12
+ export declare const noteKeys: readonly ["C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B"];
13
13
  /**
14
14
  * @category MIDI
15
15
  */
16
- export type NoteName = (typeof noteNames)[number];
16
+ export type NoteKey = (typeof noteKeys)[number];
17
17
  /**
18
18
  * @category MIDI
19
19
  */
@@ -31,7 +31,12 @@ export declare function noteNumber(noteName: string): number;
31
31
  * Convert noteNumber to noteName
32
32
  * @category MIDI
33
33
  */
34
- export declare function noteName(noteNumber: number): string;
34
+ export declare function noteName(noteNumber: number): `${NoteKey}${number}`;
35
+ /**
36
+ * Convert noteNumber to noteKey
37
+ * @category MIDI
38
+ */
39
+ export declare function noteKey(noteNumber: number): NoteKey;
35
40
  /**
36
41
  * @param note noteNumber: 0 ~ 127 or noteName e.g. 'C3'
37
42
  * @category MIDI
@@ -1 +1 @@
1
- {"version":3,"file":"midi.d.ts","sourceRoot":"","sources":["../../../src/midi.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,SAAS,8CAA+C,CAAA;AAErE;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjD;;GAEG;AACH,eAAO,MAAM,SAAS,4EAaZ,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjD;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM;YAKJ,QAAQ;gBACpB,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE;;EAGzD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,UAK1C;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,UAI1C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,WAW/C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,WAE/C;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,UAAoD,CAAA;AAE3E;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,SAAI,EAAE,EAAE,SAAM,UAG1E"}
1
+ {"version":3,"file":"midi.d.ts","sourceRoot":"","sources":["../../../src/midi.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,SAAS,8CAA+C,CAAA;AAErE;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjD;;GAEG;AACH,eAAO,MAAM,QAAQ,4EAaX,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAA;AAE/C;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM;YAKJ,QAAQ;gBACpB,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE;;EAGzD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,UAK1C;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,OAAO,GAAG,MAAM,EAAE,CAIlE;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,WAW/C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,WAE/C;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,UAAoD,CAAA;AAE3E;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,SAAI,EAAE,EAAE,SAAM,UAG1E"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tremolo-ui/functions",
3
- "version": "0.0.11",
3
+ "version": "0.0.12",
4
4
  "description": "functions used in @tremolo-ui/react",
5
5
  "type": "module",
6
6
  "scripts": {
package/src/midi.ts CHANGED
@@ -13,7 +13,7 @@ export type WhiteKey = (typeof whiteKeys)[number]
13
13
  /**
14
14
  * @category MIDI
15
15
  */
16
- export const noteNames = [
16
+ export const noteKeys = [
17
17
  'C',
18
18
  'C#',
19
19
  'D',
@@ -31,7 +31,7 @@ export const noteNames = [
31
31
  /**
32
32
  * @category MIDI
33
33
  */
34
- export type NoteName = (typeof noteNames)[number]
34
+ export type NoteKey = (typeof noteKeys)[number]
35
35
 
36
36
  /**
37
37
  * @category MIDI
@@ -53,7 +53,7 @@ export function parseNoteName(noteName: string) {
53
53
  */
54
54
  export function noteNumber(noteName: string) {
55
55
  const { letter, accidental, octave } = parseNoteName(noteName)
56
- const noteIndex = noteNames.indexOf(letter.toLocaleUpperCase() as NoteName)
56
+ const noteIndex = noteKeys.indexOf(letter.toLocaleUpperCase() as NoteKey)
57
57
  const accidentalValue = (accidental[0] == 'b' ? -1 : 1) * accidental.length
58
58
  return noteIndex + 12 * (Number(octave) + 1) + accidentalValue
59
59
  }
@@ -62,10 +62,18 @@ export function noteNumber(noteName: string) {
62
62
  * Convert noteNumber to noteName
63
63
  * @category MIDI
64
64
  */
65
- export function noteName(noteNumber: number) {
65
+ export function noteName(noteNumber: number): `${NoteKey}${number}` {
66
66
  const noteIndex = mod(noteNumber, 12)
67
67
  const octave = Math.floor(noteNumber / 12) - 1
68
- return noteNames[noteIndex] + octave
68
+ return `${noteKeys[noteIndex]}${octave}`
69
+ }
70
+
71
+ /**
72
+ * Convert noteNumber to noteKey
73
+ * @category MIDI
74
+ */
75
+ export function noteKey(noteNumber: number): NoteKey {
76
+ return noteKeys[mod(noteNumber, 12)]
69
77
  }
70
78
 
71
79
  /**