Robert Inventor

Home Music 3D Animations Utilities Code Search Forums About Contact Accessibility
Overview of Tune Smithy
Download your free test drive of Tune Smithy
Time Signature Metronome for Rhythms and Polyrhythms
Chord Progression Player
Play & Create Tunes as intricate as snowflakes
Musical e-cards
Microtonal Explorations
Microtonal Scales and Tunings
Music Keyboard Retuning
Compose Microtonally
Retuning Midi File Player
Mouse & PC keyboard music
Mouse & Joystick Theremin
Lambdoma Music Therapy
Lissajous patterns
Audio Pitch Tracer
Sounds Harmonic Analysis
Chord Synthesis
CSound Automated Orchestra
Wave Shape Player

Play & Create Tunes as intricate as snowflakes - Seeds and Fractals

How Tune Smithy constructs your tunes - Passing tones - Fractal tunes entirely made of passing tones from unison - Music by numbers - Visual connection - Koch snowflake and Cantor's dust

- This is a kind of musical fractal - Sound works differently from vision - In what sense is this a musical fractal? - Why does this method work at all and make pleasing music? - Fractal Pitches - Fractal Rhythms

How Tune Smithy constructs your tunes

(Key of A, sharps are dark blue)

In the Sloth Canons page we saw that many of the tunes are sloth canons. But how are they constructed?

Here is a quick intro to the idea. I go through it again a bit more slowly in the section Music by numbers.

The simplest seeds you can make just consist of a short sequence of numbers, for instance you can enter 0 1 2 0 as your seed - with all the notes with the same volume and same note length.

If your musical seed is 0 1 2 0 midi clip for 0 1 2 0  played on recorder , then the idea is to add your seed 0 1 2 0 again to each of those numbers, giving: 0 1 2 0 (add 0) 1 2 3 1 (add 1) 2 3 4 2 (add 2) 0 1 2 0 (add 0)

or 0 1 2 0 1 2 3 1 2 3 4 2 0 1 2 0 midi clip for 0 1 2 0 1 2 3 1 2 3 4 2 0 1 2 0  played on recorder , (played a little faster)

(Click on the red semiquavers to hear the MIDI version, and on the normal link (usually underlined) to hear it as an mp3)

Then you repeat the process, this time add the entire tune so far to each of those numbers, to get

([0 1 2 0] [1 2 3 1] [2 3 4 2] [0 1 2 0]) (add 0) ([1 2 3 1] [2 3 4 2] [3 4 5 3] [1 2 3 1]) (add 1) ([2 3 4 2] [3 4 5 3] [4 5 6 4] [2 3 4 2]) (add 2) ([0 1 2 0] [1 2 3 1] [2 3 4 2] [0 1 2 0]) (add 0)

or, leaving out all the brackets, 0 1 2 0 1 2 3 1 2 3 4 2 0 1 2 0 1 2 3 1 2 3 4 2 3 4 5 3 1 2 3 1 2 3 4 2 3 4 5 3 4 5 6 4 2 3 4 2 0 1 2 0 1 2 3 1 2 3 4 2 0 1 2 0 midi clip for 0 1 2 0 1 2 3 1 2 3 4 2 0 1 2 0 1 2 3 1 2 3 4 2 3 4 5 3 1 2 3 1 2 3 4 2 3 4 5 3 4 5 6 4 2 3 4 2 0 1 2 0 1 2 3 1 2 3 4 2 0 1 2 0 played on recorder , (faster again)

You can keep on doing this as many times as you like. Here are the next two steps, each one faster than the one before.

32 secs 32 sec midi clip  played on recorder , 1 minute 4 secs 1 minute 4 secs midi clip  played on recorder . These clips are for the tune you can find at the top of this page. Played on recorder.


Passing tones

It's based on the idea of passing tones (link opens in new window) . These are notes that appear in a melody that are incidental to the harmony. For instance a melody may contain a scale passage C D E F G where the D and F are passing tones added to make the melody flow.

Here is a short (not a fractal) tune to illustrate the point. All the notes on the beat are from the C major chord, and nearly all the other notes are passing tones. This is a midi clip.

Passing tones example

If you want to see it as a score here it is: score (opens in new popup window)

In the same way, when you add the seed to each of the original notes, the seed notes are a sort of passing tone.


Fractal tunes entirely made of passing tones from unison

In the original fractal tunes from the earliest versions of FTS, this passing tones idea is used throughout.

In the original fractal tunes, you can say that, in a way, the harmony is just the unison or octaves. Then the entire tune consists of passing tones from the original unison that starts up the entire tune. Probably the ear hears other harmonies in the tune, but even so, this is the simple idea that informed the algorithm that is behind it all.

