EasyRPG / Player

RPG Maker 2000/2003 and EasyRPG games interpreter
https://easyrpg.org/player/
GNU General Public License v3.0
965 stars 183 forks source link

Many MIDI files do not play correctly #2832

Open EphraimBane opened 1 year ago

EphraimBane commented 1 year ago

I have found many instances of MIDI files that do not play correctly, mostly from the game Yume 2kki. Examples include the music for Dream Park that just doesn't load at all and the music for the Intestines Maze that is supposed to be a long drone, but is not.

carstene1ns commented 1 year ago

Thank you for deleting the template, this makes it really easy to help you...

MIDI is unfortunately a complex task, so we need to know which platform you are running the Player on and which library/soundfont/etc is used. All these variables can make the playback very different to what RPG_RT on windows does sounds like.

Mimigris commented 1 year ago

I have found many instances of MIDI files that do not play correctly, mostly from the game Yume 2kki. Examples include the music for Dream Park that just doesn't load at all and the music for the Intestines Maze that is supposed to be a long drone, but is not.

The Dream Park music work fine on my side with Easy RPG, so you are probably using an older version or wrong settings. The Intestine Maze sound a bit different between playing in RPG Maker 2k and Easy RPG Player when I've tested, so your issue is still relevant for this.

fdelapena commented 1 year ago

The Intestine Maze sound a bit different between playing in RPG Maker 2k and Easy RPG Player when I've tested, so your issue is still relevant for this.

@Mimigris regarding the difference you mentioned, did you test by placing a sf2 file renamed as easyrpg.soundfont (.soundfont extension instead of .sf2) like this or just on Windows (native midi)? continuous build or 0.7.0?

Mimigris commented 1 year ago

@Mimigris regarding the difference you mentioned, did you test by placing a sf2 file renamed as easyrpg.soundfont (.soundfont extension instead of .sf2) like this or just on Windows (native midi)? continuous build or 0.7.0?

I've tested on a continuous build on Windows, without adding a specific soundfont file. The MIDI seems to loop badly on EasyRPG Player, there's a small pause at the end of the music that is not present when playing with the RPG_RT.

Ghabry commented 1 year ago

Harmony (the Audio engine in RPG_RT) does some kind of silence skipping.

Maybe the same happens at the end of a file?

Can somebody make a midi with lots of silence at the end and test this?

fdelapena commented 1 year ago

Related documentation for initial skipping: https://github.com/EasyRPG/Player/issues/2584#issuecomment-903656425

MIDI players/editors seem to consider the total MIDI length when all event lengths end, but it could be just for note events in case of harmony when looping (or returning sooner for the inn special case) as you point. However, it would be nice to check cases with commands (even SysEx) that do some "all notes off" or similar, if any.

Is there a MIDI file to be attached as zip for analyzing it with Sekaiju?

Ghabry commented 1 year ago

@Mimigris can you upload the problematic midi files?

Mimigris commented 1 year ago

@Mimigris can you upload the problematic midi files?

Here are the files mentioned in this issue (through a zip file since I can't directly send .mid on Github.). MIDI files issue.zip