foobar2000:Components/Spectrogram (foo_uie_spectrogram)

From Hydrogenaudio Knowledgebase
Jump to: navigation, search
Spectrogram

Developer(s) Alireza Ayoubi (Wamoc)
Repository
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.

Options

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

General

Slide
Specify how the spectrogram slide along the window.
It accepts its following values:
Replace
Samples moves to the right and it resets to left when it reaches the right
Scroll
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:
Combined
All channels are combined and visualized in a single row
Separate
All channels are visualized in separate rows
Default value is Combined.
Color
Set the color of the spectrogram visualization.
It accepts the following values:
Channel
Each channel is visualized with different colors per-channel. Works best with combined mode
Rainbow
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

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:
Rectangular
Triangular
Quadratic
Power of sine
Hann
Hamming
Blackman
Nuttall
Gaussian
Kaiser
Welch
Tukey
Exponential
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
Linear frequency scale, used for spotting lossy compression artifacts
Logarithmic
Logarithmic frequency scale, follows the musical notes
Mel
Perceptual frequency scale, opting for linear scale at bass regions and logarithmic scale above
Bark
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.
Depth
Set the depth of logarithmic amplitude spectrum. Default value is 70dB.
Gamma
Set the factor for scaling the linear amplitude spectrum; higher values shows quieter signals. Default value is 1.