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.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.2.4.7 update:* Fixed affected key_shift for drum track.* Fixed attack/decay.2.4.6 update:* Fixed some problem with velocity range and key range2.4.5 update:* Added some drum track assign group.2.4.4 update:* Fixed occured error that set to volume_db before _ready( )2.4.3 update:* Added some signals (resets, etc...)* Improved reuse player finding method2.4.2 update:* Fixed hold1 (sustain/dumper pedal) behavior.* Update demo project.2.4.1 update:* Changed GodotMidiPlayer super class to Node2.4.0 update:* Signal only mode when MidiPlayer.soundfont is nullFeatures:* 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.4
Version String
2.5.5
License Version
MIT
Support Level
community
Modified Date
2 years 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.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.

2.4.7 update:
* Fixed affected key_shift for drum track.
* Fixed attack/decay.

2.4.6 update:
* Fixed some problem with velocity range and key range

2.4.5 update:
* Added some drum track assign group.

2.4.4 update:
* Fixed occured error that set to volume_db before _ready( )

2.4.3 update:
* Added some signals (resets, etc...)
* Improved reuse player finding method

2.4.2 update:
* Fixed hold1 (sustain/dumper pedal) behavior.
* Update demo project.

2.4.1 update:
* Changed GodotMidiPlayer super class to Node

2.4.0 update:
* Signal only mode when MidiPlayer.soundfont is null

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.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.2.4.7 update:* Fixed affected key_shift for drum track.* Fixed attack/decay.2.4.6 update:* Fixed some problem with velocity range and key range2.4.5 update:* Added some drum track assign group.2.4.4 update:* Fixed occured error that set to volume_db before _ready( )2.4.3 update:* Added some signals (resets, etc...)* Improved reuse player finding method2.4.2 update:* Fixed hold1 (sustain/dumper pedal) behavior.* Update demo project.2.4.1 update:* Changed GodotMidiPlayer super class to Node2.4.0 update:* Signal only mode when MidiPlayer.soundfont is nullFeatures:* 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.4
Version String
2.5.5
License Version
MIT
Support Level
community
Modified Date
2 years 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