Hello everyone,
last week I went to a laboratory in order to get measurements of the frequency response from my HD800S. Additionally a EQ profile was created for me. I tried applying that profile to PulseEffects but the sound is then completely weird and wrong.
When applying the same settings in Windows to Equalizer Apo / Peacer, then everything sounds correct.
Those are the settings that I applied:
https://www.dropbox.com/s/k7wry3s24r2y8sc/Sennheiser%20HD800S%20%2318002%20pt1.pdf?dl=0
https://www.dropbox.com/s/way36c2dofncrvc/Sennheiser%20HD800S%20%2318002%20pt2.pdf?dl=0
This is my profile from PulseEffects:
https://www.file-upload.net/download-13488084/HD800S-18002.json.html
Any idea what might be wrong? Any way I can help finding the issue?
Unless I have missed something it seems that the gain value of the 80 Hz frequency in your preset does not have the same sign as in the link you posted. In your preset there is a gain of -1.1 but in the profile you linked it is +1.1. But I don't know if this will explain the huge difference you are listening.
The equalizer we use is from GStreamer https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good/html/gst-plugins-good-plugins-equalizer-nbands.html. And as you can see here https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/374 I have my suspicions that something may not be alright in their equalizer. Being more specific something in the low shelf filter seems wrong. It feels like its gain is inverted. As far as I could notice the peak and high shelf filter seem ok.
Unfortunately I do not have the necessary knowledge to do something about this. My suggestion is that you open an issue in GStreamer. Feel free to post a message here in case you need help with more technical info there. I will gladly help :-)
In case GStreamer's developers can not fix this I think we will have to find another parametric equalizer.
Alright, thanks for the hint on the -1.1 and +1.1. I didn't notice.
I created a bug report for gstreamer: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/559
Hi! Are you able to build PE from git? In case you use Arch Linux there is a pkgbuild in our sources you can use. I decided to move from GStreamer equalizer to Linux Studio Plugins equalizer http://lsp-plug.in/?page=manuals§ion=para_equalizer_x32_lr. Not only because of this issue. But it has useful features GStreamer equalizer does not have. It would be good to know if the problem persists with this equalizer too.
Wow that looks interesting. Does that mean we can remove gstreamer as well?
I have never built smth from git, but yes I am on Arch. Currently I can't test it, will need to wait until Tuesday when I am home again :)
No. The entire processing pipeline is done with GStreamer.
Oh okay. Well I am now on 4.5.0 and I could try testing something if you want?
Currently I cannot apply any EQ with 4.5.0. Its all greyed out?
Did you install the Linux Studio Plugins package (lsp-plugins)?
Oh thanks for that hint. No I did not. Usually on Arch all dependencies get installed automatically and everything optional gets listed/displayed for manual installation.
In this case, with PulseEffects, there was no hin for lsp-plugins.
But it's in the official repo so I will download it tonight and give it a test! :)
I took a look at the output of pacman -Si pulseeffects and this optional dependency is missing indeed
Yup, I reported it to the maintainer. Anyway, I will manually install it tonight and give the EQ a try!
Thanks for all your effort.
@wwmm I just gave it a try after installing lsp_plugins.
The low shelf filter still gives me the same issue.
I just verified it again on Windows. Here it works just fine :(
humm... Maybe I am using a wrong conversion factor when translating the gain values to the plugin controls... I will take a look.
How are you verifying that it is correct in APO?
As far as I can see the conversion from decibel values to the linear values used by the plugin is fine.
I got the EQ settings from an acoustic laboratory in Vienna. They measure and calculate the values with their own software. I will try to get in touch with reddit user "oratory1990". He is the one who did it for me, maybe he can help.
In APO I set exactly the same values and the results are working fine.
So basically there are to indiviual pieces of software that calculate/work with those values.
I wonder if they used APO to create the correction curve. I don't know the mathematical models behind an equalizer but considering that some equalizers like the one from Linux Studio let the user change things like the filter curve slope I'd say that it is possible that equalizers with different implementations do not have the same filter curve shape for a given pair of (center frequency, quality). Maybe this is the source of the difference in sound you are noticing.
Based on what I read here https://www.reddit.com/r/headphones/comments/9o2f5n/psa_oratory1990s_list_of_eq_presets/ they do not use APO. So what I said above may not be the reason =/
Maybe we should contact the author of Linux Studio Plugins https://github.com/sadko4u/lsp-plugins . He may have a clue about what is going on.
Made a ticket :)
Which frontend are you using for APO? Peace? Although I do not use windows I could try to take a look at its source in case it is a open source program.
As the behavior remains the same after changing equalizers I am not confident that the source of the problem is a difference in equalizer implementations...
Yep I use peace with APO. Just like it's described here:
https://www.reddit.com/r/headphones/comments/9o2f5n/psa_oratory1990s_list_of_eq_presets/
On a side note: I think it is still better to use lsp-plugins rather than gstreamer.
Hi @Utini2000! I have just updated the master branch so that the APO filters can be used. Choose APO (DR) as mode in each band menu.
You can use https://aur.archlinux.org/packages/pulseeffects-git/ to test
Perfect timing, I will be home tonight and able to test it :)
Thanks for your effort!!
@wwmm the error still occurs. I have checked "DR" for all filters and "Mode IIR" in the general EQ settings.
I still get distortion with the low shelf filter and some minor distortion on higher frequencies :/
I have no idea how I could provide more info/help for troubleshooting?
Are you sure you are not saturating the equalizer input or the stage that comes after the equalizer? I do not have distortion in my install. It is also important to have a clear idea of what you mean by distortion. There are noises or it is just the sound being different from APO?
Maybe you could try to record both sounds and upload a video to YouTube. This way I could listen to what is happening. But if it is what we usually call distortion I would expect some kind of saturation to be visible in the input and output level meters
When you set the bands of both equalizers to zero gain there is any noticeable difference? Or there is difference only when you turn on the low shelf filters?
The sound is kind of like when you push a speaker above it limits and turn the volume to high. It starts to crack and this is exactly how it sounds for me. It is most noticable with the low shelf filter but even when that one is disabled I can hear some cracking on other frequencies (I believe mostly higher frequencies).
I made a quick video where I go through all my settings in PulseEffects as well as a screenshot of my setting in Windows with APO/Peace.
PulseEffects settings: https://streamable.com/yal25
Screenshot Windows APO Settings: https://imgur.com/a/JOZ8pVE
Recording the sound probably won't work well since I listen through headphones (Sennheiser HD800S). I could try to replicate it on my laptop speakers though.
When I set the low shelf filter to 0 gain, then there is no cracking anymore. It starts at around +5dB.
I tried to record the sound through my speakers.
Video: https://streamable.com/ajpbz
This last video helped a lot. The distortion you are listening to is caused by audio clipping https://en.wikipedia.org/wiki/Clipping_(audio) Take a look at the equalizer's input and output level meter. The input meter is very close to 0 dB. When the low shelf does its amplification the output gets above 0 dB and saturates the next stage. Whenever this happens the waveform will be distorted. It makes sense that the low shelf makes this more pronounced as the lower frequencies will be the ones with higher amplitude. You will have to play with the input and output gain control to avoid this. Try to put the eq input gain at -5 db or -10 db. This distortion should disappear.
This does not happen on Windows because its audio service or the audio app you use there is not delivering such a high input signal in APO input.
Okay that makes me feel stupid. I believe the whole implementation of the APO filter might not have been necessary then.
I am afraid I do not fully understand what the correct input gain for my EQ profile would be in order to not alter/modify it, but in any case, -10dB removes the distortion completely.
Thank you very much and sorry for all the troubles with such a "simple" problem.
Even if it was not necessary in the sense the most people won't notice the difference I still think it is desirable. Playing with low frequency test signals I can notice a difference in the low shelf response between the filter types. Depending on the material it is probably possible to notice difference in other parts of the spectrum. And as windows is still the most used OS most of the correction curves that can be found on the web are done with APO in mind even if indirectly. So the addition of these filters is a good thing.
Unless you use a plugin like the autogain(warning: it will change some of the material dynamic range) there isn't an input gain value that will work for every app you process in PulseEffects. Assuming that no app is outputting signal above 0 dB an input gain of -10 dB or -11 dB seems a good choice in your case. Your low shelf profile is applying a gain of 10 dB. So if a peak in the signal was originally at 0 dB the output will still be under 0 dB because you shift the whole signal to -10 dB
Now I see that your sennheiser profile has a field with Preamp gain: -10.2 dB. In PulseEffects the eq Preamp is the Input Gain
@wwmm thank you for the hint. Now I finally understand. Also I am very happy to be able to use the EQ profile now with pulseeffects.
Thank you so much for your effort!!
Most helpful comment
@wwmm thank you for the hint. Now I finally understand. Also I am very happy to be able to use the EQ profile now with pulseeffects.
Thank you so much for your effort!!