FreeBSD Manual Pages
VIRTUAL_EQUALIZER(8) BSD System Manager's Manual VIRTUAL_EQUALIZER(8) NAME virtual_equalizer -- audio equalizer SYNOPSIS virtual_equalizer [-h] [-o] [-q] [-d devname] [-w what] [-p part] [-c channels] [-f file] DESCRIPTION virtual_equalizer sets the given frequency response for the given virtual_oss(8) instance via the control character device given by the -d option. The design goal of this equalizer is to provide precise equal- ization for arbitrary requested frequency response at the expense of higher latency, utilizing a so-called finite impulse response, FIR, fil- ter. The requested frequency response is configured via standard input or the file specified by the -f option. There is one control point in per line. Each line consists of two numbers, frequency in Hz and requested amplifi- cation. Amplification between two consecutive control points is a linear interpolation of the given control point values. To make the filter finite, it is windowed in time domain using a Hann window. The windowing actually modifies the frequency response - the ac- tual response is a convolution of the requested response and spectrum of the window. This is, however, very close to the requested response. The following options are available: -q Be quiet and don't print anything to standard output. -d device The virtual_oss(8) control character device. -w what Select what part the FIR filter should apply to. Valid values are: rx_dev, tx_dev, rx_loop and tx_loop. The default value is tx_dev. -p part Select the index of the part given by the -w option to apply the filter to. Default is zero. -c channels Select number of channels to apply filter to, starting at channel zero. By default all channels of the given part are updated. -f file Read filter coefficients from the given file instead of standard input. -o Turn equalizer off. -h Show usage. EXAMPLES To pass only frequencies between 200Hz and 400Hz: # Note that the -F and -G options enable FIR filtering. virtual_oss -B -C 2 -c 2 -S -Q 0 -b 32 -r 48000 -s 8ms -F 80ms -G 80ms \ -f /dev/dsp -d dsp.virtual -t vdsp.ctl # For simplex operation use this: virtual_oss -B -C 2 -c 2 -S -Q 0 -b 32 -r 48000 -s 8ms -F 80ms -G 80ms \ -R /dev/null -O /dev/dsp -d dsp.virtual -t vdsp.ctl # Load normalized filter points to avoid sample value overflow cat << EOF | virtual_equalizer -d /dev/vdsp.ctl -w tx_dev -p 0 -c 2 NORMALIZE 199 0.0 200 1.0 400 1.0 401 0.0 EOF # Load FIR filter based on sine frequency points cat << EOF | virtual_equalizer -d /dev/vdsp.ctl -w tx_dev -p 0 -c 2 199 0.0 200 1.0 400 1.0 401 0.0 EOF FILES SEE ALSO virtual_oss(8) AUTHORS virtual_equalizer was written by Richard Kralovic riso@google.com. FreeBSD March 13, 2019 FreeBSD
NAME | SYNOPSIS | DESCRIPTION | EXAMPLES | FILES | SEE ALSO | AUTHORS
Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=virtual_equalizer&sektion=8&manpath=FreeBSD+13.0-RELEASE+and+Ports>