HydrogenAudio

Hosted Forums => foobar2000 => General - (fb2k) => Topic started by: LPerez on 2022-03-24 16:10:43

Title: How do I configure spectrum visualization to display frequencies below 50 Hz?
Post by: LPerez on 2022-03-24 16:10:43
Hello, I am trying to figure out how to configure the spectrum/frequency display to show more lower end frequencies. I'm only getting 50 Hz and I do not see how to make it display lower frequencies. I hope I have the right forum thread. Thank you
Title: Re: How do I configure spectrum visualization to display frequencies below 50 Hz?
Post by: Porcus on 2022-03-24 22:15:27
foo_musical_spectrum?

Right-click in it and Options. Ranges C0 to A11 and can even be transposed 12 semitones.
Title: Re: How do I configure spectrum visualization to display frequencies below 50 Hz?
Post by: kode54 on 2022-03-24 22:52:22
Lower frequencies also requires larger and larger FFT window sizes, which decreases the temporal resolution, ie. how reactive the levels are to changes across time. I've tinkered with this myself in Cog, and ended up settling on a window size of 2048 from 4096 samples, which results in several of the lower bands mostly being a larger lump instead of a well defined set of peaks. This is probably to be expected, anyway.
Title: Re: How do I configure spectrum visualization to display frequencies below 50 Hz?
Post by: LPerez on 2022-03-28 03:37:20
Thank you Porcus, but when I tried that I got nowhere. Foobar v1.6.10 only displays down to 50Hz on the frequency spectrum by default. Is there a way to have it display down to 20Hz? If so, how do I set that up?
foo_musical_spectrum?

Right-click in it and Options. Ranges C0 to A11 and can even be transposed 12 semitones.
Title: Re: How do I configure spectrum visualization to display frequencies below 50 Hz?
Post by: Porcus on 2022-03-28 06:08:29
Don't you get it to C0 by the downarrows?

Try the Settings button and import the attachment. What happens?
Title: Re: How do I configure spectrum visualization to display frequencies below 50 Hz?
Post by: darkflame23 on 2022-03-28 06:58:38
Maybe people are getting their wires crossed a bit. here.

The built in spectrogram (called spectrum, shows frequency, level by colour intensity and time) only goes down to 50hz, always has done. Issue has been raised before but doesn't look like it will get fixed.

foo_musical_spectrum is an add on third party component which isn't a spectrogram but a spectrum analyser (frequency and level with each band moving in time), and is super and configurable as mentioned.
Title: Re: How do I configure spectrum visualization to display frequencies below 50 Hz?
Post by: Porcus on 2022-03-28 10:33:08
Maybe people are getting their wires crossed a bit. here.

That's me. Had even forgotten that there were those built-in visualizations.
Or that the alternatives ( https://wiki.hydrogenaud.io/index.php?title=Category:Foobar2000_visualization_components ) are not in the official component repository.
Title: Re: How do I configure spectrum visualization to display frequencies below 50 Hz?
Post by: kode54 on 2022-03-29 00:08:27
What's to fix? The spectrogram won't have much useful information below 50Hz anyway.
Title: Re: How do I configure spectrum visualization to display frequencies below 50 Hz?
Post by: darkflame23 on 2022-03-29 08:01:03
What's to fix? The spectrogram won't have much useful information below 50Hz anyway.

Tell that to the bass guitarist or Trap producer! :)
Title: Re: How do I configure spectrum visualization to display frequencies below 50 Hz?
Post by: darkflame23 on 2022-03-29 08:07:21
Maybe people are getting their wires crossed a bit. here.

