A weird problem i have with openbor (sound issue)

For anyone not familiar, here’s a bit of explanation on why 8‑bit audio sounds so bad (and why it isn’t OpenBOR’s fault):

When you hear “8‑bit vs. 16‑bit,” it’s tempting to think 16‑bit is just twice as good. That’s not how audio works.

Digital sound is made by slicing up smooth analog waveforms into steps. Imagine trying to trace a perfect curve using a staircase. The more steps you have, the closer it resembles the original shape. Fewer steps? You get something jagged, rough, and obviously fake.
  • 8‑bit audio gives you just 256 possible volume levels per sample. Every piece of sound gets snapped into one of those limited "stair steps." The result is harsh jumps, noticeable distortion, and noise.
  • 16‑bit audio gives you 65,536 levels within the same range. Now the steps are so fine that they effectively trace the curve smoothly. This is where audio starts sounding natural and clean, without the digital harshness.
So when OpenBOR plays an 8‑bit sound file, it isn’t degrading the quality. It’s playing it exactly as it was stored - warts and all. Retro consoles pulled it off because their composers and engineers knew how rough the format was. They layered effects, filtered frequencies, and carefully mixed every sound to mask the limitations (and if you go back and listen to it played through high fidelity equipment - it's still trash). Your average modern fan creator isn't doing that, which is why it sounds raw, crunchy, and unpleasant.

To make it worse, 8‑bit audio is often paired with low sample rates - so not only is the resolution garbage, the sound is being captured in fewer snapshots per second too. It’s like recording a concert with a toy microphone through a tin can.

TLDR: 8‑bit audio isn’t “half as good” - it’s a drastically lower-quality format that was only tolerable because of clever design and limited playback hardware. 16‑bit is where audio begins to sound like real, smooth sound.

PS: Before someone jumps on me and starts waxing about how great old school music and sounds were - yes, I know - but we're talking about sampled playback. Those were synthesized tone generation, which is a totally different discussion.

DC
 
Welcome to the community @dobbsdobbs. The problem you have is likely due to the choice of sound file by a lot of creators.

In particular, 8bit depth samples tend to produce a pop, click, or other annoyance on playback that the music normally obfuscate.

There are some things we can do here and there in the sound mixing (and just did today in the private development thread).

Unfortunately there's nothing at all we can do retroactively. Allow the BGM to play as the creators intended, or just learn to live with it.

DC
Thanks for the reply. In fact, yes, having the BG music at high volume helps masking the clipping/noises. But surely there are
players who prefer to play without BGM? actually at least for me and in my system is impossible to play because the clicking
noises are too high. Some say is not an engine problem or issue. I dont know, it seems like 99% of the players
dont mind about that noises sadly.
 

thats the noise, clipping, distortion sound problem i have, wheres that come from?
This is really strange, mainly considering that this game is a modification of my SOR2X game and I never had this issue before.
Please, try my SOR2X or SORX and see if the issue persists. Since every game you play has this problem, it may be related to the device you are using.
 
This is really strange, mainly considering that this game is a modification of my SOR2X game and I never had this issue before.
Please, try my SOR2X or SORX and see if the issue persists. Since every game you play has this problem, it may be related to the device you are using.

Thanks for your reply.

I have just tested your Streets of Rage X.

All worked fine, no noises, no clippings, no distortions, all fine.
 
Tested the game with no music and the issue didn't happen on my PC.
Maybe the file you are using has some corrupted sound files, I suggest downloading it again to confirm.
You can also delete your save files.

 
Tested the game with no music and the issue didn't happen on my PC.
Maybe the file you are using has some corrupted sound files, I suggest downloading it again to confirm.
You can also delete your save files.


Thanks for the reply. But I have tested that before and the problem persist.

Is not only happening in that particular game but in 90% of the games i try to play in openbor.

The other 10% doesnt show that problem.

I believed it was an openbor engine issue or something like that. Is very strange.
 
I believed it was an openbor engine issue or something like that
Friend, if that were an engine issue, the same problem should happen in my device too.
Like you mentioned, most games you play have this issue and it is indicating that there's a common cause between all games you play, which send us for maybe your device.
I can test other titles if you want to confirm this.
 
I tested the same game and no issues:

I also tested it on my projects (which use the 6391) and had no problems.

But I remember seeing this issue in the past, I just can't remember how long ago. I say this because I've had the same machine since 2022, and I think this was on the old machine, where I ran OpenBOR via Wine on OSX or as a second OS on a Mac.
 
@dobbsdobbs : I also have a person who reported this problem with some SFX that came out as a beep when it was running the Golden Axe Remake game (while at home, I didn't encounter this problem in 4.0 7612).

The fact that all the sounds were switched to 16bit 44100Hz CD quality solved this annoying noise problem.
 
I've already fixed this and addressed the confusion in a GitHub ticket. Here's the explanation:

I've been looking this over, and it is essentially what I suspected - an artifact in OpenBOR's handling of 8-bit sound files. Those really shouldn't be used anymore, but many older projects still rely on them. I'm tracing it further to see what can be done without breaking compatibility.

Edit: I think I have it. OpenBOR - as intended - loads 8-bit sounds as unsigned PCM, where silence is 0x80 (128), not zero. The mixer then applies volume scaling before subtracting the centering offset:

((sample << 8) * volume / MAX_SAMPLE_VOLUME) - 0x8000

This is not a mixer regression and it has nothing to do with your OS or drivers - the calculation has never changed, only the default volume. At full volume - which older builds defaulted to, the calculation happens to center the sample correctly. At lower volumes, the sample value shrinks while the full 0x8000 offset remains. At zero volume, an active 8-bit sample still contributes a negative DC offset instead of silence. Starting and stopping that channel produces the pop, which is why turning the volume down makes it worse.

I have half a mind to drop 8-bit support entirely, but we'll keep it for now. I'll push a patch that centers the unsigned sample before applying volume scaling.

The fix has since been implemented in 4+. It's important to note, this is not, despite every appearance, a bug introduced in any particular build. It is an oversight from the earliest engine versions that changes in default volume settings exposed, not a new regression and not something caused by your operating system, drivers, or sound hardware.

The takeaway is simple: Upgrade to 4+ or stop using 8-bit samples. There's no reason for creators to continue producing them. Convert existing samples to 16-bit PCM. This won't magically improve the fidelity of an original 8-bit recording, of course, but it will eliminate the pops.

Just as importantly, don't do what seems intuitive and turn down the in-game sound effects volume. With the old mixing behavior, that actually makes the problem worse.

DC
 
Back
Top Bottom