|
|||||||
![]() |
|
|
Thread Tools |
|
|
#1 |
|
S-3D enthusiast
|
I reworked my noise canceller plugin. I changed from using the iTram for the delayed samples to using Registers. It improves the obtained results. It's been said before that iTram compress and uncompress the audio in some way when working. I don't know what it actually does but that reduced the good working of the plugin. I also made some other small changes to the code.
It uses the LMS algorithm. NLMS would work better but it requires division, something that is not possible directly in microcode and the approximated division (I'm talking about the code from Tiger M that makes it possible to do divisions) takes too much ressources. This filter uses the LMS algorithm to adapt dynamically the FIR filter coefficients. Primary is noise and desired signal. Reference is noise only. It works better at removing periodic noise. There are two outputs : - Correlated output is the output where the noise was substracted. - Uncorrelated output is what was substracted from the output. Mu is a coefficent to control the convergence speed. You want it as big as possible without causing the filter to diverge. I included NCCG (noise canceller code generator). There is the source code and the compiled executable. It's a tool I made to write the plugin code for different numbers of coefficients. The instructions on how it works are in the Readme. I made 5 plugins with it. You are free to use it to make plugins of different numbers of coefficients. Link to the package : http://pages.globetrotter.net/samaust/Files/nc.zip NCCG requires the following dll : http://pages.globetrotter.net/samau...es/MSVCP60D.DLL Download it and place it in the system32 folder |
|
|
|
|
|
#2 |
|
DriverHeaven Junior Member
Join Date: Jan 2005
Posts: 37
Rep Power: 0 ![]() |
Wow, that description sounds terrific!
I can't try it, but I will try the next time I have to deal with noise... If I understand this correctly, it will help best against correlated (repeating) noise, right? What will happen with the AC97 ADC noise for example? Bye, Hannes |
|
|
|
|
|
|
|
S-3D enthusiast
|
Don't get your hopes high too much. To me, it's more like a toy. I don't know if it could really be useful to someone.
From my understanding, it's good for periodic noise (like an engine noise) and it only works at low frequencies. It doesn't work well with white noise so I think that it would not work well at removing AC97 ADC noise. You are free to test it however. |
|
|
|
![]() |
| Thread Tools | |
|
|