back to list

adaptive tuning, representation, fuzzy logic, etc.

🔗michaelsaunders7@hotmail.com

5/27/2001 1:06:32 AM

>Cool. Now I guess we can move on to adaptive tuning (which John
>deLaubenfels has done wonderful work in).

Well, pitch itself gets covered on pp 70--72, the representation of
intervals on pp 72--80, scales on pp 81---82, and the basic problem of
tuning (what we've talked about so far---the "stable solution") on
pp 82--92.

Adaptive tuning (the "unstable solution") runs from pp 92--125.
It has three main sections. The first, pp 92--106 deals with a method
for reading the score and determining the harmonic contexts or
"HCs" (consecutive periods of time when a well-defined set of notes
is sounding). It also includes methods for determining the extent
to which a note is present (they can extend into neighboring HCs
via articulation, reverberation, memory, etc.) and methods for
assigning various parameters to notes. Pages 106--124 present the
main part of the algorithm---the problem is to find anchors for
each HC amongst its member pitches. There are several categories
of candidate for this, and the the problem is complicated because,
since not all intervals present in the scale need be defined, some
pitches might not have any pathway back to an anchor. Three
classes of anchor might result from this in any HC, according to
various options. An important class is when HCs have to be anchored
to neighboring HCs. This isn't simple, and there are a number of
parameters involved. The concept of drift, arises here and
there are a number of options to deal with it. Finally, there is an
extension of the algorithm, on pp 124--125, to allow notes to change
pitch while they are sounding in order to improve intonation, drift
and so on. This isn't too difficult, since the persistance of tones
was
defined as a function of time from the beginning. This allows the
unstable algorithm to be called at any time; it can use future
information
to improve the results, but it doesn't require any, allowing it to
run in real time.

Finally, pp 126--128 outline other "exotic solutions" (tuning-like
signal
processing manipulations), pp128--132 presents a general
representation
for temperaments and pp132--136 deal with measuring the correlation
between scales and recasting one as another.

There are a few other tuning-related sections in the thesis---the
representation of mode on pp 168--184 and the representation of
chords and harmonic modes on pp184--225 (which also includes
an interesting algorithm for voicing).

http://members.fortunecity.com/odradek5/pp/rustyprogress.html

-m

🔗John A. deLaubenfels <jdl@adaptune.com>

5/28/2001 8:43:30 AM

[Paul E wrote:]
>>Cool. Now I guess we can move on to adaptive tuning (which John
>>deLaubenfels has done wonderful work in).

[Michael Saunders wrote:]
>Well, pitch itself gets covered on pp 70--72, the representation of
>intervals on pp 72--80, scales on pp 81---82, and the basic problem of
>tuning (what we've talked about so far---the "stable solution") on
>pp 82--92.

These summaries you're posting sound very interesting. I still haven't
had time to dig into your full web page, which obviously has great
amounts of detailed information, but perhaps we can keep exchanging info
in this way.

>Adaptive tuning (the "unstable solution")

Wow, not a term I'd use for adaptive tuning! I let the different needs
fight it out till they reach a stable solution. Stable, perhaps I
should say, in an axis of time that is perpendicular to that in which
the piece is played. In the normal time axis, "unstable" makes sense.

>runs from pp 92--125.
>It has three main sections. The first, pp 92--106 deals with a method
>for reading the score and determining the harmonic contexts or
>"HCs" (consecutive periods of time when a well-defined set of notes
>is sounding).

In other words, you are determining the ideal harmonic relationship
among the notes currently sounding, and/or a root note/key?

>It also includes methods for determining the extent
>to which a note is present (they can extend into neighboring HCs
>via articulation, reverberation, memory, etc.) and methods for
>assigning various parameters to notes.

Do you loudness-weight your consideration?

>Pages 106--124 present the
>main part of the algorithm---the problem is to find anchors for
>each HC amongst its member pitches. There are several categories
>of candidate for this, and the the problem is complicated because,
>since not all intervals present in the scale need be defined, some
>pitches might not have any pathway back to an anchor. Three
>classes of anchor might result from this in any HC, according to
>various options.

Hmmm... I need to read your thesis to understand this, perhaps. Unless
you could expand slightly...

>An important class is when HCs have to be anchored
>to neighboring HCs. This isn't simple, and there are a number of
>parameters involved. The concept of drift, arises here and
>there are a number of options to deal with it. Finally, there is an
>extension of the algorithm, on pp 124--125, to allow notes to change
>pitch while they are sounding in order to improve intonation, drift
>and so on. This isn't too difficult, since the persistance of tones
>was
>defined as a function of time from the beginning. This allows the
>unstable algorithm to be called at any time; it can use future
>information
>to improve the results, but it doesn't require any, allowing it to
>run in real time.

That sounds quite good.

>Finally, pp 126--128 outline other "exotic solutions" (tuning-like
>signal
>processing manipulations), pp128--132 presents a general
>representation
>for temperaments and pp132--136 deal with measuring the correlation
>between scales and recasting one as another.
>
>There are a few other tuning-related sections in the thesis---the
>representation of mode on pp 168--184 and the representation of
>chords and harmonic modes on pp184--225 (which also includes
>an interesting algorithm for voicing).

http://members.fortunecity.com/odradek5/pp/rustyprogress.html

So... can we listen to some results? I think you said you don't use
MIDI. I can well relate to MIDI's limitations and irritations, but it
sure as heck is a great compact way to communicate music, tuned or
otherwise. I have trouble with MP3's with my slow dial-up connection,
so seldom bring them down. But I'd be glad to try one of your choice
(under a megabyte or two if possible).

Would there be a way to throw some test sequences at your methods? The
infamous "comma pump" (Cmaj, Amin, Dmin, Gmaj, Cmaj) comes immediately
to mind. But I only have it in midi format. Would there be a way to
get it into a format your methods could address?

Look forward to hearing more!

JdL

🔗Michael Saunders <michaelsaunders7@hotmail.com>

5/29/2001 4:15:15 AM

>>Well, pitch itself gets covered on pp 70--72, the representation of
>>intervals on pp 72--80, scales on pp 81---82, and the basic problem of >>tuning (what we've talked about so far---the "stable solution") on pp >>82--92.

>These summaries you're posting sound very interesting. I still haven't
>had time to dig into your full web page, which obviously has great
>amounts of detailed information, but perhaps we can keep exchanging info
>in this way.

Yes, the thesis is extremely detailed---if you want a brief introduction,
there is a paper on the same webpage that gives a ~1.5 page overview of
the whole thing. I had a lot of fun writing the thesis though, especially
the tuning part, so I hope it's fun to read.

>>Adaptive tuning (the "unstable solution")

>Wow, not a term I'd use for adaptive tuning! I let the different needs
>fight it out till they reach a stable solution. Stable, perhaps I should >say, in an axis of time that is perpendicular to that in which the piece is >played. In the normal time axis, "unstable" makes sense.

Hoho---orthogonal timelines confuse me. I used the term "unstable"
because "adaptive tuning" wasn't commonly used when I wrote it.
What I meant was this: in the "stable" solution, the pitches of the
scalar degrees never change for any reason; the scale is tuned before
we start playing (i.e., making the assumption that all the degrees are
going to be sounding at once). In the "unstable" solution, different
appearances of a scalar degree can be tuned differently, according to
what degrees are sounding (i.e., according to their "harmonic context").
In that sense, the tuning is "unstable".

>>runs from pp 92--125.
>>It has three main sections. The first, pp 92--106 deals with a method
>>for reading the score and determining the harmonic contexts or "HCs" >>(consecutive periods of time when a well-defined set of notes is >>sounding).

>In other words, you are determining the ideal harmonic relationship among >the notes currently sounding, and/or a root note/key?

According to what is actually sounding---and to the degree it's sounding---
many things can affect that, and notes can persist beyond their nominal
duration due to articulation, reverberation, memory, etc. The anchor that's
chosen depends on several parameters, but, very roughly speaking, you'd
probably want a degree which has been defined as an absolute pitch as
a first choice (and here my algorithm takes into account pitches outside the
scale that you might (optionally) want to guess the degree of). After that
you might next choose notes from neighboring harmonic contexts. After
that, there are a number of other possibilities. Anyway, once a harmonic
context has an anchor, its members get tuned according to the usual
method for the stable solution---so it's like each harmonic context is a
miniature scale which needs to be tuned.

>>It also includes methods for determining the extent to which a note is >>present (they can extend into neighboring HCs
>>via articulation, reverberation, memory, etc.) and methods for
>>assigning various parameters to notes.

>Do you loudness-weight your consideration?

Yes, there's a parameter for that.

>>Pages 106--124 present the
>>main part of the algorithm---the problem is to find anchors for each HC >>amongst its member pitches. There are several categories
>>of candidate for this, and the the problem is complicated because,
>>since not all intervals present in the scale need be defined, some pitches >>might not have any pathway back to an anchor. Three
>>classes of anchor might result from this in any HC, according to
>>various options.

>Hmmm... I need to read your thesis to understand this, perhaps. Unless
>you could expand slightly...

I'd like to, but I am afraid I'd end up more-or-less copying the whole
thing! The description in the thesis is quite dense. If you'd like me
to summarize, I'll give it a try.

>>An important class is when HCs have to be anchored
>>to neighboring HCs. This isn't simple, and there are a number of >>parameters involved. The concept of drift, arises here and there are a >>number of options to deal with it. Finally, there is an
>>extension of the algorithm, on pp 124--125, to allow notes to change pitch >>while they are sounding in order to improve intonation, drift and so on. >>This isn't too difficult, since the persistance of tones was defined as a >>function of time from the beginning. This allows the unstable algorithm to >>be called at any time; it can use future information to improve the >>results, but it doesn't require any, allowing it to run in real time.

>That sounds quite good.

>>Finally, pp 126--128 outline other "exotic solutions" (tuning-like signal >>processing manipulations), pp128--132 presents a general representation >>for temperaments and pp132--136 deal with measuring the correlation >>between scales and recasting one as another.
>>
>>There are a few other tuning-related sections in the thesis---the >>representation of mode on pp 168--184 and the representation of chords and >>harmonic modes on pp184--225 (which also includes
>>an interesting algorithm for voicing).

>>http://members.fortunecity.com/odradek5/pp/rustyprogress.html

>So... can we listen to some results?

I wish you could! The whole project is floundering right now---I haven't
been able to drum up any support for it, though I have gotten some
people interested, there's no money for it right now. Some of the
mathematical classes have been coded, but they're just a start. Right now,
I'm spending most of my energy into trying to get a job and relocate.
Most of my programming efforts right now are going into Csound
instruments---I'm working on a very detailed localizer.

>I think you said you don't use MIDI. I can well relate to MIDI's >limitations and irritations, but it sure as heck is a great compact way to >communicate music, tuned or otherwise.

I've tried to use midi and found nothing but limitations. I use Csound
and it's extremely easy. I also have some macros that make it extremely
easy to use alternative tunings, modes and chords. (I'm of the strong
opinion that anybody who wants to make microtonal music, or any
music for that matter, ought to try it---there's no way I'd bother with
synthesizers now---Csound has me spoiled!)

>I have trouble with MP3's with my slow dial-up connection,
>so seldom bring them down. But I'd be glad to try one of your choice
>(under a megabyte or two if possible).

Well, let me see, I do have some mp3s on the 'net, but they don't
illustrate my adaptive tuning algorithm, they're just demos of my Csound
instruments (not even music really---just demonstrations). They might
be fun for a listen though:
http://members.fortunecity.com/odradek5/pp/csound/index.html
(The tunings in the demos, btw, are 17-tone Arabic Pythagorean,
Al-Farabi's 19 tones, 12-tone 7-limit just, and Rameau sharp).

I do have some other pieces, written a long time ago, which are mostly
JI and which I had been thinking about putting up on mp3.com.
Maybe I will now---I'll let you know!

>Would there be a way to throw some test sequences at your methods? The
>infamous "comma pump" (Cmaj, Amin, Dmin, Gmaj, Cmaj) comes immediately to >mind.

Of course, the code isn't here yet. The results would depend heavily on
the parameters you give the algorithm and on the way you define the
scale.

>Look forward to hearing more!

Thanks---nice talking to you!

-m

_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com