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

From Hydrogenaudio Knowledgebase
No edit summary
Line 25: Line 25:


== Configuration ==
== Configuration ==
You can tweak the configuration by creating a '''foo_vis_spectrum_analyzer.json''' next to the '''foo_vis_spectrum_analyzer.dll''' file. The content of the file is reread at the start of a new track.


''You can find the foo_vis_spectrum_analyzer.dll in your foobar2000 profile directory.''
Right-click on the component window and select '''Configure''' from the context menu to open the configuration dialog.


    {
'''FFT Size''': An integer number between 64 and 32768. Note that any number that is not a power of 2 will consume a lot more CPU power.
        "FFTSize": 4096,
        "FrequencyDistribution": 1,
        "ScalingFunction": 1,
        "ScalingFunctionFactor": 0.0,
        "NumberOfBands": 160,
        "MinFrequency": 20,
        "MaxFrequency": 20000,
        "Bandwidth": 0.5,
        "BandsPerOctave": 12,
        "MinNote": 0,
        "MaxNote": 143,
        "Detune": 0,
        "Pitch": 440.0,
        "SummationMethod": 1,
        "SmoothingMethod": 1,
        "SmoothingFactor": 0.75,
        "XAxisMode": 3,
        "YAxisMode": 0,
        "ColorScheme": 2,
        "PeakMode": 3,
        "LogLevel": 1
    }


'''FFTSize''': An integer number between 64 and 32768. Note that any number that is not a power of 2 will consume a lot more CPU power.
'''Summation''': Determines which method is used to sum the coefficients of FFT.


'''FrequencyDistribution''': Determines which parameters are used to generate the frequency bands.
    Minimum
    Maximum
    Sum
    Residual Mean Square (RMS)
    RMS Sum
    Average
    Median


    0: Generate frequency bands based on the frequency parameters.
'''Smooth lower frequencies'''
    1: Generate frequency bands based on the note parameters.
    2: Generate frequency bands used by AveePlayer.


'''ScalingFunction''': Determines which frequency scaling function is used.
'''Smooth gain transition'''


    0: Linear
'''Lanczos kernel''': Size of the Lanczos kernel
    1: Logarithmic
    2: Shifted logarithmic
    3: Mel (AIMP)
    4: Bark
    5: Adjustable Bark
    6: ERB
    7: Cams
    8: Hyperbolic Sine
    9: NthRoot
    10: Negative exponential
    11: Period


'''NumberOfBands''': Number of frequency bands to generate (2 to 512)
'''Distribution''': Determines which parameters are used to generate the frequency bands.


'''MinFrequency''': Frequency of the first band, 0Hz to 96000Hz.
    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.


'''MaxFrequency''': Frequency of the last band, 0Hz to 96000Hz.
'''No. of bands''': Number of frequency bands to generate (2 to 512)
'''Bandwidth''': 0.0 to 64.0


'''BandsPerOctave''': Number of bands per octave (1 to 48)
'''Frequency range''': Frequency of the first and last band, 0Hz to 96000Hz.


'''MinNote''': Number of the first note. (C0 = 0, C1 = 12, ...), 0 to 143 (12 octaves)
'''Note range''': Number of the first and last note. (C0 = 0, C1 = 12, ...), 0 to 143 (12 octaves)


'''MaxNote''': Number of the last note. (C0 = 0, C1 = 12, ...), 0 to 143 (12 octaves)
'''Bands per octave''': Number of bands per octave (1 to 48)


'''Detune''': Detuning offset (-24 to 24)
'''Pitch''': Tuning pitch (A4 = 440.0Hz), 0Hz to 96000Hz.


'''Pitch''': Tuning pitch (A4 = 440.0Hz), 0Hz to 96000Hz.
'''Transpose''': Detuning offset (-24 to 24)
 
'''Scaling''': Determines which frequency scaling function is used.


'''SummationMethod''': Determines which method is used to sum the coefficients of FFT.
    Linear
    Logarithmic
    Shifted logarithmic
    Mel (AIMP)
    Bark
    Adjustable Bark
    ERB
    Cams
    Hyperbolic Sine
    Nth Root
    Negative exponential
    Period


    0: Minimum
'''Skew factor'''
    1: Maximum
    2: Sum
    3: RMS
    4: RMSSum
    5: Average
    6: Median


'''Bandwidth''': 0.0 to 64.0


