
Publisher
arlez80
Godot MIDI Player
Embeddable Software MIDI Player for Godot Engine 3.4 and later. 2.6.2 update: * Fixed text event parse bug 2.6.1 update: * replace deep_equal to == for Godot 3.4(s) * fixed bug for GS/XG resets. 2.6.0 update: * Refactoring code * Fixed silence seconds * Make faster with MIDI system messages for resets * Added code for reuse AudioBus 2.5.5 update: * Fixed double displaying in Node list. 2.5.4 update: * Refactoring source codes * Some changes smf/sf2 file reading APIs. 2.5.3 update: * No use wh...
This plugin has been mirrored from the Godot Asset Library.
The plugin author is in no way affiliated with Gadget.
If you are the author of this plugin and would like this mirror removed, please contact support@gadgetgodot.com.
Godot MIDI Player
Software MIDI player library for Godot Engine 3.4 and 3.5 later
- Changes play speed.
- Set tempo.
- Emit on some events (tempo change, appears lyric ...)
- You can control like AudioStreamPlayer.
Try it
- Copy *.mid under "res://"
- Copy *.sf2 under "res://"
- Set MIDI path to MidiPlayer "file" parameter.
- Set SoundFont path to MidiPlayer "soundfont" parameter.
- call play() method
How to use
- See wiki
Demo
- download
- This demo can get MIDIInput events. You can play using MIDI keyboards!
- BGM "failyland_gm.mid" from IvyMaze
- Youtube: Demo #1
- Youtube: Demo #2
- Youtube: Demo #3
Hint
- Set false to
GodotMIDIPlayer.load_all_voices_from_soundfont
to load voices for program change message in MIDI sequence.- of course,
GodotMIDIPlayer.load_all_voices_from_soundfont = true
will be very slow.
- of course,
- SMF format 0 loading faster than SMF format 1.
- because format 1 data will be convert to format 0 in the player.
TODO
- See issues
Not TODO
- Supports play format 2
- SMF.gd can read it. but I will not implement it to MIDI Player.
License
MIT License
Author
- @arlez80 あるる / きのもと 結衣 ( Yui Kinomoto )