[PD] tabread4~~

Charles Henry czhenry at gmail.com
Mon Dec 3 06:52:26 CET 2007

On Nov 27, 2007 1:06 AM, Mathieu Bouchard <matju at artengine.ca> wrote:
> On Fri, 23 Nov 2007, Charles Henry wrote:
> > The theory (dynamical systems/pitch) is actually good for this too.
> > There is a slight pitch shift when the frequency ratios become slightly
> > detuned, but the overall fundamental produced is reliable under
> > detuning.
> In a nutshell, how does it work? E.g. I have a tone at 200 Hz and another
> at 301 Hz and we want it to believe that it's a fifth, that the
> fundamental is 100.16 Hz or so, and perhaps also that the fifth interval
> is good within 0.33% and that the fundamental is good within 0.16%.

I have looked up that one.  We can calculate the pitch according to
the Farey sum.  The fundamental is 100.2 Hz = (200+301)/(2+3), which
is actually a negative pitch shift from a fundamental of 101 Hz.  The
theory agrees well with existing experimental data on the pitch shift
effect (again it's just those papers by Cartwright).

Have you ever noticed beats between mistuned pure tone ratios?  I have
tried before to make simple experiments in Pd to count/match rates
with a given tremolo comparison.  It's hard to hear and make
judgements, but it's there.  For example, the phase of a 200 Hz and a
301 Hz tone sync up on every 1 second, but the beats do not match this
frequency.  It's something else entirely.

Ultimately, the notion of dynamical systems in pitch perception should
be judged according to whether it jives with other psychoacoustical
phenomena and generalizes well.

> Overall, I want to say that what's important is to imitate the hearing of
> sounds, not to imitate what individual neurons do nor what we think they
> do. Let's say the brain might work only with sigmoid-clipped matrix
> products with approximate real numbers (they don't, but computer neural
> networks do). Then it's possible that you are better off using a
> structure that does more directly what you want (relative to what you
> know and how you think), rather than whatever contorsion of the same thing
> a billion years of random mutations has come up with.

"random mutations" heh heh... sounds like something a creationist
might say.  It's natural selection, dammit.  It's not random :P

It is tempting to try to find sounds that match up with the theory,
and see if it works.  For example, when I started using pd, I tried to
make some complex tones, where I could shift the partials around while
keeping pitch constant.  It didn't work.  But I messed with it enough
to make electronic sicadas (attached)

The auditory system is just too danged complex for something as simple
as that to work.

> > PacMan :) I would take two variables to parameterize the surface a1 on
> > [0,1) and a2 on [0,1) and use x=cos(2*pi*a1)*(2+cos(2*pi*a2),
> > y=sin(2*pi*a1)*(2+cos(2*pi*a2), z=sin(2*pi*a2)
> You don't have to embed it in a non-modulo space, especially if computing
> things in terms of x,y,z is more complicated than in terms of a1,a2. If
> you already plan to compute directly in the a1,a2 square, then I don't
> know what x,y,z are for.

Yeah, I know.  X, y, and z are just for show.  Superfluous 3rd dimension.

> > My reasoning was that we can create 1-1 functions on a subset of the
> > continuous functions to R^N.
> So, if your subset of continuous functions is isomorphic to R^N, what's
> the basis of your subset?

I have been giving plenty of thought into how to show this, without
defining the answer.  I'm still not sure whether or not I have done

Suppose we start with a function:

g(t)=sum( k= -N/2,N/2 ,  e^(2*pi*i*k*t)

The result has frequencies from -N/2 to +N/2, where we use N/2 as a
kind of Nyquist frequency, defining a bandlimited function.

If we take g(t) as a periodic function, then we get a series of
kronecker deltas in the fourier transform.
On the other hand, if g(t) is non-zero on (-1/2, 1/2) and 0 everywhere
else, the continuous fourier transform of g(t) is
G(f)=sum(k= -N/2,N/2, sinc(f+k)

This spectrum falls off pretty quickly, but slower than e^-x.  So the
function is not strictly bandlimited, when we use the continuous
fourier transform as opposed to fourier series.  The spectrum is a
rectangular function with ringing (screenshot of an example, also

I would consider this function and its translations to be a convenient
basis for the set of continuous band-limited compact functions.
It is mainly useful because it allows this sampling property.  If we
sample the function on frequency N, we can re-create the original
continuous function, by convolution of g(t) with a series of
kronecker-delta functions with coefficients of the samples.

> And more importantly, when you say band-limited, what kind of spectral
> analysis is it relative to? Does "compact in time" mean that your function
> is zero everywhere outside of an interval, or that it is periodic? If it's
> periodic, then you end up with a finite number of frequencies, but else,
> you still have an infinite number of possibilities in a compact set of
> frequencies, because the frequencies in-between the supposed harmonics are
> not aliased to a specific weighting of harmonics: e.g. with a function
> that is sin(1.5*x) over [-pi;+pi) and 0 elsewhere, the spectrum has a
> dirac at frequency 1.5/2pi and is 0 elsewhere, right?

The function you mention is not band-limited.  It has a discontinuity
at x=pi, which means that it has infinite frequency content.

So, my idea here is that the set of continuous band-limited compact
functions (S) can be written as the image of a function.
h: (compact continuous functions) -> S
where h( f(t) ) = g(t) convolved by f(t)
f(t) acts like a distribution.  Then if a signal in S is sampled
(mapping it onto R^N for some N), the result is unique for each
function in S.  Then, a set of continuous functions on [a,b] defined
this way is finite dimensional.

Sorry it took so long for the reply...
-------------- next part --------------
A non-text attachment was scrubbed...
Name: electronic_sicadas.pd
Type: application/octet-stream
Size: 3977 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20071202/f31eac5b/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bl_impulse.png
Type: image/png
Size: 41773 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20071202/f31eac5b/attachment.png>

More information about the Pd-list mailing list