From the help for Tune Smithy
Skip navigation Overview Seeds etc User guide Main Window Musical note intervals Scales Midi in Analyse sound
Hide Contents

User Guide

See also User guide 2, Midi Out, Midi in, Controllers, and Main window controls

Tune or Notes Played - Tune window options - When the tune changes - Fractal Rhythms - Resets - Open and Save - Colours - Organise Windows - File Associations - Pitch - Note time and volume - More note time options - Score with variable note length - Save as Midi File - Midi File Options - More Midi File Options - Deciphering the hexadecimal - Midi file save as a twelve tone score - MIDI Gallery - Gallery of sound clips .

For help on the Seed , Arpeggio , and Scale windows, see Seeds etc . For playing from Midi keyboard, see Midi in.

Here you can find: help for some of the menus. More details for main window controls. The Tune window (minimalist score in FTS). Save as Midi file and the midi file gallery.


Tune or Notes Played

Bs | Tune or Bs | Notes Played in the keyboard and Midi Relaying tasks and the Lambdoma view.

Intro - Colour coding of the notes - How to play along with a fractal tune - Special notations - New scores - Looking to the future


This is a basic kind of score with just dots for the notes. The dots are positioned by the time, so you can see the length of a note from the size of the gap between each note and the next - well the relative length - the width of the window is set to show a particular number of notes, so the score stretches / contracts as the tune plays. That is so that you can always see the same number of seeds even with a fractal rhythm which varies greatly in speed. However, I'll do a new option to set a fixed width in seconds instead soon.

There are no clef signs, but when only one of the clefs is shown, you can tell which it is by the title bar, and obviously you can also tell which is which when both show. There are no accidentals either - the pitch is indicated by colour coding. See the next secton for this.

Non melodic percussion notes are shown as 'X's in place of the dot. This X also gets repeated at the bottom of the window. So, the 'x's on the score don't get played as melodic notes - but they let you see which notes will be played if you change that part to a melodic instrument.

If you choose one of the options that show letters or numbers for notes, then the 'X's for the non melodic percussion are echoed at the bottom of the window. Some of the tunes also have silent parts which are just there in order to add extra rests to the tune. These rests are shown as a short vertical dash in place of the note.

Users of FTS sometimes comment that it would be nice if this window could be made editable. As a result, I have it in mind to do an editable version of it eventually - the very beginnings of possibly a truly microtonal notation program. In these early days of microtonal software, none of the music companies have yet produced a truly microtonal notation program with the flexibility composers would demand - such as ability to easily change notatoin systems for the entire score with a click on the button, enter notes readily in any cents or ratio value just by editing the notes on the score, support for any microtonal notation system such as the extensive list in SCALA and custom ones with any number of bar lines per staff, and accidentals per bar line, and so forth. Some of this will be easy to do in FTS because the programming is already done - others really not that hard - while things like nice clef and note symbols, and anything approaching a printable score will be some time coming, if I do that at all! But someone has to start somewhere :-).

top , start of section

Colour coding of the notes

There are no accidental signs in this score - instead, colours are used to show flats or sharps relative to concert pitch C major . Naturals are in red , sharps dark blue , and flats yellow . These colours can be changed from Tasks | Colours | Fractal Tune As Score .

This colour system is meant as an aid to help those who are accustomed to twelve tone music to find the nearest note to play (and then of course bend to the desired pitch). So A sharp here for instance is any pitch in the region of 466 Hz, and it can be coloured as either a flat or a sharp - as either A sharp or B flat.

Tune | Options | Auto select below the Sharps / Flats drop list will auto select sharps or flats, depending on the closest matching key signature for the main window arpeggio. So for instance if your piece uses mainly notes from the A major scale, or ones close to them, then the notes will be coloured as sharps. If it uses mainly notes from F major then you can expect the B flat accidental to be shown as a flat, and any other accidentals that may occur. For ones that aren't particularly designed with a key signature in mind, such as gamelan scales, it makes a choice anyway depending on the closeness of its pitches to one of the twelve tone keys. For more details about how this works, see Key signature (Midi file options).

To make your own choice about whether to show flats or sharps, unselect Auto select , and use the Sharps / Flats drop list. It will then show all the accidentals as sharps, or all as flats, depending on your choice.

The preset colours of red, blue and yellow for the notes were chosen because most of those who are sighted can distinguish these three colours - the colours that can often cause confusion include red /green and blue / green. Red / blue can be distinguished by anyone who can distinguish any hues in the spectrum at all because they are at opposite ends of the spectrum. Yellow can be easily distinguished from the other two because it is lighter.

You can also choose to colour code the notes played to any twelve tone colouring scheme such as the Pythagorean system, the system of the Rosicrucians, or Scriabin's twelve tone colour scheme, or maybe your own individual colour associations of pitches with colours if you have one. See Options | Colour code | Colour code options . You can also use colour systems with other numbers of notes to an octave - the Lucy preset gives an example there.

top , start of section

How to play along with a fractal tune

Select Score from the drop list.


Tune | Options | 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.

Set the Look ahead number to the number of notes you would like to see in advance. Note that look ahead isn't yet implemented for some of the tunes - see N.B.

Choose whether to show Treble , Bass , Both , or Auto .

You may find it easier if you set the width in Secs rather than in Seeds . When the width is in seeds, the window always shows a whole number of seeds, and the blue vertical "bar lines" neatly fit the width of the window but in many of the fractal tunes with varying rhythms, the "bars" may expand and contract as the tune progresses and the width of this window in seconds keeps varying to keep a constant number of seeds in view. When you set a width in seconds, then the scan line just scrolls across at an constant rate, and all the notes stay still. So that is easier to read - but the downside is that you get fragmentary "bars" appearing to left or right..

In the case of Auto , t he treble clef, ranges down to the G below middle C - the violin range, and the bass clef ranges up to the E above middle C. So it shows whichever clef is needed for the notes of the fractal tune. It will sometimes show both clefs even if all the notes are in one clef for a while as it uses the arpeggio to make the decision. If the arpeggio or seed is such that notes in both clefs are likely to be needed eventually, then it shows both - this is to reduce the number of changes in the clefs as the fractal tune continues.

Click Play , and play along with the tune.

There are a few other things that need to be explained about how the score works.

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 .

Select Tune | Options | Position by time to show fast notes close together and slow notes further apart, unselect to show all the notes equally spaced. The notes are all shown the same size.

top , start of section

Special notations

Notes are shown on the score as the closest twelve tone note to the pitch actually played. This often works fairly well, but sometimes the notes in a scale may be so close together that several of them need to be placed on the same line of a conventional score.

If you need finer resolution, there are two solutions.

One method is to select Nudge to Pitch .

Here is the twelve equal scale in this system (using Tunes | Options | Notes As | note names )

C C# D D# E F F# G G# A A# B C shown using nudge to pitch

This spaces out the lines of the score according to the number of equal temperament semitones between them. So for instance, the gap between the E and G lines of the treble clef is narrower, at three quarters of the gap between the G and the B lines, because it spans three ET semitones instead of the usual four. The D lines are shown dashed, because that makes the score somewhat easier on the eye (it helps with the three close together lines at the top of the treble clef in this screen shot).

Notes then are positioned according to the pitch. So for instance, instead of the C# being exactly on the D line as it is in a conventional score, it is positioned just above it, because it is a semitone sharper.

Here is the Pygmie scale (using Notes As | diamonds this time)

Pygmie scale shown using nudge to pitch

One can see that the third note of the Pygmie scale is a sharper than E because it is above the line. In fact, it is 21/16 (470.781 cents)

In a scale with several "E"s all at different pitches, one would be able to tell them apart by the positions on the staff. So to this extent the nudge to pitch type staff could be microtonally useful.

However the resolution isn't good enough for a player to use this as a guide to the exact pitch to play except as a very rough first approximation. The pitch resolution for most musicians is just too good to fit all the possible notes on a single score - some indeed can distinguish 1200 notes to an octave or more - imagine how huge such a score would have to be to be able to tell all those notes apart visually. Many who are not particularly microtonally trained can manage 10 cents resolution and 4 cents isn't that unusual. So that means 120 to maybe 300 notes to an octave are needed.

So, the only solution really is to add extra symbols to the score.

One can use the 17-et, 19-et, 31-et and 72-et notations instead - these can be selected from the Notes As list.

To choose the symbols to use for these, visit Tune | Options | PC kbd options | Notation for accidentals .

The 17, 19 and 31-et notation are particularly suitable of course for music written in those commonly used systems. The 72-et notation shows the nearest sixth tone to the desired pitch, so it gets you within a twelth of a semitone of the right pitch - it is a modern notaton system that some players find useful. The great advantage is that it includes all the twelve equal pitches, which makes for an easier transition for players trained in twelve equal. The sharps and flats are the same as for twelve equal, with F# / Gb shown as F] = G[ (in the Maneri / Sims notation).

