You want to create your MIDI music directly in the Unity Editor? You are on the right page!
The goal of the Maestro MIDI editor is not to replace available DAW, often free, often incredibly complex, but to propose an easy and simple tool for creating and editing music directly in Unity for Maestro!
Cheery on the cake, it’s also a good way to learn the wonderful world of MIDI Music!
It’s an extension of the Unity Editor so by design, not available in the runtime. But I’m seriously thinking how to migrate to UI Toolkit!
This first version focus was on the main features mandatory to create music, next version will progressively add cool ways to create your music. It’s also the opportunity for you to enter in the magic world of the MIDI music! I tried to following the KISS rules!
A quick demo here: Video
Main Features:
- Create a MIDI sequence from scratch.
- Load a MIDI sequence from Maestro MIDI DB or an external MIDI file.
- Save a MIDI sequence to Maestro MIDI DB or to an external MIDI file.
- Keep current edition safe even when compiling or relaunching Unity editor (serialize/deserialize).
- Display MIDI events by channel with a piano roll view.
- Create/Modify properties of notes and presets change.
- Mouse editing functions: drag & drop event, change length.
- Editing with quantization (whole, half, quarter, …).
- Integrated MIDI player, playing available when editing (but not when running).
- Looping on the whole sequence or partial sequence thru the user interface.
- Display measure according to the time signature.
- Draw time banner with real time in relation of tempo change MIDI events.
- Add tempo event section with User Interface.
- Hide/show channel.
- Disable/enable playing by channel.
- Add text event edition.
- Using of the new MPTKInnerLoop.
- Display take care of MIDI signature message.
- New button move to begin/end, previous/next measure.
Backlog by priority order:
Priority will be evaluated with your comments. So, have your say!
- Copy/paste event? multi events?
- Merging classes AreaUI and SectionAll?
- Undo/Redo.
- Add velocity edition with UI.
- Add control change edition with UI.
- Playing and editing in run mode, feasability?
- Redesign color and texture like MIDI event, keyboard …
- Specific MIDI events for integration with Unity.
- Multi events selection, feasability?
- Helper for building chords.
- Helper for scale.
- Helper for chords progression?
- Percussion library integrated in MIDI DB?
- Add others meta text event.
- Add effects section.
- Partial import/insert of MIDI: select channels, select tick. Example: import only drum from a lib.
- Manage MIDI tracks, useful?
- Resizable panel, like between piano and note, useful?
- Rhythm generator with Euclidean algo.
- Send MIDI events to an external MIDI keyboard + MIDI beat clock?
Keyboard Shortcut
Action |
Keyboard shortcut |
Zoom height and width |
Ctrl /⌘ + Mouse Roller |
Zoom height only |
Ctrl /⌘ + Alt + Mouse Roller |
Zoom width only |
Ctrl /⌘ + Shift + Mouse Roller |
Select a MIDI event |
Click on the event |
Delete a MIDI event |
Suppr |
Enter / Return |
Apply change to the current MIDI event selected or create it |