Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/djipco/webmidi

Tame the Web MIDI API. Send and receive MIDI messages with ease. Control instruments with user-friendly functions (playNote, sendPitchBend, etc.). React to MIDI input with simple event listeners (noteon, pitchbend, controlchange, etc.).
https://github.com/djipco/webmidi

browser jazz-plugin midi midi-messages node sysex web-midi web-midi-api webmidi

Last synced: 2 days ago
JSON representation

Tame the Web MIDI API. Send and receive MIDI messages with ease. Control instruments with user-friendly functions (playNote, sendPitchBend, etc.). React to MIDI input with simple event listeners (noteon, pitchbend, controlchange, etc.).

Awesome Lists containing this project

README

        

![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:

[](https://github.com/awatterott "@awatterott") ย  [](https://github.com/rubendax "@rubendax") ย  Anonymous Sponsor ย  [](https://github.com/philmillman "@philmillman") ย  Anonymous Sponsor ย  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