Some microtonally trained musicians have learnt to read cents values from a score, and play those. You can use ratios too, or herz. For those systems, use Notes As | intervals and choose the appropriate system to show using File | Number Options.

top , start of section

New types of score

Another way to get better resolution is to change the layout of the score itself, and the numbers of lines, and make it to match the scale or arpeggio in use.

To do this, select Intervals from the drop list at top left of Tune | Options . This shows horizontal lines for each scale or arpeggio degree.

It will probably be most useful if one is familiar with the tuning of the scale and just want to be able to quickly read from the score which degree to play (maybe on a fixed pitch instrument such as a xylophone or zither say)..

To customise the score, use:

Tune | Options | Draw lines every ... intervals

Enter 1 to show a horizontal lines for each note of the arpeggio , 2 show every other note, or choose any other spacing for the horizontal lines. The conventional score has horizontal lines for every other note of c major , so this option is a kind of generalisation of a conventional score.

You have a choice of Lines show arpeggio , as just described, or Lines show scale , in which case you have horizontal lines for each note / every other note, etc., of the scale instead.

You will find that various controls appear, or disappear when Intervals is selected - they change to show the ones relevant for this option.

top , start of section

Looking to the future

FTS's score is pretty basic at present, and can't be edited. It is for viewing only. If you want an editable score, then one way to do it is to retune the notes from your current notation software. This is something you can do with FTS. You can retune the pitches you hear when you enter notes on the score or when you play it back to hear what you have just written. In this way, you can use any notation program as microtonal notation software! See Using FTS to re-tune the output of a notation software. for details.

This can be used to compose and play in any tuning you like - I do all my microtonal composing this way. However, your score is still shown in 12-et, and one needs to add a note to the score to say how it is to be interpeted microtonally.

Such a score can alsoi be read as a kind of keyboard-scordatura on fixed pitch instruments such as keyboard, xylophone, zither etc. A twelve equal trained keyboard player can read it in the same way as a conventional score, with the normal hand / eye coordination - but because the keyboard is retuned to some other scale, the pitches you hear are new.

It's less useful for variable pitch instruments such as strings, wind, voice etc and a truly microtonal notation program would let you switch between various notation systems at the click of a button. There are no such programs available yet but these are early times for microtonal software indeed.

A proper microtonal score would need to be able to show the microtonal pitches to be played as specially notated accidentals for wind / string players etc, or in some other way, as one is beginning to explore with some of the options for the Tune window in FTS. It would also surely need to be able to show a scordatura keyboard score too as that is kindest for classically trained keyboard players to sight read.

One could use the Tune window in combination with a conventional notation software to make a rather basic microtonal snapshots with the few microtonal accidentals already supported in FTS - or with the nudge to pitch, or interval notation scores. To do this, just play a few notes in the score editor, retuned in FTS, and show it in the Tune window as it is played. You can copy the score to the clipboard using Options | Copy Bitmap .

What we need is a proper microtonal notation software. Writing a fully featured microtonal notation software in all its details would be a major task indeed! There is no such thing as of writing this, not fully featured anyway. However, it seems that some of the big name notaton programs are starting to have a few microtonal features in them - and it seems that this is something whose time has come. We might see big changes in the next few years in this respect.

top , start of section


Tune window options

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 various other extras, for instance, to choose whehter to show 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 Parts in the Notes As drop list. You can follow one of the parts by looking for all the notes with its number. For instance, all notes played in part 1 will be shown as '1's.

You can also show 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 Part to follow, notes as drop list. Choose which part you want to follow using the Part to follow box. Then use the Notes As drop list to show all the other voices in some other format, say as part numbers, or as note names etc - or even hide all the other parts 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.

For a hint for the key to use (or closest approximation to one), look at the Options window. Make sure Auto select is selected (below the Sharps/Flats drop list). Select / unselect 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 nearest note available to the exact pitch you need to play, so you may need to bend it in pitch up or down depending on the scale in use.


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 selected. Will reset look ahead to 0 whenever you play them.

Example of a Tune smithy file of this type:


Also, some of the newer types of fractal tunes don't show up properly in the Tune wndow, e.g. the polyrhythms won't work at all. All this is on my wish list for some future release. The thing is that the tune window was designed at a time when FTS only played one type of fractal tune, which made it easy to look ahead before the notes were played. With the addition of many types of tunes, it needs to be thoroughly re-thought so that it can display any fractal tune whatever - probably by playing the notes into a temporary store, and then relaying them to be played and displayed in the tune - but that is a rather fundamental change in the programming so it won't be done straight away. Probably will be done whenever I start work on an editable version of this window.


When the tune changes

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. Some tunes have long sustained notes, and if so, the melody may have to play for a while before you get all the voices sounding again.

Note that if you stop the tune and start it again, you will hear it in in whatever form it reached after the latest changes.

You won't hear all the changes you made to the tune while it was playing. In fact, you might never reach the exact sequence of notes you heard before, especially if you have selected Parts | Order of play | Other , as the notes you hear in the tune can depend on earlier notes.

So, if you want to record everything that FTS plays, you will need to record them, e.g. to midi.

Later I may add an option to record the changes to a fractal tune that one applies as a tune progresses.

When using FTS to make fractal tunes, you are using it as an algo-comp tool. This is a relatively young field. There are many algo-comp programs available now but they aren't so wide spread all the same, so one may not be familiar with how they work.

You can change the parameters for making a fractal tune, but there is no way to change individual notes that are played. That's because all the parts are intricately connected, so changing one will affect them all. For example, if you change a single note in the seed, it will affect that note wherever the seed occurs - but it will also affect other notes that are built on top of that one as the tune is built up from the seed in many layers. The seed isn't just looped, as one will hear if one listens for it.

It requires a far more experimental approach than one may be used to. Basically try varying any of the parameters, and see what happens. After a while you may get a feel for what some of them do, but the process is probably going to be one of continual surprises all the same.

One approach a composer can use is to just leave FTS playing, record what it does to Midi as you experiment, and then select the parts of the fractal tune that particularly appeal to you and use them in your compositions. Or, use it as a tool for suggesting new musical ideas by the phrases and sequences it comes up with (these will all originally be based on the seed you gave it, but probably with the notes combined and re-arranged in surprising ways).


Fractal rhythms

See also the entry Fractal rhythms in the Seeds page.

You can have fractal rhythms. If playing several voices simultaneously (see Parts | Order of Play ) then the entire seed of the first layer in the melody is stretched or compressed to fit a single note in the second layer. This process continues through all the part up to the number of layer you want the melody to be fractal too. For an explanation of how the seed is used to generate the fractal tune in layers. see: More about this, with pictures and musical examples

One aspect of fractal rhythms that will be new to many listeners is that you often have regularities that are based on self - similarity rather than on a repeating rhythm. This means you can hear the same rhythm at many different time scales, but if you follow the rhythm at a particular time scale, you find it is continually changing. It gets stretched or compressed to fit the beats of a slower copy of the same rhythmic pattern. There is a pattern there, and a regularity, in fact, a very strong pattern, but it isn't necessarily gong to be the steady metronomic repeating bar pattern that we are so used to.

Fractal rhythms only make a difference for a seed with notes of varying length.

To use fractal rhythms, and change the number of layers for this effect:

Bs | Seed Options - All | Rhythm fractal to layer .

Alternatively, enter the number of fractal rhythm layers into the Layers box, after the number of layers, and prefixed with an 'r', like this:

10 r4

to iterate to 10 layers, with the rhythms fractal up to layer 4.

The range of variation in note length increases as you increase the number of levels of fractal rhythms. So if you set this number high, you may get some passages with exceedingly long notes. One can compensate for this by reducing the note length.

You may also get some exceedingly short notes - it is easy to end up with passages with notes which should in theory be 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 Time by | previous note 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 standard settings.

If you have Time by | start of tune 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 for each note stepping forwards through the melody to try to get up to date with the fractal tune. If it hasn't caught up with the current time yet at that point, it gives up and plays whatever note it has reached so far.

Try setting the note length to some really minute number like 1e-10 (0.0000000001 with ten zeroes including the one before the point). FTS 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 PC dependent, but can be quite interesting, especially if you have several voices playing simultaneously.

Another thing FTS does - though it can indeed play at a rate of 200 notes per second, if one were to play continually at such a fast rate, the computer might well stop responding. So every so often, it checks to see if the time shown at the bottom of the FTS main window is getting updated. If not, this means it is sending the notes too fast for Windows to keep up with them all, so it will insert a short rest of a twentieth of a second - to give you a chance to interact with your PC It inserts these micro pauses about five times a second if necessary - but if your PC is managing to keep up, it will find that the time is getting updated, and so no pauses will get inserted - it will only insert them if your PC is getting over-stretched.

