Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Help needed to test free 'clicks' removing software (Read 11106 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Help needed to test free 'clicks' removing software

Hello everyone,

Would somebody like to test my application removing 'clicks' from audio files automatically?

To launch the application you need:
- PC with OS Linux (Ubuntu tested) or Windows x64 (Windows 8.1 tested)
- 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 319.60 tested for Ubuntu and version 335.23 tested for Windows 8.1)
Also you need to convert your audio files from mp3-format before running the application if you use mp3-format for your audio archive.

If you have a collection of audio records captured from vinil disks this application may help you clean them.
I hope here is someone who is interested in free software removing 'clicks'.

Please, read this for more information https://sourceforge.net/p/declicker/wiki/Home/
I will appreciate all your notes about use of the application.

Help needed to test free 'clicks' removing software

Reply #1
Hi Dimitrii,

I have several tracks I grabbed from LP many years ago, and I used 'cooledit pro' to process them. Speed was not an issue for me, and back in those days it took about a minute just to read the track from the drive, and anything up to 10 minutes to process. I was not concerned as long as I got good results (and generally I did).

Unfortunately I don't have the hardware you require for testing your program - so you may well ask why am I replying?

Well, I have a "click" problem, but it is not related to vinyl grabs. I have a lot of CDs that have suffered from 'bitrot' (they are CD-R where the dye has degraded). Without the strong error detection/correction applied to DVDs, I have a lot of tracks that have random bit errors in them.

They are complete rips - that is there are no samples missing - but the random clicks completely ruin the track. Yes, I have tried several CD drives, including several model 'plextor' (now quite old, but reputedly the best for CD ripping). They were better, and I managed to get about a dozen tracks back (out of over a hundred) but they were still not good enough for error free ripping.

I have extremely limited programming skills, but would like a program that can seek out and correct these errors. The way I thought about approaching this is to run an algorithm (not an FFT) that fits a curve to "five" samples, but only uses the four samples around the center sample. If the center sample is too different from the predicted center sample, it is 'examined'.

It is my belief that the bad samples are corrupted by a single bit, so the sample that is detected as 'bad' has the bits walked through until the value lines up the best with the predicted value. It must limit itself to the MSbits, as if this were applied right down to the LSbit, the results would probably just tend to act as a high-pass filter. The process is then repeated for the entire track.

Standard 'click / pop' removers expect the profile of data captured from an LP, which although annoying, does fit within the realms of what a CD bandwidth should be (~22kHz). These single samples that I am talking about don't occur "naturally", and that is why I suggest not using an FFT, but using a curve fitting.

I don't know if others have ever experienced this problem, but I gave up on it back in 2005 (keeping the corrupted files on my hard drive ever since) because no-one was interested. Is there any interest?

MM.

Help needed to test free 'clicks' removing software

Reply #2
I would like to test the declicker, but the link for the libsndfile-1.dll is not available (404 error)

EDIT 1: going to mega-nerd.com/libsndfile/files/ and selecting the latest version of libsndfile works

EDIT 2: Instantly crashes on my machine

Code: [Select]
 Problem signature:
  Problem Event Name: APPCRASH
  Application Name: declicker.exe
  Application Version: 0.0.0.0
  Application Timestamp: 5325676b
  Fault Module Name: declicker.exe
  Fault Module Version: 0.0.0.0
  Fault Module Timestamp: 5325676b
  Exception Code: c0000005
  Exception Offset: 0000000000006ba6
  OS Version: 6.1.7601.2.1.0.256.1
  Locale ID: 1044
  Additional Information 1: dbb0
  Additional Information 2: dbb01b7c951efe7e304bf0e3d1caff1a
  Additional Information 3: fc60
  Additional Information 4: fc6026c8f24d3c8d6b7d08537acc9688

Help needed to test free 'clicks' removing software

Reply #3
Hi Mustardman,

Thanks for your reply. It made my understanding of the problem wider. I try to apply what I've learned in programming but don't have much experience grabbing and editing audio tracks.

I tried windows FFT to detect "clicks" too. I didn't like the results of my experiments with it because I had too many false positive detections. I mean the algorithm had tendency to fix samples which never were broken.

Then I tried Burg's method and got satisfying results. Unfortunately this algorithm is very demanding of computational power (much more demanding than windows FFT). So I used a graphic card to accelerate the process. This is why the application I wrote requires NVIDIA GPU.

The bright site is the algorithm is quite accurate toward audio signals.

To talk about your audio tracks I'd like to test my application on them. So far I think it can do this job. If you send me some audio tracks (or a link to) I will try to process them during the next week.

