Godot: Add MIDI playback support

Created on 19 Oct 2017  路  6Comments  路  Source: godotengine/godot

Hey guys,

Got another feature request for you all:

I'd like to see MIDI support in the players. That would be awesome. They make the games sound retro and they take up a smaller file size. Not to mention, they can be composed with programs like Musescore. I think MIDI support would be a great addition to the gaming platform you guys already have.

Thanks again for this awesome tool.

archived feature proposal core

Most helpful comment

The MIDI format by itself does not output sound, only notes, which are sent through a midi service that will play the appropriate instrument and note in a soundfont, which Windows provides by default, but other platforms don't (but it's configurable).

With that in mind, as Godot is a cross-platform engine, MIDI support would not work the same on all platforms... But I dunno, maybe someone has a better idea that covers that situation. There used to be MOD files support in 2.1 at some point, but apparently it was removed?

All 6 comments

The MIDI format by itself does not output sound, only notes, which are sent through a midi service that will play the appropriate instrument and note in a soundfont, which Windows provides by default, but other platforms don't (but it's configurable).

With that in mind, as Godot is a cross-platform engine, MIDI support would not work the same on all platforms... But I dunno, maybe someone has a better idea that covers that situation. There used to be MOD files support in 2.1 at some point, but apparently it was removed?

It doesn't need to be played by the OS though. MIDI is much more than that. Providing soundfont assets support would make the feature complete IMO. Also I'd say that the two only advantages here are indeed file size reduction, but also interesting interoperability for music games ("retro" being doable without MIDI, or by choosing appropriate soundfont).

Wouldn't bundling the soundfount increase the size of the game significantly? FluidR3 GM for example is 150MB, so if the game had six songs in high quality OGG it would be roughly 60MB total. Unless the game has a lot of songs, or the soundfont is just a selection of the used instruments.

@manokara it all depends how you make the soundfont, they can be very small if sounds are cheap and tailored to your needs (like MOD does by embedding the soundfonts in file, I think?). I was making the comment because forcibly relying on the OS would be limited and unreliable if only one use case is considered.

Also I did a search, MIDI was already asked here https://github.com/godotengine/godot/issues/6628, althought the use case was slightly different

it would be so cool if there was some facility for this (i don't care about soundfonts myself, just the midi)

it's also especially cool educationally, java had built in midi systems for this reason..... so i see that non-music people likely wonder why the hell people even want this stuff

Feature and improvement proposals for the Godot Engine are now being discussed and reviewed in a dedicated Godot Improvement Proposals (GIP) (godotengine/godot-proposals) issue tracker. The GIP tracker has a detailed issue template designed so that proposals include all the relevant information to start a productive discussion and help the community assess the validity of the proposal for the engine.

The main (godotengine/godot) tracker is now solely dedicated to bug reports and Pull Requests, enabling contributors to have a better focus on bug fixing work. Therefore, we are now closing all older feature proposals on the main issue tracker.

If you are interested in this feature proposal, please open a new proposal on the GIP tracker following the given issue template (after checking that it doesn't exist already). Be sure to reference this closed issue if it includes any relevant discussion (which you are also encouraged to summarize in the new proposal). Thanks in advance!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

timoschwarzer picture timoschwarzer  路  3Comments

nunodonato picture nunodonato  路  3Comments

SleepProgger picture SleepProgger  路  3Comments

blurymind picture blurymind  路  3Comments

EdwardAngeles picture EdwardAngeles  路  3Comments