back to list

Re: [MMM] thinking out loud about a 22-tet adaptive algorithm

🔗Rick McGowan <rick@...>

10/4/2005 3:12:24 PM

The other day AKJ wrote,

> ... adaptive tuning script in python? my thought would be
> a simple curses or text based interface,

It would seem to me that Keykit would be a logical choice for the
programming environment. Source is available for the interpreter. Runs
everywhere, and already handles MIDI data as a primitive data type. Has a
piano-roll interface already. You can do operations like "foo.pitchbend =
n" to set pitchbends. It can handle MIDI file I/O as well as real time.

http://www.nosuch.com/keykit/

The only drawback is that it's not *that* widely used, and support is
minimal. Real time functions are apparently easy to write, such as:

http://www.nosuch.com/keykit/mailarchive/msg02630.html

I haven't used it much, but it does work and is fast, and can handle
real-time manipulations, and multiple MIDI device outputs. There are lots
of examples provided with the source.

The more major question for anyone who wants to do this really seems to me
whether anyone has any adaptive algorithms that they're willing to share.
DeLaubenfels' algorithms seem pretty good, as one can see by trying
JIRelay, but the method is not well enough described for someone to
implement without a lot of experimentation/re-invention. These days, if I
have time for doing anything, I would rather do the music, not the
programming...! My impression is that John D. was hoping to make some kind
of commercial venture, and is working on his algorithms. But I haven't
heard anything in years about it. Presumably, the product is dead, and the
algorithms aren't available.

Cheers,

Rick

🔗Paul Erlich <paul@...>

10/6/2005 3:37:54 PM

--- In MakeMicroMusic@yahoogroups.com, Rick McGowan <rick@u...> wrote:

> The more major question for anyone who wants to do this really seems
to me
> whether anyone has any adaptive algorithms that they're willing to
share.
> DeLaubenfels' algorithms seem pretty good, as one can see by trying
> JIRelay,

JIRelay was developed *before* the adaptive-tuning algorithms John
ultimately put together, and is very simple in its logic.

> but the method is not well enough described for someone to
> implement without a lot of experimentation/re-invention.

The adaptive-tuning algorithms were pretty clearly laid out by John in
his various posts. It's a "spring" method, which means you need
software to do least-squares optimization. Matlab has a toolbox for
this, but there must be less pricey ways.