You may find that your PC gets a bit sluggish if FTS is playing an exceedingly fast fractal tune in the background - this is the reason. You can also use the F11 key to stop FTS playing at any time - even if you are using another program and FTS is playing in the background, hold down the F11 key and FTS will stop playing..

To see the actual times used to play each note (shown on the picture of the score), select Tune | Score from the drop list, and use Tune | Options | Notes As | Time interval to next note in secs .



File menu | New

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. Also the pitch of the 1/1 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 Nearly Everything

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 Nearly Everything, 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 same folder as the program itself Fractal Tune Smithy.exe , and the Tune Smithy files that come with it.

To remove your custom reset, delete or rename FTS_reset.ini . To override it, use Shift + Reset Nearly Everything, which will return you to the standard settings

A few things don't get reset by this - things such as the positions of all the windows - they get remembered in the last position they were shown and this reset doesn't change that. Also the tip of the day number, things like that which seldom need to be reset. If you want to reset absolutely everything then do this reset, and then exit from the session and remove or rename the file start_up_etc. Other things in this file include the current view to show, and the location of the Scala program. 

You will find lots of .ini files and start_up_etc files - there is one of each for each of the shortcuts in the FTS Extra Shortcuts folder on the desktop (one of the options in the Setup program, preset to selected, installs this folder)..

File menu | Reset Scales

Resets to the preset list of scales, the one you see when you first start the program, and with Equal temperament selected. Doesn't change the mode unless you have Sync Arp. selected..

To replace this by your own custom reset, save your preferred scales list as FTS_reset.lsc in the Fractal Tune Smithy folder, or again, use the Ed button for the scales drop list.

To return to the standard reset, delete or rename this file. To return to the standard reset temporarily, use Shift + Reset Scales


File menu | Reset Arpeggio

Resets to the preset short list of 12 tone modes, with the pentatonic mode selected. Doesn't change the scale.

You can make your own custom reset as FTS_reset.lmd in the Fractal Tune Smithy folder.

One way to do this is to select Bs | Scales Options | Add Ed buttons to main window , show the preset Arpeggios drop list in the main window, and click the Ed button next to it. This will make the file FTS_reset.lmd for you, which you can then edit to be whatever you like.

This is the drop list that will be used used when you choose Sync Arp , and then select any of the 12 tone scales in the preset scales drop list, or use File | Reset Arpeggios drop list .

To return to the standard reset, delete or rename this file. To return to the standard reset temporarily, use Shift + Reset Arpeggios drop list , or hold down the shift key when the list is about to be shown (e.g. while selecting a twelve tone scale).

You can also change the preset arpeggios list you get with scales with no other associated modes list - the one with the 0 1 -2 etc in it. It is called FTS_default.lmd and again, you can edit it using the Ed button next to it when its showing. To return to the standard preset for these, delete or rename this file. To return to it temporarily, hold shift key down when the list is about to be shown. You can get to this list also from Control + File | Reset Arpeggios drop list . - and Ctrl + Shift + File | Reset Arpeggios drop list . to get back to the standard one instead of your customised version, if you have customised it. 



Open and Save

File | Open , File | Save , and File | Save As

To save the fractal tune, use Save As , and choose Tune Smithy files (*.ts) as the file type to save. Use Save to re-save with the same filename.

To open a previously saved fractal tune, use Open .

For Midi Relaying settings, choose Midi Relay files (*.rly)

Here is a list of of some of the file types for the Save As dialog. The Open drop list has a few more. It is not exhaustive - other parts of the program use various custom file types - indeed you can also save the settings for each window separately from the Organise windows so each window also has its own file type..

The Details of the file format links are particularly of interest for drop list formats as these are often easy to edit in a text editor and if you are even moderately techy you may often find that easier than working with the drop list in FST. The normal format is one line in the file for each drop list entry (be sure to turn of word wrapping first so that you can see them like this in your text editor).

The other formats aren't particularly designed for editing in text format, but nevetheless they are saved as text rather than binary so that you can see what is happening if curious, and some details are included for those who are interested to know how they work.

Name Ext. Description Details of file format
Tune Smithy TS Fractal tune settings - includes musical seed, voices, note times, also effects like modulation and portamento and other things that affect the notes played in the fractal tunes. But doesn't include things such as which actual output channels to use to play the notes or which output devices - those are in your midi relay settings. Tune Smithy (*.TS)
Midi Relay files RLY Records all settings relevant for midi relaying -
List of Custom voices LSV Custom voices for the Voices, and Non M. Perc. menus List of custom voices(*.LSV)
List of Arpeggios LMD Drop list of Arpeggios List of Modes (*.LMD)
List of Scales LSC Drop list of Scales List of scales (*.LSC)
Scales SCL Current scale in SCALA .SCL format SCALA Scale (*.SCL)
Configuration settings INI Colours, check boxes etc.

Also includes most recent (possibly unsaved) fractal tune details.

Configuration settings (*.INI)
List of musical seeds LMS Drop list of musical seeds. List of Musical Seeds (*.LMS)
List of fractal tunes LFT Drop list of fractal tunes. List of Fractal Tunes (*.LFT)
Midi file MID Saves the current fractal tune in Midi format. When opened, opens a midi clip either for retuning in FTS or to show the hex dump - you get asked which you want to do. Can save, open to play in the retuning midi player, or open as a hex dump
SCALA keyboard mapping KBM Mapping of keys to scale degrees for music keyboard - this is the format for the mapping as prepared in SCALA. Some of the SCALA mappings mightn't be convertible into FTS ones as they use a slightly different convention - if this is the case you will get a warning about it. Open only
SCALA keyboard mapping KBM Mapping of keys to scale degrees for music keyboard as prepared in SCALA. Open only
Timbre Partials TBR, PAR Lists of partials as prepared in FTS (*.tbr) or WAVANAL (*.par). These are opened as custom voices Open only
Wave Sound WAV, Other audio formats Audio file can be opened into temporary memory (RAM) to analyse frequencies of the notes for instance, or saved from the temporary recording in memory to disk. Open, or save
Wave to Seed Config W2S Parameters for the conversion of waveform audio into seeds or midi files -
Colours CLR Colours for the FTS windows - as set in View | Colours Open, or save
Presets *.presets Same as configuration settings, except that all values you want to change have to be specified - any settings not listed are left at their current values when the file is opened, rather than reset as they are with .ini files. So normally you will edit these by hand, and you should look at the Configuration settings (*.INI) format to have an idea about how theconfiguration settings work. Open, or save
Drones DRO Drones - as set using Bs | Seed Options | Drone Open, or save

  Extra save option for LSC files:

One can save the lists of scales (*.lsc) files in the current main window format for showing scales. So for instance if the scales are shown as cents, they get saved like that, or if ratios or hertz, again they get saved accordingly. To save them this way, hold down control key as you click on the Save button (you also need to hold it down as you click on the Yes to replace old version, if asked that).

E.g. if you want to see a list of all the scales in the drop list in the cents as diffs from 12-et format, as some do who want to know cents diffs to use with their synths tuning setups, and as cents to 4 significant figures, say, then set up File | Scale notation accordingly, and use Ctrl+Save to save the LSC file in that format.

Some other entries in the file menu: 

File | Replace Old warning

This gives a warning message when you Save a file and it replaces one that already exists with the same name. So for instance if you keep saving the same file several times, then you will get a warning that the old one exists each time, which is sometimes useful to know.

When unselected, it only warns when you use Save As (which means you may have changed the file name).


File | Auto Save Config.

Normally selected. This makes sure that Tune Smithy keeps a record your current settings for all the check boxes, colours etc, so that they get remembered from the end of one session through to the start of the next one.

Amongst other things, this keeps a record of all your settings for your current fractal tune. So if you exit after changing the tune, and before saving it, then next session you will see the same tune again mid edit.

If your tune is mid edit, you see an asterisk in the title bar - this means you haven't yet saved the up to date version of your fractal tune as a Tune Smithy file (*.ts) . So if you see that, you know you need to save your work. So even if you exit a session without saving your work, when you start the next session, the mid edit file will still show up and you can save it then.

N.B. if you select Bs | Seed Options | Undo changes | Midi Relaying (*._m_;*.rly) , then an asterisk is added if you haven't yet saved the midi relay settings as a Midi Relay file (*._m_;*.rly) .

If you want to save all your settings yourself at any time, choose Save As , save as type Configuration Settings , and then save to FractalTuneSmithy.ini in your Tune Smithy Folder (e.g. C:\Program Files\Fractal Tune Smithy) . That saves them just as they get saved at the end of the session.


