Extace Waveform Viewer ---------------------- This is the eXtace Audio signal visualizer. It plugs itself in as an PulseAudio monitor and displays the output from Audio passing through a PulseAudio device. eXtace will NOT display the output of a CD playing in your CD/CDRW/DVD drive, as the drive does all the decoding and just passes analog audio through your soundcards mixer. eXtace requires the raw PCM (Pulse Code Modulation) audio data to give you a display. There are many apps that can extract the audio data from a CD to be played back in this manner. cdda2wav and paranoia are two main applications that can "rip" audio data off of a CD to be piped through pulseaudio so eXtace can "see" it. PulseAudio is one of linux's most common sound daemons. Features: eXtace has several modes, 3D Wireframe landform FFT, 3D solid landform FFT, 2D Graphic Equalizer, Several scopes (dot, line, gradient), a 3D Spike FFT (high resolution) and 2 2D spectrograms, (horizontal and vertical scroll). All modes are fully configurable via the options panel. Any of the 3D modes can be dragged around the screen by grabbing an end with the mouse (drag using the left button) and moving it anywhere within the window. The direction panel will appear when the proper display is running. This works similar to above. Just grab the end of the marker and drag it around and the trace will travel off into space in the same direction as the pointer in the direction window. Clicking your middle mouse button on any of the displays brings up a colormap editor to change the colormap eXtace uses. (For those of you with two button mice, try hitting both buttons at once to mimic the middle button) NOTE: Colormap editing does NOT work any longer. It is being redesigned as of 1/28/2003. Expect future revisions to have it working again. NOTE you can always create your own maps as they are all text file "instructions" for eXtace to build the maps from. Clicking within the gradient on the left and then selecting a color on the right and clicking "OK" will update the window and the running display. Colormaps can be saved and loaded using the Load/Save buttons. An arbritrary number of colormaps can be setup. If you come up with something REALLY cool send me the colormap file and I'll include it with the next release. Colormaps are stored in your ~/.eXtace/ColorMaps/ Directory. Their structure is extremely simple (and somewhat inflexible), see the source for details. Compilation instructions: You will need GTK+ devel libs installed and working and the FFTW (Fastest FFT in the West) (version 3.x only) library to build and run eXtace. The FFTW lib can be found on http://www.fftw.org/. Source and Binary RPMS are mirrored on http://extace.souceforge.net/ Run "./configure" (no quotes). Then "make" and then "make install" as root. Every effort has been taken to try and address the various installation methods of fftw, but occasionally the configure script fails to locate a library or header file properly. If you run into this problem, email me your config.log, the screen output from running ./configure and any options you fed to configure to get it to fail. The EsounD daemon 'esd' will need to be running as well. Typically the daemon autostarts when an app uses the esd routines. (xmms spawns it when you select the Esound Output plugin) Currently there are no command line parameters. An options panel is available to tune the speed, and 3D effects. Performance: eXtace was tuned to try and use as little processor as possible. (I have not found any other visualizer app that uses as little as eXtace.) NOTE: my system is a Dual Celeron 500, with an NVIDIA GeForce2 running XFree 4.0.3 and NVIDIAs' binary drivers. Your system performance may vary... I typically see processor usage of around 2-15% for eXtace plus 5-20% for X (the X server). If you run into very high processor usage (over 70%) sometimes it means an OpenGL app has run but the buffers haven't been freed causing the X server a lot of overhead. I've found the resizing the window forces X to flush some arbritrary buffers and performacne improves, and cpu usage goes way down. (This was demonstrated on earlier versions of the binary NVIDIA X11 driver, it may have been a bug in the driver... ) Your mileage may vary. NOTE: The more video RAM your card has, the better. (more ram = more space for pixmap caches and other off-screen stuff.) With less memory backing pixmaps become slower as system memory has to be used and overhead increases. Misc: The scope has an option in the panel to enable/disable the Trace Stabilizer. The stabilizer uses a mathematical routine (called a convolution) that is used as a pattern matcher to stabilize the dispay. Thanks to Ralph Loader for giving me a hand with the code and Andy LaFoe for the code from Alsaplayer (One cool mp3/audio player, the only Variable speed one too). Enjoy! Dave Andruczyk. <dandruczyk at gee mail dot com> Based on the orignal extace code written by: The Rasterman <raster@redhat.com> Michael Fulbright <msf@redhat.com>