Mike Stu Posted September 5, 2022 (edited) Hey fellas. Finally got around playing through Ancient Aliens. Chose Eternity to get those sweet ACS sound effects and I'm having a blast so far. One problem tho: I get a random glitch where audio seemingly "desyncs" and the game just starts gutting the MIDIs. It sounds as if the sound engine is tripping on itself and racing to catch back up. This is not consistent and I cannot easily reproduce it. It will only work normally again after a system restart. There is also another issue: ENDOOM does not show up sometimes - instead, I get a black screen. I don't think these issues are related, since I can have one without the other (although all instances of the audio issue have being accompanied by the ENDOOM issue as well). Any ideas on what might be happening here? Any help is appreciated. Additional info below: Using Windows 10. I'm on the August 12 DRD build for 64-bit systems (Eternity-x64-4.03.00-pre-818-ga917fc13). Running Eternity through Doom Launcher. Issues are not Ancient Aliens related. Been able to reproduce them in Ultimate Doom as well. I use Virtual MIDI Synth with the Griefus SC-55 soundfount. Cheers 0 Share this post Link to post
Edward850 Posted September 5, 2022 (edited) 1 hour ago, Mike Stu said: One problem tho: I get a random glitch where audio seemingly "desyncs" and the game just starts gutting the MIDIs. It sounds as if the sound engine is tripping on itself and racing to catch back up. This is not consistent and I cannot easily reproduce it. It will only work normally again after a system restart. The fact that it's a system static issue that doesn't recover until a reboot means the problem is actually with virtual midi synth (remember, eternity stops existing in memory the moment you close it, including its sound mixer, and restarting the application would cause all things to reset). I would suggest changing the midi player to ADLMIDI in the settings and seeing if the problem persists. 1 Share this post Link to post
Mike Stu Posted September 6, 2022 Still testing it, but it does appear that switching to ADLMIDI fixed the audio issues, thanks. Wonder why Virtual MIDI Synth is only acting up with Eternity, but eh, what can ya do. Any thoughts on what may be happening with ENDOOM? 0 Share this post Link to post
Edward850 Posted September 6, 2022 Not personally. I don't think I've encountered that before. 0 Share this post Link to post
Altazimuth Posted September 25, 2022 If you're using a recent enough build it should be fine, as it's using native MIDI and doing playback within Eternity instead of using midiproc. @rfomin have you ran into any reports of similar issues for other projects that base their Windows MIDI playback on your code? 0 Share this post Link to post
rfomin Posted September 25, 2022 38 minutes ago, Altazimuth said: @rfomin have you ran into any reports of similar issues for other projects that base their Windows MIDI playback on your code? No, VirtualMIDISynth works fine for me and others as far as I know. By the way, @ceski find out SDL_Mixer volume curve: https://github.com/chocolate-doom/chocolate-doom/pull/1508 0 Share this post Link to post
ceski Posted September 26, 2022 (edited) Interesting, I didn't know Eternity uses Windows MIDI code that's similar to other source ports. @Mike Stu I have an idea of what could be causing your problems. Give this test version a try, if you don't mind: Eternity-x64-MIDI-Test.7z (Changes) 1 Share this post Link to post
ceski Posted September 26, 2022 (edited) I probably should have looked at the date of this thread first, oh well. A few things I noticed, for future readers: Version history for VirtualMIDISynth: v.2.13.2 - 2022-09-08 Disabled BASS_MIDI_ASYNC flag in MIDIConverter to avoid volume issues. v.2.13.0 - 2022-08-06 Added support to asynchronous MIDI events processing (BASS option BASS_MIDI_ASYNC) to improve MIDI rendering timing precision. 1 Share this post Link to post
Mike Stu Posted September 27, 2022 (edited) 7 hours ago, ceski said: I probably should have looked at the date of this thread first, oh well. Aha! I actually tested your build like 40 minutes after you posted it. Just wanted to give it further testing before commenting here to avoid giving you a false positive. I take it the recent update to Virtual MIDI Synth changed things around a bit and that incidentally messed up Eternity's setup, ya? So far, the issue seems to be completely gone in your build. Thanks a ton for going the extra mile! Hopefully this will be useful to others as well. :) 0 Share this post Link to post
ceski Posted September 27, 2022 Yeah, there's a possibility that the way you have those settings tuned, and after the updates, means that VirtualMIDISynth could be working better now. The changes I made to Eternity are a sledgehammer approach to make sure that every level starts with a clean slate for MIDI. Hopefully you'll continue having good results. I'll probably make a cleaned up version of the changes as a pull request in the future. I was in the middle of some MIDI updates for some other source ports and it looks like Eternity could benefit as well, so that's cool. 2 Share this post Link to post
Mike Stu Posted September 28, 2022 (edited) Hi! Quick update: noticed the issue once again in Map 25 of Ancient Aliens, although to a much lesser extent - game was even able to get back to the way the MIDI is supposed to sound after a few seconds. I reinstalled Virtual MIDI Synth 2.13.2 and gave it another go to be sure. So far, it's working flawlessly again. I do wonder why I'm only noticing this in Eternity as it is seemingly an issue with Virtual MIDI itself tho. At this point I'm willing to accept it is just a freak case on my system's end. On a side note: ENDOOM issue is incidentally gone as well. ¯\_(ツ)_/¯ 0 Share this post Link to post
ceski Posted September 30, 2022 Something else to try: VirtualMIDISynth's output buffer is 250 ms by default. Set it as low as possible without crackling. Start with around 50 ms. 1 Share this post Link to post
Mike Stu Posted October 1, 2022 Welp, finished Ancient Aliens and the issue did not happen again - calling it case closed for now. On a side note, seeing some folks reporting a similar issue on the Woof! thread. May well be related with the Virtual MIDI shenanigans. 1 Share this post Link to post