File | Reset to Start of Session.

Sets everything up as it was when your configuration settings were last saved.

When Auto Save Settings is selected (standard setting), then they are saved at the end of every session, and File | Reset to Start of session will take you back to the settings as they were when you began the current session, so that is the reason for the name.


File | Exit

Use to exit program. Same effect as the Close button .




Tasks | Colours...

First choose what you want to change from the What to Change drop list - such as volume bar, pitch bar, Lissajou colours, Colour coding, etc.

Now to change the colour of one of the items, click to select it in the column on the left - say by way of an example, the start colour for the Lissajous figures. Then click on the colour you want to change it to, to the right. To fine tune the colour, select Choose from custom colours , then click on the Wheel to the right and use the wheel to vary the hue, saturation and brightness of the colour.

Another way to make the colour is to select one of the named colours from the drop list. These are the Netscape named colours as used in the web colours you use to set the colour of text for web pages - anyway it is a nice readily available list of named colours which is the reason I have it here. You can then fine tune the colour as before.

Atlernatively - especially if you are already familiar with standard way of doing it in Windows, use Make custom colours (Standard method) . There you will see all the colours in the right hand column of the Colours window listed again at the bottom of the dialog, so first click on the one you want to change - ie.the one you have selected. Then change its colour, click Add to to update it in this dialog, and finally Ok to update it in the Colours window too.

So to summarise, you do it in this order, working from left to right: choose what to change from the drop list. Then cick on the item you want to change, then on the new colour. Then change that colour to fine tune it using the custom colours.

Click on Reset all the colours to set all the colours of the items back the way they were when you first ran the program. This only affects the currently selected option from the What to Change drop list. If you want to reset all the colours for all the options, use Ctrl + click - this Ctrl + click shortcut also resets the custom colours in this list to the right as well

"Skins" - Background texture and bitmaps

To choose a skin., select it from the drop list of Custom button images , of the drop list of Custom background texture folders.

Usually these two lists are synchronised, so that you use the buttons designed for the background and vice versa. However, if you want to mix and match, unselect the Sync check box.

FTS comes with two "skins" - the one you see when you first run the program, and the Images-Original, which uses the same forms, but with a flat colour rather than gradient fills.

If you want to make more "skins" for FTS, make each one in its own sub folder, and then you will be able to switch between them here. See the Images readme for details.

The "skin" may have a text colour set up to go with the background. You can change this using What to change | Custom background texture | Text .

If you unselect Custom background texture , the window background resets to plain colour. If you unselect Custom button images , preset buttons are used - these are the same as the ones in the Images-Original folder, but will work even if you delete this folder.

Tasks | Colours | Clear buttons - standard setting is selected. See through buttons.

Save clear buttons - this is most useful with 256 colour. The first time you show the buttons in a session, they can be slow to refresh, and if your hard disk is reasonably fast, it is probably better to save them to the hard disk as they are made so that they can be reloaded from the disk instead of being made again. In true colour mode, the buttons can be painted much faster, so both methods are about the same speed.

The next two controls appear only when you set the display to 256 colour mode.

( Start >> Settings >> Display >> Settings >> Colors >> 256 colors )

Tasks | Colours | Translucent okay for 256 colours - standard setting is unselected. That's because if you have 256 colours, various things can slow down the translucent buttons:

Each translucent button in a window takes a little while to draw the first time you see it. Also you get a short delay first time you press a large button while the button repaints itself in the pressed state. This is slower in 256 colours than in other modes because Windows needs to look up all the colours in the palette to help FTS to draw them correctly the first time each button is drawn.

Tasks | Colours | 256 colour optimisations - standard setting for this is the Popularity algorithm - the most used colours get priority.

Uniform 6 6 6 uses all possible combinations of six reds, six greens and six blues, to make 216 colours.

Similarly for the other uniform ones. The ones with the blue component least are esp. useful as our eyes are usually less sensitive to shades of blue.

These palettes are all from Charles Petzold's " Programming Windows 5th Edition ", chapter 7, Palette management .

Here is his description of his implementation of median cut:

"Picture the RGB color cube. Each pixel of the image is a point within this cube. some ponits might represetn multiple pixels in the image. Find the three-dimensional box that encloses all the pixels in the image. Find the longest dimension of this box and cut the box in two parts, each containing an equal number of pixels. For these 2 boxes, do the same thing. Now you have 4 boxes. Cut the 4 boxes into 8, and then into 16, and then 32, 65, 128 and 256,

Now you have 256 boxes, each containing about an equal number of pixels. Average the RGB color values of the pixels in each box, and use the results for the palette.

In reality, the boxes don't usually contain an equal number of pixels. Often, for example, a box containing asingle point has many pixels. This happens with black and white. Sometimes a box ends up with no pixels at all. If so, you can chop up more boxes, but I decided not to."

High contrast preset - switches texture and custom bitmaps off

If you change the Windows colour for the dialog backgrounds to either black or white, then the Clear buttons and Do textures are automatically switched off. The few buttons that have images such as the play buttons reset at this point to be the same as the ones in the Images-Original folder.

That's because black and white are used for the high contrast Windows settings for Start | Control Panel | Display | Appearance , so, it is probable (of course not a certainty) that the user wants them in these plain colours for easier reading and accessibility, and so would prefer that to a textured background.

The custom background and buttons will be switched back on again when you change back to some other colour - and of course you can switch them back on yourself too, if you do want to continue to use textures in FTS when you have black or white for the background for other Windows dialogs.



Organise Windows

O icon on any of the windows, or F2 for any window.

Show any FTS window, Save / open the parameters for a particular window, Show an Overview, The four types of file you can save / open, Other options in this window.

Show any FTS window

Select a window from the drop list and click Show window to show it. You can choose an entry from the drop list by typing its first character, as for most Windows drop lists, so for instance, typing P will take you in turn through all the windows that start with P.

Click the Help button to show the help for the selected window (if it has any).

top , start of this section

Save / open the parameters for a particular window

To explain how this works, it will help to have an example. Let's try out the polyrhythm window Bs | Seed Options | Polyrhythms .

When you look in the Tune Smithy File section you will see three buttons: Reset , Open and Save As . You will see this if there is anything in the window that affects the fractal tune.

These will save the tune smithy information for this particular window only. So for instance if you have a polyrhythm you have made for one fractal tune, you could save it here as a file of type *.Polyrhythms Then later you could open it here and so import the polyrhythm into some other fractal tune without changing any of its other settings.

Once you've saved a file here, it will appear in the drop list of saved polyrhythms. So for instance you could save several polyrhythms, and use this drop list to quickly swap between them.

Similarly, you can reset the polyrhythm from this window without affecting any other aspect of the tune. The reset will set all the fields to show the preset polyrhythm. It will also switch off polyrhythms, since that is the standard setting for fractal tunes.

top , start of this section

Show an Overview

The Overview... button for each section gives you an overview of all the windows that have been changed away from their standard values. Click on Overview | -> Non Dft button, and the mouse cursor will be warped to whatever box or radio button or whatever has been changed, so that you can see which has been changed.

Try this for the polyrhythm - select Play polyrhythm , click the Overview button for the Tune Smithy File section, and the Polyrhythm window will show up as one of those changed away from the standard settings. Highlight it and click on the -> Change button, and your mouse cursor gets warped to the polyrhythm check box, so that you can see exactly what has been changed.

top , start of this section

The four types of file you can save / open

You can save four types of file for every window in FTS. Some of these sections will be hidden if there are no relevant parameters to save for the window. Once you have saved files of any of these types, they will show up in the drop list for the relevant section.

Fractal tune - anything that affects the fractal tune melody and sounds. These are the parameters that get saved to the Tune Smithy file (*.ts).

Midi Relay - anything that affects midi relaying - there is some overlap between these and the fractal tunes, for instance, the scale and arpeggio affect both.

Configuration settings - anything that doesn't affect the fractal tune. Again, there is an overlap between Midi Relay and Configuration settings - anything to do with Midi relaying that doesn't affect the fractal tune will count as configuration settings

All settings - all the information in the window - with a few special exceptions - see below.

If you show the Organise window from one of the main window tasks, the drop list at the top shows All Windows . The other drop lists will list all the .ts and . rly and .ini and .Config_all files in the current directory. So, this one gives a quick way to swap between those. The . Config_all files saves all settings that don't affect the fractal tune.

There are a few exceptions that are saved separately and don't get recorded by this window, mainly, the location of the SCALA app (which one isn't likely to want to reset having entered it using Bs | Scales Options | SCALA scales ), and such like things that one rarely will want to change.

top , start of this section

Other options in this window