Dmitrii

Help needed to test free 'clicks' removing software

Reply #4
Hi TuNk77,

Thanks for the note of broken link. I'll fix it.
I'm sorry about the app crash. It's a bug definitely. What audio file you gave to the app to process?

Help needed to test free 'clicks' removing software

Reply #5
I was not able to run the exe, it just crashes when I try to run it. I will try the declicker on my other PC, later.

Help needed to test free 'clicks' removing software

Reply #6
TuNk77, maybe I see what the problem is. An audio file or a catalog of audio files are necessary as a parameter to run the app. Did you type it in the line?

Help needed to test free 'clicks' removing software

Reply #7
I mean here in command line (in terminal)

"C:\the_program_directory\declicker.exe C:\Music_directory\audiofile.wav"

the parameter "C:\Music_directory\audiofile.wav" is necessary.

It is inaccurate programming of mine that the app crashes being executed without a parameter, of cause. I'll fix it latter. Sorry.

Help needed to test free 'clicks' removing software

Reply #8
Well, I have a "click" problem, but it is not related to vinyl grabs. I have a lot of CDs that have suffered from 'bitrot' (they are CD-R where the dye has degraded). Without the strong error detection/correction applied to DVDs, I have a lot of tracks that have random bit errors in them.

They are complete rips - that is there are no samples missing - but the random clicks completely ruin the track. Yes, I have tried several CD drives, including several model 'plextor' (now quite old, but reputedly the best for CD ripping). They were better, and I managed to get about a dozen tracks back (out of over a hundred) but they were still not good enough for error free ripping.

In this case I suggest you give CUETools a shot, assuming the releases aren't so obscure as to not be in the online CTDB (thankfully several rippers have support for this). It has a repair facility based on the information in said database ("fix" mode).

Help needed to test free 'clicks' removing software

Reply #9
Hi Dimitrii,

To talk about your audio tracks I'd like to test my application on them. So far I think it can do this job. If you send me some audio tracks (or a link to) I will try to process them during the next week.


Perhaps we should transfer this side of the discussion to PMs?

Back on the program that you have written, I had a look at the linked web address, looking at the theory behind the algorithms you implemented. I'm afraid a lot of it went over my head, but I only had about 15 minutes. When I get a chance I'll have a look through your link in a bit more detail. It did seem that you were making very good progress.

Interesting that you pushed the FFT aside, because (as far as I can tell), that is what all the other 'declicking' programs I have worked with seem to do. I haven't looked at 'burg' in any detail whatsoever, but if it talks about processing in the time domain...

Cheers,
MM.

Help needed to test free 'clicks' removing software

Reply #10
@stephan_g:

I'll check the CUEtools program out as a few of the tracks had originated from CD. Unfortunately most of them were grabs from vinyl (just as Dimitrii's program was intended for), but they were quite 'clean' and not in need of standard de-clicking.

Thanks for the tip.
MM

Help needed to test free 'clicks' removing software

Reply #11
I've finished some modifications.

