https://github.com/blackphlox/bevy_midi
Send and receive MIDI data to and from bevy using DAWS or MIDI Controllers
https://github.com/blackphlox/bevy_midi
bevy midi plugin
Last synced: 17 days ago
JSON representation
Send and receive MIDI data to and from bevy using DAWS or MIDI Controllers
- Host: GitHub
- URL: https://github.com/blackphlox/bevy_midi
- Owner: BlackPhlox
- License: apache-2.0
- Created: 2021-06-14T20:49:33.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-07-28T09:55:28.000Z (9 months ago)
- Last Synced: 2025-04-10T07:55:17.060Z (20 days ago)
- Topics: bevy, midi, plugin
- Language: Rust
- Homepage:
- Size: 373 KB
- Stars: 60
- Watchers: 1
- Forks: 13
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
A bevy plugin using [midir](https://github.com/Boddlnagg/midir) and [crossbeam-channel](https://github.com/crossbeam-rs/crossbeam).
This plugin allows you to read or write midi data for a selected midi input.## Showcase
Run the examples using:
Basic midi output: `cargo run --release --example output`
Basic midi input: `cargo run --release --example input`
UI Virtual Piano: `cargo run --release --example egui`
3D Virtual Piano: `cargo run --release --example piano`Running the UI Virtual Piano example:

Running the 3D Virtual Piano example:
https://user-images.githubusercontent.com/25123512/122971334-3bae6100-d38f-11eb-9605-4c314b088ff2.mp4
Notice: Sustain is not handled by the example
Browser support: Still work in progress.
# Setup
See examples
# Support
[](https://github.com/bevyengine/bevy/blob/main/docs/plugins_guidelines.md#main-branch-tracking)|bevy|bevy_midi|
|---|---|
|0.5|0.1.X|
|0.5|0.2.X|
|0.6|0.3.X|
|0.7|0.4.X|
|0.8|0.5.X|
|0.10|0.6.X|
|0.12|0.7.X|
|0.13|0.8.X|
|0.14|0.9.X|# Licensing
The project is under dual license MIT and Apache 2.0, so joink to your hearts content, just remember the license agreements.# Contributing
Yes this project is still very much WIP, so PRs are very welcome