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