Godot MIDI Player screenshot 1
A

Publisher

arlez80

Godot MIDI Player

Tools
MIDI Audio SoundFont Playback Tempo Events Performance Library

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

Godot MIDI Player

ko-fi

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

  1. Copy *.mid under "res://"
  2. Copy *.sf2 under "res://"
  3. Set MIDI path to MidiPlayer "file" parameter.
  4. Set SoundFont path to MidiPlayer "soundfont" parameter.
  5. call play() method

How to use

Demo

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.
  • SMF format 0 loading faster than SMF format 1.
    • because format 1 data will be convert to format 0 in the player.

TODO

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 )