Re: Noise Reduction
Re: Noise Reduction
- Subject: Re: Noise Reduction
- From: RJV Bertin <email@hidden>
- Date: Wed, 12 Sep 2012 14:08:01 +0200
Seth,
There's a FFT example among the Accelerate or vecLib sample projects. It should get you started and is quite simple as far as I remember.
I think that the FFT filtering trick is just a subtraction in the freq domain.
1 define a sample with representative noise
2 obtain its FFT ("mask")
3 obtain the FFT of your signal (or chunks thereof)
4 subtract "mask" from that FFT
5 do the reverse transform of the result
which gives you your signal with the reference noise suppressed. It's identical to what noise-cancelling headphones do (at least in principle and AFAIK).
You can of course experiment with the volume (strenght) of the noise mask.
On 12 Sep 2012, at 01:39, Seth Willits <email@hidden> wrote:
> In trying to figure out what those programs did, I came across the Noise Gate article on Wikipedia which mentioned this (with frequency profiling) is how Audacity works, but in retrospect I see now that the "Noise Gate" refers specifically to the simple threshold, and the frequency-specific threshold values is an additional step and it was just on the same page.
>
> I wish I had the time to fully understand the application of the FFT and could write this myself. I understand just enough to know that I _could_ do it, but I'm sure it'd take me way longer than I am willing to dedicate to it at the moment. An example like this using Accelerate.framework and Core Audio would be amazing. I briefly thought about looking at Audacity but if the code is *anything* like the UI, it'd be a nightmare to try to understand. :-)
>
>
> (iZotope, as Rick suggested, has a bunch of things available to license, so I've sent them an email. Not sure why I didn't find them in all of my Google searches.)
>
>
> Thanks,
>
> --
> Seth Willits
>
>
>
> On Sep 11, 2012, at 4:28 PM, Kevin Dixon wrote:
>
>> Actually a Noise Gate is a much simpler algorithm, in which signal
>> with less than a specified threshold is driven to silence. In this
>> case, it will not affect the signal greater than the threshold, so
>> there will be no noise reduction when signal is present.
>> The "noise profiling" features in Audacity and the like use some sort
>> of frequency-domain transform to try to remove the sampled noise from
>> the entire track. You may want to look at the Audacity source (open
>> source!) to see how this is implemented
>>
>> -Kevin
>>
>> On Tue, Sep 11, 2012 at 10:35 AM, Seth Willits <email@hidden> wrote:
>>>
>>>
>>> I have a need to apply some filtering to an audio track to cut out the background hiss/noise. I believe what I'm after is a Noise Gate. In Audacity and Amadeus Pro there is a feature to do this, where you select a region which has just the background noise, it profiles it, and then you can apply the filter to the entire track. I figured something like this would be commonly available from somebody as an Audio Unit (if not Apple themselves), but I haven't found one.
>>>
>>> Anybody know of a go-to solution for this?
>>>
>
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Coreaudio-api mailing list (email@hidden)
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden