FFmpeg 2.6.9
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

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 is displayed using the same 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

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:

none

No samples pre-processing (do not expect this to be faster)

hann

Hann window

hamming

Hamming window

blackman

Blackman window

Default value is hann.

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]'