< Back to IRCAM Forum

Computing Local Minima/Maxima from BPFs

Hi,

I’ve implemented Helmholtz’s dissonance curves as BPFs in OpenMusic. Here’s the standard profile for one octave:

I’m having trouble figuring out a way of computing the local minima of these curves.

Any hints or insights would be much appreciated.

All the best,
António

Dear Antonio,

Interesting problem but rather for specialists.
One question though, is this a simple BPF curve (with points) or are you using the spline representation?

Maybe some more info could help.

Best
K

Hi Karim,

Yeah, the dissonance function outputs (frequency/ratio amplitude) pairs which I plug into OM’s BPF. The precision (0.01 in the screenshot) is one of the inputs.

All the best,
António

Can you send the bpf to see if we can find a solution?

Sure, I’ve attached it. Thanks a lot for this.

BPF.omi (1.4 KB)

Thanx Antonio,

Sorry to ask, I am not an expert in such matters, but what about the “local minima”. What you want exactly expect here mathematically? Can you elaborate?

Best
K

I’m looking to build scales from those pitches, the n (6 in the screenshot) most consonant pitches for any given timbre. These offer an alternative to the more standard overtone series, and can vary a lot depending on the timbre we analyze.

All the best,
António

Hi Antonio,

I got the local min max and plot them for visualization:

building scales from this is totally doable but also more advance.

best
rc

Hi rc0,

Building scales/tunings is immediate with local minima, there you get m3 and M3, P4 and P5, M6, and the unisson. Exactly what we’d expect given my input was the harmonic series (coupled with r^n r<1 for amplitudes.)

All the best,
António