Absent MIDIs, Stuttering OPL3 (.RAW/.IMF)
Moderator: GZDoom Developers
Forum rules
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.
Absent MIDIs, Stuttering OPL3 (.RAW/.IMF)
Since the removal of the FMod option in 2.1, Some midis refuse to play under the GM Wavetable.
Another Problem which emerged sometime between 2.1 and 3.2 is that OPL3 emulation became faulty when playing .IMF or .RAW files, causes stutters at random intervals.
I have provided a video with timestamps of the music played or attempted to be played on 2.0.05, 2.1 (Only MIDI) and 3.2
[youtube]https://www.youtube.com/watch?v=vmKKSshFAwU[/youtube]
Another Problem which emerged sometime between 2.1 and 3.2 is that OPL3 emulation became faulty when playing .IMF or .RAW files, causes stutters at random intervals.
I have provided a video with timestamps of the music played or attempted to be played on 2.0.05, 2.1 (Only MIDI) and 3.2
[youtube]https://www.youtube.com/watch?v=vmKKSshFAwU[/youtube]
- Graf Zahl
- Lead GZDoom+Raze Developer
- Posts: 49067
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: Absent MIDIs, Stuttering OPL3 (.RAW/.IMF)
The MIDI playback issues are outside GZDoom's control. The Windows synth just won't play them. Switch to another one, support for this is essentially deprecated because the system's implementation is broken beyond repair and Microsoft has shown no signs to fix this for over 10 years.
The OPL playback will require some investigation by someone with actual interest in that code and better knowledge of OPL in general. The OPL synth had to have some code replaced for licensing issues which I suspect to be at fault here.
The OPL playback will require some investigation by someone with actual interest in that code and better knowledge of OPL in general. The OPL synth had to have some code replaced for licensing issues which I suspect to be at fault here.
Re: Absent MIDIs, Stuttering OPL3 (.RAW/.IMF)
Well that's a shame about the MIDIs. Is there a possibility of getting OpenAL to play midis like FMod did? Even when FMod was in place and GM Synth worked, if I were to play those two midis I demonstrated through it, the synth of Windows 7+ would just cut some of the notes off because there's too many voices; FMod as well as XP's Synth didn't cut those notes off.
- Graf Zahl
- Lead GZDoom+Raze Developer
- Posts: 49067
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: Absent MIDIs, Stuttering OPL3 (.RAW/.IMF)
OpenAL has no native MIDI playback. You will have to choose one of the other synths.
And yes, the Win 7 synth is broken. But it's outside of out control.
And yes, the Win 7 synth is broken. But it's outside of out control.
Re: Absent MIDIs, Stuttering OPL3 (.RAW/.IMF)
Well that's too bad... While on the topic of OPL, you could possibly use AdPlug's Library for OPL playback, as it's free and offered on github. Its last update was less than a couple of weeks ago.
- Chris
- Posts: 2942
- Joined: Thu Jul 17, 2003 12:07 am
- Graphics Processor: ATI/AMD with Vulkan/Metal Support
Re: Absent MIDIs, Stuttering OPL3 (.RAW/.IMF)
If OpenAL offered native MIDI playback, it would essentially be yet another softsynth (though given the choices between FluidSynth and Timidity, that may not be a horrible idea if the rendering quality is up to snuff).
From my reading of their readme, it seems like AdPlug uses DOSBox's OPL synth which GZDoom already includes. Does it add much on top of it?Phoebe Tootfield wrote:Well that's too bad... While on the topic of OPL, you could possibly use AdPlug's Library for OPL playback, as it's free and offered on github.
Re: Absent MIDIs, Stuttering OPL3 (.RAW/.IMF)
AdPlug does add something by offering playback of a greater variety of file types than just .IMF and .RAW, such as an Adlib Tracker 2 or a LOUDNESS Sound System (Tyrian) file. AdPlug also supports separate .BNK and .REF files for each track, although I'm not sure if GZD already supported that with IMF files, or plain MIDI if played through OPL Synth.
- Graf Zahl
- Lead GZDoom+Raze Developer
- Posts: 49067
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: Absent MIDIs, Stuttering OPL3 (.RAW/.IMF)
It also does not mix well with ZDoom's MIDI player.
Re: Absent MIDIs, Stuttering OPL3 (.RAW/.IMF)
Apparently, either certain or all SysEx events prevent midis from playing on ZDoom through the GS Wavetable, and deleting said events from the songs allow them to play. That doesn't stop the Wavetable from turning the songs into trash though...
Re: Absent MIDIs, Stuttering OPL3 (.RAW/.IMF)
I have found this to be true. Take this MIDI from Duke3D (SPOOK.MID) which refuses to play in GZDoom with the MIDI device set to GS Wavetable (it seems to do fine in other devices, mind).Ursula Lightdale wrote:Apparently, either certain or all SysEx events prevent midis from playing on ZDoom through the GS Wavetable, and deleting said events from the songs allow them to play. That doesn't stop the Wavetable from turning the songs into trash though...
https://www.dropbox.com/s/ywzn9u5kkfpn1 ... K.MID?dl=1
Here is a fixed version of that same MIDI. I removed the SysEx messages from it and found that it played on the GS Wavetable device.
https://www.dropbox.com/s/a6uct6idqtb1k ... x.MID?dl=1
You do have to be careful with this though, and ensure to relisten to the MIDI after deleting the messages. I found with this MIDI that I had to enter the Event List window of my MIDI program to delete one of its two SysEx events from there first, and then delete the remaining one in the program's SysEx window. Apparently the timing of certain instruments is dependent on these messages, hence how I ended up with this botched version of the MIDI:
https://www.dropbox.com/s/40noi2s4kv492 ... d.MID?dl=1
...where the lead melody enters one quaver before it should and is off-rhythm for the entire piece. This resulted from me deleting the two messages from the SysEx window before doing so from the Event List window. I'll have to experiment some more.
Re: Absent MIDIs, Stuttering OPL3 (.RAW/.IMF)
Forgive me for pulling this totally off topic, but are those screenshots from Voyetra Orchestrator for Win 3.x?
Re: Absent MIDIs, Stuttering OPL3 (.RAW/.IMF)
Cakewalk Express, but yeah, for Win 3.x.
Re: Absent MIDIs, Stuttering OPL3 (.RAW/.IMF)
I didn't get how is a bug in GS Wavetable related to removal of FMOD? Sound backend isn't used for music playback in this case.
GZDoom 3.2.4 doesn't play some MIDIs in exactly the same way ZDoom 2.8.1 (or any other version) doesn't play them.
As for the second bug report, please provide file(s) to work with.
I would like to have the exact steps to reproduce in order to replicate and fix the problem.
BTW reporting more than one issue in the same topic is always bad idea.
GZDoom 3.2.4 doesn't play some MIDIs in exactly the same way ZDoom 2.8.1 (or any other version) doesn't play them.
As for the second bug report, please provide file(s) to work with.
I would like to have the exact steps to reproduce in order to replicate and fix the problem.
BTW reporting more than one issue in the same topic is always bad idea.
- Chris
- Posts: 2942
- Joined: Thu Jul 17, 2003 12:07 am
- Graphics Processor: ATI/AMD with Vulkan/Metal Support
Re: Absent MIDIs, Stuttering OPL3 (.RAW/.IMF)
FMOD has a MIDI softsynth. When FMOD was removed, GZDoom then defaulted to Windows' MIDI device, which is typically the GS Wavetable synth._mental_ wrote:I didn't get how is a bug in GS Wavetable related to removal of FMOD?
Re: Absent MIDIs, Stuttering OPL3 (.RAW/.IMF)
I forgot that there was a release with FMOD removed but without FluidSynth as the default MIDI player.
Switching to it manually is a really good idea in this case.
Switching to it manually is a really good idea in this case.