Overview - Seeds etc - User guide - Musical note intervals - Scales - Midi in - Other pages
Playing along from the music , Score options , Out menu , Play button , When changes to the tune take effect , Sustain , Levels , Fractal Rhythms , Channels in Play , Order of play , Ranges , Effects , Resets, Open and Save , Colours , Command line options , Pitch , Note volume , Time for one note , Minimum and maximum note lengths , The score for tunes with variable note length . Save as Midi File , FTS MIDI Gallery button , Record to MIDI as you play along , Proposed FTS gallery of sound clips
For help on the New Seed , New Arpeggio , and New Scale windows, see Seeds etc .
Choose Tune , then select Score from the drop list.
To play along, you need to tick Scan line .This keeps the notes in the same place as you play, while a scan line moves across the score to refresh it as the tune progresses.
Change the Look ahead number to however many notes you would like to see in advance.
Everything is now set up. However there are a few things that need to be explained about how the score works.
Score shows either treble clef, base clef, or both. You can tell which it is by the caption. No clef signs are shown.
It shows the base clef if notes can never get any higher than the E above middle C, and the treble clef if all the notes are at least as high as the G below middle C (so violin range is shown on treble clef). Otherwise, shows both.
There are no bar lines. The vertical lines mark seeds. For some types of fractal tune the seeds are regularly spaced and the vertical lines are then much like bar lines. For others, the seeds can vary in time a lot, with maybe the next seed fitting into a fraction of a note of the previous one, and there is no real equivalent of a bar line at all. For more on the rhythm, and placing of notes for the score, see The score for tunes with variable note length .
Tick Tune | Options | Position by time to show the timing of the notes, untick to show them equally spaced. They are all shown the same size, and the timing is indicated by the spacing between the notes.
The score doesn't show a key signature either, indeed, for many of the scales the idea of a twelve tone key signature doesn't make a lot of sense. Instead, you can use the colours to see whether to sharpen or flatten a note.
Naturals are shown in red , sharps dark blue , and flats yellow . You can change these colours from Colours .
Accidentals are shown as sharps or flats, depending on the scale. You can show a score even for tunes that don't follow any of the twelve tone systems - the note shown on the score is the one closest in pitch to the one actually played.
It's also possible to show the notes positioned exactly, according to the pitch.
One method is to choose Intervals from the drop list at top left of Tune | Options . This shows the ratios from the first note of the scale, with horizontal lines for each note of the scale.
Another method is to select Score from the drop list as before, and tick Nudge to Pitch . This respaces the lines of the score according to the number of semitones between them. So for instance, the gap between the E and G lines of the treble clef is three quarters of the gap between the G and the B lines.
Accidentals are spaced according to the pitch, so a sharp is shown slightly above the natural. For instance, the D sharp of twelve tone equal temperament is positioned mid way between the space for D and the E line. That makes it three quarters of the way between the C line and the E line. It will probably still touch the E line, depending on the size of the dots. F sharp is two thirds of the way between the E line and the G line because these lines are closer together, spanning three semitones instead of four. F natural is a third of the way between the E line and the G line, and will probably touch the E line (since F natural is the same as E sharp).
You can then see from the vertical positioning of the notes whether they need to be nudged up or down in pitch relative to the twelve tone ET notes.
D lines are shown dotted (between two narrower spacings).
Non melodic percussion is shown as an X at the position on the score that would show the note if melodic. The X for non melodic percussion is echoed at the bottom of the window for options that show letters or numbers.
Some of the tunes have silent voice channels to add rests to the tune, if so, a short vertical dash is shown in place of all the notes.
Click Play , and play along with the tune.
Change the Height in octaves to see a wider range of pitches. It needs to be over 2 octaves to see all the lines of the treble clef, and 3 octaves (or just under) to see both clefs in their entirety. You can enter fractions of an octave, e.g. a height of 2.5 octaves.
Click on Tune | Options... for vaious extras, for instance, to add / remove ledger lines for notes above or below the clef.
If you'd like to follow a particular voice out of those playing, perhaps to sing or play along, choose Channel numbers in the Notes As drop list. This shows the channel number for each note, as shown in the Channels... window. You will be able to identify the line to follow by looking for all the notes with its number. For instance, all notes played in channel 1 will be shown as '1's.
You can also pick out the one you wish to follow from the other channels, by showing it in a distinctive fashion. For instance, you can show the one you want to follow as dots. To do this, choose Dots from the Channel to follow, notes as drop list. Choose whichever channel you want to follow using the Chann. to follow box. Then use the Notes As drop list to show all the other voices, say as channel numbers, or as note names, or various other options, or hide them from the score, You may find the tune goes outside the range of notes you can play / sing. If so, the Ranges section may be helpful.
The Tune window is resizeable, as you can tell because it has a maximise icon, and I have also added a sunken border to help make it clearer that it is resizeable - a little unusual for windows of this type.
If you want to know what key to play in, look at the Options window. Make sure Auto select is ticked (below the Sharps/Flats drop list). Tick / untick Use minor key as appropriate. This makes the closest available key signature for the notes in the music. Of course, the concept of a key signature only applies to certain types of scale. Scales may well have other notes in them, and often the note shown on the score is just the closest available to the one you need to play, so you may need to bend it in pitch up or down depending on the scale in use.
N.B.
Look ahead is not programmed for Channels | Order of Play | Other for formulae that include L and with Sustain all notes to next note for same channel ticked. Will reset look ahead to 0 whenever you play them.
Example of a Tune smithy file of this type:
Also if you untick position by time, then the
For more information about this option, and how to use it, see Order of Play | Other which describes the use of Sustain all notes to next note for same channel .
Channels | Order of Play | By level, with simultaneous notes when ticked sets the formula to L. However this is a special case, and is programmed for look ahead. If you save a file with Channels | Order of Play | Other ticked, and
More details about the score
FTS decides which notes to show as flats, and which as sharps, depending on the key of the piece.
You can also make your own choice of whether to show accidentals as flats of the note above, or sharps of the note below. Look for the Sharps/Flats drop down list in the Options window, and untick the Auto select check box below it.
This option is left open, as otherwise, the program would have to decide which notes to show as flats, and which as sharps, for any possible sequence of notes from the MIDI scale, and any possible sequences of ratios and microtonal scales.
However for the twelve tone scales with the notes close to concert pitch, it will choose the appropriate key signature for the usual major and minor scales etc.
Method used: find which key signature has most notes within half a semitone of notes for the Mode or Arpeggio . Amongst ones with the same number, choose those that include the first note of the scale, fifth note, and third note, in that order. To select whether to look for the first, fifth, and third notes of the major scale, or the relative minor, tick / untick File | Midi file options | Minor key
This lists all the MIDI output devices on your p.c.
When you first run FTS , it will use the Windows default for MIDI output. To find out what you have selected for this, go to Start >> Settings >> Control Panel >> Multimedia >> MIDI .
You will find it listed in the Out menu as MIDI Mapper . It isn't a separate device as such. If you have several MIDI output devices, you can use the MIDI Mapper \ to assign devices to channels, so that you can play voices from several MIDI output devices together at the same time, each one assigned to a channel or range of channels. For instance, if one of them has a particularly good piano voice, you could select that one for the piano, and select another one for the channels you are using to play strings, and so on. (select Start >> Settings >> Control Panel >> Multimedia >> MIDI >> custom configuration and click configure .)
If you want to use assign MIDI Mapper assign output devices to channels in this way, and use it with FTS, you will want to untick Ok to change channels for pitch bends from Channels | Effects... to make sure that FTS keeps to the same actual channels for its voices, rather than changing them as it adjusts the pitch bends of the channels.
For details of how FTS deals with pitch bends, see Microtonal Music in MIDI
You may find a MIDI out option listed. This sends the music to the MIDI out line of your sound card. If you select this, then whether you hear anything depends on whether you have anything connected to that line.
The MIDI device you have selected is automatically opened when you click the Play button. It is closed when you click the Stop button, unless you opened it to play from MIDI In first before clicking Play .
Tick File menu | Play on start up if you would like to play the fractal tune immediately when you start Tune Smithy by double clicking on its shortcut or the application itself.
Tick File menu | Play by file assoc. if you would like to play the fractal tune immediately when you start Tune Smithy by double clicking on a Tune Smithy file (extension .TS ).
Resets to the default short list of 12 tone modes, with the pentatonic mode selected. Doesn't change the scale.
To replace this by your own custom reset, save your preferred modes list as FTS_reset.lmd in the Fractal Tune Smithy folder.
The Play button sends MIDI note values to your synthesizer. For instance, to play middle C on a flute, it sends a message to the synthesizer asking it to play note 60 on the flute voice.
The result you hear depends entirely on the type of synthesizer you have in your p.c.s soundcard.
It is worth getting a reasonable soundcard if you want to hear the effects properly. Some modern ones have samples of the real instruments playing..
An alternative is to use a software synthesizer.
You can download a decent one from Yamaha on ninety day trial. It uses wave table sound, and samples of real instruments.
The S-YG20 needs a Pentium 75 or later (133 or later recommended).
Because it is software, there is a delay between playing a note and hearing the result - like playing an acoustic church organ. You may notice this when playing along on the p.c. keyboard. However it has no effect on play back of the music by FTS. The only thing you might notice is a tiny delay before the music starts when you click the play button.
If you find this delay affects recording of seeds for fractal melodies, you can switch to your default device to record the seed, and then change to the software synthesizer for play-back of the result.
Naturally you also need good speakers to hear the sounds properly. One possibility is to run the output of your soundcard to a CD player.
When changes to the tune take effect
The tune keeps going after any changes. There is no need to pause play to change the seed, scale, and so forth. The changes apply immediately to any notes that follow in the tune.
However, all notes sounding at the time of a change are switched off. So the melody may have to play for a while before you get all the voices sounding again.
Set the Sustain to a fraction of a note, such as 0.5, for staccato notes.
Set it to several notes to get each note to overlap the next. For instance, if it is set to 2, then each note overlaps the next one. If they are different notes of the scale, you will get a chord.
When playing voices simultaneously, using Level, with simultaneous notes from the Order of Play menu, notes in the second channel and higher are sustained until the next note for that channel. So in this case, the value of the Sustain only affects the first channel in play.
You can have any number of sustained notes played simultaneously. However it is sometimes possible to run out of enough MIDI channels available to play all the sustained notes you wish to have, because of the way MIDI pitch bends work, and the way FTS uses them. See: Microtonal music in MIDI
Sets the number of levels of iterations for the musical seed.
Choose level 1 to play the seed once through only. The tune will then either stop, or if you have Cycle Tune ticked, it will repeat endlessly.
Level 2 replaces each note of the level 1 tune with the muscial seed transposed to that note. It is transposed as a pattern of note heights (degree steps) rather than as a pattern of intervals - the intervals between the notes may very well change in its new position if the scale has unequal intervals.
Level 2 replaces each note of the level 1 composition with a copy of the musical seed pattern starting at that note.
And so on.
For more details, see Fractal tune section ( Scales and fractal tunes)
To repeat the complete fractal tune each time it finishes, tick Cycle Tune .
You can have fractal rhythms. If playing several voices simultaneously (see Channels | Order of Play ) then the entire seed of the first channel is stretched or compressed to fit a single note in the second channel. This process continues through all the channels up to the number of levels you want the melody to be fractal too.
Fractal rhythms only make a difference for a seed with notes of varying length.
To change the number of levels for this effect, click the vertical arrow buttons next to the Rhythm fractal to level box in the New seed window.
Alternatively, enter it into the Levels box, after the number of levels, and prefixed with an 'r', like this:
10 r4
to iterate to 10 levels, with the rhythms fractal up to level 4.
The range of variation in note length increases as you increase the number of levels of fractal rhythms. You may get some passages with exceedingly long notes if the notes vary in length, and the rhythms are fractal up to some large number of levels - compensate by reducing the note length if necessary.
You may also get some exceedingly short notes - it is easy to end up with passages with notes of a millionth of a second or less when using fractal rhythms.
This raises the question of what FTS does when it needs to play such short notes.
If you select Play slower if nec. FTS plays every single note, and slows down a little if necessary. It can play in the region of 200 notes per second at it's default settings.
If you have Ok to skip notes selected, notes can be left out while FTS tries to get far enough ahead in the calculation to reach a note it can play.
FTS spends at most a tenth of a second on calculating the next note to play, after which point if it hasn't caught up with the current time yet, it gives up and plays whatever note it has reached so far in the melody.
Try setting the note length to some really minute number like 1e-10 (0.0000000001 with ten zeroes including the one before the point). F.T.S it keeps going and as it never gets up to the current time in the melody, it will play a note every tenth of a second (plus a little bit of extra time to tidy up and start the next calculation).
Of course, the resulting sound is p.c. dependent, but can be quite interesting, especially if you have several voices playing simultaneously.
Channels in Play box (main window ) - use to set the number of channels with voices.
To see the voices you have assigned to the channels , and to change them, click Channels . The ones in play are the ones at the beginning of the Channels window, up to the number required.
For instance, if you choose six channels, then the tune will use the instruments in the first six channels with voices. If you choose more channels than you have voices, it uses all the channels with voices.
When the number of channels in play is set to one, the fractal tune is played using whichever one you have highlighted in the Channels window (uses the first if none are highlighted).
Depending on the selection for the Order of play (see next section), instruments may play aproximately the same number of notes each, or the first channel may play the fastest moving tune, while the later channels play progressively slower and fewer notes.
To select a voice into a channel, click on the channel number to highlight it, then click on Voices... and choose a new voice.
Use the arrow keys to shift the pitch of the voice by octaves and change the volume.
You can erase a voice. If so, the next channel is played in its place.
If you want to continue the tune as it is, but silence one of the voices. select Rests as the new voice. For instance you could do this to silence one of the voices and play it from the score, karaoke style.
To play a single channel of the fractal tune on its own, and silence the others, select rests into all the other channels.
To change the volume of a channel, change the vol. column. This sets the volume in the range 0 to 127 for the loudest note you can get in MIDI. The volume of the music as a whole can be set using the volume bar in the main window.
The Set all to first button sets all the columns to the first value. Set all to highlight sets all the columns to the highlighted values apart from the octave shifts, which are left as they are.
The Octave shifts drop list can be changed to show any of the following:
Octave shifts number of octaves to shift the voice up or down relative to the pitch selected in the Pitch... window.
Arpeggio shifts For an arpeggio that repeats at the octave, same effect as the octave shift. For one that repeats at some other interval, shifts the channel voice up by one repeat of the arpeggio. For instance, if the arpeggio is the diminished seventh minor third for the 12 tone ET scale, defined as 0 3 , arpeggio shift shifts the channel up by an equal tempered minor third.
Arpeggio degree shift Shifts the channel voice up by one step of the arpeggio. All notes are shifted to the next note of the arpeggio.
Modulate by (degree) Shifts the channel voice up so that the first note starts at the degree of the scale specified. All notes are shifted by exactly the same interval, rather than to notes of the original scale. For instance, if it is the just intonation 12 tone scale, a degree modulation of 1 shifts all the notes up by 16/15, a degree shift of 2 shifts them all up by 9/8, and so on.
Modulate by (arp. degree) Shifts the channel voice up so that the first note starts at the degree of the arpeggio specified. All notes are shifted by exactly the same interval, rather than to notes of the original arpeggio. For instance, if it is the just intonation 12 tone scale, with Diatonic scale selected as the mode / arpeggio, an arpeggio degree modulation of 1 shifts all the notes up by 9/8, an arpeggio degree shift of 2 shifts them all up by 5/4, and so on.
You can select non melodic percussion into any channel. To do this, highlight the channel, then select the instrument from Non Melodic Percussion...
To hear what all your MIDI non melodic percussion instruments sound like:
From a p.c. keyboard, go to Make new seed | +... | pitches for keyboard rows , and select All non melodic percussion (play along only) . This assigns the first 40 of the 41 non melodic percussion instruments to the p.c. keys '1', '2', ... up to '>', '?/', and the last instrument, the open triangle, is assigned to the key to the left of the '1'.
To try them out from a MIDI in keyboard, use the MIDI In preset In | Options | Presets - all non melodic percussion + vibraphone .
The tenth MIDI channel is a special one that is reserved for non-melodic percussion instruments such as non melodic drums etc. So if you select a non melodic percussion instrument into any other channel, it is actually played in channel 10.
You can't play a melodic instrument in channel 10. If you try to select one in, it will be ignored, and the instrument played depends on the MIDI note number.
What this amounts to is that you will get a miscellany of various percussive sounds whenever you try to play notes of the fractal tune through this channel. Normally this won't be especially useful. So highlight it and choose Erase Voice if you want to clear the channel.
If you want to play a tune on channel 10 only, erase all the other channels, and select any voice as the voice for channel 10. If you play it on a device that follows the GM standard percussion map for channel 10, then you will only hear a sound for notes 35 to 81. To hear a sound for notes outside that range, set the range of notes for channel 10 to 35 to 81 from Channels | Ranges... and for when outside range choose any option except Silent , e.g. Wrap around .
Channels | Order of play
The way channels for voices are assigned to notes of the fractal tune depends on what you have ticked in the Order of play menu from the Channels window.
It can be according to the note heights , so the same note of the arpeggio is always played by the same instrument; or according to the time .
Another possiblitiy is according to the cumulative note height . This means that when the note is number 0 in the scale, no change in instrument occurs; when it is number 1, it changes to the next channel; for number 2 it changes to the next channel but one; and so on.
Another option is by Levels . Here is how it works:
If the pattern of note heights is 0 1 2 0, and if the number of levels is 4, the complete fractal tune is
([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])
Each square bracket starts a copy of the pattern at level 2. Each round bracket starts it at level 3. The entire pattern shown is the one for level 4.
Then the channel numbers for Order of play | Levels will be
([4 1 1 1] [2 1 1 1] [2 1 1 1] [2 1 1 1]) ([3 1 1 1] [2 1 1 1] [2 1 1 1] [2 1 1 1]) ([3 1 1 1] [2 1 1 1] [2 1 1 1] [2 1 1 1]).
All notes are numbered 1 except those that begin a cycle of the tune at one of the levels, which are numbered by the level.
The voice channel used to play the note then depends on the level - the tune shown will be played on channel 4, then 1, 1, 1, then 2, 1, 1, 1, and so on.
Level, with simultaneous notes is similar. This time, the tune is played simultaneously on all the channels. The one in channel 1 moves with every note. In channel 2, it moves with every note that starts a seed. Channel 3 is for notes that start a new seed at the second level. And so on.
With either Order of play | Levels , or Level, with simultaneous notes the number of channels in play is at most equal to the number of levels.
For instance, if you choose two levels, only the first two channels with voices will be used, and any remaining channels in play will be ignored.
You can set your own custom method of changing channels using Order of play | Other...
Try experimenting with various combinations of T+H+C, ...etc, adding any of the number codes shown.
You can use any formula, including things like (2*T+H/0.32)*(L+3) or whatever.
The result is rounded down to a whole number. It is then divided by the number of channels in play. They remainder after this division gives the voice channel number to play.
Let's take calling_to_each_other_across_the_valley.ts as an example.
The formula is N+H+1.
N in this formula is the remainder after dividing the number of notes so far by the number of channels in play. The number of channels in play is 2.
H is the note height.
Notes: 1 2 3 4 5 6 7 8 9 10 11 12
N: 1 0 1 0 1 0 1 0 1 0 1 0
H: 0 -1 2 3 -1 -2 1 2 2 1 4 5
N+H+1: 1 -1 3 3 0 -2 2 2 3 1 5 5
Remainder: 1 -1 1 1 0 0 0 0 1 1 1 1
(remainder after dividing N+H+1 by 2)
Channel: 1 1 1 1 0 0 0 0 1 1 1 1
N.B. One of the values for the remainder is -1. If the remainder is negative you add the number of Channels in play , to get it to a positive number. This way of making sure that a remainder is always in the required range is sometimes called clock arithmetic.
Channels are numbered starting from 0, rather than 1. So 0 refers to channel 1, and 1 to channel 2.
As it happens, the tune is changing channel for every new seed at present, since there are four notes to a seed.
However one can see from the way the formula is worked out that there is no reason for it to continue to follow this pattern indefinitely, and in fact, as you continue the tune, later on, you will hear some variations in the pattern.
As an experiment, try adding an extra note to the seed (say, 0 -1 2 3 5 ), and see what happens with this same formula.
You can show the number of notes so far, and the note heights, from Tunes | Options | Notes As (may want to untick Show sustain as tied notes to see them more clearly).
When the formula includes an L, with Sustain all notes to next note for same channel ticked, then the result can depend on the level. What happens in this case is that it is calculated anew for every level as far as the level updated for the seed, or the number of channels in play, whichever is reached first. So you can often get several notes starting simulataneously when the level updated is 2 or more.
L is 0 for all except the first note of the seed.
So suppose the level updated is 3, and the formula is L.
Then notes are sounded simultaneously in the first 3 channels.
Now try L+H, where H = 2
Then the values of the formula for L = 0, 1, 2 are 2, 3, 4, or channels 3, 4 and 5. So three notes will be sounded, in the 3rd, 4th and 5th channels..
So the effect of including L in the formula is that more than one note can sound at the start of the seed.
Note though that depending on the formula, you mightn't hear several distinct notes played every time, as sometimes the formula may yield the same channel for more than one value of L
You can use formulae in L to get music with simultaneous parts, all with about the same number of notes, and with most of the instruments playing on the first beat of each seed.
To get the instruments playing together on other beats as well, try setting some of the note timings for the seed to 0.
If you have a formula that sounds nice, but perhaps a little too regular, try adding an extra term like h/23 or something.
N.B. Look ahead is not yet correctly implemented for Order of Play | Other... for simultaneous notes (i.e. formulae including L with Sustain all notes to next note for same channel ticked).
Channels | Ranges...
You can set the range of MIDI notes to be played on any channel. Highlight one of the channels in the Range (Compass) for channels window, then adjust the notes using the horizontal scroll bars in the Highlighted channel section.
The three scroll bars below the note adjust it up / down by one white note of the piano, up / down by one chromatic note, and up / down by one octave.
Options for out of range notes:
Try these with a rising scale as the musical seed, to see how they work:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
Silent
Hover - when a note goes above range (compass) of the voice / instrument, then it is transposed down by octave shifts until it is in range again. So a rising scale will go up to the top octave, then stay there, a descending one will go down to the bottom octave, and stay there.
Rebound - when out of range, is double shifted, i.e. into range, then the same shift again. If total range is two octaves or less, treated same as Hover .
A rising scale will reach the top octave, then go down one octave at a time to the bottom octave again (rising in each octave), repeat there, then start rising again, and so on. You need a wide range of say four or five octaves to see this effect clearly with the rising scale, as it will also rebound off the minimum note of the range.
Hover and rebound - when out of range, is octave shifted into range. When it is out of range by more than an octave, it is double shifted by the excess over one octave. If total range is two octaves or less, treated as same as Hover
A rising scale will reach the top octave, repeat there, then go down one octave at a time to the bottom octave again, repeat there, then start rising again, and so on. You need a wide range of say four or five octaves to see this effect clearly with the rising scale, as it will also rebound off the minimum note of the range.
Wrap around - when out of range, wraps around to the other end of the range. For instance, if the range is C4 - D6, then the E6 will be transposed down to E4. When wrapping around from above, re-enters the range at the lowest note in the range with the same note name as the top note of the range. So, for C4-D6, wraps round to D4. When going below the range, wraps round to the same note name as the bottom note, in this case, to C6.
You can also try a descending scale:
0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50
Let's take an example. Suppose you want to match a channel to the usual written compass of the descant recorder, so that you can play along.
Set the range to C4 - D6. For a beginner, to set it to the compass of fairly easily played notes, set it to C4 - A5.
The descant recorder is notated an octave below the pitch it is actually played. So to match the actual pitch of a descant recorder, set the range to C5 - D7 (or C5 - A6).
N.B. Because the sound of the recorder's fundamental note is strong, while for many instruments it is much weaker, and the first harmonic is strong, the bottom C on a descant, though actually the C above middle C, may sound to you to be similar to the middle C of some instruments. For instance, it can sound similar to the middle C of a violin to some ears.
Channels | Effects...
Highlight a channel, then change the values in the Highlighted Channel area of the window.
For Portamento, tick it if desired, then set the amount of the effect, range 0 to 127 (not in any particular units). This is the standard portamento effect for your device. Not all sound cards support this, however the Yamaha softsynth does, if you want to try it out.
For vibrato, tick if desired.
If you set the frequency to 0, you will get the standard modulation effect for your sound card / device, which you can set to 0 to 100 percent,
You can also try setting the frequency to the number of vibrato cycles you want per second. This is an experimental feature - makes a vibrato effect using a series of pitch bends in fast succession. You can set the amplitude in cents as well as the frequency.
For a tremulo effect, enter a second number in the vibrato box. For instance, 0 10 to set a tremulo of 10 percent, and no vibrato.
If you set the frequency to 0, you get the standard tremulo for your soundcard / device.
You can also try setting the frequency to the number of tremulo cycles per second, - as for the vibrato, an experimental feature, uses the MIDI expression controller to vary the volume for the channel.
For discussion and explanation of the Ok to change channels for pitch bends , and All sound off before same channel pitch bends (except vibrato) tick boxes, see Microtonal music in MIDI .
Resets numbers and check boxes that affect the way the fractal tune sounds when played. These include, all the numbers and selections for the main window, apart from the tick boxes, and the Play slower if nec / Ok to skip notes drop list. Also the pitch of the first note of the scale, voices for channels, and channel ranges and effects etc. For the complete list, see the list of values for the Tune Smithy file format .
File menu | Reset Check boxes etc
Resets all the other check boxes, colours etc. to the way they were when you first ran the program.
You can replace this by your own custom reset.
To do this, set everything up as you would like it to be when you choose Reset check boxes, colours etc , then use File | Save As to save the configuration settings as FTS_reset.ini .
You need to save your custom reset in the Fractal Tune Smithy folder, i.e. the folder in which you installed the application Fractal Tune Smithy.exe , and the Tune Smithy files that come with the program.
To return to the default reset, delete or rename this file.
Resets to the default short list of 12 tone modes, with the pentatonic mode selected. Doesn't change the scale.
To replace this by your own custom reset, save your preferred modes list as FTS_reset.lmd in the Fractal Tune Smithy folder.
Resets to the default list of scales with 12 tone ET selected. Doesn't change the mode.
To replace this by your own custom reset, save your preferred scales list as FTS_reset.lsc in the Fractal Tune Smithy folder.
To save the fractal tune, use Save As , and choose Tune Smithy files (*.ts) as the file type to save.
To open a previously saved fractal tune, use Open .
Here is a complete list of the file types recognised by Fractal Tune Smithy. You will find them all in the drop lists for Open , or Save As :
Name | Ext. | Open or Save | Details of file format | |
Tune Smithy | TS | Both |
|
Tune Smithy (*.TS) |
List of Modes | LMD | Both | List of Modes (*.LMD) | |
List of Scales | LSC | Both | List of scales (*.LSC) | |
Scale | SCL | Both | SCALA Scale (*.SCL) | |
Text as musical seeds drop list | TXT | Open only |
|
Musical seed drop list (*.TXT) |
Configuration settings | INI | Both |
|
Configuration settings (*.INI) |
Midi file | MID | Save only | Can save as hex dump to see how it works. |
Tick to get an extra warning message if you save a file over an earlier version with the same name using Save .
When unticked, only warns if you save over an earlier version using Save As .
Tick if you would like Tune Smithy to keep a record of the fractal tune, and also your current settings for all the check boxes, colours etc, ready for the next session.
Keeps a record of your most recent version of the current fractal tune.
Adds an asterisk after the file name if you haven't yet saved the up to date version as a Tune Smithy file.
When ticked, configuration settings are saved at the end of each session.
Reads all check boxes and colours, and also fractal tune info.
Effect is to set everything up as it was when the configuration settings were last saved (normally this will be the end of the last session if you have Auto Save Config. ticked).
Use to exit program. Same effect as clicking on the close icon X .
Choose what to change from the drop list.
Click on one of the items, then on the new colour.
Click on Use Defaults to set all the colours back the way they were when you first ran the program.
To make file associations for files used by Fractal Tune Smithy , tick the Make assoc. boxes (c.f. Windows Explorer | View | Folder options | File Types... ).
For instance, if you tick the TS box, then .TS files will be listed as of type Tune Smithy in Windows Explorer .
Then if you double click on a .TS file, FTS will start, with the .TS file as the fractal tune.
This will also tell other programs such as Internet Explorer to use Fractal Tune Smithy to open .TS files.
Double click will work as soon as you tick the TS box to make the association. However you may have to wait for your next reboot before you see them described as Tune Smithy files in the files lists for Windows Explorer .
When you start FTS by file association, it opens the file in the same process as before, unless you are in the middle of editing the fractal tune, in which case it runs in a new instance.
If you want to start multiple copies of FTS by file association, hold the shift key down, e.g., Shift + double click.
You may want to show particular windows whenever you start FTS, either normally, or by file association.
For instance, suppose you want to always show the New Seed , and Channels windows whenever you start up FTS with a double click on a .TS file.
To select the New Seed window, tick the Seed box in the TS row. Notice that this adds a D to the More box for TS files. There is no box to tick for the Channels window, so look down the list of codes, and you will find its code is N . Enter this in the More box, adding it after the D . Now, whenever you start FTS by double clicking on a .TS file, you will immediately see the New Seed , and Channels windows..
If you want FTS to start playing a .TS file immediately whenever you start FTS by double clicking on it, tick File | Play on start up by file association .
To shift the tune up or down in pitch, choose Pitch... Click on the pitch bar to choose the first note for the tune, or use the arrow keys, or type in numbers.
To fine tune, e.g. to bend the pitch so you can play along with an instrument which is sharp or flat relative to concert pitch, use Fine tune , or Frequency .
Tick Use Concert Pitch to reset the frequency to the nearest note in the equal temperament scale at concert pitch.
Tick Track Tune to watch the notes in the tune as they change in pitch.
The volume bar sets the default volume for the lowest note of the scale.
Individual channels can be given volumes too. For this see: Channels
You can set a range of note volumes by adding a number after the note length in the Time for one note box like this:
0.5 v 0.8
To combine a range of volumes with a range of note lengths:
0.5 - 0.2 v 0.8
The 0.8 is the volume for the 10th note of the scale, as a fraction of the default volume of the lowest note of the scale. It can be larger than 1, in which case, notes increase in volume as you go up the scale, until they reach the maximum volume for a MIDI note.
So the effect is that the tune gets softer (or louder) as it goes up the scale.
Alternatively, click the +... below the Time for one note box and tick Vary vol. with pos. in mode / arp .
You can also change the volumes for individual notes in the tune. To do this, enter the tune like this:
0 1 2 v 0.2 1.4 1
in the Musical seed box
The numbers are the volumes for the notes as a fraction of the default volume.
The two ways of specifying volumes can be used together, in which case the notes change in volume both according to the position in the tune, and the position in the scale.
To combine with varied note lengths:
0 1 2 ; 1 1.5 0.2 v 0.2 1.4 1
for note pattern 0 1 2, with durations 1 1.5 0.2, and volumes 0.2 1.4 1.
Alternatively, enter the seed from MIDI in. For details see How to make a new seed from Midi In . Tick the Vols check box to the right of the Apply button in the New Seed Window.
You can also play echo effects etc. from the p.c. keyboard:
For this, click New Seed | +... (button below the Channel for voice for p.c. keyboard box ) and tick Volumes by keyboard row .
You can set the length of the notes for the tune in the Time for one note box.
You can set a range of note lengths like this:
0.5 - 0.2
The first note length is for the lowest note of the tune. The last one is always for the 10th note of the scale (note height 10). Ones in between, and after the 10th note, are scaled so that the note length is reduced (or increased) by the same amount for each step up in the scale.
So the effect is that the tune gets faster (or slower) as it goes up the scale.
Alternatively, click +... to show the Note timing options window, and tick Vary time with pos in mode / arp .
You can also change the note lengths for individual notes in the tune. To do this, enter the seed as:
0 1 2 ; 1 1.5 0.2
in the Musical seed box
Here 0 1 2 is the pattern of note heights. The numbers after the semi-colon ';' are the note lengths, as fractions of the length of note specified in the Time for one note box.
The two ways of specifying durations can be used together, in which case the notes change in length both according to the position in the tune, and the position in the scale.
Other options in the +... window:
Vary volume with pos. in mode / arp (previous section)
Set priority for playing tune (see next section)
Shift start of each note moves every note forwards by a fraction of the time interval to the next note. For instance, if the value is 0.5, shifts every note forward by half the time interval to the start of the next note. Suppose the original note times were 1/4 1/2 1 1/2 1/4, and then you click the stop button, or it comes to the end of the tune. Note timings from start of tune are 0, 0.25, 0.75, 1.75, 2.25, 2.5 (to end last note). If you replay it with a shift of half a note, they will be 0.125, 0.5, 1.25, 2, 2.375, 2.5 (starting with a 1/8th second rest) and the new note times would be 3/8 3/4 3/4 3/8 1/8. Times from the start of the first note played are 0, 0.325, 1.125, 1.875, 2.25, 2.375.
The Tune | Options | Notes As drop list has options to show the Time from start of pic. in secs , and Time to next note in secs .
The Metronome mark shows the number of notes per minute.
Minimum and maximum note lengths
Normally you won't need to change most of the values in this section. However it is included for the more technically minded to read. You may want to change the priority class in some circumstances.
The resolution of the Windows MIDI timer used is about one millisecond. However, the program uses a resolution of two milliseconds, to reduce system overhead.
There's a minimum time from each note to the next in the fractal tune. This is set to twice the resolution, to reduce system overhead for extremely fast passages.
There is also a maximum time between notes in the fractal tune of a little over 65 seconds. However this is only for successive notes. When you choose Level, with simultaneous notes , or set the sustain to several notes, the overlapping notes will last as long as needed.
For Play slower if nec. all the notes are played, however short they are. The start of each note is timed individually from the previous note. Main effect is that the tune will slow down for exceedingly fast passages such as notes of duration less than a couple of milliseconds. The actual duration of the entire tune is also likely to be longer than the Duration shown for it in the main window, even for normal speed passages, because of the timer resolution.
For ok to skip notes , each note is timed from the beginning of the melody, and if there isn't time to play a note, it is left out. There is an extra leeway of a tenth of a second after the beginning of the next note before a note is skipped. This is to allow for short delays in timings for clusters of notes of zero length (which can be used with sustain to play chords).
If the tune has long passages consisting entirely of extremely fast notes (like a few millionths of a second each, or less, depending on the speed of your p.c.), then the duration of the entire tune can be extended even for ok to skip notes ,. This is because of the time needed to calculate the desired time for each note before skipping it.
In most other situations, the actual duration of the piece, and positioning of notes within it, will be correct to within a five hundredth of a second, provided there are no other computing intensive tasks happening.
Starting an application, resizing windows, and other high priority operations such as saving to disk can slow down individual notes, or very fast passages.
If you have the tune as score showing, this also can slow down the fractal tune. The tune continues during the score refresh, but the refresh can still slow it down in much the same way that another program can ( technical note: the repaint of the score is done in another thread).
To see this effect, choose ok to skip notes and select Time skip needed for Tune | Options | Notes As . Try playing the fractal tune for a while without the score showing. Then show the score, and see what the time skips needed are (i.e. the skips needed to get up to date with the time). Then play for a while with the Fractal Tune as Score window showing. The time skips needed will probably be quite a bit larger, especially if the Tune window is large, and has many notes.
You may find that the tune pauses especially while you are resizing or scrolling windows - try this while playing virtuoso_violin_with_flute.ts . Scroll or resize any window in any program, and see if the tune pauses momentarily.
If you really need to, you can change the priority class for Fractal Tune Smithy .
From the drop list, use +... | Set priority for playing tune .
Alternatively, type #p-1, #p0, #p1, #p2!, #p3!! or #p4!!!! into the Time for one note box.
Use #p1 for high priority
Use #p0 to reset to normal priority.
You can use #p2! for time critical priority. This priority is only applied to the thread that plays the tune, and the one that processes MIDI in, the process is set to high priority. Warning : A time critical thread will execute until it explicitly yields control. However, FTS yields control immediately after playing a note, so it should be okay.
Warning : Use #p3!! with caution - real time priority. Real time processes can prevent operating system processes from performing important tasks. If they do any heavy processing, they can cause mouse to stop responding, prevent other windows refreshing, and not give time for flushing the disk cache. This priority is applied to the process as a whole.
Here are the Microsoft recommendations for realtime priority:
You should almost never use REALTIME_PRIORITY_CLASS, because this interrupts system threads that manage mouse input, keyboard input, and background disk flushing. This class can be appropriate for applications that "talk" directly to hardware or that perform brief tasks that should have limited interruptions.
As FTS yields control immediately after playing a note, may be okay. Could depend on your setup.
The repaint of the Tune window, repaint of the dots / keyboard for the new seed / scale / arpeggio windows, the searches, construction of FTS gallery etc are reset to idle time priority if you select time critical priority for the tune. (this is still a rather high priority as idle time priority for a high priority process is one level higher than the highest priority for a normal priority process)
If you set the tune to real time or time critical priority, the priority class resets to High priority whenever any change occurs in the tune window or the dots / keyboard, or you do any searches, or save to midi. (so real time resets to high, and realtime + time critical resets to high + time critical)
This is done because even idle priority of a thread for a real time process will block everything else until it is finished.
If you want to use realtime or realtime + time critical, close all the windows with pictures.
I've tested #p3!! by playing FTS with real time priority while giving the computer some really heavy use (defragmenting a partition that includes the windows swap file, copying files within that partition in Windows explorer, doing a complete rebuild of Fractal Tune Smithy and editing this, all at the same time) - all the windows were slow to refresh, as one would expect, but nothing else happened.
You can test the effect of these settings by starting another program with graphics (say another instance of FTS with the Tune window) and resizing the window while playing a tune very fast. Do you get gaps in the tune. Probably you will for all the settings except possibly #p3!!.
You can reset to normal priority at any time while the tune is playing by holding down the Shift + Escape keys together. You need to hold them down until the next note sounds (no need to be working with FTS to do this).
The setting #p4!!!! should almost never be used - realtime + critical. But if you really need to have no interrruptions at all, and don't mind risking a Windows crash, it is there for you to try. I've done the same test as for #p3!! with #p4!!!!, running FTS with realtime + critical priority while giving the computer the same heavy use, and nothing happened. I haven't had any problems with either of these settings when I've used them (wouldn't have included them if I had : - ) ).
This method can also be used to change priority of searches, construction of the SCALA list of scales, etc, to high priority, or to the lowest possible priority (but not to real time or critical time priority).
The realtime mode for the tune resets to high + critical time priority when you run any of the searches etc, or save to a midi file. High priority sets the searches etc. to the lowest possible thread priority for the high priority class. This means that they run if no other program wants to run at high priority, but supersede all normal priority tasks. This is still a fairly high priority for computer intensive work - response of computer will probably be slow if you do any searches when FTS is in high priority mode.
To set to the lowest possible priority, enter #p-1 (only runs during idle time - i.e. when no other program needs to run).
If you want the priority to be saved for the next session, use #x instead of #p (works if you have File | Auto save to Fractal Tune Smithy.ini on exit ticked).
Details:
The program skips up to a hundredth of a second to find the next note, (or a hundred note calcs if that takes longer). The time increases to a max of a tenth of a second if the melody gets delayed as much as a second. If a tenth of a second isn't enough time to find the next note, it just plays a note every tenth of a second, playing whichever note it has got to in the calculation.
Whie finding the next note, it spends a maximum of half the time calculating, and half the time sleeping.
You can configure this by using #s after the note heights.
Enter #s <min time for calc> <max time for calc> <delay for min time> <delay for max time> <min calcs for min time>
E.g. #s 0.01 0.1 0.01 1 100 for the default.
(n.b. uses square root of min calcs for min time for levels updated greater than 1)
When the #s option is used, you can use the Escape key to stop the melody if too fast.
To save these for the next session, use #n ..... instead of #s.
You can also change the resolution. To do this enter a new value in the Time for one note box, prefixed with #r like this:
#r 1
(for a resolution of one millisecond)
To save the resolution for the next session, use #t instead of #r .
The score for tunes with variable note length
Tune | Options | Position by time
When unticked, notes are spaced equally on the stave.
When ticked, they are placed according to the time at which they occur. So you can see how long to play a note by the amount of horizontal space from it to the next one. Fast notes are closer together, slower ones are further apart.
Vertical bars mark seeds - tick or untick Show lines for seeds to show these.
When you have Tune | Options | Scan line moves ticked, and Play slower if nec. selected in the main window, FTS breaks the score at one of the vertical bars.
However, if you have Ok to skip notes selected in the main window, then sometimes the score will break at some other position. It could be adjusted to break at a vertical bar, but then the score would often jump about when the scan line reaches the end of the window (because of variations in the spacing of the vertical bars for seeds with missing notes). Could be tricky to read!
Show desired time - When ticked - shows times calculated for the notes. When unticked, shows the times at which they were actually played. For Ok to skip notes selected in the main window, these will be close to the calculated times, except for very fast notes.
All the notes are shown the same size. It is the spacing between them that changes.
The width of the picture is set to a particular number of seeds. So as the music gets faster or slower, you see the same number of seeds, but a shorter, or longer time span.
The other possibility was to use standard notation with time signatures.
The program would then have to work out time signatures and note values for all possible timings. Since the tune is not originally given in terms of time signatures, this is pretty much impossible. For instance, how could one notate the effect of the tune always being faster for higher notes in a scale in standard notation?
However, if you'd like to follow a close approximation to the score in standard notation, there are other programs that can do it for you. See the next section.
You can save the notes of your fractal melody as a MIDI file. This type of file has no actual sounds in it. It is really a kind of score that a synthesizer can use to play back the melody.
As a result, the size of the file depends on the number of notes played. MIDI files are often really tiny, and so are frequently used on web pages. However what you hear when you play one depends entirely on how good your soundcard / synthesizer is.
Another advantage of midi files for musicians is that you can open them in a program which can show all the notes on a score.
You can get a free program to do this from Noteworthy Composer . Their freeware MIDI file player will show the notes, though you need get an evaluation copy of the shareware program if you want to have a try at editing them. I recommend it as an editor for musical staves. It's great for typing in music by hand, because it does no syntax checking; you can put as many notes in a bar as you like, arranged anyway that you like. Also the keyboard shortcuts for notes are easy to use. It's just like using a word processor for music. It is easier to use than some much more feature laden music editing programs for that sort of thing.
NWC has one idiosyncracy when displaying scores that you need to be aware of for FTS. If the notes are too fast to play, it shows all of them anyway. Since it can't possibly play them that fast, what it does is to just make the relevant stave longer to fit all the notes in, and the notes in the channels then get out of sync. Happens because FTS can make MIDI files that have sequences of notes far faster than a human musician would ever be able to play.
To save as MIDI from FTS, choose Save As , and choose Save as type : MIDI files (*.MID) .
Note that MIDI files for some fractal tunes will be large, because they have so many notes. Indeed, they can reach multi-megabyte sizes for some of the faster tunes played by FTS.
To change the length of the recording, choose Midi file options.... from the File menu. You can also specify a fade out at the end of the Midi recording, and time and key signatures (which you will see if you use a score editing program to look at the MIDI file).
You can also change the format of the MIDI file. Formats 0 and 1 are the ones most often used, format 2 is rather rare. Format 0 has all the notes on one track, and Format 1 has multiple tracks, but you won't notice any difference in NWC because its wizard puts the voices on staves according to the channel numbers anyway.
You'll find a button in File | Midi file options... which you can click to make a FTS gallery of MIDI clips for all the .TS files in the current folder (to change this, use File | Open... to open any .TS file in the folder you want to change to)
This makes all the MIDI files for the gallery, and the HTML file for them.
It uses images to link to the MIDI clips For the default images, use red_semiquaver.gif 15 33 blue_crotchet.gif 15 33 . FTS creates these images in the new directory if necessary.
To add new images, save them in the same folder as the html file, and add the file name, width, and height to the Images for links + width + height box in that order. Enclose any file names that have spaces in them in quotation marks. FTS does no checking to see if the file is in the directory. It simply places the name in the HTML hyperlinks.
The gallery will also show the original .TS file name, as a link to the .TS file. The text for the link uses the file name, with the extension removed, and any underlines changed to spaces. If putting it on the web, you could change all the .TS file names in the document to some other format that you have recorded, such as .RA , by a search and replace of the html gallery.
I can recommend the Goldwave program (freeware / shareware) for recording sound clips. For recording options, look under Tools | Volume control | Options | Properties | Recording . It has a wide range of sound formats.
To convert to real audio, save in the .WAV format, and use the free encoder from Real Audio .
You can limit the size of the MIDI files for the gallery. In the box with the max MIDI file size for the gallery, set the max file size to 0 if you want to do MIDI files for them all, whatever the size ( warning - some midi files produced by FTS can be large, multi-megabyte in size, if there are fast passages with many notes to play).
To show file sizes in Kb after the midi links in the gallery, add kbrpt <size for report> to the max MIDI file size box . Example of use: 200 kbrpt 100 to set a max file size of 200 KB and show sizes for all MIDI files in the gallery of at least 100Kb.
Tick the hex dump option if you are curious to see exactly what MIDI messages FTS saves to files - it will give it in hex, with explanatory comments. If you want to find more details about MIDI messages and the MIDI File formats, history of MIDI, etc, there is a great deal of material on the web. See for instance, this course material from the Middle Tenessee state university is rather good!
The hex dump is saved using the same file name as the MIDI file, with the extension .HEX instead of .MID. Warning . Most of the hex dumps are tiny, like the MIDI files. However the size depends on the number of notes to play, so some of them can be really large, in the region of many megabytes - they are several times larger than the corresponding MIDI files.
Since some of the MIDI files produced by FTS are so large, you may be interested to find a player that will play them - some MIDI players can't read MIDI files in the multi megabyte range.
The Windows Media Player will play large MIDI files.
Record to MIDI as you play along
Make New Seed | Record Play Along
Saves in format 0 MIDI as you play along
It's done in format 0, because it means all the note times can be saved in a single channel, which is much easier for the program for this sort of thing. If you need to convert to format 1, there are programs available to do it - a freeware MSDOS utility can be obtained from Guentler Nagler's home page
Should you have another program playing at the same time, or another copy of FTS, then the notes or sounds from those are ignored.
The only notes recorded are the ones played from the same instance of FTS.
Click Enable recording . Then click Start recording now , play along, and click End recording Now when finished.
You are unlikely to exceed the default maximum file size of 200 K if playing by yourself. The size depends on the number of notes recorded. Most MIDI files of this type will be only a few K, and are ideal for adding to web pages or sending by e-mail.
But if you play along with the fractal tune and there are passages of fast notes, you can exceed the limit quite easily. Set this to a larger size if wished, or to 0 for no limit. Be warned, if you set it to no limit, it is easy to record multi-megabyte MIDI files when playing along with a fast fractal tune.
Proposed FTS gallery of sound clips
If you make a really good .TS file with Fractal Tune Smithy, I'd like to hear it. I may make a web page of the best ones received, with sound clips, like the ones on the F.T.S. home page, listed according to originator - say if it is okay to use it for that.
Send the .TS file, rather than MIDI or sound files.
You can make a gallery of MIDI clips with a single click. For more details: FTS Midi Gallery button .
If you feature Tune Smithy clips on your web site, do send me the website address , so that I can link to it from the FTS home page site.