Gtk Wave Cleaner is a GUI application to remove noise (hiss, pops, and clicks) from audio files in WAV and similar formats.
- A *nix based operating system (Linux, BSD, macOS, etc; on 64bit Windows 10/11 you can use Microsoft's "Windows Subsystem for Linux", with the pulseaudio backend)
- GTK2 (www.gtk.org)
- libsndfile (www.mega-nerd.com/libsndfile/)
- OSS, ALSA, Pulse Audio, or Core Audio sound drivers (Core Audio recommended on macOS)
- FFTW libs (www.fftw.org)
- [Optional] Perl (for
gwcbatchhelper script) - [Optional] perldoc (to view
gwcbatchusage) - [Optional] xdg-open (for help menu manual, not required on macOS)
- [Optional] vorbis-tools and lame (for ogg and mp3 export)
The source code and all associated files are freely available under the GNU General Public License (GPL).
- Extract the release source tarball:
tar -xvzf <...> - Enter the directory created.
- Run
autoreconf -i(not needed for release tarballs) - Run
./configure - Run
make - Run
make install
Prerequisites:
Homebrew is required to install dependencies. If you don't have it, install Homebrew from https://brew.sh.
To build and package GWC automatically, run:
./contrib/macosx/scripts/all.shThis script will install all dependencies, build the application, and create a distributable app bundle.
- Install dependencies:
./contrib/macosx/scripts/install.sh
- Configure and build:
./contrib/macosx/scripts/build.sh
- Create the app bundle:
./contrib/macosx/scripts/app.sh
The finished app bundle will be located at osx_packaging/Gtk Wave Cleaner.app, and a disk image will be created for easy installation.
For more information, see:
contrib/macosx/README.md
- Native menu bar, dock, and window management are supported via gtk-mac-integration.
- Core Audio is enabled by default for optimal macOS audio performance.
- All dependencies are managed via Homebrew.
- The app bundle is fully self-contained and ready for distribution.
- Run
./configure --helpfor additional compile options. - By default, the GWC binary is installed in
/usr/local/bin/and documentation in/usr/local/share/doc/gtk-wave-cleaner. - Override install location with
./configure --prefix=/usror similar. - If you have playback problems, try disabling ALSA (
--disable-alsa) to use OSS. In an ALSA environment, you can use it withaossif necessary. - Distributions may want to enable PulseAudio (
--enable-pa). - On macOS, Core Audio is enabled by default and works reliably.
- Note: mp3 and ogg reading support are currently still broken.
If you have problems installing, check whether they are documented in the INSTALL file.
Check out the help documentation included in this distribution and available from the help menu in GWC.
- GWC fails to open wav files with metadata, such as those created by recent versions of ffmpeg. GWC will produce an error like:
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 like this ffmpeg -i input.wav -bitexact output.wav (note that this is not the same as ffmpeg -bitexact -i input.wav output.wav or ffmpeg -i input.wav -flags bitexact output.wav), or write 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, or convert to a different format using sndfile-convert or ffmpeg, or use SimplifyWave from waveutils or shntool strip to make a copy of the file with a clean header.
-
Mono files look like stereo files, because the waveform is displayed twice.
-
On some systems (very old Mac with default coreaudio backend) GWC may fail to play files with unusual sample rates (typically 44,100Hz and 48,000Hz should be fine).
For links and a brief presentation describing the technical aspects of the audio restoration methods used in GWC, visit http://gwc.sourceforge.net/
Contact: jeff@redhawk.org