[SciPy-User] Accurate Frequency Measurement

Seth Nickell snickell at gmail.com
Tue Nov 30 02:23:31 EST 2010


On Tue, Nov 30, 2010 at 12:59 AM, David <david at silveregg.co.jp> wrote:
> On 11/30/2010 03:30 PM, Seth Nickell wrote:
>> I'm indeed evaluating partials, analyzing some of the interesting
>> analog sine tone installations of the composer La Monte Young.
>
> This is a cool application of numpy/scipy ! May I ask which composition
> are you looking at ?

My test case right now is a particularly easy one (since it was
officially recorded and released on vinyl, and the tones are
theoretically equal amplitude (modulo recording/mastering/replaying
flaws)): Drift Study 14.

> Sinusoidal are pretty weird to human hear - amplitude/frequency
> perception does not always correspond 100 % to their signal definition
> (louder sinusoidal may be perceived as frequency changing ones IIRC).

Interesting, this is a psycho-acoustic effect I'm not familiar with,
but would love to learn more about.

> You may want to look at something like CLAM (http://clam-project.org) to
> analyse those signals if you want to track frequency changes. I believe
> they have some python bindings.

I hadn't heard of CLAM but will check it out. Just looking at
screenshots, I wonder if it can deal with the very narrow frequencies
differences involved in some of La Monte's work (e.g. he was quite
fond of using high prime ratios that approximated standard musical
intervals like 3/2 quite precisely, but as a result of being large
primes resulted in patterns that repeated less frequently).... so it'd
have to accomodate beyond 5-limit just intonation.

> That being said, I doubt you will be able to obtain 1/100 Hz precision
> as soon as you start looking at unstable frequencies, especially since
> the oscillator themselves don't have that precision, depending on what
> kind of hardware was used (would be hard to do with conventional analog
> oscillator, I guess).

Because Young was well-connected and fairly OCD about 'purity', a
number of his oscillators were constructed by various laboratories.
Additionally, he was known for checking things in detail with
oscilloscopes and calibrating in the real world. Doing a naive visual
analysis suggests even frequency drift was pretty minimal.

I've done a fair bit with convolution before, and have some ideas
about using convolution and constructive feedback to achieve
relatively accurate measures of oscillator tendencies over time (by
iterative refinement of convolution with a synthesized mimic of the
signal, and analyzing the interference caused by the differences), but
I wanted a simpler method for verifying against before I try some of
these more complicated bits.

-Seth



More information about the SciPy-User mailing list