@ng-web-apis/midi
Version:
An Observable based library for the use of Web MIDI API with Angular
11 lines • 1.32 kB
JavaScript
const COEFFICIENT = 2 ** (1 / 12);
/**
* Convert frequencies to MIDI notes
*
* @param frequency
* @param tuning tuning for middle A (440 by default)
*/
export function toNote(frequency, tuning = 440) {
return Math.round(Math.log(frequency / tuning) / Math.log(COEFFICIENT)) + 69;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG8tbm90ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvbWlkaS9zcmMvdXRpbHMvdG8tbm90ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFdBQVcsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7QUFFbEM7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsTUFBTSxDQUFDLFNBQWlCLEVBQUUsTUFBTSxHQUFHLEdBQUc7SUFDbEQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7QUFDakYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IENPRUZGSUNJRU5UID0gMiAqKiAoMSAvIDEyKTtcblxuLyoqXG4gKiBDb252ZXJ0IGZyZXF1ZW5jaWVzIHRvIE1JREkgbm90ZXNcbiAqXG4gKiBAcGFyYW0gZnJlcXVlbmN5XG4gKiBAcGFyYW0gdHVuaW5nIHR1bmluZyBmb3IgbWlkZGxlIEEgKDQ0MCBieSBkZWZhdWx0KVxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9Ob3RlKGZyZXF1ZW5jeTogbnVtYmVyLCB0dW5pbmcgPSA0NDApOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLnJvdW5kKE1hdGgubG9nKGZyZXF1ZW5jeSAvIHR1bmluZykgLyBNYXRoLmxvZyhDT0VGRklDSUVOVCkpICsgNjk7XG59XG4iXX0=