d-uzlov / Rainmeter-Plugins-by-rxtd

A set of plugins for Rainmeter
GNU General Public License v3.0
10 stars 1 forks source link

Using low frequency tones generates wrong waves. #7

Closed LI7XI closed 3 years ago

LI7XI commented 3 years ago

I made a test using 37 Hz frequency, what i expected is only 2 or 3 bands will respond to this frequency, but it actually affects other bands as well.

Same thing happens in both AudioLevel (top) and AudioAnalyzer (bottom):

image

d-uzlov commented 3 years ago

I suspect that this is some issue with the wave generator itself. I see similar picture when volume slider on the test page is at 100%, but I can't replicate the issue when it is lower, like 90%. I remember that you mentioned earlier that you see this on low volume level too, but this is not the case for me.

Can you test if you see this behaviour in this file? wave-37-hz.zip This is pure 37 Hz wave, generated using Audacity, which I trust more than online sites.

If the issue also occurs on this file, please, share plugin your plugin settings. Just parent measure settings would be enough.

LI7XI commented 3 years ago

I suspect that this is some issue with the wave generator itself. wave-37-hz.zip

Yep you are right, it works as expected now. I thought it's a problem with the audio i'm using so i tested this video and it also worked as expected.

Side question: i know that AudioLevel doesn't have the correct FFT implementation, but why it's always ahead in visualization? I mean when testing the waves, AudioAnalyzer bands are still at the beginning but AudioLevel bands almost reached the middle.

I hope that makes sense :P

d-uzlov commented 3 years ago

Side question: i know that AudioLevel doesn't have the correct FFT implementation, but why it's always ahead in visualization? I mean when testing the waves, AudioAnalyzer bands are still at the beginning but AudioLevel bands almost reached the middle.

I can't answer this without knowing settings of both plugins. Judging by picture, my guess is that plugins have different low and high band resampling settings.

LI7XI commented 3 years ago

Judging by picture, my guess is that plugins have different low and high band resampling settings.

It looks like that but it's actually not.

```ini [Variables] Fps=60 UpdateRate=(1000 / #Fps#) ; ------------ BarWidth=5 BarsGab=0.2 ; ------------ MaxHeight=100 Color=210,210,230,230 ; ------------ ; Common settings ; ------------ FreqMin=20 FreqMax=2000 Bands=120 ; ------------ Attack=100 Decay=100 ; ------------ ; AudioLevel Specfic ; ------------ ; parenthesis to make rainmeter parse it as a formula FFTSize=(4096*4) FFTOverlap=((4096*4)/2) Sensitivity=41 ; ------------ ; AudioAnalyzer Specfic ; ------------ BinWidth=10 OverlapBoost=10 CascadesCount=4 ; ------------ BlurRadius=1 RadiusAdaptation=1 ```
d-uzlov commented 3 years ago

Could you please post full skins for both plugins, that you took screenshots of, so I can experiment with them?

LI7XI commented 3 years ago

Could you please post full skins for both plugins, that you took screenshots of, so I can experiment with them?

test.zip

d-uzlov commented 3 years ago

Bands Linear(Count [#Bands], Min [#FreqMin], Max [#FreqMax])

Linear

Here is your answer. AudioLevel always uses logarithmic scale. If you set BandResampler to use log for bands generation, the results will be very similar.

LI7XI commented 3 years ago

AudioLevel always uses logarithmic scale. If you set BandResampler to use log for bands generation, the results will be very similar.

Yep i thought about that and it seems the case but Log loses quite a lot of resolution in low frequencies😅

LI7XI commented 3 years ago

Small update: I realized that a big part of this issue is caused by using an audio equalizer, i use it to boost low frequency sounds, sorry i forgot to mention that. After disabling it, the frequencies worked exactly as expected even when using that website.

Should i update the issue description?

d-uzlov commented 3 years ago

Should i update the issue description?

Do as you wish. I don't think it's that important, as the issue was caused by a third-party app anyway. Maybe you could add something about this possible cause of issues to the tips section of the docs.