Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer): Difference between revisions

From Hydrogenaudio Knowledgebase
Line 314: Line 314:


[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]
This page contains settings that the visualizations have in common.


==== Common group ====
==== Common group ====
Line 319: Line 321:
'''Smoothing method'''
'''Smoothing method'''


Specifies how the spectrum will be smoothed over time.
Determines how the spectrum coefficients and the peak meter values are smoothed.


* Average
* Average
Line 333: Line 335:


'''Suppress mirror image'''
'''Suppress mirror image'''
Prevents the mirror image of the spectrum (anything above the Nyquist frequency) from being rendered.


==== Artwork group ====
==== Artwork group ====
Some visualizations can use artwork to display on the background or to use as a source for a color list. The artwork can come from the playing track or from  file location.


'''No. artwork colors'''
'''No. artwork colors'''
The maximum number of colors to select from the artwork.


'''Lightness threshold'''
'''Lightness threshold'''
Determines when a color is considered light. Expressed as a percentage of whiteness.


'''Sort colors by'''
'''Sort colors by'''
Determines how to sort the colors selected from the artwork.


'''Show artwork on background'''
'''Show artwork on background'''
Displays the artwork on the graph background.


'''Fit mode'''
'''Fit mode'''
Determines how over- and undersized artwork is rendered.
* Free: The artwork will not be scaled.
* Fit big: Artwork that is bigger than the available area will be proportionally scaled.
* Fit width: The width of the artwork is scaled to fit in the available area.
* Fit height: The height of the artwork is scaled to fit in the available area.
* Fill: The width or height of artwork is scaled to fit the available area.


'''Fit window'''
'''Fit window'''
Enable to use the full component window as available area instead of the client area (the window minus any room taken by axes)


'''Artwork opacity'''
'''Artwork opacity'''
Determines the opacity of the artwork when displayed.


'''Artwork file path'''
'''Artwork file path'''
A fully-qualified file path or a foobar2000 script that returns the file path of an image to display on the graph background.


=== Graphs page ===
=== Graphs page ===

Revision as of 10:06, 15 April 2024

Spectrum Analyzer

Developer(s) pqyt
Repository GitHub
Release information
Initial release
Stable release 0.7.5.4 (April 13, 2024; 0 years ago)
Preview release
foobar2000 compatibility
Architecture x86 32-bit, x86 64-bit
Minimum version 2.0
Maximum version
UI module(s) Default UI, Columns UI
Additional information
Use Visualization
License MIT License
Discussion thread {{{discussion_thread}}}
View all components

A recreation of Musical Spectrum component for foobar2000 v2.x and 64-bit versions. Windows 10 or higher are the only supported operating systems.

You can double-click the component window to switch between windowed and full-screen mode. Note that when using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.

Context Menu

Right-click on the component window to display the context menu. The following options are available:

Configure

Opens the Configuration dialog.

Toggle Full-Screen Mode

Toggles full-screen mode off and on.

Frame Counter

Enables the display of a rudimentary frame counter.

Refresh Rate Limit

Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.

Presets

Contains a list of previously saved presets. Select one from the list to activate it.

Freeze

Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.

Configuration dialog

The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component with the need to close it.

Closing the dialog the dialog Close button or the Cancel button reverts the configuration to the previous state.

Reset

Resets the configuration to the default values.

OK

Closes the dialog box and makes the changes to the configuration final.

Cancel

Closes the dialog box and undoes any changes to the configuration.

Transform page

Transform group

Spectrum Analyzer Configuration: Transform

Method

Allows you to select the Time to Frequency domain transform. The following transforms are implemented:

  • Fast Fourier (FFT)
  • Constant-Q (CQT)
  • Sliding Windowed Infinite Fourier (SWIFT)
  • Analog-style

Window function

Selects the window function that will be applied to the samples (Time domain).

Window parameter

Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.

Window skew

Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).

Reaction alignment

Controls the delay between the actual playback and the visualization.

  • < 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).
  • = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.
  • > 0: All samples are behind the playback with the last sample equal to the current playback sample.

Fourier Transform group

Groups the parameters that influence the Fast Fourier transform.

No. of bins

Specifies the number of bins used by the transforms as a number between 64 and 32768.

  • Select Custom to specify a number that is not a power of 2. This will consume a lot more CPU power.
  • Select Sample rate based to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.

Coefficient aggregation

Determines which method is used to aggregate the coefficients of FFT.

  • Minimum
  • Maximum
  • Sum
  • Residual Mean Square (RMS)
  • RMS Sum
  • Average
  • Median

Mapping

Determines how the FFT coefficients are mapped to the frequency bins.

  • Standard
  • Triangular Filter Bank
  • Brown-Puckette CQT

Smooth lower frequencies

When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.

Smooth gain transition

Smooths the frequency slope of the aggregation modes.

Lanczos kernel

Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.

Brown-Puckette CQT Mapping group

Bandwidth offset

Offsets the bandwidth of the Brown-Puckette CQT.

Bandwidth cap

Minimum Brown-Puckette CQT kernel size.

Bandwidth amount

The Brown-Puckette CQT kernel size.

Granular bandwidth

When disabled constrains the bandwidth to powers of 2.

Kernel shape

Determines the shape of the Brown-Puckette CQT kernel.

Kernel shape parameter

Parameter used by certain window functions like Gaussian and Kaiser windows.

Kernel asymmetry

Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.

Infinite Impulse Response (IIR) group

Groups the parameters used by the SWIFT and the Analog-style transforms.

Filter bank order

Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.

Time resolution

Determines the maximum time resolution used by the SWIFT and Analog-style transforms.

