/godot-midi-player

Primary LanguageGDScriptMIT LicenseMIT

Godot MIDI Player

### Mirror of the original Godot MIDI Player repository ###

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 )