GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
VIRTUAL_EQUALIZER(8) FreeBSD System Manager's Manual VIRTUAL_EQUALIZER(8)

virtual_equalizer
audio equalizer

virtual_equalizer [-h] [-o] [-q] [-d devname] [-w what] [-p part] [-c channels] [-f file]

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 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:

Be quiet and don't print anything to standard output.
device
The virtual_oss(8) control character device.
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.
part
Select the index of the part given by the -w option to apply the filter to. Default is zero.
channels
Select number of channels to apply filter to, starting at channel zero. By default all channels of the given part are updated.
file
Read filter coefficients from the given file instead of standard input.
Turn equalizer off.
Show usage.

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

virtual_oss(8)

virtual_equalizer was written by Richard Kralovic riso@google.com.
March 13, 2019 FreeBSD

Search for    or go to Top of page |  Section 8 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.