|
-
Jan 29th, 2014, 07:20 PM
#1
Thread Starter
Frenzied Member
Re: 24DB Low Pass Filtering - SOUND / AUDIO Processing
Hi Schmidt/Olaf,
Thanks for the update, but I'm still getting same results ? Still have a black notch in my spectrum and noise on the wav ? just like the images I posted before?
I'm only using the ButterWorth class, so I'm using it by:
Code:
Dim kk As New cButterWorth
kk.FilterType = FilterLowPass
kk.Freq = 1000 'EditWAV.SamplingFreq / 4
kk.SampleRate = EditWAV.SamplingFreq
kk.Order = 4
kk.Filter EditWAV.WavData, True
refreshData True
_____________________________________________________________________
----If this post has helped you. Please take time to Rate it.
----If you've solved your problem, then please mark it as RESOLVED from Thread Tools.

-
Jan 29th, 2014, 07:53 PM
#2
Re: 24DB Low Pass Filtering - SOUND / AUDIO Processing
 Originally Posted by some1uk03
I'm only using the ButterWorth class, so I'm using it by:
Code:
kk.Filter EditWAV.WavData, True
In case you are using the updated cButterworth-Class now, the IsMono-Param is
the last argument, Optional - and by default *False* (meaning Stereo-Mode).
As I wrote in the other post - I changed that in comparison to your own variant,
to not break that much stuff in my older Demo-App.
So, the above line which finally calls the new Filter-method should explicitely pass a True in the last param:
Code:
kk.Filter EditWAV.WavData, True, True
Olaf
-
Jan 29th, 2014, 08:35 PM
#3
Thread Starter
Frenzied Member
Re: 24DB Low Pass Filtering - SOUND / AUDIO Processing
I'm not infront of my PC now to confirm %100 but i do remember well that i changed your updated function to...
Code:
Optional isMono As Boolean = True
..so by default its True, without me having to pass it here:
Code:
kk.Filter EditWAV.WavData, True, True
EDIT:
Just realised that in my original kk.Filter call the True goes out to the FIRSTbuff... what does that do exactly ? Splits the audio to few buffers ? havent really analysed properly...
_____________________________________________________________________
----If this post has helped you. Please take time to Rate it.
----If you've solved your problem, then please mark it as RESOLVED from Thread Tools.

-
Jan 29th, 2014, 09:16 PM
#4
Re: 24DB Low Pass Filtering - SOUND / AUDIO Processing
 Originally Posted by some1uk03
Just realised that in my original kk.Filter call the True goes out to the FIRSTbuff... what does that do exactly ? Splits the audio to few buffers ? havent really analysed properly...
The FirstBuff-param is needed, to properly initialize the surrounding Helper-Arrays, which store the current filter-states.
If you want to play e.g. a song from a 25MB-Wav-File, then you have to do it in chunks -
now when you have the BW-Filter in place, you have to signalize when a new "streaming begins" -
and on your very first buffer you're sending to the Class, you can tell the Filter-method about that -
... and all following buffers shall have to "connect seamlessly" to the last values in the previous
buffers (and use the derived coefficients from those last buffer-values), so with Firstbuff = False
you can signalize "continuation of the current state of calculations".
If your MonoBuffers come in complete chunks, containing the whole sound - then FirstBuff should be
always True (so, False is only thought for following Buffers after the first one in a streaming-scenario).
Olaf
-
Jan 30th, 2014, 05:59 PM
#5
Thread Starter
Frenzied Member
Re: 24DB Low Pass Filtering - SOUND / AUDIO Processing
Ok, After further testing today... the LP / Mono is working, BUT I still get NOISE depending on the Freq / Hertz...
The spectrum this time only show a black boundary not in the MIDDLE, but TOP area only... what ever the Freq limit is set to... i.e upto 11000
as in there is No Falloff...
As far as I can calculate, there needs to be a loop which decreases the SET Freq depending on TIME...to get a side slope just like in the GREEN Mid graph i posted earlier..
Does that seem to make any sense?
_____________________________________________________________________
----If this post has helped you. Please take time to Rate it.
----If you've solved your problem, then please mark it as RESOLVED from Thread Tools.

-
Feb 11th, 2014, 05:29 AM
#6
Re: 24DB Low Pass Filtering - SOUND / AUDIO Processing
 Originally Posted by some1uk03
Ok, After further testing today... the LP / Mono is working, BUT I still get NOISE depending on the Freq / Hertz...
Now (and from what you wrote in a PM) I begin to understand that you're looking for a Noise-Cancelling solution.
 Originally Posted by some1uk03
The spectrum this time only show a black boundary not in the MIDDLE, but TOP area only... what ever the Freq limit is set to... i.e upto 11000
That's as it should be with a "normal" Filter (a LowPass in this case).
A LowPass is letting (by definition) the frequencies below a certain "cut-off-frequency" through...
The frequencies above the cut-off will be "dampened" (in case of a Butterworth-Filter of the 4th order with 24dB per Octave)...
And the latter (increased) dampening is, what's causing the "blacked out area" in your frequency-spectrum-visualization.
So, there's nothing wrong with the Butterworth-Filter - its one of the better suited algorithms for audio-processing - and it behaves as it is designed to do in your case.
Noise (White Noise to be precise) spreads by definition: http://en.wikipedia.org/wiki/White_noise
its energy across the whole spectrum, so cutting-off above a certain frequency is not a sufficient
"noise-cancelling-approach", since the lower-frequency-bands (below the cut-off) will still contain
a lot of "noise-energy" - it just doesn't sound all that "aggressive" anymore, when at least the
higher frequency-bands are dampened.
What you need is a better suited algorithm which works across the whole frequency-spectrum,
cleaning up (or flattening) "the ripple" in each of the frequency-bands - a single Low-Pass
(no matter how strong its dampening is adjusted) will not work as good as such a specialized algo.
Not sure, what you need this for - if this is e.g. for a de-noising of radio-transmitted audio-signals, then maybe this link here
is helpful for a general overview: http://digitalcommons.calpoly.edu/cg...context=theses
Olaf
-
Feb 11th, 2014, 08:46 AM
#7
Thread Starter
Frenzied Member
Re: 24DB Low Pass Filtering - SOUND / AUDIO Processing
Thanks for coming back to this Olaf.
The butterworth-Filter in itself, is fine no problem. But yes, it seems I need some form of a Noise Cancelling solution.
From what I can figure out, is that some type of a GRADUAL Frequency Cut off ? That's what I'm evaluating from the Spectrum Graphs I posted before, but been researching and have No idea how to implement this.
Not sure, what you need this for..
I have Audio Sample Wavs that require some of this Noise Removal treatment.
_____________________________________________________________________
----If this post has helped you. Please take time to Rate it.
----If you've solved your problem, then please mark it as RESOLVED from Thread Tools.

Tags for this Thread
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|