Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RPG_RT bug: Volume setting ignored when playing some notes from a midi not replicated in the Player #2995

Open
Mimigris opened this issue May 8, 2023 · 2 comments

Comments

@Mimigris
Copy link

Mimigris commented May 8, 2023

Player platform:

Windows, 64 bits version 0.8.0 of the Player.

Attach files (as a .zip archive or link them)

2003 Lonesome Journey by morusque from the OpenRTP, or 2003Silence from the 2k3 RTP.
2003Lonesome Journey.zip

Describe the issue in detail and how to reproduce it:

When playing this music in the RPG_RT, some notes will play at a specific volume and will ignore the Volume set in the Play BGM command (these notes can even be heard when the BGM is set to 0%). This odd bug is currently not replicated in the Player.

@Mimigris
Copy link
Author

Mimigris commented Dec 16, 2023

I've been trying to search a bit to see what could be the exact issue lately, unfortunately I'm not a composer and I'm not used to MIDI programs, but I've tried what I could:

For these two MIDI, the volume of the channel that plays even when the in-game volume of the track is set to 0% is not defined when the instrument is played (for 2003 Lonesome Journey it is never defined in said channel, while for 2003Silence the volume is defined just after the start of the first note, making it only be able to be heard once and for a very short amount of time).
This allows said issue to happen, but it is not the only reason on why this issue exists: this alone doesn't seem to be the cause for the issue, since with just that I'm not able to replicate it on other tracks.
From what I've tried, my guess is that the SysEx command F0 41 10 42 12 40 00 7F 00 41 F7 (used in both tracks) has to do something with it, since removing it from the MIDI make the issue disappears and that I'm able to replicate this issue by pasting this SysEx in another MIDI and removing the volume of a specific channel.

Now, a bit of an update on this issue: Since the listing of this issue that was made around the release of version 0.8.0 of the Player, several updates to how MIDI files are handled were made to the Player, and this changed how the issue affects the Player.
Now, this bug is replicated in the Player for the Fluidsynth, Native Midi and FMMidi parts, but not for WildMidi.

Also, old versions of the RPG_RT using the old harmony part for handling MIDI files behave a bit randomly when playing a file like that: sometimes more instruments than what should be played are played, sometimes some instruments are using an incorrect instrument...

@Ghabry
Copy link
Member

Ghabry commented Apr 1, 2024

If only WildMidi is affected I think this is resolved?

The problem with the sysex command (and a test case) could be reported to the WildMidi repository.

WildMidi uses its own sequencer - We are not sending MIDI events to it, so we have no control about how it plays anything.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

2 participants