Noise reduction

Audio software developers forum.

If you require help using Audacity, please post on the forum board relevant to your operating system:
Windows
Mac OS X
GNU/Linux and Unix-like

Noise reduction

Permanent link to this post Posted by surendrasalke » Fri Jul 15, 2016 6:11 am

I wish to carve out a Noise reduction code from the existing Audacity code. But given the complex interdendancy in audacity code I am finding it difficult to separate only Noise reduction part of audacity. Can anyone suggest the best way of achieving this objective.

Ideally, what I want is a noise reduction API.

Thanks.
surendrasalke
 
Posts: 2
Joined: Fri Jul 15, 2016 6:04 am
Operating System: Linux *buntu

Re: Noise reduction

Permanent link to this post Posted by kozikowski » Fri Jul 15, 2016 4:41 pm

Have you actually used Noise Reduction? It's not convenient because of the two-step process. It's not a one-pass tool which is what it sounds like you're looking for.

Koz
kozikowski
Forum Staff
 
Posts: 36537
Joined: Thu Aug 02, 2007 5:57 pm
Location: Los Angeles
Operating System: OS X 10.9 Mavericks

Re: Noise reduction

Permanent link to this post Posted by kozikowski » Fri Jul 15, 2016 4:51 pm

That two-step thing may be why it seems so complicated in code. It's actually a mini-dialog with the user. It has to ask for and then store sound values, and only then do the reduction based on even more user input.

I have a program called SoundSoap which does I think what you're after. It assumes the global, overall noise in the whole show is what you want to reduce and uses that for the reduction. It's not nearly as effective as the two-step process.

Koz
kozikowski
Forum Staff
 
Posts: 36537
Joined: Thu Aug 02, 2007 5:57 pm
Location: Los Angeles
Operating System: OS X 10.9 Mavericks

Re: Noise reduction

Permanent link to this post Posted by surendrasalke » Mon Jul 18, 2016 5:36 am

kozikowski wrote:That two-step thing may be why it seems so complicated in code. It's actually a mini-dialog with the user. It has to ask for and then store sound values, and only then do the reduction based on even more user input.

I have a program called SoundSoap which does I think what you're after. It assumes the global, overall noise in the whole show is what you want to reduce and uses that for the reduction. It's not nearly as effective as the two-step process.

Koz


Thanks Koz for your reply.

Koz, What I want to achieve is to create two funtions namely. 1] CreateNoiseProfile(sound.wav , duration) which will output NoiseFile.profile and 2] ReduceNoise(Sound.wav, NoiseFile.profile) which will output NoiseReduced.wav

But given the strong interdependence among the program files I am finding it difficult to separate out the relevant portion of the code. Any leads as to how to proceed.

Surendra
surendrasalke
 
Posts: 2
Joined: Fri Jul 15, 2016 6:04 am
Operating System: Linux *buntu

Re: Noise reduction

Permanent link to this post Posted by steve » Mon Jul 18, 2016 11:43 am

Look in src/effects/NoiseReduction.cpp

Noise Reduction uses RealFFTf (in RealFFTf.cpp) and either does EffectNoiseReduction::Worker::GatherStatistics or EffectNoiseReduction::Worker::ReduceNoise depending on whether it is creating a noise profile or applying the profile (to reduce or isolate the noise).
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)
steve
Senior Forum Staff
 
Posts: 43475
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux Debian


Return to General Audio Programming



Who is online

Users browsing this forum: No registered users and 1 guest