Show window when starting by file association for: - you can make a file association using the File Associations window - see next section.

So then the idea is that maybe you want to show different windows in FTS depending on how you start it up. Select the TS box here for all the windows you want to see when you start FTS by clicking on a .ts link (e.g. link to the tune smithy file in the help). For instance,if you want to see the Parts window whenever this happens, select Parts from the drop list at the top of the Organise Windows window, then select this box to specify that this is one of the windows you want to see.

Auto minimise all FTS windows on lose focus - when selected, FTS will minimise itself whenever you click on any other window or tab to another window. To get back to FTS, Alt + tab to it, or click on the minimised icon in the task bar.

Start session with main window minimised - this is useful if you want to show some other window, say, the Scale window, at the start of the session, and don't want to see the main window straight away. You can also minimise the main window on its own using Shift + minimise - this will leave all the other windows showin.

This needs File | New windows on top to be unselected. If you have that selected first (i.e. select it before showing the other windows), all the other windows minimise themselves when you minimise the main window.

Remember window positions for next session - keeps a record of the positions of all the windows - not just the ones you have chosen to show at the start of every session, for the other ones too - it remembers where you last showed them on the screen so tht when you next show them, they appear in the same position. Remembers this from one session to the next - if you show a particular window in a particular position and show it again a year later, it will remember the previous position.

When you unselect Remember window positions for next session , it will do a last minute recording of the positions of all the windows in the current layout before it gets unselected.

Show All - Selects all the currently visible windows as the ones to be shown at the start of the next session (except the Organise windows window itself).

Forget Pos - Forgets all window positions.

top , start of this section


File Associations

File | File Associations...

To make file associations for files used by Fractal Tune Smithy , select the Make assoc. boxes

More info for curious Windows Newbies : To make file associations in Windows, you show any folder or file listingm then you go to View | Folder options | File Types... This is just a short cut way to do it for FTS. The folder listings in Windows are displayed in a program called in Windows Explorer - not to be confused with Internet Explorer - Windows explorer displays file listings, and IE is the web browser for displaying html files and so forth, though they are closely integrated in Windows.

For instance, if you select the TS box, then . TS files will be listed as of type Tune Smithy in Windows Explorer , and if you double click on a . TS file, FTS will start, with the . TS file as the fractal tune to play.

This association is used in other contexts too. For instance, if you a web page includes a link to a . TS file, this association tells your web browser that Fractal Tune Smithy is the application to use to open . TS files. So that's why the links to them in this help work.

The . TS file asssociation is made automatically when you install FTS. The other ones are more rarely used, so you make them yourself here if you need them.

The file association is in effect as soon as you select the box. However you may not see the files described as Tune Smithy files in the file lists for Windows Explorer . quite yet - you need to close all your file and folder listings first before you see them that way (if that doesn't work yet, try a reboot too).

When you start FTS by file association, it opens all the files in the same main window - in the same instance of the program - unless you are in the middle of editing the fractal tune. If you are mid edit, it starts up another copy of the program.

If you want to start multiple copies of FTS by file association, hold the shift key down, e.g., Shift + click on a link to a .ts file in this page to start it up in a new instance. Each instance of FTS uses four or five percent of system resources so in Windows 9x there will be a limit on how many you can show (no more than 20 certainly and in fact, probably no more than 10 of them).

You may want to show particular windows whenever you start FTS, either normally, or by file association.

Let's take an example. Suppose you want to always show the New Seed , and Parts windows whenever you play a . TS file.To show a New Seed window, select the Seed box in the TS row. Notice that this adds a D to the More box for TS files - this is the code for the Seed window. For the Parts to use Organise Windows - click on the O icon for the Parts window, and then select the check box to show the window when starting by file association for . TS files.

Another way is to find the code for the window from the More Options windows. Look up the list of codes, and you will find its code is N . Enter this in the More box for TS files, 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 Parts windows.

If you want FTS to play immediately whenever you start FTS by double clicking on a . TS file, Select File | Play on start up by file association .

You can choose which browser you want to use to show the help for FTS by putting the appropriate path in the box for the More Options | Location of browser for help html files . Normally one will leave this at its standard setting - whatever browser you usually use in Windows. However this lets one change the browser. for use for FTS help only - this won't affect any other applications. If you want to change it, browse to find the application (.exe) file for the desired browser. Actually I p[ut this here originally for debugging purposes so that I can easily test the help from FTS in IE, Opera and Netscape without changing the file association each time - but here it is, one may as well make it generally available in case it is useful to anyone :-).





This window shifts the whole tune up or down in pitch. It sets the pitch of the 1/1 of the scale.

The vertical lines show octaves. Click on the pitch bar, or use the scroll bars, or type in new values.

Track Tune - when selected, you can see the notes as they are played as a moving vertical line.

To fine tune, e.g. to tune it with an instrument so that you can play together, set the F.T. step to whatever you want it to be (e.g. 1 cent or whatever), set the Time for one note in the main window high to get a long sustained note to tune with, e.g. 1000 seconds, click the play button, and use the Fine tune scroll bar to vary the pitch until you have it where you want it.

Select Use Concert Pitch to reset the frequency of the 1/1 to the nearest concert pitch note in twelve tone equal temperament.

Set to middle C , and To A . set the pitch to concert pitch middle C or A respectively



Note time and volume

Bs | Tempo, Note Time & Volume For Tune

Time for one note - this is the time for the note of the basic tune - see prev. section.

The Metronome mark shows the number of notes per minute.

Vary time with pos in arp . - when selected, then as the tune moves up / down the arpeggio, the speed varies.

The Time for one note is for the position 0 in the arpeggio. The Time for10th note of arpeggio is for position 10 in the arpeggio. Notes 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 arpeggio.

So the effect is that the tune gets faster (or slower) as it goes up the arpeggio.

Vary volume with pos in arp . - when selected, then as the tune moves up / down the arpeggio, the volume varies.

The effect is that the tune gets softer (or louder) as it goes up the arpeggio.

You can set a range of note volumes by adding a number after the

You can specify these options in the Time for one note box as well, like this:

0.5 - 0.2 = range of times from 0.5 to 0.2 for the 10th note - gets faster as the tune gets further up in the arpeggio.

0.5 v 0.8 = time for one note 0.5, range of volumes from 1 to 0.8 (quieter as you go higher)

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 master volume for the lowest note of the scale. It can be larger than 1, in which case, notes can increase in volume beyond the volume set for the fractal tune using the volume bar, until they reach the maximum volume for a MIDI note.

To change the volumes for individual notes in the tune, use Bs | Seed As Text , or, enter the seed 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 master volume.

You can combine both methods, in which case the notes change in volume both according to the position in the tune, and the position in the scale. Same applies for the time.

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 note times1 1.5 0.2, and volumes 0.2 1.4 1.

Alternatively, enter the seed from MIDI in. For details see Make new seed from Music Keyboard .

You can also play notes of varied volumes from the PC keyboard, for echo effects etc..

For this, click New Seed | +... (button below the Channel for voice for PC keyboard box ) and tick Volumes by keyboard row . See Play from PC keyboard options for details.



More Note Time options

Bs | Note times & volumes for Tune | More note time options

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.

Time By | Previous note 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, and if you get delays in the tune because of other tasks going on at the same time, it will just continue again where it left off.

For Time By | start of tune , each note is timed from the start of the fractal tune. If there isn't time to play a note, it's 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).

The result is that in most situations if you choose Time By | start of tune , the actual duration of the piece, and positioning of notes within it, will be the same to within a five hundredth of a second, provided there are no other computing intensive tasks happening. If there are delays in the tune, e.g. because of other programs running, you will get a fast cluster of notes afterwards, while FTS gets up to date again with the time reached in the tune.

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 PC), then the duration of the entire tune can be extended even for Time By | start of tune . This is because some time is needed to calculate the desired time for a note before skipping it - FTS is spending most of its time calculating to try and keep up to date with the fractal tune, and if it has too many notes, that just isn't possible.

That's because FTS steps forward one note at a time, and can't jump forward to an arbitrary point in the tune. Some of the options would be quite hard to program for an arbitrarily far jump ahead - e.g Bs | Seed Options | Fibonacci rhythm | Fibonacci tonescapes , or Parts | Order of Play | Other .

Starting an application, resizing windows, and other high priority operations such as saving to disk can slow down individual notes, or very fast passages.

The Bs | Tune... window can 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 Time By | start of tune and in Bs | Tune... , show the notes with Time skip needed selected for Tune | Options | Notes As . Close the Tune window and play the tune for a while. Then show it, 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 Tune window showing. The time skips needed will probably be quite a bit larger because of the extra time needed to refresh this window, especially if you resize it so that it is large, or it has many notes to draw.

