foobar2000:Components/Spectrogram (foo_uie_spectrogram)

From Hydrogenaudio Knowledgebase
Jump to: navigation, search

Developer(s) Alireza Ayoubi (Wamoc)
Release information
Initial release
Stable release
Preview release
foobar2000 compatibility
Minimum version TBC
Maximum version {{{foobar2000_maximum}}}
UI module(s) Columns UI
Additional information
Use Visualization
License Proprietary
Discussion thread {{{discussion_thread}}}
View all components

A spectrogram visualization for Columns UI with more customization than default spectrogram. Based on a showspectrum filter from FFmpeg.


The options can be accessed by right clicking the spectrogram and select Options in the menu.


Specify how the spectrogram slide along the window.
It accepts its following values:
Samples moves to the right and it resets to left when it reaches the right
Samples scroll from left to right
Default value is Scroll.
Channel mode
Specify the modes when dealing with multiple channels.
It accepts the following values:
All channels are combined and visualized in a single row
All channels are visualized in separate rows
Default value is Combined.
Set the color of the spectrogram visualization.
It accepts the following values:
Each channel is visualized with different colors per-channel. Works best with combined mode
Spectrogram visualized with not only magnitude, but also phase; the luminance corresponds to amplitude and the hue corresponds to phase
Color gradient
Each channel is visualized with a defined color gradient or a solid color
Default value is Channel.
Refresh rate
Set the refresh rate for this visualization, higher values will use more CPU for high FPS visualization. Default value is Auto, which are set automatically based on monitor's refresh rate up to 120 frames per second.
Transform count
Set the transform count for calculating STFT for every single frame, Higher values will scroll faster, again with more CPU usage. Default value is 6.


FFT size
Set the FFT size, opting for either better precision at bass frequencies or better temporal precision, but not both.
It also accepts non-power of two sizes like 4410, 8820, 13230 and 17640. Default value is 4096 samples.
Window function
Set the window function
It accepts the following values:
Power of sine
Default value is Hann.
Window parameter
Set the parameter for some window functions; higher values mean better sidelobe attenuation with a wider mainlobe width. Default value is 1.
Window skew
Set the parameter for all window functions, making it asymmetric when the value is non-zero. Positive values skews toward recent data and vice versa. Default value is 0.

Frequency scaling

Frequency scale
Specify which spectrogram use frequency scale, changing distribution of bass and higher frequencies on the display
It accepts the following values:
Linear frequency scale, used for spotting lossy compression artifacts
Logarithmic frequency scale, follows the musical notes
Perceptual frequency scale, opting for linear scale at bass regions and logarithmic scale above
Based on critical bands, the frequency scale is used for evaluating loudness per-frequency band
Equivaluent rectangular bandwidth
Similar to Mel scale, but skewed more towards bass frequencies
Hyperbolic sine
Adjustable frequency scale, controlled by Hz linear factor parameter
Adjustable logarithmic
Very similar to hyperbolic sine, but with gradual transition between linear and logarithmic frequency scale at the point defined by Hz linear factor
Negative exponential
Starts off as linear frequency scale then it increases exponentially at higher frequencies, even more than logarithmic scale
Adjustable bark
Skewed towards mid frequencies using the same equation as Bark scale
Defaults to Mel.
Hz linear factor
Set the value for adjustable frequency scales. Default value is 50Hz.
Frequency range
Set the frequency range to visualize spectrogram. Default value is 0Hz to 20000Hz.

Amplitude scaling

Output multiplier
Set the output multiplier for the raw FFT magnitude data. Default value is 12dB.
Logarithmic amplitude scale
Specify which uses the dB scaling instead of linear values. Default is True.
Set the depth of logarithmic amplitude spectrum. Default value is 70dB.
Set the factor for scaling the linear amplitude spectrum; higher values shows quieter signals. Default value is 1.