UNPKG

webmidi

Version:

WEBMIDI.js makes it easy to talk to MIDI instruments from a browser or from Node.js. It simplifies the control of external or virtual MIDI instruments with functions such as playNote(), sendPitchBend(), sendControlChange(), etc. It also allows reacting to

66 lines (43 loc) 3.54 kB
![WebMidi.js Logo](https://webmidijs.org/img/webmidijs-logo-color-on-white.svg "WebMidi.js") [![](https://data.jsdelivr.com/v1/package/npm/webmidi/badge)](https://www.jsdelivr.com/package/npm/webmidi) [![npm](https://img.shields.io/npm/dm/webmidi)](https://www.npmjs.com/package/webmidi) [![npm](https://img.shields.io/npm/dt/webmidi)](https://www.npmjs.com/package/webmidi) [![](https://img.shields.io/github/stars/djipco/webmidi?style=social)](https://github.com/djipco/webmidi) [![npm](https://img.shields.io/npm/l/webmidi)](https://www.npmjs.com/package/webmidi) ## Introduction **WEBMIDI.js** makes it easy to interact with MIDI instruments directly from a web browser or from Node.js. It simplifies the control of physical or virtual MIDI instruments with user-friendly functions such as `playNote()`, `sendPitchBend()` or `sendControlChange()`. It also allows reacting to inbound MIDI messages by adding listeners for events such as `"noteon"`, `"pitchbend"` or `"programchange"`. In short, the goal behind WEBMIDI.js is to get you started with your web-based MIDI project as quickly and efficiently as possible. ## Getting Started The [**official website**](https://webmidijs.org) site is the best place to get started. Over there, you will find, amongst others, two key resources: * [Documentation](https://webmidijs.org/docs/) * [API Reference](https://webmidijs.org/api/) To exchange with fellow users and myself, you can visit our [**Forum**](https://github.com/djipco/webmidi/discussions) which is hosted on the GitHub Discussions platform: * [Forum](https://github.com/djipco/webmidi/discussions) If you want to stay up-to-date, here are your best sources: * [Newsletter](https://mailchi.mp/eeffe50651bd/webmidijs-newsletter) * [Twitter](https://twitter.com/webmidijs) ## Sponsors WEBMIDI.js is a passion project but it still takes quite a bit of time, effort and money to develop and maintain. That's why I would like to sincerely thank 👏 these sponsors for their support: [<img src="https://avatars3.githubusercontent.com/u/1488433?s=60&v=4">](https://github.com/awatterott "@awatterott") &nbsp; [<img src="https://avatars3.githubusercontent.com/u/3331057?s=60&v=4">](https://github.com/rubendax "@rubendax") &nbsp; <img src="https://webmidijs.org/img/person.png" alt="Anonymous Sponsor" title="Anonymous Sponsor"> &nbsp; [<img src="https://avatars.githubusercontent.com/u/3722211?s=60&v=4">](https://github.com/philmillman "@philmillman") &nbsp; <img src="https://webmidijs.org/img/person.png" alt="Anonymous Sponsor" title="Anonymous Sponsor"> &nbsp; <img src="https://webmidijs.org/img/person.png" alt="Anonymous Sponsor" title="Anonymous Sponsor"> If you use the library and find it useful, please 💜 [**sponsor the project**](https://github.com/sponsors/djipco). ## Feature Request If you would like to request a new feature, enhancement or API change, please first check that it is not [already planned](https://webmidijs.org/docs/future-versions/next). Then, discuss it in the [Enhancement Proposals](https://github.com/djipco/webmidi/discussions/categories/feature-requests) section of the forum. ## Citing this Software in Research If you use this software for research or academic purposes, please cite the project in your references (or wherever appropriate). Here's an example of how to cite it ([APA Style](https://apastyle.apa.org/)): >Côté, J. P. (2021). WebMidi.js v3.0.0 [Computer Software]. Retrieved from https://github.com/djipco/webmidi Cheers! -- Jean-Philippe