Pittvandewitt / Wavelet

A quick rundown on each feature and its settings
https://pittvandewitt.github.io/Wavelet/
636 stars 35 forks source link

Parametric EQ #227

Closed BirminghamAlex closed 9 months ago

BirminghamAlex commented 1 year ago

LOVE Wavelet! Is it possible to redesign the EQ, so the frequencies are customisable (like a parametric EQ)? I have tried many times to create my own AutoEQ, but I must being doing it wrong, and the regular EQ is just so easy to use. My headphones have a massive peak around 10500Hz and a small null at 800Hz, and it would be great to be able to specifically target those. It doesn't even have to have a Q factor, or could just have a short/medium/wide option for each frequency? Thanks!

ectv96 commented 1 year ago

AGREED! i need parametric EQ too! especially for my sucks phone speakers.

i'm able to do this on POWERAMP EQUALIZER. but the problem is, it doesn't have Legacy system-wide EQ like Wavelet, so the app can't completely EQ all sounds coming out from my phone speakers.

Wavelet able to do system-wide but AutoEQ isn't available for Phone Speakers, sadly. so i think it would be MUCH BETTER if we can EQ with Parametric for like unlimited bands, with higher dB limit, like +/- 15dB for each.

BirminghamAlex commented 1 year ago

I've tried other parametric EQs which obviously work well for evening out frequencies, but Wavelet does such a great job at avoiding distortion--it's insane--and is system-wide (for YouTube, too, etc.). I don't think the creater even works on it anymore, but it would AMAZING. Perhaps, the reason it stops at +/- 7.5db is to avoid distortion?

Taudris commented 1 year ago

