mame
mame copied to clipboard
Williams CVSD incorrect sound mixing
There appears to be some form of loudness equalization being applied to games. It is especially noticeable with "Smash TV", the audio levels seam to change depending on what sound effects are playing and how loud they are.
There is now a limiter in the audio path so that drivers can no longer overdrive the mixer and produce popping and digital distortion. Fixing drivers not to trigger the limiter is a very large and ongoing project, and one we certainly would like to see pull requests for. Compile a build with DEBUG=1 and MAME will print information about when the limiter is kicking in and how much attenuation it's applying in the console it's launched from.
I think they'd get fixed more quickly if there was an ini option (on by default) that caused a popup even in release builds if the limiter was being hit. Barely anybody ever compiles DEBUG=1 these days unless something isn't working at all and the reason is unclear, while the majority of these reports are going to have to come from end users actually running the games and they never compile / use DEBUG=1
"Fixing drivers" should not be the whole focus of this project, since sound devices themselves may have improper volume scaling and adjusting driver configurations ad hoc is only a naive workaround for that. I proposed a fix for one such problem device in #7338.
Agreed, and I've fixed a few cases where the sound device itself was the problem.
Loudness Equalization There appears to be some form of loudness equalization being applied to games.
I fail to retrieve a valid requirement to leave this issue in open state as-is.
It is too broad and it is well known that sound volume mixing is an ongoing "epic / spike" process -> more suited to a sound project taskboard and/or automation test with the suggested DEBUG=1 compile flag instead.
OP mentions Smash TV as "example", maybe convert the issue title among the likes of "Smash TV has incorrect sound mixing", which could be down to possible Williams CVSD sound board unemulated filtering really (cfr. also the white noise sound output from DAC and 55516 even when game is supposedly silent :woman_shrugging: ).
It's fixed now.
On Thu, Jan 28, 2021 at 8:28 AM Angelo Salese [email protected] wrote:
Loudness Equalization There appears to be some form of loudness equalization being applied to games.
I fail to retrieve a valid requirement to leave this issue in open state as-is. It is too broad and it is well known that sound volume mixing is an ongoing "epic / spike" process -> more suited to a sound project taskboard and/or automation test with the suggested DEBUG=1 compile flag instead. OP mentions Smash TV as "example", maybe convert the issue title among the likes of "Smash TV has incorrect sound mixing", which could be down to possible Williams CVSD sound board unemulated filtering really (cfr. also the white noise sound output from DAC and 55516 even when game is supposedly silent 🤷♀️ ).
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/mamedev/mame/issues/7336#issuecomment-769205575, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMD7MXRZ4MFPHBGJIPZMD7LS4GGDLANCNFSM4SH4MXHQ .

It also badly crackles at POST, which may be down of unexpected init values being passed to the audio devices. I'm totally curious to know of what kind of audio filters formation the CVSD has really.
ETA: DC offset is the technical term. Slight but there:

(POST sequence up to 35s, start at 37s then 38s onward is start fanfare, 49s is stage 1 BGM mixed with player shoots)