GPU DeClicker Wiki
This program removes clicks, pops and bitrots from audio files
Status: Beta
Brought to you by:
dimkins123
Welcome to your wiki!
This is the default page, edit it as you see fit. To add a new page simply reference it within brackets, e.g.: [SamplePage].
The wiki uses Markdown syntax.
The GPU DeClicker project (ver.0.01)
by Dmitrii Khrustalev
DESCRIPTION
There is a one common problem in capturing audio from old vinyl disks. Many of the disks have scratches that impose needles to make little jumps producing short sharp noises named 'click'.
My project's aim was to create a free software able to remove this kind of noise from audio files produced by capturing vinyl disk. Also the application is able to remove some other kinds of short sharp noises like 'bitrots'.
The program can detect start positions and lengths of clicks and replaces the damaged samples with interpolated ones automatically.
It can handle with directories of audio files.
TO-DO LIST
REQUIREMENTS
To launch the program you need:
- Windows x64 (Windows 10 tested) or Wndows XP (32 bit)
To launch the program in GPU-mode:
- CUDA compatible GPU (graphics card) with Compute Capability 3.0 or higher. List of them you can find here https://developer.nvidia.com/cuda-gpus (GeForce GTX 650 Ti tested)
- installed NVIDIA proprietary driver (version 353.90 tested for Windows 10)
AUDIO FORMATS
The program uses the 'libsndfile' library to read and save audio files hence the list of audio formats can be found here ( http://www.mega-nerd.com/libsndfile ). MPEG Layer 3 (mp3) is not one of the supported formats and mp3-files need to be converted into compatible format (WAV for example) before processing. Under Ubuntu the program Sound Converter ( http://soundconverter.org/ ) can be used to make the conversion of a mp3-file or a catalog of mp3-files.
GPU DeClicker saves output files in the same audio format that input files have.
INSTALLATION FOR WINDOWS
Download and unpak .zip achive into an empty catalog.
Also you may need to download and install the Visual C++ Redistributable Package for VS 2013.
Here is a link to the page on Microsoft website
http://www.microsoft.com/en-us/download/details.aspx?id=40784
On the page you need to choose language, click “Download”, choose “vcredist_x64.exe”, click “Next”. After download completed run the file and follow the installation instructions. (Thanks Boaz)
TUTORIAL
To open the Terminal window in Windows press Win-R, then type 'cmd' (three letters without quotes) and press Enter. To execute processing of an audio file use the command
C:\the_program_directory\declicker.exe C:\Music_directory\audiofile.wav
in the Terminal window.
Remember it is possible to drag-n-drop the program file and an audio file or a catalog from a Explorer (Windows) window into a Terminal window instead of typing their names and paths.
Speed of processing depends on the capacity of the GPU you use. On my PC with GeForce GTX 650 Ti processing of a 3 minutes mono audio file required 10 minutes.
Additional parameters allows you to target the app to different types of noises:
-h K
will prohibit the app of replacing sequences longer than N samples
(K is one of 64, 128, 256, 512, 1024, 2048, 4096(default), 8192)
This parameter defines how much previous samples (history) will be used to calculate prediction error for current sample.
Basically the more the better. If you don't have a CUDA-compatible GPU to accelerate the calculations you may choose a lower value to make it faster.
For example: “declicker.exe -h 2048 C:\music\file.wav”
-l N
will prohibit the app of replacing sequences longer than N samples
(minimal for N is 3, maximal 200, default 150)
If you are interesting to remove bitrots only from audio you can force the app to ignore longer sequences like pops and clicks.
I'd recommend you to try N=8.
For example: “C:\the_program_directory\declicker.exe -l 8 C:\Music_directory\audiofile.wav”
-t M
will set threshold for detecting bitrots and other noises
(minimal for M is 2, maximal 200, default 3)
Default threshold value (3) works well in the most of cases. Nevertheless if you want to remove only the most strong noises from audio you can set the threshold at higher value.
For example: “C:\the_program_directory\declicker.exe -t 5 C:\music\file.wav”
-n
will turn off GPU if it exists on the computer.
CPU will do all the work.
If you don't have a CUDA-compatible GPU then this parameter does nothing
For example: “declicker.exe -n C:\music\file.wav”
-c O
will set number of coefficients for noise detection
(minimal for O is 1, maximal is 19, default is 4)
More coefficients means more quality but also more time for processing on the preparation stage. The proportion between the value and time will be linear.
For example: “declicker.exe -c 5 C:\music\file.wav”
-r P
will set number of coefficients for noise restoration
(minimal for P is 1, maximal is 1023, default is 16)
More coefficients means more quality but also more time for processing on the restoration stage. The proportion will be linear too.
For example: “declicker.exe -r 25 C:\music\file.wav”
Of course it's allowed to combine the parameters together like
“C:\the_program_directory\declicker.exe -l 8 -t 5 C:\Music_directory\audiofile.wav”
[1] Cedrick Collomb, Burg’s Method, Algorithm and Recursion. http://ccollomb.free.fr/
Copyright © 2009.
[2] Ismo Kauppinen and Kari Roth, AUDIO SIGNAL EXTRAPOLATION - THEORY AND APPLICATIONS. Proc. of the 5th Int. Conference on Digital Audio Effects (DAFx-02), Hamburg, Germany, September 26-28, 2002
Last edit: Dmitrii 2015-12-25
Please, let me know if the application doesn't work properly on your computer.
Thanks,
Dmitrii