Fractal Scales

Someone pondered why there were not fractal tuning systems, or fractal scales. Alas, these sorts of things have already been invented, but may require digging around in the more esoteric corners of music theory.

A first place to look is in the Scala scales database, which collects a large number of scales in one place and in a text format with comments,

    $ grep -rli fractal .
    ./dudon_aksand.scl
    ./dudon_appalachian.scl
    ./dudon_chiffonie.scl
    ./dudon_isrep.scl
    ./dudon_lucie.scl
    ./dudon_timbila.scl
    ./dudon_marovany.scl
    ./dudon_meso-iph12.scl
    ./dudon_meso-iph7.scl
    ./dudon_natte.scl
    ./dudon_tango.scl
    ./dudon_x-slen_31.scl
    ./miracle2m.scl
    ./mitchell.scl
    $ cat dudon_aksand.scl 
    ! dudon_aksand.scl
    !
    Fractal Aksaka - c sequence  (x^2 - x = 1/4), 16:20:24:29:35, plus 163
     12
    !
     2/1
     29/24
     29/12
     4/3
     8/3
     35/24
     35/12
     5/3
     10/3
     163/96
     163/48
     2/1

Most of these are fairly esoteric, though the "dudon" might eventually lead you to

or the harmonic worlds of one Jacques Dudon.

Making sense of these scales is a different matter; there are audio engines that support the *.scl format, or one may need to pick a base frequency to base the scale around (A440 being typical here) and then figure out what the other frequencies of the 29/24, 29/12, 4/3, etc intervals map out to. Orientation with a simpler scale may help, such as the 12-tone Pythagorean scale.

    2187/2048
    9/8
    32/27
    81/64
    4/3
    729/512
    3/2
    6561/4096
    27/16
    16/9
    243/128
    2/1

And you may need to find or write some software.

    #!/usr/bin/perl
    # freq - show the frequencies of a Scala scale file using some reference
    # concert pitch
    use 5.38.0;
    use Music::Scala;
    my $file = shift // die "Usage: $0 scala-scale-file\n";
    my $scl  = Music::Scala->new(
        binmode => ':encoding(iso-8859-1):crlf',
        file    => $file,
    );
    # default is A440
    #$scl->set_concertfreq(422.5);
    my $count = $scl->get_ratios;
    for my $i ( 0 .. $count - 1 ) {
        say $scl->interval2freq($i);
    }
    $ perl freq.pl pyth_12.scl 
    440
    469.86328125
    495
    521.481481481481
    556.875
    586.666666666667
    626.484375
    660
    704.794921875
    742.5
    782.222222222222
    835.3125
    $ perl freq.pl dudon_aksand.scl 
    440
    880
    531.666666666667
    1063.33333333333
    586.666666666667
    1173.33333333333
    641.666666666667
    1283.33333333333
    733.333333333333
    1466.66666666667
    747.083333333333
    1494.16666666667

Actually using these in a composition is left as an exercise to the reader; probably a lot of the more esoteric scales are more theoretical than practical. Even with the old medieval modes there were some that were there to "complete the set" while others (dorian, hypodorian) saw much more use.

Another way to view a scale would be as a list of integer steps, for which a "Fractal Sequence" (or at least a small subset thereof) might be used to pick what notes on a piano to use, either by 12-tone chromatic or maybe as notes from some other scale:

    1, 2, 1, 3, 2, 4, 1, 3, 5, 2, 4, 1, 6, 3, 5, 2, 7, 4, 1, 6, 3, 8, 5, ...
    1, 1, 2, 1, 2, 1, 3, 2, 1, 3, 2, 4, 1, 3, 2, 4, 1, 3, 2, 4, 1, 3, 5, ...

So one mapping might run like:

     1   2   1   3   2   4   1   3   5
    c  d   f   g   c'  e'  b'  c'' f'' d'''