Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Peakmeter Spectrum component (Read 219566 times) previous topic - next topic
0 Members and 2 Guests are viewing this topic.

Peakmeter Spectrum component

Foo_uie_peakmeter_spectrum is a foobar2000 plugin that combines a peakmeter with a spectrum analyzer. It requires Columns UI and is the successor of foo_uie_peakmeter. The component can be used as a peakmeter and/or a spectrum analyzer.



Download:
http://www.hydrogenaudio.org/forums/index....st&p=546448

Wiki:
http://wiki.hydrogenaudio.org/index.php?ti...ter_spectrum%29

Todo:
  • adjustable sensitivity and refresh time
  • zoom in/out by left/middle click
  • relative paths to the images
  • additional window functions
  • bar mode for the main bar gradient
  • optional autosize mode for the spectrum analyzer main bar size
  • "falling peaks" with customizable fall speed
  • adjustable dB range steps (LED style)
  • backgound picture and/or transparent background
  • clip indicator with one or more adjustable db-values and assignable colors
  • input assistance for the spectrum analyser bar labels


Peakmeter Spectrum component

Reply #2
At last!
Thanks!
If age or weaknes doe prohibyte bloudletting you must use boxing


Peakmeter Spectrum component

Reply #4
It's quite sluggish compared to the old peakmeter component. It seems to update much less often.

Peakmeter Spectrum component

Reply #5
It's quite sluggish compared to the old peakmeter component. It seems to update much less often.
I've experienced the same thing.
The original peakmeter component is a lot more responsive...



Peakmeter Spectrum component

Reply #7
Thanks!
It is nice.

But i am missing the transparent background very much.
I am using it as a panel in panels ui and would really like to have a transparent background of your component to see my global background picture.

Peakmeter Spectrum component

Reply #8
It's quite sluggish compared to the old peakmeter component. It seems to update much less often.

It's quite sluggish compared to the old peakmeter component. It seems to update much less often.
I've experienced the same thing.
The original peakmeter component is a lot more responsive...


The update interval has not been changed. But it's more accurate now cause the number of analysed samples is higher.  In the next version you will be able to adjust these values (see first todo item). EDIT: I forget to tell you about the dependency between the FFT-size and the response. Sorry!

Thanks!
It is nice.

But i am missing the transparent background very much.
I am using it as a panel in panels ui and would really like to have a transparent background of your component to see my global background picture.
Thank you! It' planned, but not on top of the list. I will see what i can do.

Peakmeter Spectrum component

Reply #9
Someone erase my post....i don't know why....

I only put:

YEEEAAAAAAAAAAAHHHHHH  BAAAABBBYYYYYYY!!!!!!!!...

for your new component...

This sounds like a respect fault for somebody??? This is no respect fault for my 80 years grandmother old...., then, this is no respect fault for nobody....i think
---------------------------------

Now, why don't autosize spectrum in horizontal..., but yes in vertical mode??

I want auto size in horizontal too...

Quote
Todo:

    * adjustable sensitivity and attack time

I guess that you're speaking about refresh rate...., if not, please add it, cause' my eyes are going crazy when look the spectrum...jajaja.

Now, at same time i agree that:
Quote
The original peakmeter component is a lot more responsive...


Your Spectrum are Logarithmic or not? Well, i like the Channel_Spectrum plugin.., i love how it can show you every harmonic of a note, this is really impressive...i never see some like this..
...I think...that your spectrum was made in Logarithmic mode, cause' it don't show the truly levels in the highs frequency range and seems to match all frequency levels. Please add an option to disable or to enable this mode (Logarithmic).

For the last...Could you add a clip indicator in 0db or adjustable db???
And, can you add a textbox with a peak reached like the SoundForge meters have?? Its really usefull i think..., perhaps with an option to interchange it with the tooltip that actually exist. And once clicking on it to refresh peak please...
I want this two last things since the old PeakMeter (old!?)...


i think that your component becomes in a more professional tool for Foobar.

Bye. Thanks in advance.

Peakmeter Spectrum component

Reply #10
Someone erase my post....i don't know why....

I only put:

YEEEAAAAAAAAAAAHHHHHH  BAAAABBBYYYYYYY!!!!!!!!...

for your new component...

This sounds like a respect fault for somebody??? This is no respect fault for my 80 years grandmother old...., then, this is no respect fault for nobody....i think
---------------------------------
sounds good to me! 
Now, why don't autosize spectrum in horizontal..., but yes in vertical mode??

I want auto size in horizontal too...
I wrote "optional autosize mode for the spectrum analyzer main bar size". It meant autosize for both modes, horizontal and vertical.
Quote
Todo:

    * adjustable sensitivity and attack time

