acrusher

Watch on youtube.com
doc

https://ffmpeg.org/ffmpeg-filters.html#acrusher

The description in the official documentation:

Reduce audio bit resolution.

This filter is bit crusher with enhanced functionality. A bit crusher is used to audibly reduce number of bits an audio signal is sampled with. This doesn’t change the bit depth at all, it just produces the effect. Material reduced in bit depth sounds more harsh and “digital”. This filter is able to even round to continuous values instead of discrete bit depths. Additionally it has a D/C offset which results in different crushing of the lower and the upper half of the signal. An Anti-Aliasing setting is able to produce “softer” crushing sounds.

Another feature of this filter is the logarithmic mode. This setting switches from linear distances between bits to logarithmic ones. The result is a much more “natural” sounding crusher which doesn’t gate low signals for example. The human ear has a logarithmic perception, so this kind of crushing is much more pleasant. Logarithmic crushing is also able to get anti-aliased.

The filter accepts the following options:

  • level_in

    Set level in. Must be in range [0.015625. 64] (default: 1).

  • level_out

    Set level out. Must be in range [0.015625. 64] (default: 1).

  • bits

    Set bit reduction. Must be in range [1. 64] (default: 8).

  • mix

    Set mixing amount. Must be in range [0. 1] (default: 0.5).

  • mode

    Can be linear: lin or logarithmic: log. (default: lin)

  • dc

    Set DC. Must be in range [0.25. 4] (default: 1). (See Direct current, and DC bios.)

  • aa

    Set anti-aliasing. Must be in range [0. 1] (default: 0.5).

  • samples

    Set sample reduction. Must be in range [1. 250] (default: 1).

  • lfo

    Enable LFO. By default disabled.

  • lforange

    Set LFO range. Must be in range [1. 250] (default: 20).

  • lforate

    Set LFO rate. Must be in range [0.01. 200] (default: 0.3).

As the official documentation says, this just produces the effect. Relax. (Of course, note that it is not useful for purposes such as reducing the output file size.)

The commandline in uploaded video was:

[me@host: ~]$ for s in 1 10 75 ; do for ifn in *.wav ; do (
> set -x ; ffplay -af "
> acrusher=
>  samples=${s}
> :bits=8
> ,atrim=0:3" -autoexit $ifn 2>/dev/null) ; done ; done