ekeeke / Genesis-Plus-GX

An enhanced port of Genesis Plus - accurate & portable Sega 8/16 bit emulator
Other
672 stars 193 forks source link

Configurable Low-Pass Filter Filtering on Redbook CD Audio and PCM #514

Open CyberLabSystems opened 11 months ago

CyberLabSystems commented 11 months ago

Surely this can't be right? If I enable the low-pass filter it destroys all high frequencies in all audio including the CDDA channel and the PCM audio channel from the Sega CD PCM Chip.

Can the low-pass filter be a bit more selective in the channels it filters please?

ekeeke commented 11 months ago

CD audio (CDDA + PCM) is indeed first mixed to MD audio (FM + PSG) then low-pass filtering is applied on the mixed stream, just like it is done on real MD hardware when you get the audio from the console A/V ouput.

With real hardware, you could however also get the audio from the CD unit L/R stereo outputs (using a cable connected to MD mini-jack output), in which case MD low-pass filtering only applies to MD audio, which is then mixed to CD audio in the CD unit.

Note that there is still low-pass filtering applied in the CD unit, just less stronger on CDDA (there is a first low-pass filter at ~4KHz on PCM only and a second one at ~20KHz on the mixed audio stream before it goes out from L/R outputs).

Anyway, this is currently not emulated because it is more complex (the emulator and the library it uses for resampling are not really designed to apply mixing and filtering at different stages) and less optimized regarding CPU processing.

I left this issue open though as it would indeed be nice to have this option.

birdybro commented 11 months ago

Also, there are many combinations in the filtering and relative volume between all these different mixes of audio across the wide range of MegaDrive/Genesis hardware variations. So your experience growing up with how it sounded to you may not be identical to this. The MDFourier Project has shown that different combinations of different versions of both the MegaDrive/Genesis and the different versions of the SegaCD can lead to different sound balances. So it's pretty complicated. It's best to manage nostalgia's expectations ;)