/** * Clamp a value between min and max * @param {number} value - Value to clamp * @param {number} min - Minimum value * @param {number} max - Maximum value * @returns {number} */ export function clamp(value: number, min: number, max: number): number; /** * Normalize a value from input range to MIDI range (0-127) * @param {number} value - Input value * @param {number} inputMin - Input minimum * @param {number} inputMax - Input maximum * @param {boolean} [invert=false] - Invert the output * @returns {number} MIDI value (0-127) */ export function normalizeValue(value: number, inputMin: number, inputMax: number, invert?: boolean): number; /** * Denormalize a MIDI value (0-127) to a custom range * @param {number} midiValue - MIDI value (0-127) * @param {number} outputMin - Output minimum * @param {number} outputMax - Output maximum * @param {boolean} [invert=false] - Invert the input * @returns {number} */ export function denormalizeValue(midiValue: number, outputMin: number, outputMax: number, invert?: boolean): number; /** * Convert a note name to MIDI note number * @param {string} noteName - Note name (e.g., "C4", "A#3", "Bb5") * @returns {number} MIDI note number (0-127) * @throws {MIDIValidationError} If noteName is not a valid note format */ export function noteNameToNumber(noteName: string): number; /** * Convert MIDI note number to note name * @param {number} noteNumber - MIDI note number (0-127) * @param {boolean} [useFlats=false] - Use flats instead of sharps * @returns {string} Note name (e.g., "C4") */ export function noteNumberToName(noteNumber: number, useFlats?: boolean): string; /** * Convert frequency (Hz) to nearest MIDI note number * @param {number} frequency - Frequency in Hz * @returns {number} MIDI note number */ export function frequencyToNote(frequency: number): number; /** * Convert MIDI note number to frequency (Hz) * @param {number} noteNumber - MIDI note number * @returns {number} Frequency in Hz */ export function noteToFrequency(noteNumber: number): number; /** * Get CC name for common controller numbers * @param {number} cc - CC number * @returns {string} CC name or "CC {number}" */ export function getCCName(cc: number): string; /** * Encode a 14-bit value into MSB and LSB (7-bit each) * @param {number} value - 14-bit value (0-16383) * @returns {{msb: number, lsb: number}} MSB and LSB values */ export function encode14BitValue(value: number): { msb: number; lsb: number; }; /** * Decode MSB and LSB (7-bit each) into a 14-bit value * @param {number} msb - Most significant byte (0-127) * @param {number} lsb - Least significant byte (0-127) * @returns {number} 14-bit value (0-16383) */ export function decode14BitValue(msb: number, lsb: number): number; /** * Normalize a 14-bit value from input range * @param {number} value - Input value * @param {number} inputMin - Input minimum * @param {number} inputMax - Input maximum * @param {boolean} [invert=false] - Invert the output * @returns {{msb: number, lsb: number}} MSB and LSB values */ export function normalize14BitValue(value: number, inputMin: number, inputMax: number, invert?: boolean): { msb: number; lsb: number; }; /** * Denormalize a 14-bit value to a custom range * @param {number} msb - Most significant byte (0-127) * @param {number} lsb - Least significant byte (0-127) * @param {number} outputMin - Output minimum * @param {number} outputMax - Output maximum * @param {boolean} [invert=false] - Invert the input * @returns {number} Denormalized value */ export function denormalize14BitValue(msb: number, lsb: number, outputMin: number, outputMax: number, invert?: boolean): number; //# sourceMappingURL=midi.d.ts.map