Build 2398/2399: Music volume alters sound volume

Adjusting the music volume also alters the sound volume, completely silencing the music output silences the sound output too. Both stable and unstable builds 2398 and 2399 (32/64 bit) are affected. I tried all possible music/sound path combinations (FMOD, SDL, OpenAL, DirectSound, Windows Multimedia), altering the volumes via menu slider and console commands, both from the launcher and the in-game start menu, relaunching Doomsday after changing the audio setup, all to no avail.

Also MIDI music output appears to be working only with the SDL_mixer, FMOD and Windows Multimedia only outputs some drum/percussion artefacts, but no actual music replay.

Running Windows 10 x64 Creators Edition here.

Comments

  • I'll see if I can reproduce this on my Windows 10 machine.

    However, right now I can't think of any recent audio changes that would affect both the 2398 (stable) and 2399 (unstable) builds.

    What kind of audio setup/chipset/hardware is your computer using?
  • edited 2017 Aug 18
    Using a Soundblaster ZxR here.

    To narrow the root of the bug further down I just tested several of the older builds with following results:
    • 1704 working
    • 1857 working
    • 2281 working
    • 2311 working
    • 2359 broken
    • 2365 broken
    • 2372 broken
    • 2398 broken
    • 2399 broken

    Conclusion: With build 2359 onwards music volume control is broken for me, all previous builds do work fine here. So I guess with the release of v2.1 about 2 month ago you made some changes to the sound code that broke something, at least for me.

    EDIT:
    Just noticed that build 2359 64-bit is missing the fmod libraries, and from build 2359 onwards the libraries were changed from FMOD-Ex to the FMOD low level api.
  • Ah yes, the FMOD switch could certainly be the culprit here. Although, the stable 2.0 builds (like 2398) should be still using FMOD Ex... I will investigate.
  • edited 2017 Aug 18
    I just re-checked the build 2398 32/64 bit downloads and both include the FMOD low level api, not FMOD-Ex.

    Let me know if I can be of any further help investigating and solving the issue.
  • Hi skyjake, do you have any update on this?

    I know that FMOD EX was discontinued and replaced by the FMOD low level API by its developer. As an interim solution, can you re-enable the FMOD-EX sound path, along with the fmod-ex binaries from Doomsday build 2311?

    Currently it's difficult to play with the music sound level being so high that I often overhear acoustical hints for secret walls opening/closing, which is key to the DOOM game play. Also at times the music provided with add-on WADs can get quite annoying when the volume cannot be altered. The only workaround to this is to use the console command "stopmusic", but that ruins a great deal of the atmosphere.
  • When testing this, at first everything was working perfectly, but after switching between the stable and unstable versions a couple of times I managed to replicate the problem.

    Something might be going wrong in Doomsday's audio interface setup. I'll take a closer look.

    When it comes to FMOD Ex, it is still used in the stable builds. Once the problem started appearing for me, it affected both the stable and unstable versions, which leads me to believe the source of the bug is in Doomsday's code and not in which version of FMOD is being used.
  • edited 2017 Sep 3
    I did a bit of testing and found out that the problem appears to be in the SDL_mixer audio. I deleted the FMOD plugin completely so that only SDL_mixer is being used, and the music volume setting still acts as a master volume that affects SFX as well.

    EDIT: As far as I can tell, this is a bug in the Windows version of SDL_mixer MIDI output. The API function that is used for adjusting music volume behaves like a master volume setting that affects all audio. This bug coincides with the FMOD upgrade because SDL_mixer was enabled as a fallback for MIDI, because the new FMOD wouldn't play MIDI correctly on Windows.

    I'll have to figure out a workaround of some sort. One option is disabling SDL_mixer music on Windows and switching back to the old FMOD Ex plugin (although relying on obsolete libraries is not a wise idea).
  • edited 2017 Sep 3
    Thanks for the detailed update, skyjake. Thankfully you found the root of the issue. I just tested v2.03 build 2435 64-bit (which uses FMODEX64) and I can confirm that this build allows me to adjust sound and music volume independently.

    My suggestion to re-enable FMOD-Ex was meant as a temporarily solution only until the issue would be solved, because for me this is a reason to avoid the 2.1 development branch until further.

    Say, can you add support for the DOOM BFG-Edition to the stable branch, currently it is only available in the development branch?
  • deus-ex wrote: »
    Say, can you add support for the DOOM BFG-Edition to the stable branch, currently it is only available in the development branch?
    As a rule, I'm only doing bug fixes for stable branches. Adding the BFG game modes includes changes that are a bit too involved (e.g., new game modes, changes to view bobbing height).
  • I fully accept your rule of course. I just wanted to make sure whether it would be feasible and reasonable.
  • With build 2443 you added FluidSynth as the new default path for MIDI music output. I tested build 2444 and happily noticed that I can alter the music and sound volume independent from each other again.

    FluidSynth, including the ability to use indivdual soundfonts, is a great addition to the Doomsday's code base. Though I have to get used to the different sound of the MIDI music recreation. I'm going to try different sound fonts to see whether the experience can be further improved for me.

    What is the status regarding the SDL_mixer issue, did you have any success?
  • deus-ex wrote: »
    I'm going to try different sound fonts to see whether the experience can be further improved for me.
    The choice of soundfont affects the experience quite a lot. I'm usually using a high-quality commercial soundfont myself, but for a more retro feel a small 2MB or 4MB GM soundfont is also nice.
    What is the status regarding the SDL_mixer issue, did you have any success?
    Not yet. I haven't had too much time to investigate but what I've seen so far, something is changing the wrong Windows mixer settings when adjusting Doomsday's music volume. It could be a bug in SDL_mixer or some indirect effect within Doomsday that has thus far eluded me. I'll put this in the backburner for now...
  • skyjake wrote: »
    ...for a more retro feel a small 2MB or 4MB GM soundfont is also nice.
    Yes, I can confirm. My goal was to keep the MIDI sound as close as possible to the original that I'm used to. I tried a couple soundfonts in Doomsday, from very small (Roland SC-55, 25 MB) to quite huge (Musyng, 1.6 GB).

    I also have a soundfont created on my own (~1 GB), consisting of carefully selected and edited instruments derived from many soundfonts that are freely available around the web. But I cannot use it with Doomsday, because my soundfont is not stored as a single file. Instead it consists of several individual SF2 files which allow for easier maintenance, i.e. for testing and exchanging instruments on the fly. The soundfont order and their volume settings are maintained within my MIDI player.

    The only soundfont I found to recreate the Doom MIDI retro sound is Rich Weed's General MIDI SoundFont v3.0, which was created exactly for the purpose to be used in DOOM.

    But I still wasn't quite satisfied with the result. Then I figured that FMOD and SDL also require a soundfont in order to recreate the MIDI music, and I remembered that they make use of the file GM.dls which is distributed with Windows.

    Since FluidSynth also supports DLS I gave it a try, interestingly the result was horrible. It created the same broken MIDI sound output that I reported in my first post above, when trying to use the FMOD or Windows Multimedia path in Doomsday to fix the music/sound volume issue. Then I converted GM.dls to the SF2 format. Now it works flawlessly and it provides the same retro MIDI sound I'm used too from the stable Doomsday builds.

    As a conclusion for you to take away is the information that FluidSynth's DLS soundfont support appears to have flaws. But it's probably not worth further investigating as the DLS format has been superseded by the SF2 format since long anyway.

    skyjake wrote: »
    The choice of soundfont affects the experience quite a lot. I'm usually using a high-quality commercial soundfont myself...
    So which commercial soundfont are you using, if I may ask?
  • deus-ex wrote: »
    Since FluidSynth also supports DLS I gave it a try, interestingly the result was horrible. It created the same broken MIDI sound output that I reported in my first post above, when trying to use the FMOD or Windows Multimedia path in Doomsday to fix the music/sound volume issue.
    Hmm, I'd have to double-check but it can certainly be that only SF2 soundfonts result in FluidSynth being used by Doomsday while DLS is still going to FMOD.
    So which commercial soundfont are you using, if I may ask?
    Nothing too fancy. It's called Utopia Live, and it must be 15 years old by now. Back in the day I had a Sound Blaster Live and I used to compose some MIDI tracks as a hobby. The Utopia Live was tailor made for that sound card. I still like how it sounds.
Sign In or Register to comment.