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