So - most of the original tunes start from the unison, or octaves. The fastest, lead instrument immediately plays a seed phrase as passing tones away from the unison (or octaves) held by all the other instruments.

The second instrument plays the same seed phrase, but more slowly, so that it keeps to the unison for the whole first seed on the lead instrument. As the tune continues, the second instrument plays a new note of its seed for each entire seed of the first instrument.

So, the lead instrument plays all its seeds as passing tones away from the notes played by the second instrument, and these in turn are again passing tones away from the unison. So the second instrument plays a second generation of passing tones.

The third instrument plays its seed slower still, and by the time it's melody gets underway, you will hear that the second instrument plays its seed as passing tones over every note of the third instrument.

So by the time we get to the fourth instrument, we have four generations of these passing tones, or Layers as they are referred to in the Tune Smithy help and interface. For each note of the fourth instrument, the third instrument plays an entire seed as passing tones, then for each of those notes, the second instrument plays an entire seed, and for each of those notes, the first instrument plays an entire seed.

And so it goes on.

It turns out that this way of making the fractal tunes automatically leads you into a sloth canon, or canon by augmentation. In fact you may recognise this description as somewhat the reverse of what you have already seen on the Sloth Canons page (if you have read that). There we removed one instrument at a time, at the same time speeding the tune up, in a tune where each part played one of the layers. Here we are looking at it the other way around, how the tune is built up from a single seed one layer at a time


Music by numbers

If everything is clear, you may want to just skip ahead now to Visual connection - Koch snowflake and Cantor's dust. This section goes through it again a bit more slowly. Also it shows you a slightly different way to construct the tune

This time we add the seed numbers to every note of the previous layer (before we added the entire tune for the previous layer to each of the seed notes of the new layer). The resulting tune is identical. It is just a slightly different way to look at the construction which some may prefer.

The simplest example starts with the unison - then you play a single passing tone away from it, then return to the original note.

Rather than use musical note names such as C D etc for the notes, we use numbers, which will work with any tuning, and are easier to work with. We will start our numbers with 0 rather than 1 as that helps when you add the seeds together.

So for instance if our tune is a pentatonic melody, which means, it is played in a pentatonic scale such as say C D E G A c ... then the number 0 plays C, 1 plays D, 2 plays E, 3 plays G, and so on.

So, let's use 0 for the unison. Then 1 for one note away from it, and let's just build a fractal tune up from a simple phrase that starts with the unison, goes up one note, then returns to the unison.

So, our seed phrase is 0 1 0.

Here it played on a flute (midi clip):

0 1 0

This will be our slowest layer in the tune, just a single seed.

Now play it more slowly and add a passing tone on each of those notes, and you get:

[ 0 1 0] [ 1 2 1] [ 0 1 0]

(original notes shown in bold)

Here it is played, with the original notes highlighted using a Glockenspiel:

0 1 0 - layer 2

This is a matter of simple arithmetic. All we have done is to take the 0 1 0 pattern and add that pattern to each of its own numbers, so we do

0 + (0 1 0 ) , 1 + (0 1 0), 0 + (0 1 0).
to give:
[ 0 1 0] [ 1 2 1] [ 0 1 0]

This is our slightly faster layer.

This is actually the very first fractal tune I sketched out before I had access to a multimedia capable computer to generate it on, way back some time in the 1980s whenever it was (some time in the late 1980s, before 1987 but not sure of the exact date). It's the idea that eventually lead to FTS.

Now we just repeat the process as many times as we like.

So - we play the resulting tune even more slowly, and add passing notes again on each of its notes, and you get:

[ 0 1 0, 1 2 1, 0 1 0], [ 1 2 1, 2 3 2, 1 2 1], [ 0 1 0, 1 2 1, 0 1 0]

(previous later notes shown in bold)

Here it is played:

0 1 0 - layer 3

Again with the notes of the previous layer highlighted using the Glockenspiel.

Or arithmetically, it is

0 + (0 1 0) , 1 + (0 1 0), 0 + (0 1 0), 1 + (0 1 0), 2 + (0 1 0). 1 + (0 1 0), etc. - adding 0 1 0 to each of the notes of the previous layer.

Here it is again, with yet another layer added, and this time I've done different instruments for each of the layers, so if you listen to each instrument in turn, you may be able to pick them all out, not just the last two. Also I've varied the volume and tempo just a bit, using the options in Tempo & Volume variation window, because I felt it made it more interesting rhythmically - more kind of irregular and a bit organic.

0 1 0 - layer 4

For those who have already downloaded FTS - if you want to get that example as a fractal tune to go on changing it yourself, here it is: 0 1 0 - layer 4 - as Tune smithy file

(as it is, it will keep repeating because it only has four layers - to increase the layers go to your Composing task and look for the Layers field in the main window).

