|
NAMEvirtual_equalizer —
audio equalizer
SYNOPSIS
DESCRIPTIONvirtual_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 equalization for arbitrary
requested frequency response at the expense of higher latency, utilizing a
so-called finite impulse response, FIR, filter.
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 amplification. 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 actual 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:
EXAMPLESTo 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 FILESSEE ALSOvirtual_oss(8)AUTHORSvirtual_equalizer was written by
Richard Kralovic riso@google.com.
Visit the GSP FreeBSD Man Page Interface. |