MIDI (Musical Instrument Digital Interface) est un moyen standard de communication entre des instruments de musique électroniques, du matériel et des ordinateurs. L'API Web MIDI permet aux sites Web de contrôler des synthétiseurs virtuels, des boîtes à rythmes ou d'autres instruments en se connectant au clavier ou à la manette MIDI de l'utilisateur.
Pour des raisons de sécurité, l'Audio Working Group du W3C a demandé une exigence d'autorisation explicite pour toute utilisation de l'API MIDI dans la spécification Web MIDI afin d'accéder librement aux appareils MIDI connectés avec l'API Web MIDI. Ce changement, qui ne s'appliquait auparavant qu'à l'utilisation avancée de MIDI (messages SysEx) dans Chrome, s'applique désormais également aux interactions MIDI standards.
Cela signifie que l'ensemble de l'API Web MIDI est désormais protégé par une invite d'autorisation. Cette modification est déployée progressivement à partir de Chrome 124.

Le code suivant vous montre comment gérer l'invite d'autorisation déclenchée par l'appel de navigator.requestMIDIAccess()
lorsque l'accès n'a pas encore été accordé par l'utilisateur.
try {
// Prompt user to access MIDI devices.
const access = await navigator.requestMIDIAccess();
// Get lists of available MIDI controllers...
} catch (error) {
if (error.name === "SecurityError") {
// The website is not allowed to control and reprogram MIDI devices.
}
}
Demandez la prise en charge des messages SysEx avec navigator.requestMIDIAccess({ sysEx: true })
uniquement si votre site Web a absolument besoin de cette fonctionnalité. Les chaînes d'invite d'autorisation Chrome peuvent changer à l'avenir.
Tests
Cette modification est déployée progressivement dans Chrome 124. Vous devrez peut-être exécuter Chrome avec l'option de ligne de commande --enable-features=BlockMidiByDefault
pour l'activer en local sur votre appareil.
Testez cette modification sur le site Web https://permission.site en cliquant sur les boutons "MIDI" et "MIDI + SysEx".
Prise en charge des navigateurs
L'accès aux appareils MIDI nécessite l'autorisation de l'utilisateur dans les navigateurs Chrome et Firefox.
Commentaires
L'équipe Chrome et la communauté des normes Web souhaitent connaître votre expérience avec ce changement. Envoyez-nous vos commentaires en commentant des problèmes GitHub existants ou en en créant de nouveaux.
Liens utiles
Remerciements
Merci à Michael Wilson d'avoir examiné ce post.