I guess that you're speaking about refresh rate...., if not, please add it, cause' my eyes are going crazy when look the spectrum...jajaja.
Yes, refresh rate will also be adjustable. (see also this post)
Your Spectrum are Logarithmic or not? Well, i like the Channel_Spectrum plugin.., i love how it can show you every harmonic of a note, this is really impressive...i never see some like this..
...I think...that your spectrum was made in Logarithmic mode, cause' it don't show the truly levels in the highs frequency range and seems to match all frequency levels. Please add an option to disable or to enable this mode (Logarithmic).
The reason for writing this component is to display the frequency spectrum in logarithmic form. I think such an option is not necessary, cause it's easier to display the fft ouput linear, but the effect of frequency on the human ear has a logarithmic basis. (see also Psychoacoustics, logarithmic frequency scaling, about hearing)
For the last...Could you add a clip indicator in 0db or adjustable db???
Yes, with one or more adjustable db-values and assignable colors. It's on the todo list now. 
And, can you add a textbox with a peak reached like the SoundForge meters have?? Its really usefull i think..., perhaps with an option to interchange it with the tooltip that actually exist.
hmmm... i'll think about it. 
And once clicking on it to refresh peak please...
You can double click on the component to reset the peak. Left click will be used to increase the zoom in a future release.
i think that your component becomes in a more professional tool for Foobar.

Peakmeter Spectrum component

Reply #11
Quote
Yes, refresh rate will also be adjustable. (see also this post)

Quote
EDIT: I forget to tell you about the dependency between the FFT-size and the response. Sorry!

So, the responsiveness will be changed or not??? Can only show an adequate responsive with a few bands and/or FFT size??
Why the Channel_Spectrum plugin have a lot of responsive??? Does it has FFT too?

Quote
The reason for writing this component is to display the frequency spectrum in logarithmic form. I think such an option is not necessary, cause it's easier to display the fft ouput linear

Well, if its so easier why not?? Please, add the two options for the people who don't like logarithmic view...

Quote
You can double click on the component to reset the peak.

This actually reset the peak tics..., but don't the peak reaching in the tooltips...

Peakmeter Spectrum component

Reply #12
Nice! Thanks!

Peakmeter Spectrum component

Reply #13
So, the responsiveness will be changed or not??? Can only show an adequate responsive with a few bands and/or FFT size??
Why the Channel_Spectrum plugin have a lot of responsive??? Does it has FFT too?
This has nothing to do with the responsiveness of the spectrum analyzer. Please read the posts! The number of samples used by the peakmeter is given by the FFT-size value. So i think a separate option is needed cause there are dependencies between the refresh time, the FFT-size and the sample rate of the song (for example, overlapping can occur). It will be implemented in the next release.
Quote
The reason for writing this component is to display the frequency spectrum in logarithmic form. I think such an option is not necessary, cause it's easier to display the fft ouput linear

Well, if its so easier why not?? Please, add the two options for the people who don't like logarithmic view...
I think i answered this before ... (... but the effect of frequency on the human ear has a logarithmic basis.)

Nice! Thanks!

Peakmeter Spectrum component

Reply #14
Quote
I think i answered this before ...

Ok..., you don't need to remember this to me. I know how is the effect of frequency on the human ear..., but this is for the ears only.., not the eyes.

I like to see every notes amplitude expanded, not compressed..., despite what i hear.
I don't like an spectrum with all frequencies like having the same amplitude...

Seems that you like the logarithmic view of the spectrum...., this is tastes question..

Greetngs.

Peakmeter Spectrum component

Reply #15
excellent!

i never knew how much i would like having a spectrum analyzer sitting in my foobar window.

great work. looking forward to future releases.

Peakmeter Spectrum component

Reply #16
This component looks very nice. 

But there's one thing for me that's annoying:
It uses much more CPU time than the peakmeter-only component, which is ok while I use foobar2000 as my primary application. But when it's run in the background (minimized to tray) it still uses the same amount of resources.

Could you please disable the component while foobar2000 is minimized? So it wouldn't unnecessarily take resources from other programs.

Peakmeter Spectrum component

Reply #17
Seems that you like the logarithmic view of the spectrum...., this is tastes question..

Greetngs.
OK! Thank's 


excellent!

i never knew how much i would like having a spectrum analyzer sitting in my foobar window.

great work. looking forward to future releases.
Thank you! 

This component looks very nice. 

But there's one thing for me that's annoying:
It uses much more CPU time than the peakmeter-only component, which is ok while I use foobar2000 as my primary application. But when it's run in the background (minimized to tray) it still uses the same amount of resources.

