Библиотека для обнаружения событий клавиатуры миди-пианино в браузере с помощью JavaScript
Я хотел бы подключить клавиатуру миди-пианино к USB-порту моего компьютера и реагировать на ключевые события, отображая что-то в браузере.
Кто-нибудь знает библиотеку, которая позволит JavaScript взаимодействовать с событиями USB midi-клавиатуры в front-end/ браузере?
Что-то вроде:
Файл script.js, связанный с index.html:
$(document).on('midi-key-press', function(event) {
alert('the key that you pressed was ' + event.whichKey);
});
Спасибо!
1 ответ
Браузеры Webkits имеют нативный API.
Лучше всего проверить спецификации в деталях: https://webaudio.github.io/web-midi-api/
О Firefox об этом спрашивали уже давно. Кажется, что поддержка идет.
https://bugzilla.mozilla.org/show_bug.cgi?id=836897
Я использую, чтобы сделать небольшой обходной путь с веб-MIDI-API. Он обнаруживает любые миди-вращающиеся ручки на любом канале и меняет цвет фона страницы. Основано на образцах скрипта, предоставленных спецификациями.
Надеюсь, вы найдете что-то интересное.
https://github.com/webdev23/midiKnobControl
Честно говоря, это очень мощный, но сложный в обращении API.
Для этого нужно хорошо знать протокол MIDI, хорошо знать ваши устройства MIDI и быть в курсе JavaScript. Также важно знать, как работает веб-аудио API: https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API
изменить: Mozilla находится на нем: https://github.com/mozilla/standards-positions/issues/58