Check out our latest project ✨ OpenChapter.io: free ebooks the way its meant to be 📖

Godot MIDI Player

An asset by arlez80
The page banner background of a mountain and forest
Godot MIDI Player thumbnail image
Godot MIDI Player thumbnail image
Godot MIDI Player thumbnail image
Godot MIDI Player image holder but it is empty

Quick Information

0 ratings
Godot MIDI Player icon image
arlez80
Godot MIDI Player

Embeddable Software MIDI Player for Godot Engine 3.4 and later.2.6.2 update:* Fixed text event parse bug2.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 AudioBus2.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 when running on debug build.2.5.2 update:* Added no_thread_mode for HTML5 env.2.5.1 update:* Fix crash when hot reload in the debug mode by save on the editor.2.5.0 update:* Use thread for sequence playing.Features:* 100% pure GDScript* Play Standard MIDI File format 0 and format 1 with SoundFont.* Emit signals on some MIDI events (changes tempo, lyrics, markers or something).* Receive raw midi messages* You can play procedural generate MIDI sequences.Demo:https://bitbucket.org/arlez80/godot-midi-player/downloads/demo.zipRepository:https://bitbucket.org/arlez80/godot-midi-player/Wiki:https://bitbucket.org/arlez80/godot-midi-player/wiki/

Supported Engine Version
3.5
Version String
2.6.2
License Version
MIT
Support Level
community
Modified Date
20 days ago
Git URL
Issue URL

Godot MIDI Player

README ko-fi

Software MIDI player library for Godot Engine 3.4 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 )

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 when running on debug build.

2.5.2 update:
* Added no_thread_mode for HTML5 env.

2.5.1 update:
* Fix crash when hot reload in the debug mode by save on the editor.

2.5.0 update:
* Use thread for sequence playing.

Features:
* 100% pure GDScript
* Play Standard MIDI File format 0 and format 1 with SoundFont.
* Emit signals on some MIDI events (changes tempo, lyrics, markers or something).
* Receive raw midi messages
* You can play procedural generate MIDI sequences.

Demo:
https://bitbucket.org/arlez80/godot-midi-player/downloads/demo.zip

Repository:
https://bitbucket.org/arlez80/godot-midi-player/

Wiki:
https://bitbucket.org/arlez80/godot-midi-player/wiki/

Reviews

0 ratings

Your Rating

Headline must be at least 3 characters but not more than 50
Review must be at least 5 characters but not more than 500
Please sign in to add a review

Quick Information

0 ratings
Godot MIDI Player icon image
arlez80
Godot MIDI Player

Embeddable Software MIDI Player for Godot Engine 3.4 and later.2.6.2 update:* Fixed text event parse bug2.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 AudioBus2.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 when running on debug build.2.5.2 update:* Added no_thread_mode for HTML5 env.2.5.1 update:* Fix crash when hot reload in the debug mode by save on the editor.2.5.0 update:* Use thread for sequence playing.Features:* 100% pure GDScript* Play Standard MIDI File format 0 and format 1 with SoundFont.* Emit signals on some MIDI events (changes tempo, lyrics, markers or something).* Receive raw midi messages* You can play procedural generate MIDI sequences.Demo:https://bitbucket.org/arlez80/godot-midi-player/downloads/demo.zipRepository:https://bitbucket.org/arlez80/godot-midi-player/Wiki:https://bitbucket.org/arlez80/godot-midi-player/wiki/

Supported Engine Version
3.5
Version String
2.6.2
License Version
MIT
Support Level
community
Modified Date
20 days ago
Git URL
Issue URL

Open Source

Released under the AGPLv3 license

Plug and Play

Browse assets directly from Godot

Community Driven

Created by developers for developers