User-Friendly MIDI in the Web Browser

Jean-Philippe Côté

Proceedings of the International Conference on New Interfaces for Musical Expression

Abstract:

The Web MIDI API allows the Web browser to interact with hardware and software MIDI devices detected at the operating system level. This ability for the browser to interface with most electronic instruments made in the past 30 years offers significant opportunities to preserve, enhance or re-discover a rich musical and technical heritage. By including MIDI in the broaderWeb ecosystem, this API also opens endless possibilities to create music in a networked and socially engaging way. However, the Web MIDI API specification only offers low-level access to MIDI devices and messages. For instance, it does not provide semantics on top of the raw numerical messages exchanged between devices. This is likely to deter novice programmers and significantly slow down experienced programmers. After reviewing the usability of the bare Web MIDI API, the WEBMIDI. js JavaScript library was created to alleviate this situation. By decoding raw MIDI messages, encapsulating complicated processes and providing semantically significant objects, properties, methods and events, the library makes it easier to interface with MIDI devices from compatible browsers. This paper first looks at the context in which the specification was created and then discusses the usability improvements layered on top of the API by the opensource WEBMIDI.js library.

Citation:

Jean-Philippe Côté. 2022. User-Friendly MIDI in the Web Browser. Proceedings of the International Conference on New Interfaces for Musical Expression. DOI: 10.21428/92fbeb44.388e4764

BibTeX Entry:

  @inproceedings{NIME22_41,
 abstract = {The Web MIDI API allows the Web browser to interact with hardware and software MIDI devices detected at the operating system level. This ability for the browser to interface with most electronic instruments made in the past 30 years offers significant opportunities to preserve, enhance or re-discover a rich musical and technical heritage. By including MIDI in the broaderWeb ecosystem, this API also opens endless possibilities to create music in a networked and socially engaging way. However, the Web MIDI API specification only offers low-level access to MIDI devices and messages. For instance, it does not provide semantics on top of the raw numerical messages exchanged between devices. This is likely to deter novice programmers and significantly slow down experienced programmers. After reviewing the usability of the bare Web MIDI API, the WEBMIDI. js JavaScript library was created to alleviate this situation. By decoding raw MIDI messages, encapsulating complicated processes and providing semantically significant objects, properties, methods and events, the library makes it easier to interface with MIDI devices from compatible browsers. This paper first looks at the context in which the specification was created and then discusses the usability improvements layered on top of the API by the opensource WEBMIDI.js library.},
 address = {The University of Auckland, New Zealand},
 articleno = {41},
 author = {C{\^o}t{\'e}, Jean-Philippe},
 booktitle = {Proceedings of the International Conference on New Interfaces for Musical Expression},
 doi = {10.21428/92fbeb44.388e4764},
 issn = {2220-4806},
 month = {jun},
 pdf = {43.pdf},
 presentation-video = {https://youtu.be/jMzjpUJO860},
 title = {User-Friendly {MIDI} in the Web Browser},
 url = {https://doi.org/10.21428%2F92fbeb44.388e4764},
 year = {2022}
}