Bandwidth

Determines the bandwidth used by the SWIFT and Analog-style transforms.

Constant-Q

Uses constant-Q instead of variable-Q in the IIR transforms.

Compensate bandwidth

Compensate bandwidth for narrowing on higher order IIR filters banks.

Use prewarped Q

Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.

Frequencies page

Spectrum Analyzer Configuration: Frequencies

Frequencies group

Groups the parameters that determine the frequency range that will be displayed.

Distribution

Determines which parameters are used to generate the frequency bands.

  • Linear: Generate frequency bands based on the frequency parameters.
  • Octaves: Generate frequency bands based on the note parameters.
  • AveePlayer: Generate frequency bands used by AveePlayer.

No. of bands

Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.

Frequency range

Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.

Note range

Available when selecting the Octaves distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)

Bands per octave

Number of bands per octave (1 to 48)

Pitch

Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.

Transpose

Determines how many semitones the frequencies will be transposed. (-24 to 24)

Scaling

Determines which which will be used to scale the frequencies:

  • Linear
  • Logarithmic
  • Shifted logarithmic
  • Mel (AIMP)
  • Bark
  • Adjustable Bark
  • ERB
  • Cams
  • Hyperbolic Sine
  • n-th Root
  • Negative exponential
  • Period

Skew factor

Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.

Bandwidth

Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)

Filters page

Spectrum Analyzer Configuration: Filters

Acoustic Filters group

This group contains settings to allow you to apply acoustic weighting filters (A-, B-, C-, D- and M-weighting (ITU-R 468)) to the samples.

Weighting type

Selects the weighting filter type that will be applied.

Slope function offset

Slope function offset expressed in sample rate / FFT size in samples

Slope

Frequency slope offset

Slope offset

Frequency slope in dB per octave

Equalize amount

Equalization amount

Equalize offset

Equalization offset

Equalize depth

Equalization depth

Weighting amount

Weighting amount

Common page

Spectrum Analyzer Configuration: Common

This page contains settings that the visualizations have in common.

Common group

Smoothing method

Determines how the spectrum coefficients and the peak meter values are smoothed.

  • Average
  • Peak

Smoothing factor

Specifies the strength of the smoothing (0.0 to 1.0)

Tooltips

Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.

Suppress mirror image

Prevents the mirror image of the spectrum (anything above the Nyquist frequency) from being rendered.

Artwork group

Some visualizations can use artwork to display on the background or to use as a source for a color list. The artwork can come from the playing track or from file location.

No. artwork colors

The maximum number of colors to select from the artwork.

Lightness threshold

Determines when a color is considered light. Expressed as a percentage of whiteness.

Sort colors by

Determines how to sort the colors selected from the artwork.

Show artwork on background

Displays the artwork on the graph background.

Fit mode

Determines how over- and undersized artwork is rendered.

  • Free: The artwork will not be scaled.
  • Fit big: Artwork that is bigger than the available area will be proportionally scaled.
  • Fit width: The width of the artwork is scaled to fit in the available area.
  • Fit height: The height of the artwork is scaled to fit in the available area.
  • Fill: The width or height of artwork is scaled to fit the available area.

Fit window

Enable to use the full component window as available area instead of the client area (the window minus any room taken by axes)

Artwork opacity

Determines the opacity of the artwork when displayed.

Artwork file path

A fully-qualified file path or a foobar2000 script that returns the file path of an image to display on the graph background.

Graphs page

Spectrum Analyzer Configuration: Graphs

X axis group

Groups the parameters that determine the way the X axis is displayed.

Mode

Determines which X axis to display.

   None: Hides the X axis.
   Bands: Center frequency of a band, every 10 bands.
   Decades: Fixed frequency range
   Octaves: Frequency of the C note of each octave
   Notes: C note of each octave

Y axis group

Groups the parameters that determine the way the Y axis is displayed.

Mode

Determines which Y axis to display.

   Note: Hides the Y axis
   Decibel scale
   Logarithmic

Amplitude range

Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.

Amplitude step

Determine the step size between the min. and max. amplitude.

Use absolute

Gamma

Channels

Allows you to select that audio channels that will be used to calculate the transform.

Visualization page

Spectrum Analyzer Configuration: Visualization

Peak indicators group

Peak mode

Specifies how the peak indicators are rendered.

  • None
  • Classic
  • Gravity
  • AIMP
  • Fade Out
  • Fading AIMP

Hold time

Specifies how long a peak value will be held steady.

Acceleration

Specifies the acceleration used to modify the peak value.

LEDs group

Spectogram group

Peak Meter group

Styles page

Spectrum Analyzer Configuration: Styles

Colors

Click any of the colors to modify.

Color scheme

Specifies the color scheme used to render the spectrum.

   Solid color
   Custom
   Prism 1
   Prism 2
   Prism 3
   foobar2000
   foobar2000 Dark Mode
   Fire

Double-click a color to modify it. Modifying a color automatically selects the Custom color scheme. Press the Add' button to add a color, Remove to remove a color, Reverse to reverse the color scheme.

Band background

Enable the check box to see a background behind every band of the spectrum.

Presets page

Spectrum Analyzer Configuration: Presets

The whole configuration can be saved to a preset. A preset can be reloaded at any time.

Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.

Preset files have fvsa as file extension.

Location

Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.

For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file.

Below the location you find the preset files currently found in the specified location.

Double click a preset to activate it or select it and press the Load button.

Name

Specifies the name of the preset.

Load

Loads and activates the currently selected preset.

Save

Saves the current configuration.

Delete

Deletes the currently selected preset.

External links

See also