Skip to content
/ webmidi Public

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.).

License

Notifications You must be signed in to change notification settings

djipco/webmidi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
Jean-Philippe Côté
Feb 23, 2025
4967f06 Â· Feb 23, 2025
Jan 23, 2022
Jan 4, 2025
Jan 18, 2023
Feb 23, 2025
Apr 21, 2024
Feb 23, 2025
Feb 23, 2025
Apr 28, 2020
Aug 27, 2021
Apr 3, 2022
Jan 30, 2022
Apr 2, 2022
Aug 25, 2021
Sep 27, 2021
Nov 18, 2021
Oct 28, 2021
May 4, 2019
Sep 15, 2021
Apr 22, 2022
Feb 1, 2022
Nov 22, 2024
Nov 22, 2024

WebMidi.js Logo

npm npm npm

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 site is the best place to get started. Over there, you will find, amongst others, two key resources:

To exchange with fellow users and myself, you can visit our Forum which is hosted on the GitHub Discussions platform:

If you want to stay up-to-date, here are your best sources:

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:

    Anonymous Sponsor     Anonymous Sponsor   Anonymous Sponsor

If you use the library and find it useful, please đź’ś sponsor the project.

Feature Request

If you would like to request a new feature, enhancement or API change, please first check that it is not already planned. Then, discuss it in the Enhancement Proposals 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):

Côté, J. P. (2021). WebMidi.js v3.0.0 [Computer Software]. Retrieved from https://github.com/djipco/webmidi

Cheers!

-- Jean-Philippe

About

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.).

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages