The Gnome Wave Cleaner Project

What is it?

It is a result of never wanting to boot to MS windows again.  The only reason I had left was because I have this wonderful software to record digital audio, and the dehiss and declick using some very cool software (COOLEDIT 2000) and (Declick by M. Paar), to do the audio restoration.

I checked out some of the ongoing projects in linux, and either they crashed a lot or, didn't do what I needed, so I started this effort out of selfishness and also as a mechanism to learn the GNOME API for GUI programming .  A lot of the code shows the efforts of that learning curve, and could certainly be cleaned up, but the I am personally pleased with the overall design.  The goals are simple -- denoise, dehiss and amplify audio files. With the use of libsndfile, you can now do this on a multitude of audio formats, wav, au, aiff, ...

For those of you interested, I started working up a presentation describing the technical aspects of the audio restoration methods used in GWC.


There are many sources to credit, most importantly the people who helped take gwc from an alpha product, to a mature program:

William Welty, who reported bug after bug after crash after crash, until gwc got airborn :-)
Tim Wunder, who reported numerous bugs, and helped to get the playback smooth
James Tappin, who improved the efficiency of gwc's (ab)use of X11 display redraws, and helped get decrackling functional
Ian Leonard, who did some great work on the icons!
Bill Jetzer, who made some serious speed improvements to click detection
Charles Morgan, who made more speed improvements and added the encoding for OGG and MP3 formats
Erik de Castro Lopo, who gave the world Libsndfile
Frank Freudenberg, who added the interface to the FFTW 3.x libraries
Paul Bourke, who graciously allowed the use of his code to fit autoregressive coefficients using the maximum entropy method

This project is able to exist only due to those who came before. The following is a list of information sources on the internet that I used:



As of version 0.17-2, these limitations are gone, with the use of Libsndfile

Known Bugs:


The TODO list is not very long, but help is always appreciated.  Areas where help would be GREATLY appreciated are:

WARNING - This is GPL'd code with no warranty whatsoever.

This code is for educational and demonstration purposes.

READ THIS - If your playback sounds choppy, it is due to one of 2 things: 1) you have another memory/cpu intensive task running, 2) you just don't have enough RAM or cpu horsepower. I run gwc on a 350 mhz pentium, with 128 Meg of RAM, and have not experienced any problems. as long as I ensure that I don't have other big cpu processes running.

Please read the HELP file in the distribution, it contains helpful information on how to use the gnome wave cleaner to edit your audio files!

Project downloads, (source code, binaries), are available from:
The GWC project files at

Jeff Welty
February 15th, 2005 jeff AT