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

From Hydrogenaudio Knowledgebase
No edit summary
Line 5: Line 5:
| module_name            = foo_vis_spectrum_analyzer
| module_name            = foo_vis_spectrum_analyzer
| developer              = {{ha user|u=67884|name=pqyt}}
| developer              = {{ha user|u=67884|name=pqyt}}
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer Github]
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer|GitHub]
| released                =  
| released                =  
| released_ref            =  
| released_ref            =  

Revision as of 08:48, 15 April 2024

Spectrum Analyzer

Developer(s) pqyt
Repository [https://github.com/stuerp/foo_vis_spectrum_analyzer
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

Common page

Spectrum Analyzer Configuration: Common

Smoothing

Specifies how the spectrum will be smoothed over time.

  • 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.

Graphs page

Spectrum Analyzer Configuration: Graphs

X axis

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

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 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.

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