Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
VIRTUAL_EQUALIZER(8)	FreeBSD	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>

home | help