Forums > MaxMSP

How To Divide the Frequency Spectrum Logarithmically?

June 18, 2008 | 8:24 pm

Hello, I am trying to build a vocoder and was wondering how I might divide the frequency spectrum up according to its loudness as opposed to frequency? For instance, if I wanted 8 bands in my vocoder, is there an equation I can use to determine the best possible frequency spectrum for each band?


June 19, 2008 | 1:53 am

You could research "Bark" of "Mel" coefficients. They help slice the
spectrum in 24 bands. They are designed by taking into account the
sensibility of human ears. But I’m not sure that’s what you are looking for,
though.

http://www.jeanfrancoischarles.com
June 14th update: Ballade for clarinetist dancer – Video

> Hello, I am trying to build a vocoder and was wondering how I might divide the
> frequency spectrum up according to its loudness as opposed to frequency? For
> instance, if I wanted 8 bands in my vocoder, is there an equation I can use to
> determine the best possible frequency spectrum for each band?
> –
> -k.


June 19, 2008 | 2:22 am

That’s exactly what I’m looking for. Since human hearing is logarithmic (lower frequencies are much louder and more distinct than higher frequencies), I am looking for a method to divide the frequencies so that each frequency range contains the same amount of energy. Though I’ve decided to just make the frequencies variables, as their manipulation mid-vocoding could most likely produce some cool effects :-D


June 19, 2008 | 3:08 am

Well that’s mostly true, but don’t confuse perceptual loudness and frequency resolution.

Check out the equal loudness curves http://en.wikipedia.org/wiki/Loudness – sensitivity does vary with frequency (as well as many other things) but the dependence is not simple (or logarithmic).

Frequency resolution is logarithmic however. The critical bandwidth of the human cochlea is something like a minor 3rd as far as I remember, and of course the number of Hz that a minor 3rd spans grows exponentially with frequency.

G’luck with the vocoding!

Aengus.


June 19, 2008 | 3:28 pm

Quote: aengus wrote on Wed, 18 June 2008 21:08
—————————————————-
> Frequency resolution is logarithmic however. The critical bandwidth of the human cochlea is something like a minor 3rd as far as I remember, and of course the number of Hz that a minor 3rd spans grows exponentially with frequency.
>
—————————————————-

I guess that is the question, how do you calculate the position
of all these "minor 3rds". That would be a very useful thing to
know.


June 19, 2008 | 4:13 pm

On Jun 19, 2008, at 8:28 AM, Anthony Palomba wrote:
> I guess that is the question, how do you calculate the position
> of all these "minor 3rds". That would be a very useful thing to
> know.

mtof or mtof~ are probably the most direct way in Max.

-C

Chris Muir
cbm@well.com

http://www.xfade.com


June 19, 2008 | 4:29 pm

Kyle Kaplan schrieb:
> Hello, I am trying to build a vocoder and was wondering how I might
> divide the frequency spectrum up according to its loudness as opposed
> to frequency? For instance, if I wanted 8 bands in my vocoder, is
> there an equation I can use to determine the best possible frequency
> spectrum for each band?

In the end this is a matter of taste, but definitely look into mtof,
thinking of midi notes as range is more the way we hear. You probably
want equal intervals as bandwidth…

Stefan


Stefan Tiedje————x——-
–_____———–|————–
–(_|_ —-|—–|—–()——-
– _|_)—-|—–()————–
———-()——–www.ccmix.com


June 19, 2008 | 5:33 pm

thanks for the advice, hadn’t thought of using mtof but now that you mention it, it makes perfect sense.


June 19, 2008 | 8:10 pm

I’d also look at the frequency ranges traditionally used for vocoders
and other effects like the Moog MuRF. You probably don’t want to
divide the spectrum evenly if you’re going for a warm analog sound.
The high end probably matters less than the low end. You might also
consider a shelf filter on either the low or high ends.

The Moog MuRF uses:
200. 300. 450. 675. 1000. 1500. 2200. 3400.
(100 150 225 325 500 700 1200 Hz differences)

Peter McCulloch


June 20, 2008 | 1:32 pm

A tempered minor third is the frequency ratio sqrt(sqrt(2)), ie pow(2, 0.25). A tempered major third is pow(2, 0.333333).

Analog vocoders only approximated third-octave divisions, and I don’t suppose for a moment that the cut-off frequencies on a Moog were cent-accurate.

You can either use some hard-coded numbers, or do the math. It’s not hard if you got past logarithms in high school.

– P.


June 20, 2008 | 5:09 pm

The Moog ratios worked quite well. In the spirit of ‘sharing is fun’ here’s my super simple 8-band vocoder for anyone who’s interested. wasn’t really sure on the Q, so I set it to something that sounded OK and attached some flonum boxes for personal adjustment.


Viewing 11 posts - 1 through 11 (of 11 total)