UPD: 2015-03-13 The application update
- a bug fixed (the app crashed being launched without a parameter);
- a bug fixed (the app can't process properly "silence" [0-samples in sequence] longer than 1024 samples);
- speed improvement (about eight times);
- tested on some tracks with "bit rot"

P.S. If you want to test the application you are welcome to post any bug reports here.

Help needed to test free 'clicks' removing software

Reply #12
I've finished some new modifications.

UPD: 2015-07-06 The application update
- GPU is not necessary now to execute the application (but it still can accelerate processing of audio a lot)
- to launch the application in GPU-mode (runs faster) you need an NVIDIA GPU with Compute Capability 2.0 or higher now (not 3.0)
- the algorithm was improved to remove clicks better, to remove bitrots and other kinds of short sharp noises

CREDITS: Thanks a lot to Mustardman for ideas and great help in testing.

Re: Help needed to test free 'clicks' removing software

Reply #13

Hi,
The app has evolved. Now it has a graphical user interface and it works a bit faster. Also the app understands MP3 format and a user can have full control over changes in resulting audio.
Would you like to test it and maybe give me some feedback?

You can install the new version from Windows App Store (available for Windows 10 desktops only)
https://www.microsoft.com/en-ca/p/gpu-declicker/9nb1l20rq9cd?activetab=pivot%3aoverviewtab

Re: Help needed to test free 'clicks' removing software

Reply #14
Hi Dmitrii

having finished ripping all my CDs last year, I'm planning to start on the vinyls this winter so click removal is of interest. I haven't got any ripped vinyl files yet so after installing your latest version I fed it a few CD rip mp3s just to see how it works. I wasn't expecting it to find any clicks, but it did find one false click (detected at the start of a snare drum hit) on one channel and fixed it so I got to see how it operates. The track was Innocence from The Shadow Self by Tarja Turunen.

A couple of more important observations first:
The waveform window at the top is corrupt, there is a large section, about 1/3rd, where no waveform is shown, and the right hand end appears to stop abruptly - yes it was set to show the whole track. Audacity shows the proper waveform for the same file.

The saved de-clicked mp3 file appears to be flagged as having a sample rate of 48k whereas the source was 44.1k, so although it has the correct number of overall samples (give or take because of the de/encoding process) the output audio is significantly shorter (5'34" instead of 6'03")  and higher in pitch - apparent in both Audacity and W10 Groove player
.
The quality, ie bitrate, of the output mp3 is less than the source file 192kbps instead of 269kbps.

I figured out that the big number in the "click" window was a sample offset, but it was about 2000 samples short, sample 2127617 in GPU-DeClicker and sample 2129782 in Audacity. That seems a bit too big to be down to the decoders.

I figured out what the little arrows do on the click window but not the other numbers on the left - maybe click length in samples ?

Other nice to haves would be to copy the metadata (artist, album, track, etc) from the source file to the output file.

The progress bar at the bottom appears to extend (invisibly) past the right edge of the program window, there are several seconds when it appears complete but is clearly still processing the audio.

 It would be nice to see where the clicks are in the overall waveform window at the top, perhaps a vertical red line across the waveform, and maybe the ability to play the audio spanning a few seconds either side of each detected click both original and fixed for comparison

Hopefully I can soon get some vinyl rips so I can try the click removal and properly see the effect of the sliders.

Please don't think I'm trying to pick holes in your program, I think it could be really useful for my vinyl ripping.

regards - plugs


Re: Help needed to test free 'clicks' removing software

Reply #15
Hi plugs,
Thank you for your interest. Your feedback is important for me because I’d like to make the app better.

There is a quick manual in pdf
https://github.com/DmitriiKh/GPU-Declicker-UWP/blob/master/GPUDeclickerTutorial.pdf
Sorry I didn’t include it in my previous post.

Unfortunately there are gonna be some false detection but you can switch them off by clicking in the middle of them (please see the manual). If you are getting too many of them I’d suggest making the Detection Level higher.

The numbers on the left show how serious the damage is. The sharper click would give a bigger numbers.

The issues you have reported are (could you please answer the questions?):

1. Corrupted waveform – Can you see it right away after loading the input file? Could you send me the file so I could test it on my computer?

2. Change in sample rate – The same question - Could you send me the file so I could test it on my computer?

3. Change in bit rate – I didn’t test the app with such high bit rate files. The 192kbps is the best that the app can do currently. It can be improved but it will take time to change the app. Is working with higher bit rates necessary? (Sorry if this question is stupid)

4. Different length of input and output files causing shift about 2000 samples – I know about this issue and I’m working on it

5. The progress bar appears to extend past the right edge of the program window – Thank you. I’ll check it. Sounds like it’s the easiest bug to fix :)

6. Other nice to haves would be to copy the metadata from the source file to the output file – Thank you. I’ll work on it

7. It would be nice to see where the clicks are in the overall waveform window at the top - Thank you. I’ll work on it

Thanks again and best regards
Dmitrii

Re: Help needed to test free 'clicks' removing software

Reply #16
Hi Dmitrii

I've sent you a personal email with attached audio and images to the address in the Help pdf, so we don't clutter up this forum.

For others reading this, in response to point 1, yes its immediately visible, but not always in the same place if you restart the app and reload the same source file. It appears that a block of silence is being randomly inserted and the rest of the audio waveform is shunted to the right. The silence appears in the same place on both channels. Much more importantly, it appears in the output file, and the end of the output file is clipped short to where the waveform display ends.

regards - plugs

Re: Help needed to test free 'clicks' removing software

Reply #17
Well, I have a "click" problem, but it is not related to vinyl grabs. I have a lot of CDs that have suffered from 'bitrot' (they are CD-R where the dye has degraded). Without the strong error detection/correction applied to DVDs, I have a lot of tracks that have random bit errors in them.

It is my belief that the bad samples are corrupted by a single bit...
I have quite a lot of experience with various declicking strategies. I'm not saying yet that I will be able to help, but if you can upload a brief extract of a corrupted rip that includes some of the clicks, I will take a look to see if any of the techniques I know might work.