back to list

53-EDO algorithmic composition in Pure Data

🔗Scott Nordlund <gsn10@...>

5/22/2012 10:22:26 AM

I'm working on some novel (at least to me) techniques to automatically find scales based on lowest total error. I know this doesn't address a lot of the things that tuning enthusiasts typically explore (MOS scales and so forth), but I think it's useful for pandiatonic-type algorithmic music.

See it here: https://www.youtube.com/watch?v=_63Cc6vPFVI

I'm fairly sure this isn't a rehash of something well known, though last
time I thought that, it turned out that I'd reinvented Dmitri
Tymoczko's scale networks.

I don't feel like I have a terrific grasp of theory or terminology, so let me know if (and where) I'm embarrassing myself.

[Non-text portions of this message have been removed]

🔗Carl Lumma <carl@...>

5/22/2012 10:49:08 AM

Hi Scott,

I think the piece sounds great. If I understand you right,
you're using 53-ET as a source scale and continually assembling
6-note working subsets that minimize "total error".
Is that right?

If so, yes, such things have been tried before. But there's
more than enough room for innovation.

I found the visualization un-helpful. At base, it's what we'd
call an "interval matrix". I thought the coloring scheme was
hard to follow. And I would have put the explanatory text
outside of the video somewhere rather than in captions. And I
would rotate the thing so the current scale (unisons) diagonal
is vertical.

Best, -Carl

Scott wrote:
>I'm working on some novel (at least to me) techniques to automatically
>find scales based on lowest total error. I know this doesn't address a
>lot of the things that tuning enthusiasts typically explore (MOS
>scales and so forth), but I think it's useful for pandiatonic-type
>algorithmic music.
>
>See it here: https://www.youtube.com/watch?v=_63Cc6vPFVI
>
>I'm fairly sure this isn't a rehash of something well known, though last
> time I thought that, it turned out that I'd reinvented Dmitri
>Tymoczko's scale networks.
>
>I don't feel like I have a terrific grasp of theory or terminology, so
>let me know if (and where) I'm embarrassing myself.

🔗clearinsulation <gsn10@...>

5/23/2012 2:49:49 PM

--- In MakeMicroMusic@yahoogroups.com, Carl Lumma <carl@...> wrote:
>
> Hi Scott,
>
> I think the piece sounds great. If I understand you right,
> you're using 53-ET as a source scale and continually assembling
> 6-note working subsets that minimize "total error".
> Is that right?
>
> If so, yes, such things have been tried before. But there's
> more than enough room for innovation.

It's pretty much that, but the subsets are all found in advance, and restricted to a certain upper limit of total error; at run-time it's just a matter of navigating the resultant network.

I'm working on trying a number of different interfaces to see what else I can get out of it. It would be nice to have something interactive that isn't overly confusing.

And I'd love to have some run-time controls that weight the probability of each transition based on scale characteristics (error, 3/5/7-limit interval content, step sizes, similarity to the current scale...). I think this could give some amount of high level control over "mood", rather than it being a sort of a mystery meat random walk.

> I found the visualization un-helpful. At base, it's what we'd
> call an "interval matrix". I thought the coloring scheme was
> hard to follow. And I would have put the explanatory text
> outside of the video somewhere rather than in captions. And I
> would rotate the thing so the current scale (unisons) diagonal
> is vertical.
>
> Best, -Carl

I didn't really intend the visualization as a useful display for someone who already knows what's happening. I've been working on this with the intent of using (or adapting) it for sound installations, and dreading the thought of someone walking in off the street, listening for 5 seconds and asking me "What exactly are we listening to, here?" (i.e. "I don't get it; what the hell are you doing and why should I care?"). Rather than try to ad-lib a 4 hour lecture, I thought it would be better to have some eye candy so that someone could look at it and say "Well, it certainly looks very complicated, whatever it is." I think it's important to at least give the first impression that something non-trivial is happening, just to keep it from being immediately written off as "random computer noises".

I do agree that it would be better to show it on a diagonal, but it's harder to implement that in Pure Data. I'd thought about also representing the intervals as just ratios, or including some evaluation of dissonance, but I want to avoid the "meaningless jumble of numbers" look.

🔗Carl Lumma <carl@...>

5/23/2012 3:24:28 PM

Hi Scott,

>I didn't really intend the visualization as a useful display for
>someone who already knows what's happening. I've been working on this
>with the intent of using (or adapting) it for sound installations, and
>dreading the thought of someone walking in off the street, listening
>for 5 seconds and asking me "What exactly are we listening to, here?"
>(i.e. "I don't get it; what the hell are you doing and why should I
>care?"). Rather than try to ad-lib a 4 hour lecture, I thought it
>would be better to have some eye candy so that someone could look at
>it and say "Well, it certainly looks very complicated, whatever it
>is." I think it's important to at least give the first impression that
>something non-trivial is happening, just to keep it from being
>immediately written off as "random computer noises".
>
>I do agree that it would be better to show it on a diagonal, but it's
>harder to implement that in Pure Data. I'd thought about also
>representing the intervals as just ratios, or including some
>evaluation of dissonance, but I want to avoid the "meaningless jumble
>of numbers" look.

Understood. It is certainly an impressive effort already.

>And I'd love to have some run-time controls that weight the probability
>of each transition based on scale characteristics (error, 3/5/7-limit
>interval content, step sizes, similarity to the current scale...).
>I think this could give some amount of high level control over "mood",
>rather than it being a sort of a mystery meat random walk.

That would be fun. I think you already know about voice-leading
distance. Another parameter that might be cool is what I call
progression strength
http://lumma.org/music/theory/ProgressionStrength.txt
(The suggestions here could be formulated to work on
octave-equivalent inputs, or not.)

-Carl

🔗clearinsulation <gsn10@...>

5/24/2012 1:20:05 PM

> That would be fun. I think you already know about voice-leading
> distance. Another parameter that might be cool is what I call
> progression strength
> http://lumma.org/music/theory/ProgressionStrength.txt
> (The suggestions here could be formulated to work on
> octave-equivalent inputs, or not.)
>
> -Carl

I'm applying some constraints there already, but they're pretty crude. I'm making a sort of "histogram" of all possible intervals, and favoring transitions to scales with similar histograms. The change in harmonic language is a lot less jarring that way. I'd thought of other constraints, but was initially working in 12-EDO and feared over-restricting things to just vanilla circle of fifths type stuff. Fortunately the scales of 53-EDO are are pretty richly connected (for the set I'm using now there are something like 10-40 possible transitions for each scale), so I have a reasonable amount of freedom to play with different constraints. I'll have to do a lot more tinkering.