File size: 652 Bytes
f23825d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import { MIDIControlEventNames } from "midifile-ts"

const NOTE_NAMES = [
  "C",
  "C#",
  "D",
  "D#",
  "E",
  "F",
  "F#",
  "G",
  "G#",
  "A",
  "A#",
  "B",
]

function noteNameWithOctString(noteNumber: number): string {
  const oct = Math.floor(noteNumber / 12) - 1
  const key = noteNumber % 12
  return `${NOTE_NAMES[key]}${oct}`
}

function noteNumberString(noteNumber: number): string {
  return `${noteNameWithOctString(noteNumber)} (${noteNumber})`
}

function controllerTypeString(controllerType: number): string {
  return MIDIControlEventNames[controllerType]
}

export { noteNameWithOctString, noteNumberString, controllerTypeString }