HardwareHeaven.com

HardwareHeaven.com

Looking for the skin chooser?
 
 
  • Home

  • Hardware reviews

  • Articles

  • News

  • Tools

  • Gaming at HardwareHeaven

  • Forums

 

Go Back   HardwareHeaven.com > Forums > Hardware and Related Topics > kX Project Audio Driver Support Forum > Effects and the DSP


Reply
 
Thread Tools
Old Oct 22, 2005, 05:03 AM   #1
S-3D enthusiast
 
Tril's Avatar
 
Join Date: Sep 2004
Location: Canada
Posts: 1,676
Rep Power: 64
Tril has much to be proud ofTril has much to be proud ofTril has much to be proud ofTril has much to be proud ofTril has much to be proud ofTril has much to be proud ofTril has much to be proud ofTril has much to be proud ofTril has much to be proud ofTril has much to be proud of
System Specs

arrow Noise Canceller Improved

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
Tril is offline   Reply With Quote


Old Oct 22, 2005, 03:47 PM   #2
DriverHeaven Junior Member
 
Join Date: Jan 2005
Posts: 37
Rep Power: 0
2ndhannes is on a distinguished road

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
2ndhannes is offline   Reply With Quote
Old Oct 22, 2005, 05:30 PM Threadstarter Thread Starter   #3
S-3D enthusiast
 
Tril's Avatar
 
Join Date: Sep 2004
Location: Canada
Posts: 1,676
Rep Power: 64
Tril has much to be proud ofTril has much to be proud ofTril has much to be proud ofTril has much to be proud ofTril has much to be proud ofTril has much to be proud ofTril has much to be proud ofTril has much to be proud ofTril has much to be proud ofTril has much to be proud of
System Specs

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.
Tril is offline   Reply With Quote
Reply

Thread Tools