SoundID has a pretty great parametric EQ. You have to suffer through the app's "experience" to get to it, but once you do, it's the most powerful EQ experience available on Android. It lets you add as many adjustment points as you want (maybe there's a limit, but I never reached it), the range is +/- 12dB, it has the most important types (peak, peak with Q, low/high shelf with fixed Q), lets you type in values, and probably more. I only wish it could import/export REW/EAPO-style txt files for the curves.

I came back to Wavelet because SoundID has some kind of weird glitch on my OnePlus 8 Pro where the audio cuts out for a fraction of a second a few times an hour. Maybe it will work better for someone else.

Pittvandewitt commented 1 year ago

I have tried many times to create my own AutoEQ, but I must being doing it wrong, and the regular EQ is just so easy to use.

You could try again using https://autoeq.app/. It simplifies things a lot.

Parametric EQ on Android doesn't really exist for system wide apps. It can be faked using many bands close to each other. You could say this is already implemented in Wavelet if you look at the AutoEq implementation.

Dogway commented 1 year ago

Wavelet able to do system-wide but AutoEQ isn't available for Phone Speakers, sadly.

Thanks for bringing this up. I was about to open a ticket about missing import feature, now I know this is because I don't have a headphone plugged in. I was even ready to pay in case that was a pro feature. For Headphones I already have the Qudelix APP which supports Parametric.

The case in question is a Xperia 10 IV, the speaker is bad (mono) but I was hoping to add a bit more juice with EQ, curves are plotted on this link also for Xperia V. And I converted the 10 IV curve into a GraphicEQ with OptimumHiFi target.

GraphicEQ: 20 -0.2; 21 -0.2; 22 -0.2; 23 -0.2; 24 -0.2; 26 -0.2; 27 -0.2; 29 -0.2; 30 -0.2; 32 -0.2; 34 -0.2; 36 -0.2; 38 -0.2; 40 -0.2; 43 -0.2; 45 -0.2; 48 -0.2; 50 -0.2; 53 -0.2; 56 -0.2; 59 -0.2; 63 -0.2; 66 -0.2; 70 -0.2; 74 -0.2; 78 -0.2; 83 -0.2; 87 -0.2; 92 -0.2; 97 -0.2; 103 -0.2; 109 -0.2; 115 -0.7; 121 -1.8; 128 -2.9; 136 -3.8; 143 -4.5; 151 -5.1; 160 -5.8; 169 -6.5; 178 -7.1; 188 -7.8; 199 -8.4; 210 -8.9; 222 -9.3; 235 -9.6; 248 -9.8; 262 -9.7; 277 -9.2; 292 -8.6; 309 -7.9; 326 -7.4; 345 -7.0; 364 -6.6; 385 -6.1; 406 -5.5; 429 -4.6; 453 -3.8; 479 -3.5; 506 -3.6; 534 -3.9; 565 -4.6; 596 -5.4; 630 -6.4; 665 -7.9; 703 -10.1; 743 -12.6; 784 -14.5; 829 -16.2; 875 -17.8; 924 -19.4; 977 -20.9; 1032 -22.0; 1090 -22.5; 1151 -22.7; 1216 -22.8; 1284 -22.8; 1357 -22.8; 1433 -22.9; 1514 -23.0; 1599 -23.2; 1689 -23.3; 1784 -23.5; 1885 -23.7; 1991 -24.2; 2103 -25.0; 2221 -25.2; 2347 -24.7; 2479 -23.6; 2618 -22.7; 2766 -23.8; 2921 -25.3; 3086 -27.8; 3260 -29.6; 3443 -28.8; 3637 -26.0; 3842 -22.1; 4058 -19.1; 4287 -17.6; 4528 -17.1; 4783 -17.1; 5052 -17.7; 5337 -18.5; 5637 -18.5; 5955 -17.7; 6290 -17.5; 6644 -19.0; 7018 -21.9; 7414 -24.8; 7831 -27.1; 8272 -28.9; 8738 -30.2; 9230 -30.9; 9749 -31.2; 10298 -31.0; 10878 -30.4; 11490 -29.6; 12137 -28.4; 12821 -27.1; 13543 -25.6; 14305 -24.2; 15110 -22.8; 15961 -21.4; 16860 -19.9; 17809 -18.5; 18812 -17.1; 19871 -15.7

Pittvandewitt commented 9 months ago

OptimumHiFi That's a target for headphones and not for speakers. It will only make things worse. Using a flat target would be the correct option.

The reason why AutoEq is not available for speakers is that the sound signature is heavily dependent on the environment. Also take into account that the sound signature probably changes if you turn up the volume. There is no way to create accurate compensation data for it. You can still try using autoeq.app to create a custom parametric eq with 9 bands, q factor of 1.41 and the frequency as displayed in the Graphic equalizer and take those values for a close enough approximation. Generally speaking, device speakers are as well tuned as they can be.

Taudris commented 9 months ago

I implore you to reconsider, both on implementing PEQ and on allowing users to use AutoEQ for device speakers.

You're making a lot of wrong assumptions. You're basically saying to us "you want something that I think doesn't make sense to want, so I won't give it to you." That attitude is fine in a field that can be perfectly solved for everyone all the time (if such a field even exists aside from math), but for audio? It's completely subjective in the end, and science and precise calibration can only take you so far.

The reason why AutoEq is not available for speakers is that the sound signature is heavily dependent on the environment.

So? You should still be able to do things like de-emphasize frequencies that cause subjectively unpleasant peaks in the situations where your phone is commonly used. Or tune your phone speakers for flatness rather than perceived volume (the latter frequently being a goal of phone manufacturers).

Also take into account that the sound signature probably changes if you turn up the volume.

Irrelevant here. Non-linear distortion as volume goes up is a problem with audio-producing devices in general, not phone speakers specifically. Device manufacturers have more tools at their disposal than just EQ for solving this problem, but they already used those tools as far as they were willing to, and any further improvement is up to us users.

There is no way to create accurate compensation data for it.

Creating accurate compensation data is not the goal. Improving the user's experience of sound is. Accurate compensation data is just one of many tools one can use to accomplish this goal, and it is not enough on its own because it inherently fails to account for context and preference.

Maybe a user hates frequencies between 2-3KHz, or wants to put their phone in a cup and tune it to optimize the resonance of 440Hz. Who cares why? It's subjective and contextual anyway, so the user simply wanting it is reason enough to let them have it.

You can still try using autoeq.app to create a custom parametric eq with 9 bands, q factor of 1.41 and the frequency as displayed in the Graphic equalizer and take those values for a close enough approximation.

This issue was submitted because that's not enough control for everyone. It certainly wasn't enough for me. I have a custom EQ on my PC using the GraphicEQ format with far more detail than 9 bands allows for. I would've preferred using PEQ to approximate it since that would also allow further tuning on the go, but instead I had to write a program to linear interpolate my custom EQ to the particular frequencies that Wavelet requires for AutoEQ in order to finally be happy with my headphones on Android, and now I can't do any further tuning on the go.

Generally speaking, device speakers are as well tuned as they can be.

The whole reason AutoEQ even exists is because that's not true of any audio-producing device ever made. And as I mentioned earlier, phone speakers are commonly tuned for volume rather than flatness.

Different calibration data and different tunings have different priorities and context behind them, and if they don't align with the end user's priorities and context, the end user should have the freedom to adjust the data to their liking using tools that are practical for them.