So it goes on. We could go on endlessly. FTS actually does at most 50 layers, and it numbers them in the reverse order so the fastest layer is the first one, but with that many, then usually even if you play the tune for hours (and most often if you play it for years even) the whole tune so far usually remains well within the very first note of the fiftieth layer.

Then - as we have already seen with the last clip, a simple way to make this into a tune with several parts playing simultaneously is just to let one of the instruments play each of the layers of construction of the tune.

So - that's what I did, later on, with the string quintet - here you will hear five layers all played simultaneously

String Quintet

You do this using Parts | Order of Play | Choose Parts by Layer.


Visual connection - Koch snowflake and Cantor's dust

This will be shown in a separate window with minimal navigation - to give plenty of space for the graphics

Here as a popup Visual connection - Koch snowflake and Cantor's dust

Or another window like this one:

Visual connection - Koch snowflake and Cantor's dust


This is a kind of musical fractal

So this is a kind of musical fractal. If you ignore the passing tones at the fastest tune speed, then the tune sounds exactly the same when you play it three times faster. It is an example of what Harlam Brothers calls a motivic canon. (Note, FTS was released in the late 1990s and I got the idea in the 1980s so it long precedes his publication on the subject).

In the case of the visual fractals, then as you go to more and more detail, the details get smaller and smaller until you can't see them in the original image.


Sound works differently from vision

If we were to treat sound exactly like vision, the musical equivalent of that would be to make notes that use smaller and smaller pitch steps. That's interesting in its way too, but sound works a bit differently from vision. For instance, quarter tone steps in a twelve tone piece, rather than being less noticeable than the original larger steps, tend to stand out as not belonging to the original harmony. Also we notice particular intervals in music. An octave or a fifth sounds very different from a whole tone or semitone - while in pictures, if you zoom in to a picture, it looks exactly the same, just larger.

The whole thing is musically inspired. The reason for doing it this way is that the resulting tunes make musical sense and seem somehow inspiring and refreshing. I've always kept that as my guideline when adding new features to the fractal tunes as well.


In what sense is this a musical fractal?

It doesn't have infinite divisibility of pitch or time. So you can only zoom in a few steps. But you can zoom out a long way (though not for ever as eventually you hit the limits of human pitch perception).

The similarity that makes it a fractal is that if you play the tune faster, e.g. three times faster, and if you ignore the passing tones in the fastest tune, then it sounds the same as it did before. Repeat that process any number of times and you still get the same tune.

One way to make it exactly fractal is to make the fastest tunes quieter. So then you get an exact similarity - if you play it faster, and also quieter, it sounds exactly the same as before (the very fastest tunes become so quiet they are inaudible).

Also if you take any phrase that occurs in the tune, and then play the tune for long enough, then that phrase will recur. So there is that uniformity and the fractal scaling effect.


Why does this method work at all and make pleasing music?

The surprising thing is that the resulting music sounds so much like conventional compositions really, to the extent that sometimes composers remark that it seems almost like cheating to use something like FTS to compose. Yet the tunes are all constructed basically using this very simple process, by repeatedly adding seed numbers together. That is so very unlike the way that conventional composition is done that it is remarkable that it can sound as conventional as it does.

When I first got the idea for the seeds way back in the 1980s, I'd have been totally astonished if told where it would lead. It just seemed an intriguing idea to follow up, and I wondered, out of curiosity really, what a fractal tune of that type would sound like. If told at the time that I would spend many years of my life writing a program to generate such tunes, I'd have been amazed.

There is no musical intelligence or understanding of composition processes built into the program really. The reason it works must be something other than that.

I wonder about why the tunes in FTS work at times. Seems to be pointing to some deep affinity of the mind and music to fractals perhaps.

Conventional composition may use fractal like structures to build up the music too. You get patterns that appear at larger and larger time scales. Often the second half of a bar sort of "answers" the first part - completing a phrase, or similarities of rhythm, a sense of tension building and releasing, or chord structure, lots of different ways, but generally there is often a feeling of some kind of movement like that within a bar.

Then bars group together into two bar patterns, the first bar poses a question as it were, and the second answers it. Often the two bar patterns group into pairs to make four bar patterns, with the second pattern resolving some of the tensions in the first pattern - and those also often pair up to make eight and then sixteen bar patterns. This seems to point to fractal affinities in conventional composition.


Fractal Pitches

You may be interested to hear some music with a fractal pitch structure as well, just to hear what it is like. This is what happens if you try to follow the visual approach exactly in sound.

Here are a couple of examples.

One way of going inwards to smaller pitch intervals

One can make scales with indefinitely small intervals, in an attempt at a closer parallel to the geometric case, and they can be interesting.

Try a scale with steps of an octave, then a third of an octave, then a ninth of an octave, and so on, or in cents:

0 cents 1200 cents 1600 cents 1733.333333 cents 1777.777777 cents 1792.592592 cents, ... (approaching 1800 cents and never quite reaching it).

The seed is 0 1 0 as before.

. Geometric series tune - a fractal pattern of large and small arches one after anothe, the smaller arches form the detailing within the larger arches

(to see how it continues see this popup)

As you add extra notes between each one shown, the space beneath the curve remains clear, apart from some notes very close to the ones shown. The space above the curve shown eventually fills up with lines, as between any pair of notes you can find another one as close as you like to 1800 cents - one and a half octaves above the first note of the scale. It's not a continuous curve, but it has a type of exact self similarity. Can you see that the whole pattern is echoed in it's centre third? Also each third is echoed in its centre third? Can you see how the echoes continue to smaller and smaller copies?

So, the self similarity involves slowing down the time to stretch the time axis, and spreading notes out in pitch (e.g. re-map subdivisions of a whole tone to similar subdivisions of an octave or whatever) to zoom in to the pitch axis. If you do that, the curve looks exactly the same.

The self similarity is of the same general type of pattern as the Koch snowflake, fractals with exact self similarity. The method of construction is similar too, adding identical smaller copies of a pattern to each of it's components. One could perhaps more exactly call this fractal the musical equivalent of Cantor's dust (Maths Encyclopedia entry).

Cantor's dust is what you are left with if you start with a line, remove the middle third of that, the middle third of each one left, and so on. The lowest notes of the fractal play out Cantor's dust. You have to suppose that each note that you hear is divided yet further into smaller notes. Cantor's dust has the paradoxical property of having no total length, yet having as many points in it as the complete line (see the Maths Encyclopedia article for details).

The higher notes show the result of doing another Cantor's dust construction on each of the middle thirds that was removed at every stage, then another one on each one of those, and so on. Eventually, every point in the line is reached by this method, so it's a way of filling the line by repeating the Cantor's dust construction infinitely often.

This is what it sounds like played on a marimba midi clip of geometric series scale played on marimba (link for mp3, semiquaver icon for midi clip), with the notes quite fast. There would need to be many more notes between each of the ones played, indeed, infinitely many.

Notice the self similarity of the rhythmic patterns. Try listening to one of the pitches of notes only. Can you hear that each of each pair of low notes is in fact double. They are too close together to see as separate notes in the picture.

(IN PROGRESS - to add - more fractal pitch structure exs)


Fractal Rhythms

The rhythmic units are more easily fractal, there is no problem with making shorter and shorter notes, and very short notes, as for vision, become so short as to be barely noticed as individual notes in a fast tune. So the fractal rhythms are fractal in the ordinary sense.

Fractal rhythms are done so that the each part has to keep speeding up or slowing down, to play its entire seed within each note of the next slower part. The result then as before is a strict canon by augmentation, with the rhythm of the first part also followed by all the instruments, just at varying tempi.

So - some of the fractal tunes use completely fractal rhythms in this sense. They are characterised often by what one hears as continual changes in the tempi. Others just use a rhythm fractal for the first two layers say, or only the first layer of augmentation plays the rhythm and the rest just play the same melodic line, but with all the notes the same length, so giving a sense of a more steady tempo.

Here is an example of a very fractal rhythm.

(IN PROGRESS - to add - fractal rhythm ex)


What to do next

Freeware / Shareware status: This feature is shareware.

To continue reading about the fractal tunes, go on to the Transform. - which describes some of the ways you can transform the tune and some of the other types of tune structure you can use.

You are recommended to try out the program first. If you decide to purchase, you need to buy the Play level. If you want to use a music keyboard with FTS as well, or use it to retune your notaiton software or sequencer, you need the Complete level.

To find this feature after you download Tune Smithy:
Look in the Tune Smithy Tasks window for: Fractal composeror to mainly listen to the tunes: Player or run from the desktop shortcut.

The program comes with a Free Test drive with all the features completely unlocked (start the test drive at any time):

Download Tune Smithy



Test Midi File Player & Sound card / Synth
Download Tune Smithy
Tune Smithy Manual (or popup)
Search Manual
FAQ & wiki
What's new
New Features Blog
BUY Tune Smithy








To find this feature:
look in the
Tune Smithy Tasks window for:

or to mainly listen to the tunes:










Some of the tunes you can create with Tune Smithy
or play endlessly

Review in Sound on Sound, October 04

Get Tune Smithy

Acceptable Use Policy
Special Offers
Site Designed with advice from Sojo Media (Thanks!)
© Robert Walker 2008
tool tips by overlib
Robert the Inventor's programs
By Robert Walker

NEW metronome software - Download Bounce Metronome Pro with bounces and conducting patterns to help you stay in time.