That's me. Had even forgotten that there were those built-in visualizations.
Or that the alternatives ( https://wiki.hydrogenaud.io/index.php?title=Category:Foobar2000_visualization_components ) are not in the official component repository.

Following your link, it appears there is a successor to Musical Spectrum by thw same dev that might do what the OP wants (it also has a configurable Spectrogram), but it hasn't been released yet:

https://wreckit-woodhouse.fandom.com/wiki/Sb-sDFT

Looking forward to this!
Title: Re: How do I configure spectrum visualization to display frequencies below 50 Hz?
Post by: kode54 on 2022-04-01 00:26:44
What's to fix? The spectrogram won't have much useful information below 50Hz anyway.

Tell that to the bass guitarist or Trap producer! :)
Fine, it gets 20Hz. Then the bottom 1cm of the entire spectrum view is just a wobbly sine wave with no definitive difference between bands. I'm only talking theoretically, I don't maintain this code.

The other alternative is that it can distinguish a lot of bands down there, but it only updates a few times per second.
Title: Re: How do I configure spectrum visualization to display frequencies below 50 Hz?
Post by: darkflame23 on 2022-04-01 06:51:27
Yeah I understand what you mean, depending on FFT size and Scale, but I still think it should be a user option to be able to display at least the whole audio range down to 20Hz, if not lower. But I also realise it's probably very low on the list of priorities for a free app.

My fave Spectrogram for legibility is the one in RX 9 Advanced, loads of user settings and it can assign different FFT sizes to different parts of the frequency band, and depending on zoom level if wanted, so that you can see all parts clearly.
Title: Re: How do I configure spectrum visualization to display frequencies below 50 Hz?
Post by: kode54 on 2022-04-03 01:12:19
And that requires running multiple FFTs simultaneously and interpolating between them. For example of CPU usage, I already incur 7% of a core doing a 4096 sample -> 2048 point DFT 60 times per second. I suppose I could experiment with doing insane amounts of different sized DFTs per visualization frame to increase the lower frequency detail.
Title: Re: How do I configure spectrum visualization to display frequencies below 50 Hz?
Post by: danadam on 2022-04-07 20:21:25
Not sure if it helps, but throwing it out there: https://en.wikipedia.org/wiki/Constant-Q_transform
Title: Re: How do I configure spectrum visualization to display frequencies below 50 Hz?
Post by: kode54 on 2022-04-09 07:27:58
Cool: I found a public Git repository containing an implementation of CQT using Accelerate framework, calling itself CQTKit.

Not so cool: No license, headers only contain a copyright notice to the author of the repository.
Title: Re: How do I configure spectrum visualization to display frequencies below 50 Hz?
Post by: TF3RDL on 2023-06-09 23:37:06
Maybe people are getting their wires crossed a bit. here.

That's me. Had even forgotten that there were those built-in visualizations.
Or that the alternatives ( https://wiki.hydrogenaud.io/index.php?title=Category:Foobar2000_visualization_components ) are not in the official component repository.

Following your link, it appears there is a successor to Musical Spectrum by thw same dev that might do what the OP wants (it also has a configurable Spectrogram), but it hasn't been released yet:

https://wreckit-woodhouse.fandom.com/wiki/Sb-sDFT

Looking forward to this!
That Sb-sDFT was never a thing (also, the link to the page is dead since Wreck-it Woodhouse was meant to be a test wiki anyway), it was succeeded by CQT Analyzer and the FFT Analyzer can also visualize spectrogram too.

Cool: I found a public Git repository containing an implementation of CQT using Accelerate framework, calling itself CQTKit.

Not so cool: No license, headers only contain a copyright notice to the author of the repository.
Speaking of the constant-Q transform and sliding DFT thing (since calculating musical spectrum using Goertzel transform is painfully slow and offloading it to GPU may not be practical for anything outside PCs designed for gaming or machine learning), there is a sliding implementation of the constant-Q part of calcSpectrum2() function on my sketch (https://gist.github.com/TF3RDL/15326358806cabe3d69be792ff0012c7#file-audio-analyzer-js-L545) called qdft by jurihock (https://github.com/jurihock/qdft), but no variable-Q transform unlike foo_cqt_analyzer