Normally you won't need to change most of the other 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.

Ths applies to the fractal tunes only. When you relay notes from Midi In, FTS doesn't do any note skipping or sleeping, however fast the notes are played.

So anyway, here are the details of how FTS copes with the situations involving fractal tunes with exceedingly fast notes in them.

First of all, 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. Midi notes are high priority. The reason for caution here is that it is possible to overload your system resources with too many notes played too fast, - potentially, your computer might stop responding. The resolution is set to get less as the notes get faster, so it is 4 milliseconds for fast notes (it doesn't change if you have just one fast note, but if you have a succession of many really fast notes one after another). It reduces even further to 20 milliseconds for very fast passages, because otherwise your computer just mightn't be able to cope with the flood of notes to play.

There's also a minimum time from each note to the next in the fractal tune. This is set to twice the resolution, again to reduce system overhead for extremely fast passages. Other settings deal with the situation where a fractal tune has an exceedingly large number of notes. This is because some of the fractal rhythms will create some passages with notes with desired note times that are exceedingly minute - not just milliseconds, but maybe millionths of a millisecond etc.

If you have Time By | Start of Tune selected then FTS will just skip forward through the tune ignoring exceedingly fast notes, and not playing anything, until it reaches some longer notes that it can play in time. If it can't find any after a little while of doing that, it just plays one of the notes in the fractal tune every ten milliseconds - it just plays whichever note it happens to have got to at that point. While trying to get up to date in this fashion, someitmes the calculation time may take longer than the time needed to actually play the notes that it does play - in really fast passages. In this case the fractal tune slows down of course - and FTS will also sleep from time to time during the calculation loop - surrender processor time to other processes on your computer. This is done in order to make sure that it doesn't hog your processor. This in turn is needed to make sure that you can still use other programs while it plays.

In the case of Time By | Previous note then if there are too many notes to keep up with the calculation or to play them all in time, FTS will play them all anyway. So for exceedingly fast fractal passages, the tune will slow down on this setting. You can still get problems of FTS not responding in this case, so to deal with that, FTS will sleep every so often if it plays a passage with many short notes in a short space of time.

All these settings can be configured should you so desire. But, it is a rarely used feature so there is no Gui interface for it. Instead, you do it by entering the extra data into the seed text field, in a way that will be described. I may later add a special window for it though.


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 so far.

You can configure this by using #s after the note numbers for the seed.

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 standard setting. Though - if you enter those exactly like that, of course it doesn't change anything, and you will find that when you play the tune then your numbers will disappear from the seed box. That'sbecause FTS only shows these numbers there if they are changed from the standard settings.

(n.b. the min calcs for min time field is for the first layer only. It uses the square root of this number for higher layers - this means that it will break from the calculation loop at a higher layer by preference instead of the first layer, if possible, so you are more likely to skip first layer notes than higher layer notes, as is usually desired.)

While FTS is looping around like this to find the next note in a fractal tune that has got ahead of itself in this fashion, it needs to make sure that this calculation itself doesn't hog your processor time, especially as it is done at a high priority. So, it spends a maximum of half the time calculating the notes, and a minimum of half the time sleeping during any long calculations here.

When the #s option is used, you can use F11 to stop the melody if too fast. You can also still use Ctrl + Shift + F11 to stop it if FTS is playing in the background while you use another program. Also if you click on the Play, or Pause buttons, then FTS will detect your button press in the fractal tune thread, so you will be able to stop the tune even if you can't click on any other buttons in FTS (but this last method doesn't work in Windows ME - it can only detect the just a moment or two earlier than the time when it is processed by the rest of the program).

To save these for the next session, use #n ..... instead of #s.

For Time By | Previous note you can set the number of notes to check, how short a time they can play in before it starts to sleep, and how long to sleep each time. The preset here is, to sleep 25 ms if there are more than 5 notes in 50 ms. (i.e. if there are notes played at a rate of 6000 per minute lasting for at least a tenth of a second). Actually it does it by checking the time every 10 notes (or whatever number you set here), so if you had a rapid burst at the start of the time period it happens to check, the sleep mightn't come until the end of it, so best if the time period to check is fairly small..

To change these use #p <sleep> <number of notes> <time for those notes> e.g. #p 10 100 500. Or to save for next session, #o 10 100 500.

You can also change the resolution. The standard setting here is two milliseconds. Most won't wish to change this setting.

If you want to change it, enter a new value in the Tempo (or Time for note) box, prefixed with #r like this:

#r 1

That gives a resolution of 1 - 10 milliseconds, with the 10 millisecond resolution used for extremely fast passages, to reduce system overhead.

The sliding scale of resolution is to deal with an occasional problem of high load on system resources for some v. fast tunes.

You can override the sliding scale of resolution, to a fixed scale with high resolution even for fast notes. To do this, use

#z 1 (resolution of 1 millisecond for all notes)

To save the resolution for the next session, use #rs instead of #r and #zs instead of #z .

Use the high resolution options with care - reducing resolution to one millisecond may easily cause your computer to stop responding when playing v. fast passages continuously for long periods of time (e.g. after several minutes of more than 100 notes per sec).

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 .

Bs | Tempo, Note Times & volume for Tune | Set priority for playing tune .

High . This shouldn't cause any problems; choose it if you want midi relaying and playing the fractal tune to have higher priority than most things you do. If you do any of the searches, then these also will be at a high priority. Other things you do with the computer will probably be a bit sluggish if you do anything computer intensive - e.g. if you make a list of all superparticular scales, or search a large list of scales, or something like that in high priority mode.

Midi relaying at high priority probably won't make a noticeable difference to anything else. Playing a fast fractal tune with many notes in it could cause the computer to be a bit sluggish.

Time critical priority . This priority is only applied to the thread that plays the tune, and the one that processes MIDI in. It needs some care.

Warning : A time critical thread will execute until it explicitly yields control. So a time critical thread can stop the system responding.

However, FTS yields control immediately after switching a note on, or off, or after relaying any other midi event. So it should be okay.

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). Everything else is set to high priority.

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.

Notice that it says or that perform brief tasks that should have limited interruptions. As FTS yields control immediately after playing a note and this is a brief task, it may be okay. Could depend on your setup, and one would certainly use it with care if playing a fast fractal tune.

If you want to use realtime or realtime + time critical , close all the windows with pictures, such as Bs | Seed... or Bs | Tune...

Otherwise, FTS will set itself to just High priority . It does this whenever any change occurs in the tune window or the dots / keyboard, or you do any searches, or save to midi. (realtime + time critical resets to high + time critical)

FTS does this because even idle priority of a thread for a real time process will block everything else until it is finished, and updating a picture needn't be a brief task, depending on the complexity of the picture. (I would interpret brief task here as at most a couple of microseconds or so; anything more would certainly count as long).

I've tested real time priority by playing FTS 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 real time.

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).

real time critical . If you really need to have no interrruptions at all, and don't mind experimenting with this setting, possibly risking a Windows crash, it is there for you to try. I've tried running FTS with realtime + critical priority while giving the computer the same heavy use as before, 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 : - ) ).

The priority level here also affects the priority of searches, construction of the SCALA list of scales, etc. So you can use this drop list to set these to high priority, or to idle time priority (but not to real time or critical time priority - FTS will set the searches etc to high priority if you choose these).

real time priority for the tune sets the searches etc, or save to a midi file to high + critical time.

The searches etc. are set to the lowest possible thread priority for the priority class. If you choose High priority for the tunes, then they will run if no other program wants to run at high priority, but will supersede all normal priority tasks. This is 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.

Idle time : only runs when no other program needs to run.

Alternatively, type #p-1 (idle time), #p0 (normal), #p1 (high), #p2! (critical time), #p3!! (real time) or #p4!!!! (real time critical) into the Time for one note box.

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 selected ).



The score for tunes with variable note length

Tune | Options | Position by time

When unselected, notes are spaced equally on the stave.

When selected, 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 selected, 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 selected - shows times calculated for the notes. When unselected, 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 Using Midi file save to make a twelve tone score.



Save as Midi File

You can save your fractal tune as a MIDI file.

This type of file has no actual sounds in it. It just has instructions to switch notes on / off and to change settings such as pan (the position of the sound left or right), vibrato etc. Then a synthesizer can use this 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. What you play one, it is actually playing the notes on a synth in your soundcard. So what you hear depends entirely on how good the instrment sounds are on your soundcard/

A musician with a good soundcard will hear a reasonable approximation to the actual instrument sounds. Modern soundcards even for middle to low range machines are getting pretty good too, and if you have a lower range one, you can install a soft synth to get a reasonable alternative to your hardware synth on yoru soundcard, as modern Pcs (since the Pentium) are easily fast enough to run a soft synth.

To save as MIDI from FTS, choose Save As , and choose Files of 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 fastest tunes played by FTS. Such large midi files are very unusual indeed. You may be able to reduce the size of them from File | Midi File Options | Skip Notes Smaller than - you can use that to remove all the very shortest notes in the file.

Some MIDI players can't read MIDI files in the multi megabyte range. However, the Windows Media Player will play large MIDI files.

If you save a MIDI file in Tune Smithy, you need to be aware that the MIDI file sets the pitch bends for channels, in order to be able to play in any channel. If you have an old midi player (such as the original version of Media Player for Windows 95) then it may not reset the pitch bends before the next midi file you play.

Test my Midi player



Midi File Options

Files | Midi file options

To save a fractal tune as a midi clip you use File | Save As | Files of type : MIDI files (*.MID) .

Playing time for fractal tune save - length of the midi clip to save in minutes and seconds.

Fade out - Time for fade to zero volume at the end of the clip - 0 for no fade.

Skip any notes smaller than - preset to half a millisecond - this helps reduce the size of the midi file for the very fastest tunes. Such small notes may be too short to be heard as separate notes anyway. In Windows one can expect a resolution of at most 2 milliseconds in most midi players.

Add key signature - You will see it if you use a score editing program to look at the MIDI file. See Using Midi file save to make a twelve tone score.

M ethod used to find the key signature : First FTS finds out which major or minor key has most notes within half a semitone of notes for the Arpeggio . Then, amongst key signatures with the same number of matching notes, it choose those that include the first note of the scale, the fifth note , and third note , in that order. To select whether to look for these in the major scale, or the relative minor, select / unselect Tune | Options | Minor key .

Tthis method finds the appropriate key signature for major or minor scales selected as the Arpeggio , also pentatonics too, and with the pitch of the 1/1 set to concert pitch for any of the twelve equal pitches. It gives reasonable results in more general situations too.

Midi file format . Formats 0 and 1 are the ones most often used, format 2 is rather rare.

Use format 0 if you want to play the file later using the FTS retuning midi player.

Both save all the information you want to keep. Format 0 has all the notes for all the channels together in a single sequence (Midi file track). Format 1 has multiple tracks - one track for each channel, i.e. the messages for each channel are saved in a separate area of the file. As each event in the file has a channel number associated with it anyway, this only affects the way the file is organised.

The rarer Format 2 has a separate tempo track for the tempo change messages, if any. Again this is to do with how the file is organised - one can vary tempo by using tempo changes, or by just changing the length of the individual notes. If one uses tempo change messages, it can be convenient to put them all in a single area of the file - the tempo track. FTS uses a single tempo and changes the lengths of the notes instead, so there is little need for a format 2 save in most cases.

Add time signature - again, this is something one can add to help make the midi file easier to read if you look at it in a notation software. See Using Midi file save to make a twelve tone score.

Auto generate time signature on File | Save as Midi . If your fractal tune has a single steady rhythm, this option will ensure that FTS chooses a time signature that will position the bar lines at the start of each seed. However, if it uses fractal rhythms, or notes getting faster as they go higher up the arpeggio, or fibonacci rhythms, and so on, then this option is less useful.

FTS saves all the notes in a uniform tempo, and does the rhythms by varying the time for each note, ignoring the length of the "bar". So if the rhythm varies greatly in fractal fashion, the bar lines won't line up with the notes in this case, whatever tempo it chooses.



More Midi File Options

Files | Midi file options | More options

Add copyright notice Adds a notice to say that you are the copyright holder for teh midi clip. This is most useful for registered users as FTS knows your name and can save that. Otherwise, it will just say "Copyright (C) User of Fractal Tune Smithy".

Add fractal tune data Adds all the information you usually save to a Tune smithy file to the midi clip as a text event - if you might later want to recover the fractal tune you used to save the midi clip.

Uses a semicolon to show the end of a line. For now, the way to recover the fractal tune is to edit out everything else except this section of the hex dump, change the semicolons to returns, and save it as a Tune Smithy file - i.e. with extension .ts. Then open that file in FTS and there you are. I have in mind to add an option to read the fractal tune into FTS directly from the midi clip at some point.

Add exact ratios or cents etc after each note This adds the values for the note, exactly as it might be shown in the main window. E.g. if you want to see the note frequencies in hertz, choose File | scale notation | Show hertz, before saving the midi file. You can then read the values in the hex dump as a text event after each note on.

This option is perhaps most especially useful for pure ratio values, because the midi file format doesn't allow enough pitch precision to distinguish between a ratio and a very close cents approximation to it.

If you get FTS to do a hex dump, it will just show the note values in cents. But , if you saved it with the ratio values as text events using this option, you will also see what the intended ratio values were for every note (from the pitch for the 1/1 in use at the time of the midi save).

Quantise note length for save - the idea here is that sometimes the length of note that you choose in the Time for one note box may not be an exact number of ticks in the midi file. If so, what will happen is that when the notes are all the same length, some will be recorded with one tick more than others. E.g. suppose the length of the note is 0.1251 seconds, and you have two ticks per millisecond. Then that works out at 250.2 ticks. So some notes will be 250 ticks, and some will be 251, depending which ends up with the end of teh note closest to the desired time.

When you select this option, the length of the note is adjusted for the midi file save, in this case it will be adjusted to 0.125 seconds. So all the notes will be saved as the same length.

It is only worth doing if the tune is at a steady tempo, of course.

Ticks per beat and metronome mark. The value of 250 ticks per beat is a common standard value here - this gets set at the start of the midi file. The metronome mark can vary. The preset value here, 120 beats per minute, is also a common value to use. If you select Files | Midi file options | Auto generate time signature on File | Save as Midi . then FTS will automatically generate both a time signature and a metronome mark (tempo mark) for the file depending on the length of the note. In that case FTS will only use the ticks per beat from this window as the beats per minute will vary depending on the tune.

Some midi devices might be unable to deal with a very fast rate of ticks per second.

hex dump When selected, every time you save a midi file, FTS will also make a hex dump for it. You can then open it in a text editor such as Notepad to see all the details of the midi file. It is saved after the midi file is completed, using the same file name, and with the extension .HEX instead of .MID.

It's prob. best to keep this switched off most of the time - Warning if you just leave it running, the larger midi files you save will generate very large hex dumps - of many megabytes for the fastest tunes - the hex dump is much larger than the midi file.

You can make the hex dump later by opening the midi file using File | Open | Files of type | MIDI file -> Play or hex dump (*.MID) . and answering No when asked if you want to play it.

Or use Bs | Record To File Options click to copy the Fractal tune file name into the To file box, and click the x... button to show a hex dump of it.

To explain what a hex dump is, it is the raw midi file data in the file, in hexadecimal. Hexadecimal is number base 16, which is particularly suitable for this. You can edit the hexadecimal and re-save it if you know what you are about. For those who are interested in the format, see Deciphering the hexadecimal - how it works.

However, it also has text comments next to the hexadecimal, so you don't need to be au-fait with hexadecimal to use it - just look at the comments which will tell you all you need to know about what has been saved to the file.

If you record to the midi file while the tune is playing, rather than directly to the midi file, you will probably see small time skips of 2 milliseconds or so in some of the chords - too short to actually hear. That's because there is a limit to how many MIDI notes your PC is able to play in a single tick. If you want to remove these time skips from the midi file, you could set the Skip any notes smaller than , to say, 0.005.

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.

For a basic introduction for musicians, see this on-line article from Keyboard Magazine How does Midi make music.

This course material from the Middle Tenessee state university is rather good!

Then for a technical overview: The MIDI protocol.

Here is another site which presents the entire Midi spec on-line (free) complete with a great simple layman's explanation of what MIDI is: The MIDI specification



Deciphering the hexadecimal - how it works

For those who would like to know more, this is how the hexadecimal works:

First, one needs to know what hexadecimal is. The idea is that you have extra numerals a, b, c, d, e, f, standing for 10, 11, 12, 13, 14, 15. Then with these extra numerals, you can count : 0, 1, 2, 3, 4, ... 8, 9, a, b, c, d, e, f, 10, 11, 12, ... 19, 1a, 1b, ... 1f, 20, 21, ... 80, ... 90, 91, ... 9f, a0, a1, .., b0, b1,.. f0, f1 ... ff, 100 .... f00, ...fff, 1000, ...

So for instance, 10 in hexadecimal means 16 in base 10, and 100 means 256 (16*16).

Here is an ex:

: 00 c1 49 ; ch. 2 change voice to 73 - Flute

The 00 at the start is the delta time - this means the amount of time to wait before playing this midi event. When it is set to 0 as it is here, you just play it immediately without a break. The specification for the midi file format requires that you use at least two digits in hexadecimal for it (one byte), so it is shown as 00 instead of 0 .

