Skip to main content

I need to isolate lows, mediums and highs of an audio file, each on a separate track.
(It is intentional to separate these bands from the source)

My filter has the following parameters : Bandwidth, center frequency.
Been trying some settings but it's just an approximate since I don't really know the subject ...
Like : 90, 1000, 5000 or 200, 5000, 10000 (Center frequencies)
And regarding bandwidth, I don't know what to put at all ...

Can you recommend good cutoff frequencies to isolate each of these bands ? (low, med, high)

Thank you !

Comments

IIRs Thu, 09/29/2011 - 01:27

I think you're using the wrong type of filter. Try using low and highpass filters instead of a bandpass filter.

eg: the Low channel should be lowpass filtered at frequency A
the Mid channel should be high-pass filtered at frequency A, then lowpass filtered at frequency B
The High channel should be highpass filtered at frequency B.

The actual cutoff frequencies will depend on what you are trying to do. (A PA system might set A at about 100Hz, and B at about 1.6KHz)

aybe Thu, 09/29/2011 - 13:31

Hello,

Ok, I see what you mean, actually I can only use a BP filter, not using hardware but programming my own software ...
the only available filter in my kit is a BP, I did try to code my own LP/HP filters, it does work but well, not really professional-grade filtering :-)

Here's a little more information about what I'm trying to achieve and some pictures :
Been doing music for some time now but (well, some years ago already) decided to write my own (DJ-ing) software :-)
Basically I am trying to color a wave form like this one, or like Serato Scratch if you know that software

Comparisonics Audio Editor
 

My first test, (inconclusive...)
 

My results as of today,
 
On top it's my stuff, on bottom it's a picture of Propellerhads Recycle software, bands in order are red, green, blue.
I decided to slice the audio as it seems that's what they did but I'm not certain until I achieve the same, or almost same result.
That's where beat detection comes in very handy since it has a configurable BP ...
And as you can see, it's already very close to it !

There are more picture in this thread that I created myself, if you want to have a look at them.
[[url=http://[/URL]="http://math.stackex…"]logarithms - Spectral Centroid computation issue - Mathematics - Stack Exchange[/]="http://math.stackex…"]logarithms - Spectral Centroid computation issue - Mathematics - Stack Exchange[/]
(can't post a lot of pictures here since I am a new user)

Actually after checking, I have other filters available :

BiQuad Lowpass filter.
BiQuad Highpass filter.
BiQuad Bandpass filter.
BiQuad Bandpass Q filter.
BiQuad Notch filter.
BiQuad All-Pass filter.
BiQuad Peaking EQ filter.
BiQuad Low-Shelf filter.
BiQuad High-Shelf filter.

BUT the problem is am I going to need beat detection anyway and provide parameters ...
As you may know, beat detection is very complex, I am uncertain about realizing my own, custom code ... I'll stick with theirs

I just have an idea right now,

Can you tell if it'd be worth to pre-process my audio using any of the BiQuad filters, then pass it onto my beat detector again ?
I could pass then some generic parameters like 20 to 22050 Hz for the bandwidth since only that part of the spectrum is in the sound ?

Thanks very much for your time :-)

Attached files

IIRs Thu, 09/29/2011 - 14:38

aybe, post: 376721 wrote:
Can you tell if it'd be worth to pre-process my audio using any of the BiQuad filters, then pass it onto my beat detector again ?

Not without knowing exactly what you are trying to achieve. You could use the Biquad low and high-pass filters to set up a cross-over as I described above, which would be the usual way to split audio into seperate frequency bands. But for colouring audio files in a Comparisonics style (don't they have a patent for that by the way?) or beat detecting for slicing files you might want a different approach. This "kit" you refer to is some kind of SDK I presume...?

aybe, post: 376721 wrote: I could pass then some generic parameters like 20 to 22050 Hz for the bandwidth since only that part of the spectrum is in the sound ?

If the samplerate is 44.1Khz then 22050Hz is already the highest frequency present!

aybe Thu, 09/29/2011 - 17:15

IIRs, post: 376723 wrote: Not without knowing exactly what you are trying to achieve. You could use the Biquad low and high-pass filters to set up a cross-over as I described above, which would be the usual way to split audio into seperate frequency bands. But for colouring audio files in a Comparisonics style (don't they have a patent for that by the way?) or beat detecting for slicing files you might want a different approach. This "kit" you refer to is some kind of SDK I presume...?

If the samplerate is 44.1Khz then 22050Hz is already the highest frequency present!

  1. I am going to give a try to the BiQuad filters
  2. Actually I'm not looking for an exact match, personally I find it too colored/confusing for DJ-ing ... and yes they have a patent;
    I am rather seeking for the same kind than Serato if you've seen the thread I posted at MathExchange,
    and using an FFT and calculating the Spectral Centroid that gave me pretty close results, IMO there's no sort of infringement at all ...
  3. I haven't understand what you said, I meant that if audio is being pre-filtered, containing strictly one band,
    the bandwidth parameter is virtually useless, but anyway should be set to something like 0 to 22050 Hz.
  4. The kit in question is BASS.NET library, IMO, THE library for low-level audio but high-level stuff as well like Reverb etc ... a very complete framework !
    class="xf-ul">
    I'll tell you how it went ...

    Thanks !