FFmpeg 4.0.6
Since* 1.0
#

Convert input audio to a video output, representing the audio frequency spectrum.

The filter accepts the following options:

size, s

Specify the video size for the output. For the syntax of this option, check the "Video size" section in the ffmpeg-utils manual. Default value is 640x512.

slide

Specify how the spectrum should slide along the window.

It accepts the following values:

replace

the samples start again on the left when they reach the right

scroll

the samples scroll from right to left

fullframe

frames are only produced when the samples reach the right

rscroll

the samples scroll from left to right

Default value is replace.

mode

Specify display mode.

It accepts the following values:

combined

all channels are displayed in the same row

separate

all channels are displayed in separate rows

Default value is combined.

color

Specify display color mode.

It accepts the following values:

channel

each channel is displayed in a separate color

intensity

each channel is displayed using the same color scheme

rainbow

each channel is displayed using the rainbow color scheme

moreland

each channel is displayed using the moreland color scheme

nebulae

each channel is displayed using the nebulae color scheme

fire

each channel is displayed using the fire color scheme

fiery

each channel is displayed using the fiery color scheme

fruit

each channel is displayed using the fruit color scheme

cool

each channel is displayed using the cool color scheme

Default value is channel.

scale

Specify scale used for calculating intensity color values.

It accepts the following values:

lin

linear

sqrt

square root, default

cbrt

cubic root

log

logarithmic

4thrt

4th root

5thrt

5th root

Default value is sqrt.

saturation

Set saturation modifier for displayed colors. Negative values provide alternative color scheme. 0 is no saturation at all. Saturation must be in [-10.0, 10.0] range. Default value is 1.

win_func

Set window function.

It accepts the following values:

  • rect
  • bartlett
  • hann
  • hanning
  • hamming
  • blackman
  • welch
  • flattop
  • bharris
  • bnuttall
  • bhann
  • sine
  • nuttall
  • lanczos
  • gauss
  • tukey
  • dolph
  • cauchy
  • parzen
  • poisson

Default value is hann.

orientation

Set orientation of time vs frequency axis. Can be vertical or horizontal. Default is vertical.

overlap

Set ratio of overlap window. Default value is 0. When value is 1 overlap is set to recommended size for specific window function currently used.

gain

Set scale gain for calculating intensity color values. Default value is 1.

data

Set which data to display. Can be magnitude, default or phase.

rotation

Set color rotation, must be in [-1.0, 1.0] range. Default value is 0.

The usage is very similar to the showwaves filter; see the examples in that section.

#

Examples

  • Large window with logarithmic color scaling:

    showspectrum=s=1280x480:scale=log
  • Complete example for a colored and sliding spectrum per channel using ffplay:

    ffplay -f lavfi 'amovie=input.mp3, asplit [a][out1];
                 [a] showspectrum=mode=separate:color=intensity:slide=1:scale=cbrt [out0]'