'''SmoothingMethod''': Specifies how the spectrum will be smoothed over time.
'''X axis''': Determines which X axis to display.


     0: Average
     Bands: Center frequency of a band, every 10 bands.
     1: Peak
     Decades: Fixed frequency range
    Octaves: Frequency of the C note of each octave
    Notes: C note of each octave


'''SmoothingFactor''': Specifies the strength of the smoothing (0.0 to 1.0)
'''Y axis''': Determines which Y axis to display.


    Decibel scale
    Logarithmic


'''XAxisMode''': Determines which X axis to display
'''Color scheme''': Specifies the color scheme used to render the spectrum.


     0: Center frequency of a band, every 10 bands.
     Solid color (''Not configurable yet'')
     1: Fixed frequency range
     Custom color scheme (''Not implemented yet'')
     2: Frequency of the C note of each octave
    Prism 1
     4: C note of each octave
     Prism 2
     Prism 3
    foobar2000
    foobar2000 Dark Mode


'''YAxisMode''': Determines which Y axis to display
'''Smoothing''': Specifies how the spectrum will be smoothed over time.


     0: Decibel scale
     Average
    Peak


'''ColorScheme''': Specifies the color scheme used to render the spectrum.
'''Smoothing factor''': Specifies the strength of the smoothing (0.0 to 1.0)


    0: Solid color (''Not configurable yet'')
    1: Custom color scheme (''Not implemented yet'')
    2: Prism 1
    3: Prism 2
    4: Prism 3
    5: foobar2000
    6: foobar2000 Dark Mode


'''PeakMode''': Specifies how the peak indicators are rendered.
'''Peak mode''': Specifies how the peak indicators are rendered.


     0: None
     None
     1: Classic
     Classic
     2: Gravity
     Gravity
     3: AIMP
     AIMP
    Fade Out


'''LogLevel''': Specifies the verbosity of the logging to the foobar2000 console.
'''Hold time'''


    0: Trace
'''Acceleration'''
    1: Debug
    2: Information
    3: Warning
    4: Error
    5: Critical
    6: None


== External links ==
== External links ==

Revision as of 21:39, 18 November 2023

Spectrum Analyzer

foo_vis_spectrum_analyzer
Developer(s) pqyt
Repository
Release information
Initial release
Stable release
Preview release 0.1.0.2 (November 13, 2023; 1 year ago)
foobar2000 compatibility
Architecture x86 32-bit, x86 64-bit
Minimum version 2.0
Maximum version
UI module(s) Default UI
Additional information
Use Visualization
License
Discussion thread {{{discussion_thread}}}
View all components

A recreation of Musical Spectrum component for foobar2000 v2.x and 64-bit versions.

Configuration

Right-click on the component window and select Configure from the context menu to open the configuration dialog.

FFT Size: An integer number between 64 and 32768. Note that any number that is not a power of 2 will consume a lot more CPU power.

Summation: Determines which method is used to sum the coefficients of FFT.

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

Smooth lower frequencies

Smooth gain transition

Lanczos kernel: Size of the Lanczos kernel

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: Number of frequency bands to generate (2 to 512)

Frequency range: Frequency of the first and last band, 0Hz to 96000Hz.

Note range: Number of the first and last note. (C0 = 0, C1 = 12, ...), 0 to 143 (12 octaves)

Bands per octave: Number of bands per octave (1 to 48)

Pitch: Tuning pitch (A4 = 440.0Hz), 0Hz to 96000Hz.

Transpose: Detuning offset (-24 to 24)

Scaling: Determines which frequency scaling function is used.

   Linear
   Logarithmic
   Shifted logarithmic
   Mel (AIMP)
   Bark
   Adjustable Bark
   ERB
   Cams
   Hyperbolic Sine
   Nth Root
   Negative exponential
   Period

Skew factor

Bandwidth: 0.0 to 64.0

X axis: Determines which X axis to display.

   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: Determines which Y axis to display.

   Decibel scale
   Logarithmic

Color scheme: Specifies the color scheme used to render the spectrum.

   Solid color (Not configurable yet)
   Custom color scheme (Not implemented yet)
   Prism 1
   Prism 2
   Prism 3
   foobar2000
   foobar2000 Dark Mode

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)


Peak mode: Specifies how the peak indicators are rendered.

   None
   Classic
   Gravity
   AIMP
   Fade Out

Hold time

Acceleration

External links

See also