{"id":13433564,"url":"https://github.com/djipco/webmidi","last_synced_at":"2025-12-12T03:50:14.033Z","repository":{"id":1763525,"uuid":"44274144","full_name":"djipco/webmidi","owner":"djipco","description":"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.).","archived":false,"fork":false,"pushed_at":"2025-04-29T13:48:22.000Z","size":69660,"stargazers_count":1611,"open_issues_count":7,"forks_count":120,"subscribers_count":42,"default_branch":"master","last_synced_at":"2025-05-11T00:42:19.679Z","etag":null,"topics":["browser","jazz-plugin","midi","midi-messages","node","sysex","web-midi","web-midi-api","webmidi"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/djipco.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["djipco"]}},"created_at":"2015-10-14T20:22:34.000Z","updated_at":"2025-05-08T16:47:02.000Z","dependencies_parsed_at":"2023-07-05T19:02:23.831Z","dependency_job_id":"1cb1d3dd-1e5d-4a2a-9a0b-56976d2ab30b","html_url":"https://github.com/djipco/webmidi","commit_stats":{"total_commits":4515,"total_committers":35,"mean_commits":129.0,"dds":0.1552602436323367,"last_synced_commit":"be4169495b6a314044d827d18b9db295a0b4d92f"},"previous_names":["cotejp/webmidi"],"tags_count":147,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djipco%2Fwebmidi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djipco%2Fwebmidi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djipco%2Fwebmidi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djipco%2Fwebmidi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/djipco","download_url":"https://codeload.github.com/djipco/webmidi/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254010822,"owners_count":21999002,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["browser","jazz-plugin","midi","midi-messages","node","sysex","web-midi","web-midi-api","webmidi"],"created_at":"2024-07-31T02:01:29.396Z","updated_at":"2025-12-12T03:50:13.988Z","avatar_url":"https://github.com/djipco.png","language":"JavaScript","funding_links":["https://github.com/sponsors/djipco"],"categories":["JavaScript","Libraries: Web MIDI API"],"sub_categories":["Web MIDI API"],"readme":"![WebMidi.js Logo](https://webmidijs.org/img/webmidijs-logo-color-on-white.svg \"WebMidi.js\")\n\n[![](https://data.jsdelivr.com/v1/package/npm/webmidi/badge)](https://www.jsdelivr.com/package/npm/webmidi)\n[![npm](https://img.shields.io/npm/dm/webmidi)](https://www.npmjs.com/package/webmidi)\n[![npm](https://img.shields.io/npm/dt/webmidi)](https://www.npmjs.com/package/webmidi)\n[![](https://img.shields.io/github/stars/djipco/webmidi?style=social)](https://github.com/djipco/webmidi)\n[![npm](https://img.shields.io/npm/l/webmidi)](https://www.npmjs.com/package/webmidi)\n\n## Introduction\n\n**WEBMIDI.js** makes it easy to interact with MIDI instruments directly from a web browser or from \nNode.js. It simplifies the control of physical or virtual MIDI instruments with user-friendly \nfunctions such as `playNote()`, `sendPitchBend()` or `sendControlChange()`. It also allows reacting \nto inbound MIDI messages by adding listeners for events such as `\"noteon\"`, `\"pitchbend\"` or \n`\"programchange\"`.\n\nIn short, the goal behind WEBMIDI.js is to get you started with your web-based MIDI project as quickly\nand efficiently as possible.\n\n## Getting Started\n\nThe [**official website**](https://webmidijs.org) site is the best place to get started. Over there,\nyou will find, amongst others, two key resources:\n\n* [Documentation](https://webmidijs.org/docs/)\n* [API Reference](https://webmidijs.org/api/)\n\nTo exchange with fellow users and myself, you can visit our [**Forum**](https://github.com/djipco/webmidi/discussions)\nwhich is hosted on the GitHub Discussions platform: \n\n* [Forum](https://github.com/djipco/webmidi/discussions)\n\nIf you want to stay up-to-date, here are your best sources:\n\n* [Newsletter](https://mailchi.mp/eeffe50651bd/webmidijs-newsletter)\n* [Twitter](https://twitter.com/webmidijs)\n\n## Sponsors\n\nWEBMIDI.js is a passion project but it still takes quite a bit of time, effort and money to develop and \nmaintain. That's why I would like to sincerely thank 👏 these sponsors for their support: \n\n[\u003cimg src=\"https://avatars3.githubusercontent.com/u/1488433?s=60\u0026v=4\"\u003e](https://github.com/awatterott \"@awatterott\") \u0026nbsp; [\u003cimg src=\"https://avatars3.githubusercontent.com/u/3331057?s=60\u0026v=4\"\u003e](https://github.com/rubendax \"@rubendax\") \u0026nbsp; \u003cimg src=\"https://webmidijs.org/img/person.png\" alt=\"Anonymous Sponsor\" title=\"Anonymous Sponsor\"\u003e \u0026nbsp; [\u003cimg src=\"https://avatars.githubusercontent.com/u/3722211?s=60\u0026v=4\"\u003e](https://github.com/philmillman \"@philmillman\") \u0026nbsp; \u003cimg src=\"https://webmidijs.org/img/person.png\" alt=\"Anonymous Sponsor\" title=\"Anonymous Sponsor\"\u003e \u0026nbsp; \u003cimg src=\"https://webmidijs.org/img/person.png\" alt=\"Anonymous Sponsor\" title=\"Anonymous Sponsor\"\u003e\n\nIf you use the library and find it useful, please 💜 [**sponsor the project**](https://github.com/sponsors/djipco).\n\n## Feature Request\n\nIf you would like to request a new feature, enhancement or API change, please first check that it is \nnot [already planned](https://webmidijs.org/docs/future-versions/next). Then, discuss it in the \n[Enhancement Proposals](https://github.com/djipco/webmidi/discussions/categories/feature-requests) \nsection of the forum.\n\n## Citing this Software in Research\n\nIf you use this software for research or academic purposes, please cite the project in your \nreferences (or wherever appropriate). Here's an example of how to cite it \n([APA Style](https://apastyle.apa.org/)):\n\n\u003eCôté, J. P. (2021). WebMidi.js v3.0.0 [Computer Software]. Retrieved from \nhttps://github.com/djipco/webmidi\n\nCheers!\n\n-- Jean-Philippe\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdjipco%2Fwebmidi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdjipco%2Fwebmidi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdjipco%2Fwebmidi/lists"}