Could you please disable the component while foobar2000 is minimized? So it wouldn't unnecessarily take resources from other programs.
Yes, you're right. I forget about that! Thank's ! 

Peakmeter Spectrum component

Reply #18
Is it possible to get it to stretch across the entire screen in Columns UI as opposed to just the side panel in the vertical splitter?  I am not good at figuring out formatting.

John

Peakmeter Spectrum component

Reply #19
Is it possible to get it to stretch across the entire screen in Columns UI as opposed to just the side panel in the vertical splitter?  I am not good at figuring out formatting.

John
Yes, for example you can use the button “options” in the “spectrum analyzer” group to increase the size of the main bars or you can select more bands. You also can modify the space between the spectrum and the peakmeter in the group “Global” by setting the property “Space between modules”. 

Peakmeter Spectrum component

Reply #20
Hi, may you explain the "Window function" option (none/hanning/blackman)?
Thank you very much for your great work

Peakmeter Spectrum component

Reply #21
Hi, may you explain the "Window function" option (none/hanning/blackman)?
Thank you very much for your great work
Thank you!  Cause only a part of the signal is processed, for example, a leakage effect occurs. The leakage effect is reduced significant by a window function. So the window function have a great influence on the quality of result. For more information about the window function visit http://en.wikipedia.org/wiki/Window_function or take a look at my example below.

220 Hz sine wave

Peakmeter Spectrum component

Reply #22
Hi foo_pm,

Do you mean "hamming" instead of "hanning" ? I don't see any hanning here...

http://en.wikipedia.org/wiki/Image:Window_...mparsion%29.png

Hann and Hamming look like the two best compromises for me (better than Blackman because "narrower"). Kaiser alpha=2 also looks better than Blackman (let's consider than having a dynamic range of more than 45dB is already very good, there's no need to go below with Blackman if Blackman isn't "narrow" enough for the essential information).

On the complete opposite side, the "larger" calculation methods (Nutall, or even the "Flat top") could be useful for those wanting to have very few bands ?...

Of course it's up to everyone to choose the "right" calculation method for him, according to his total number of bands. Maybe some "official guidelines" could help : e.g. "for more than XX bands, choose Hamming or Kaiser alpha=2 / for less than YY bands, choose Nutall or "Flat top". Because choosing hamming for only 7-10 bands or choosing Nutall for 31 bands looks like nonsense to me, don't you think ?

Hey, it could even be... automatic ?  The component would choose itself the best calculation method according to the number of bands... 

Just my 0.02.

Peakmeter Spectrum component

Reply #23
Hi foo_pm,

Do you mean "hamming" instead of "hanning" ? I don't see any hanning here...

http://en.wikipedia.org/wiki/Image:Window_...mparsion%29.png
Open the original link I posted and search for the term “Hanning window”. You will find it!  Most applications (Wavelab for example) are using the term “hanning” instead of “hann”. The term was coined by "Particular Pairs of Windows." von R. B. Blackman und John W. Tukey (published in "The Measurement of Power Spectra, From the Point of View of Communications Engineering", New York: Dover, 1959, pp. 98-99). I found this in the german wiki  .
Of course it's up to everyone to choose the "right" calculation method for him, according to his total number of bands. Maybe some "official guidelines" could help : e.g. "for more than XX bands, choose Hamming or Kaiser alpha=2 / for less than YY bands, choose Nutall or "Flat top". Because choosing hamming for only 7-10 bands or choosing Nutall for 31 bands looks like nonsense to me, don't you think ?
Yes, but you can get a lot of information from the internet.
Hey, it could even be... automatic ?  The component would choose itself the best calculation method according to the number of bands... 
The idea is nice  , but there are additional dependencies like the fft size for example. Furthermore the window function causes additional cpu usage. So I think this parameter must be adjusted manually.

Peakmeter Spectrum component

Reply #24
I'd like to be able to choose at least one of these window functions: Nuttall, Blackman-Harris or Blackman-Nuttall. It would also be nice to be able to set the displayed dynamic range. Limited to 96 dB there would be no to very little visible leakage with the mentioned functions. Then we would have a function for every important type:
  • Type A: very narrow but high leakage (Hann)
  • Type B: less narrow with medium leakage (Blackman)
  • Type C: even less narrow but little leakage (Nuttall, Blackman-Harris, Blackman-Nuttal)
Edit: What puzzles me a bit is that the Blackman function in your plugin causes the leakage to grow compared to no window function applied. Is that a bug? I tested three frequencies: 100, 1000 and 10000 Hz. While the Hann window decreased the leakage for 1000 and 10000 Hz and increased it a bit for 100 Hz, the Blackman window increased the leakage for every three frequencies.