Genesis Plus GX, Where is the Audio Lowpass Filter?


#7

HighShelfDampen, yep this is the one I use too with slight tweak in the frequency and gain in the configuration file of it to mach with the model 1 recordings.
But once again, it applies to all cores that don’t need it like n64 and psx.
An option for audio dsp filter preset per core would be a good solution too.


#8

Can you share your settings for HighShelfDampen please?


#9

Just add the line in an override config manually, that should work.


#10

Added line where? what should work?


#11

In config/Genesis Plus GX/Genesis Plus GX.cfg
audio_dsp_plugin = “name_of_plugin” (the line you have in retroarch.cfg when you choose a dsp)


#12

Ah yes, it worked perfectly! I am still new to retroarch but I’m learning fast.
First I had to create it by selecting “Save Core Overrides” and then copy this single line from the master retroarch.cfg.
Big thank you Tatsuya79.
Retroarch is just a blessing for retro console enthusiasts and ‘in depth’ tweakers.

@Great_Dragon
I will try to make it even closer and report with the settings.
EDIT: Stock HighShelfDampen is very close indeed, no need to change anything.

EDIT2:
All other consoles should not be filtered so select “EQ.dsp” as the default in retroarch.cfg for flat frequency response.
If you keep this empty (" ") the last dsp filter will override the empty global setting.
audio_dsp_plugin = “:\filters\audio\EQ.dsp”


#13

I too would be interested in the specific settings being used by James-F.


#14

Low-pass issue mentioned here.

line 500: config.filter = 0; /* no filter */ ==> config.filter = 1;

Can’t test this but “filter” used here:


#15

hey, good looks :smiley: That should be easy enough to add in. I’ll try messing around with it soon unless someone beats me to it.


#16

Also here:

config.filter= 1;
config.lp_range

Thank you very much for the decision to implement it.

EDIT: Hopefully the lowpass filter in genesis plus gx sounds good, because the dsp high shelving filter might be more accurate for the task than a simple 6db/oct lowpass.


#17

I’ve took some measurements for visual comparison and as you can see HighShelfDampen DSP filter does excellent job to match the Model1 genesis.
I tweak it slightly to 7000Hz from the stock 8000Hz and keep the stock -12db.
Sounds and measures very close to the actual hardware.

If the devs decide to implement the built-in lowpass filter in Genesis Plus GX hopefully it’ll be as accurate as this one, but some kind of low-pass/high-shelf filtering is indeed important for that beloved Genesis sound.
As far as I can hear from internet samples, other consoles do not have this filtering including NES, SNES, N64 and PSX.

This post is obsolete, since the refference Model 1 was from Youtube.
See next post for more accurate measurement from FLAC sources.


#19

I have tested and tweaked again, this time I used the FLAC version of Sonic 1 as reference which was recorded from JAP Model 1 VA1 from 16bit-Audiophile website.
The older FLAC files are from PAL Model 1 VA4 which measures exactly the same JAP model.

Both can be found here:

Here is the Model 1 and Retroarch with the new HighShelfDampen.dsp settings.
Orange line is the Japanese hardware Model 1 VA1, the Blue line is Retroarch with the new filter settings.

Here is the new tweaked HighShelfDampen.dsp settings:

filters = 1
filter0 = iir

iir_gain = -4.0
iir_type = HSH
iir_frequency = 2800.0

Here is Retroarch (Blue line) unfiltered with JAP Model1 VA1:
Almost 10db difference around 10kHz area which is very much audible.

Obsolete Post
Latest release of Genesis Plus GX has built in Lowpass Filter that is closely matched to the Model1 Genesis.


#20

this is acting more as low pass than high shelf, it shouldn’t dip like that, especially at only -4db


#21

You mean the steep brickwall filter at 15kHz?
Genesis Plus GX dos that for some reason.

EDIT:
Yes, the slope itself is 6db/Oct Lowpass filter, but the LPF filter in iir.dll is fixed to 12db/Oct unless I am missing something that can change that.


#22

If you’re on windows x64 could you try this test version and see if any value is good enough?
We’ve been trying to activate the lowpass filter but the behaviour isn’t as expected within Retroarch.

In Core Options put “Audio Filter” on “Lowpass”, then you can tweak the “Lowpass range” value to find something good.
I feel like 0.4 is probably it but I can’t do the measurement you’re doing to be sure of that. (it could do some strange stuff)

Don’t forget to disable the DSP. :slight_smile:


#23

Thanks!
EQ works but Lowpass does not.
Maybe something wrong with the code?

EDIT:
Lowpass range should run from 0x0000 to 0xFFFF which is 0-65535.
The default setting is 0x9999 (39321) which is 60% of 65535.


#24

It works here, make sure you don’t have HighShelfDampen.dsp active.

EQ has some strange issues with the High value.


#25

Sorry, it doesn’t work.
There is no difference between Disable and Lowpass for me, only EQ works.

EDIT:
Alright found the problem, 0.1-0.4 work correctly, but 0.5-0.9 have absolutely no effect.
Are you sure you got the hex values correct?


#26

There’s a problem for sure, we don’t know what it is and we even asked upstream but it’s still unresolved.
I just wanted to ask you if you think that any value gives a good result, then we could put that value by default for a “LowPass ON/OFF” option in the meantime.


#27

0.4 is spot on.
EQ option is unnecessary, as you said just keep Lowpass On/Off.
What value in 0xXXXX hex corresponds to 0.4?