xwindows based audio processor


10 band equalizer, frequency spectrum display, oscilloscope,
voice level control, AGC / limiter, internet remote control,
supports non GUI mode for scripts, supports ALSA and OSS.
Output for disco lights to col_pic.

New: support for disco lights via ethernet with ethernet color pic.

This is Unix / Linux OS software running on X windows, released under the GPL licence.


Full source in C:

The lsm info file:


Current known bugs: Nan

Features as command line switches:

command line switchfunction
-ano gui, use in case -i -o from file to file, for example in batch mode from a script.
-b bits_per_sample bits per sample of input stream, if specified xpequ will treat stdin as stream, not a file.
-c channelsnumber of channels in input stream, if specified xpequ will treat stdin as stream, not a file.
-dshow progres in % in -i -a.
-e filenamesave and load equalizer settings from filename (default ~/.xpequ/setup/equalizer_settings)
-g serial_deviceserial device for lightshow output to col_pic, default /dev/ttyUSB0.
-hhelp (this help).
-i filenameinput wave filename, sets input dsp select button inactive.
-j portUDP port for ethernet_color_pic.
-k baudratebaudrate for serial device, default 19200.
-llightshow output via specified serial device to 'col_pic'.
-muse the cmix mixer program to set mic 100%, igain 50%, vol 100%, and igain as source.
-n server_namename of the server to connect to in remote -y mode, default localhost.
-o filenamerecords output to filename, use '-' for stdout. sets output dsp select button inactive, use with lame to make mp3.
-p portinternet port for remote control, default 6668, use in -x or -y.
-q dotted_quadIP address for ethernet_color_pic, dotted quad only.
-sraw output in case -o flag.
-t outputselects ouput name, /dev/dspX selects OSS, hw:X,Y or plughw:X,Y selects ALSA.
-u inputselects input name, /dev/dspX selects OSS, hw:X,Y or plughw:X,Y selects ALSA.
-vdebug (prints functions and arguments).
-xmonitor ~/.xpequ/setup/equalizer_settings in -a, so a second xpequ can set the equalizer.
-ycontrol client, use with -x -i -a for the other equalizer.
-z sample_speedsample speed of input stream, if specified xpequ will treat stdin as stream, not a file.


Play a wave file, select a dsp device in the GUI, use the equalizer, display FFT:
xpequ -i file.wav

Play a mp3 via /dev/dspX (select in GUI), and use the equalizer, with FFT display:
mpg123 -w - music.mp3 | xpequ -i -

Stream /dev/dsp0 via lame mp3 encoder to create a mp3 file (optional level activated):
xpequ -s -o - | lame -r -s 44100 -m s -x - out.mp3

Stream /dev/dsp0 via equalizer to stdout and then play via sox on dsp1:
xpequ -s -o - | sox -r 44100 -w -c 2 -s -t raw - -r 44100 -w -c 2 -s -t ossdsp /dev/dsp1

Read a .wav file via the equalizer to a new wave file (faster then normal speed):
xpequ -a -i sweep.wav -o sweep_corrected.wav

Play a stereo .wav file via the equalizer using streaming and sox:
xpequ -i sweep.wav -s -o - | sox -r 44100 -w -c 2 -s -t raw - -r 44100 -w -c 2 -s -t ossdsp /dev/dsp1

Select best equalizer settings for wave file, and save on exit to samba.wav.equal,
on restart the specified equalizer setting will be used again, so each file can have its own settings:
xpequ -e samba.wav.equal -i samba.wav -o samba_corrected.wav

Output disco light colors to col_pic via serial port, and sound to /dev/dsp1 at 44100 in stereo:
xpequ -g /dev/ttyS0 -k 19200 -l -i beat.wav -s -o - | sox 2> /dev/zero -r 44100 -w -c 2 -s -t raw - -r 44100 -w -c 2 -s -t ossdsp /dev/dsp1

Output disco lights to ethernet_color_pic at IP address port 1024 via UDP:
xpequ -q -j 1024 -i sweep.wav -t /dev/dsp1 -l

It is possibe to run one xpequ with or without GUI, and an other xpequ to control it:
xpequ -x -i drums.wav -t hw:0,0 -p 6666
xpequ -y -p 6666 -n localhost

Stream to input, write to ALSA hw:1,0:
cat music.raw | xpequ -i - -z 44100 -c 2 -b 16 -t hw:1,0

If you want to remove hum or some other nasty frequency with harmonics, this could help:
Audio comb filter, programmable frequency, works with wave files and / or stdin to stdout, command line utility.
humfilter-0.1.tgz click here download humfilter.
humfilter-0.1.lsm click here for the lsm info file.

return to main page