Global

Methods

clamp(value, min, max) → {number}

Clamp a value between min and max
Parameters:
Name Type Description
value number Value to clamp
min number Minimum value
max number Maximum value
Source:
Returns:
Type
number

createSysEx(manufacturerId, payload) → {Array.<number>}

Create a SysEx message
Parameters:
Name Type Description
manufacturerId number Manufacturer ID
payload Array.<number> SysEx payload data
Source:
Returns:
Complete SysEx message with F0/F7
Type
Array.<number>

decode14BitValue(msb, lsb) → {number}

Decode MSB and LSB (7-bit each) into a 14-bit value
Parameters:
Name Type Description
msb number Most significant byte (0-127)
lsb number Least significant byte (0-127)
Source:
Returns:
14-bit value (0-16383)
Type
number

decode7Bit(data) → {Array.<number>}

Decode 7-bit MIDI format to 8-bit data
Parameters:
Name Type Description
data Array.<number> 7-bit encoded data
Source:
Returns:
8-bit decoded data
Type
Array.<number>

denormalize14BitValue(msb, lsb, outputMin, outputMax, invertopt) → {number}

Denormalize a 14-bit value to a custom range
Parameters:
Name Type Attributes Default Description
msb number Most significant byte (0-127)
lsb number Least significant byte (0-127)
outputMin number Output minimum
outputMax number Output maximum
invert boolean <optional>
false Invert the input
Source:
Returns:
Denormalized value
Type
number

denormalizeValue(midiValue, outputMin, outputMax, invertopt) → {number}

Denormalize a MIDI value (0-127) to a custom range
Parameters:
Name Type Attributes Default Description
midiValue number MIDI value (0-127)
outputMin number Output minimum
outputMax number Output maximum
invert boolean <optional>
false Invert the input
Source:
Returns:
Type
number

encode14BitValue(value) → {Object}

Encode a 14-bit value into MSB and LSB (7-bit each)
Parameters:
Name Type Description
value number 14-bit value (0-16383)
Source:
Returns:
MSB and LSB values
Type
Object

encode7Bit(data) → {Array.<number>}

Encode 8-bit data to 7-bit MIDI format
Parameters:
Name Type Description
data Array.<number> 8-bit data array
Source:
Returns:
7-bit encoded data
Type
Array.<number>

frequencyToNote(frequency) → {number}

Convert frequency (Hz) to nearest MIDI note number
Parameters:
Name Type Description
frequency number Frequency in Hz
Source:
Returns:
MIDI note number
Type
number

getCCName(cc) → {string}

Get CC name for common controller numbers
Parameters:
Name Type Description
cc number CC number
Source:
Returns:
CC name or "CC {number}"
Type
string

isSysEx(data) → {boolean}

Check if data is a SysEx message
Parameters:
Name Type Description
data Array.<number> MIDI data
Source:
Returns:
Type
boolean

isValid14BitCC(cc) → {boolean}

Validate 14-bit MIDI CC number (0-31 for MSB)
Parameters:
Name Type Description
cc number CC number
Source:
Returns:
Type
boolean

isValidCC(cc) → {boolean}

Validate MIDI CC number
Parameters:
Name Type Description
cc number CC number
Source:
Returns:
Type
boolean

isValidChannel(channel) → {boolean}

Validate MIDI channel number
Parameters:
Name Type Description
channel number Channel number
Source:
Returns:
Type
boolean

isValidMIDIValue(value) → {boolean}

Validate MIDI value (0-127)
Parameters:
Name Type Description
value number MIDI value
Source:
Returns:
Type
boolean

isValidNote(note) → {boolean}

Validate MIDI note number
Parameters:
Name Type Description
note number Note number
Source:
Returns:
Type
boolean

isValidPitchBend(value) → {boolean}

Validate pitch bend value (14-bit)
Parameters:
Name Type Description
value number Pitch bend value (0-16383, where 8192 is center)
Source:
Returns:
Type
boolean

isValidPitchBendBytes(msb, lsb) → {boolean}

Validate pitch bend MSB and LSB separately
Parameters:
Name Type Description
msb number Most significant byte (0-127)
lsb number Least significant byte (0-127)
Source:
Returns:
Type
boolean

isValidProgramChange(program) → {boolean}

Validate MIDI program change number
Parameters:
Name Type Description
program number Program number
Source:
Returns:
Type
boolean

isValidVelocity(velocity) → {boolean}

Validate note velocity
Parameters:
Name Type Description
velocity number Velocity value
Source:
Returns:
Type
boolean

normalize14BitValue(value, inputMin, inputMax, invertopt) → {Object}

Normalize a 14-bit value from input range
Parameters:
Name Type Attributes Default Description
value number Input value
inputMin number Input minimum
inputMax number Input maximum
invert boolean <optional>
false Invert the output
Source:
Returns:
MSB and LSB values
Type
Object

normalizeValue(value, inputMin, inputMax, invertopt) → {number}

Normalize a value from input range to MIDI range (0-127)
Parameters:
Name Type Attributes Default Description
value number Input value
inputMin number Input minimum
inputMax number Input maximum
invert boolean <optional>
false Invert the output
Source:
Returns:
MIDI value (0-127)
Type
number

noteNameToNumber(noteName) → {number}

Convert a note name to MIDI note number
Parameters:
Name Type Description
noteName string Note name (e.g., "C4", "A#3", "Bb5")
Source:
Throws:
If noteName is not a valid note format
Type
MIDIValidationError
Returns:
MIDI note number (0-127)
Type
number

noteNumberToName(noteNumber, useFlatsopt) → {string}

Convert MIDI note number to note name
Parameters:
Name Type Attributes Default Description
noteNumber number MIDI note number (0-127)
useFlats boolean <optional>
false Use flats instead of sharps
Source:
Returns:
Note name (e.g., "C4")
Type
string

noteToFrequency(noteNumber) → {number}

Convert MIDI note number to frequency (Hz)
Parameters:
Name Type Description
noteNumber number MIDI note number
Source:
Returns:
Frequency in Hz
Type
number

parseSysEx(data) → {Object|null}

Parse a SysEx message
Parameters:
Name Type Description
data Array.<number> Raw MIDI data
Source:
Returns:
Parsed SysEx data or null if not SysEx
Type
Object | null