GWC 0.22
--------------

This is the README for Gtk Wave Cleaner, a gui application to remove noise (hiss, pops and clicks) from audio files in WAV and similar formats.

Requirements
------------
- a *nix based operating system i.e. linux, bsd, osx etc.  GWC can be run on Windows either in a Linux virtual machine or in "windows subsystem for linux" on 64bit Windows 10 using  pulseaudio and X11 servers for windows.
- gtk2 (www.gtk.org); included in common Linux distributions.
- libsndfile (www.mega-nerd.com/libsndfile/); there are packages available for common Linux distributions.
- either the OSS, ALSA or Pulse Audio sound drivers (N.B. Mac OSX Core Audio backend is broken: use Pulse Audio).
- fftw libs (www.fftw.org); there are packages available for common Linux distributions.
- [optional] perl to use gwcbatch helper script.  Not required for normal gui use.
- [optional] perldoc to view gwcbatch usage instructions (or just open it in a text editor).
- [optional] xdg-open from xdg-utils (https://www.freedesktop.org/wiki/Software/xdg-utils/) to open the manual file from the help menu. Not required on OSX.
- [optional] vorbis-tools and lame for ogg and mp3 export.

License
------------
The source code and all associated files are freely available under the GNU General Public License (GPL) agreement.

Installation
------------
If you are using a release source tarball, extract it (tar -xvzf <...>).
Enter the directory created.
Run "./configure".
Run "make".
Run "make install".

"gtk-wave-cleaner" is the program file.  All you have to do is run it, or click on the menu entry.

In case you are building the source from git you will first need to run "autoreconf -i"

Additional options
------------------
Run "./configure --help" for additional compile options.
By default the GWC binary is installed in /usr/local/bin/ and document files are installed in /usr/local/share/doc/gtk-wave-cleaner.  Override this with "./configure --prefix=/usr" or similar.
If you have playback problems try disabling alsa (--disable-alsa) to use oss.  In an alsa environment you can use it with aoss if necessary.
Distributions may want to enable pulseaudio (--enable-pa).
Note that mp3 and ogg reading support are currently still broken, so ignore those options.

If you have problems installing check whether they are documented in the INSTALL file.

Instructions for use:
---------------------

Check out the help documentation included in this distribution and available from the help menu in GWC.

Known Issues:
-------------
GWC fails to open wav files with metadata, such as those created by recent versions of ffmpeg. GWC will produce an error like this: "Failed to open /root/whistle.wav, 'Error : Cannot open file in read/write mode due to string data in header.'".  Libsndfile does not support RDWR mode for these files. If you are creating them  using ffmpeg try adding "-flags bitexact" into your command line (although this will reduce ffmpeg's performance), or writing to a different libsndfile supported format such as .au or .aiff. A workaround for existing files is to open and save the file in mhwaveedit, but since you should keep your original recording as a backup anyway, I suggest either converting to a different format using sndfile-convert or ffmpeg, or using `SimplifyWave` from waveutils or `shntool strip` to make a copy of the file with a clean header.

Background:
-----------

For links and a brief presentation describing the technical aspects of the audio restoration methods used in GWC visit http://gwc.sourceforge.net/

jeff@redhawk.org