c is hexadecimal for 12, which means change voice in Midi. The 1 is the channel number, and means channel 2 as we count from 0 instead of 1 in the midi file. 49 . is hexadecimal for 73, which is the number for the Flute voice.

: 00 e1 20 3e ; ch. 2 pitch bend 7968 (-5.46875 cents)

e is hexadecimal for 14, which means it's a pitch bend message. The 20 3e is hexadecimal for the amount of the pitch bend - actually it consists of two 7 bit integers that are menat to be combined together to make a 14 bit integer to get the actual value, anyway FTS works this out for you for the comment, so we see it is 7968, and that this corresponds to a pitch bend of -5.46875 cents. The zero position for pitch bends is 8192, and at the standard pitch bend range of +-2 semitones this means you have 8192 midi pitch bend units = 200 cents. So you could work it out yourself too: 200*(8192-7968)/8192 = -5.46875.

: 00 91 3e 40 ; ch. 2 note on 62 (194.531 cents from 60) vel. 64

9 is hexadecimal for 9, which means it's a note on message. The 3e is the note number to switch on and it is hexadecimal for 62 (which you can work out as 3*16 + e, i.e. 3*16 + 14), so the note is note 62. Then the 40 is the velocity - this is hexadecimal for 64 (4 times 16)

: 81 7a 81 3e 7f ; ch. 2 note off 62 vel. 127 ...250 ticks, 0.5 + 0.125 -> 0.625 secs

Here at last we have a non zero value for the delta time. The 8 in 81 7a is hexadecimal for 128. This tells us that the time is too great to be expressed as a single 7 bit number but instead must run through to the next byte. Midi numbers larger than 127 are worked out using multiples of 7 bits instead of the usual 8 bit bytes.

Then 1 7a - is hexadecimal for 1*128 + 7*16 + 10. Normally one would do it as 1*256 + 7*16 + 10 in hexadecimal, but because of the 7 bit bytes we multipy by 128 here instead of the usual 256 for an 8 bit byte. So it works out as 250. Anyway FTS works this out for us.

Then this is the time in Midi ticks. What this means exactly depends on the tempo indication. If one looks back at the start of the file one sees

: 00 ff 51 03 01 e8 48 ; tempo 125000 m.secs per beat (metr. mark 480)

Well, I won't go into the details of the midi tempo marks - one can read about it elsewhere if one is interested. FTS decodes this as metronome mark 480, which means 480 beats per minute, i.e. 8 beats per second. This is a commonly used standard setting for Midi files, and is the one FTS uses if you don't specify a time signature and tempo.

Then looking back further we see

: 00 fa ; 250 ticks per beat

so that means we have 250 ticks in every beat. This is also a commonly used standard setting for midi files. Since our beat lasts for an eighth of a second, we have two ticks per millisecond

So our 250 tick note lasts for an eighth of a second.

For the rest of the message: the 8 shows that it is a note on, the says channel 2 as usual, the 3e is the note number to switch off, so note 62 again, and the 7f is the velocity with which to switch off - means switch off sharply. Some midi devices might let you switch off a note less abruptly by using a smaller value here.

Before you dive in and start editing the hex dump, take a look near the start of the file:

: 00 00 13 eb ; chunk length 5099

If you do anything to change the length of the track, then you have to change the chunk length value here. E.g. if you add three bytes (say, added in a new patch change message), you would need to change it to

: 00 00 13 ee ; chunk length 5102

Otherwise, your midi player will probably say that the file is in an incorrect format, and won't play it. It could actually figure out the length of the track from the position of the end marker if the chunk length is wrong. However, it may very well just assume it is corrupted and not try to play it at all.

Some changes are easy to do. E.g. change the channel number, the note number, etc. This is fine so long as the number of digits stays the same, and the values are in the correct range. Setting the delta time to 0 is easy if it is very small, e.g. 02 -> 00 .

Most of the two digits values need to be in the range 0 to 127 for a correct file format. Those over 128 may use the extra bit as a kind of carry-over bit to say that the next byte has to be included as part of the number, as we saw with our 250 tick delta time, e.g. one has to be careful about this if editing times directly in the hex dump.

Another very easy change is just to move events about in the hex dump. That won't affect the length of the chunk, so the file will remain in the correct midi format.

For an example of a case where this is useful and easy to do, see Patches as accidentals - at the end.



FTS MIDI Gallery button

File | Midi file options | Make gallery of midi clips from TS files

You can use this to make a web page of all your tune smithy files in a folder. Shows a link to the Tune smithy file, followed by midi clips, and the standard setting here is to do two midi clips each of 4 and 16 mins. You can have any number of clips here that you like - just enter the size in minutes for each one.

Since FTS needs to apply pitch bends to the channels, in order to play in any tuning, you may want to include a message explaining this with the gallery. Some older MIDI players don't do an automatic reset. You are welcome to copy the Test your Midi player page, and edit / modify it as you like for the gallery. You will also need the files that it links to: c_twice.mid, Bb_then_c.mid, two_notes.mid, and reset.mid.

The gallery needs images to use to link to the MIDI clips. The preset ones are red_semiquaver.gif 15 33 blue_crotchet.gif 15 33 . (quaver and crotchet are the UK terms corresponding to the US eighth and quarter notes). FTS creates these images in the new directory if necessary.

To add new images, save them in the same folder as the html file. Then add the file name, width, and height, in that order, to the Images to use for the links + widths and heights box. 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 file name you enter here in the HTML <img> tags.

The gallery will also include a link to the original . TS file for each one. For the description (the part you see) it uses the file name again, with the extension removed, and any underlines changed to spaces. If you have audio clips you would like to link to instead of the . TS files (e.g. for a web page), you could change all the . TS file names in the document to some other file type, such as . RA , which one can do by a search and replace of the html gallery for " . TS ".

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 .

max MIDI file size - use to limit the size of the MIDI files for the gallery. Standard setting is a max of 200 Kb.

Set the max file size to 0 if you want to do MIDI files for all the fractal tunes, whatever the size of the clip. Warning - some midi files produced by FTS can be large, multi-megabyte in size, if there are fast passages with many notes to play.

It can be nice to show file sizes in Kb after the midi links in the gallery, so that your visitors know what size of file to expect.

To do this, 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.



Midi file save to make a twelve tone score

A musician may well be interested to see some of the fractal tunes as a conventional score. FTS can show a score of sorts in the Tune window. This has some special microtonal features - see The tune window - but it is very limited in its capabilities.

One special advantage of midi files for musicians is that you can open any midi file in a program which can show the notes on a score. Most notation softwares can do this, and most have freeware players / viewers, or free demo versions which one can upgrade to the full version later.

To save a file in this fashion, you will want to temporarily unselect Out | Options | More options | Ok to change channels for pitch bends . It may not sound so good; but if you leave this option selected, the notes will get spread out across all the staffs and the score will be pretty hard to read.

You may find it helpful to select Files | Midi file options | Add time signature if the tune has a steady tempo. See the help for the Midi File Options window for more details.

Then use your notation software to view the saved midi file.

You will probably only have the option to show the nearest twelve tone notes whatever the tunings in the file, but in many cases this is a useful way to view the score.

Your notation software may well also ignore the pitch bends when importing a midi file. The really fast fractal tunes could well confuse your notation software too.

I'm sure everyone has their own favourite notation software. Two leading ones are Finale and Sibelius.

This is the Google list of notation programs.

I use Noteworthy Composer . Their freeware MIDI file player will show the notes. If you want to have a try at editing them, you need their shareware editor , and you can get an evaluation copy. I recommend it as an editor from my own experience of using it. It's great for typing in music by hand, because it does no syntax checking ; for instance, you can put as many notes in a bar as you like, arranged anyway that you like, then add the bar lines later wherever you like. It's just like using a word processor for music.

Most notation softwares require you to decide on the number of notes in a bar first before you enter the notes for it - and when writing some types of music one may wish to use a rather variable bar size, indeed, sometimes one likes to move bar lines around and try the effect of breaking the melody into bars in various ways. All this sort of thing is especially easy with NWC.

Also the PC keyboard shortcuts for notes are easy to use. It is easier to use than some much more feature laden music editing programs for entering notes from the PC keyboard because the system is so well thought out.

You can also use it as a sequencer too as it plays the score back, respecting all the flow directions and dynamics and tempo variance, while most notation softwares seem to just play the score straight through, ignoring the repeats and also ignoring the dynamics etc actually shown on the score, as those are just graphical symbols added to the score later which the playback engine doesn't understand.

So from a program design point of view, I think they have a rather interesting philosophy.


Gallery of sound clips

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.