File formats used by Fractal Tune Smithy

=File formats used by Fractal Tune Smithy=

List of Fractal Tunes (*.LFT)
Shown in the drop list as:

So, you can include the folder as part of the file name - in fact you can give the complete path there if wished. Extensions are left out when they are displayed in the list, underlines are changed to spaces, and the folder is left out.

You can also include musical seeds as entries. This is for compatibility with earlier versions of the program, which had only one drop list for both the seeds and the fractal tunes. When such an entry is selected from the drop list, it is read as a musical seed and shown in the box.

FTS first tries reading an entry as a file, and if the file doesn't exist, and the file name begins with a numeral, it opens it as a seed instead.

However, you can also specify that all the entries from a certain point on are seeds or files in the drop list.

For seeds, add a line

From then on the entries are read as seeds.

To go back to files, add

If most of the entries are seeds, you can include files individually by prefixing each line with

List of Musical seeds (*.LMS)
These will be shown in the drop list as:

Lines such as

For explanation of the and in the seed see [main_window.htm#note_volume Note volume ]and [main_window.htm#Time_for_one_note Time for one note].

You can add a comment after the seed by prefixing it with =, e.g.

Lines beginning with open files. The rest of the line is read as the name of the file to open. File name can include paths, and if no path is given, it is looked for in same folder as the file

The drop list will show the file name with the extension (if any) removed, and any underlines replaced with spaces.

You can also use the entry

The rest of that line, and all subsequent lines are read as file names

Use

to switch it off, so that all entries are read as seeds.

See also the [Seeds_options.htm#Make_musical_seeds_drop-list ]

List of Arpeggios (*.LMD)
. Saves the contents of the drop list in the main window. Incidentally, the reason for the file extension .LMD is that originally the Arpeggios drop list was called the Modes drop list - but got changed to because of the possibility of confusion for FTS users accustomed to the more common meaning of the word Mode in music meaning a rotation of a scale so that it starts on another note.

Can be re-ordered or changed using and.

Can also be edited by hand using the button below the  drop list.

Each line corresponds to one of the arpeggios. So if you just want to change the order in the drop list by hand, re-order the lines in the file accordingly.

First line gives an example of a scale for which the arpeggios are appropriate.

It starts with the scale definition. This is exactly as it is shown in the box with.

It is followed by an ' ', then the scale description.

When the file is read, this scale is read into the and  boxes.

Second and subsequent lines show individual arpeggios.

Each line starts with the arpeggio definition as steps. This is exactly as shown in the main window when you have selected, and leave out the initial.

The definition is followed by the title. The title starts as the first non numerical symbol in the line.

If you want to set a title that begins with a number, prefix it with the character ' '. If you ever want to give a scale a title beginning with the symbol '#', start with "##".

For arpeggios that start on some note other than the first note of the scale, put the first note in square brackets.

(mode for Indian Shruti scale)

For arpeggios such as melodic minor that have both ascending and descending forms, use this notation:

0 2 1 2 2 2 2 1 | -12 2 1 2 2 1 2 2

The | shows that the second part defines the descending arpeggio. However, rather than use negative steps, you use a -12 (or however much is needed) to take you back to the start of the scale, followed by ascending steps like the ascending mode. This is one of the formats you can use for entering an arpeggio in the main window.

The dropdown list of modes will be prefixed by and  entries.

Options

The line beginning with + is the one you will see selected when the list of arpeggios is first shown. .

If no line is marked in this way, it resets to.

, use file name bracketed by asterisks:

You can use:

*:* for the list you get when a scale has no modes list associated with it - the one with entries like 0 -1 2.

*:12* for the short preset 12 tone list of modes.

This next feature is likely to be rarely used, but here are the details, so that it is documented, so you know it can be done:

Since the LMD file already has a scale associated with it, one would normally leave the list of scales unchanged when one changes the arpeggio. However one can associate a list of scales with a mode.

To associate a list of scales with a mode:

When you select this mode, the list of scales will change to show Pelog scales, as is appropriate for the mode of Jegog. This feature is enabled when Sync. Arp. is selected.

If no list of scales is specified, the original list of scales is left unchanged when the list of arpeggios is selected.

To add the same list of scales for several modes in the file at once, place a line like this immediately before them:

It remains in force until you change it.

You can use:

@:@ for the preset list of scales (the one ending with the Indian shruti scale, then More Scales...).

@@ to associate no list of scales - leaves the scales as they are when the mode is selected

LMD tags for Modename.htm
You can add tags to the SCALA file modename.htm to specify which scales to use as the preset ones for the modes lists you can make using:

. See [More_scales.htm#SCALA_scales SCALA scales] for more about this button.

If no scale is specified, and no key word is recognised in the title, it is preset to n-tone ET, where n is the number of notes in the mode.

Format:

These need to be on new lines, and to be added before the first entry in the table for the list of modes. You need to leave out the that starts the scale.

There has to be both a scale def and a scale description for it to be recognised. You can have multiple descriptions and defs for the same list of modes - these are then added as multiple scale entries in the contents list,, with all of them linking to the same LMD file.

When there are multiple defs, the first one is saved to the LMD file, and will be the preset scale if you open the LMD file using.

If no scale is specified using tags, the title is searched for key words.

Title key words recognised at present are:

- add typical pelog scale.

- add Indian Shruti scale.

- add Persian 17 note scale.

- add Arabic Pythagorean scale.

- add Mandelbaum's 5-limit 19 tone scale, and 19 tone ET.

- add Bohlen-Pierce original 13 step scale, and ET version.

- add a 22 tone Shruti scale with extra flattened fifth replacing the entry which is

This Tamil scale is a best guess at present, following a suggestion I came across for the original Tamil Shruti scale. The page I saw it in however is no longer on-line. If anyone has more information about what is the suitable scale to use for these modes, let me know!

As far as this particular mode is concerned, result is same as if Indian Shruti scale was used.

Any more details for this welcome!

Your tags override the title key words search.

Some tags are included already, and you can use these as examples to follow.

The original HTML also has descriptions of the scales in human readable format. However FTS doesn't attempt to read these because it would also have to recognise any variations in the layout to make the descriptions easier to read; and also distinguish scale entries from any other comments that might be added.

The line

near the head of the file is used to check that FTS is up to date with the format, and will be able to read the file and convert it to LMD files.

List of scales format (*.LSC)
. Saves the contents of the drop list in the main window.

Each line starts with the scale. This is xactly as shown in the box with.

This is followed by the title, as the first non numerical symbol.

If the title begins with a number, prefix it with the character ' '. This character is ignored. If you ever want to give a scale a title beginning with the symbol '#', start with "##".

The entry is left out, as it is automatically added when the file is opened.

Options

Add at head of file, on separate lines:

(note the underline char). A "2" will then be added to the end of each scale, for the octave.

Scale definition will then be read as steps, exactly as for the box with  selected.

To show a scale immediately when the file is read, place a + sign at the start of its row. Otherwise, scale is reset to first in the list.

To add another list of scales as an entry, use file name bracketed by ats:

To associate a list of modes with a scale:

Then, when you select this scale, the list of modes will change. This feature is enabled when Sync. Arp. is selected.

To associate a single mode with a scale:

add it within tildas after the scale definition:

When you select this scale, FTS will make the short preset list of arpeggios - the one with the Follow Scale entry, and add in the new mode as another entry - with the new one selected.

You can also use as a shortcut for a cycle round all the notes of the scale - will get displayed as  up to the needed number. The '@' gets replaced by the cycle

Short preset list:

If no list of modes is specified for a scale, the preset list has entries 0 -1 2, etc which can give interesting effects, and with Follow Scale as the one selected.

To add the same list of arepggios for several scales in the file at once, place a line like this immediately before the first one:

It remains in force until you change it with another similar instruction.

You can use:

*:12* for the short preset 12 tone list of arpeggios.

*:* for the list you get when a scale has no modes list associated with it - the one with entries like 0 -1 2 (this can be useful to override one specified using *all)

** to associate no lists of modes with the scale - leaves the modes as they are

@:@ for the preset list of scales.

SCALA Scale format (*.SCL)
. Saves current scale as shown in the box.

Lines that start with ' ' are ignored.

First non comment line is the title for the scale.

Next non comment line is number of notes in the scale

Subsequent non comment lines give the individual notes.

First note of scale is omitted, taken to be.

When you open a scale, if the last note is anything other than an octave, F.T.S. sets the mode to cycle round all the notes of the scale, returning to the start of the scale after the top note. This is because some of the scales in the archive are for instruments such as pan-pipes or xylophones with limited compass, that don't have any notes beyond the scale as recorded. Others are scales with non octave repeats, and for those, one will want to select.

This is the format used by the Scala program. For details: Scala scale file format. No .SCL files are included with F.T.S., however you can download an archive of over 2000 scales in this format with the Scala program.

You can make a .LSC file from all the .SCL files in a directory from

Tune Smithy format (*.TS)
.

General format of entry:

Single value:

Fixed number of values

Variable number of values

The // can be replaced by any non numeric characters.

Check boxes

or (no space before / after the equals sign)

All entries have preset standard values, and there is no need to specify them if identical to the standard values.

To set all the values to the standard values to see what they are, choose from the File menu.

It isn't really anticipated that anyone will want to edit these files by hand - but in case you do, or are just curious here are some of the settings. If you need more details, contact me - this only lists some of the older settings in FTS. and not any of the more recent fractal tune features. You can also try selecting / unselecting an option in FTS, or changing a value, and see which line of the file gets changed as a result.

List of some of the main settings
This list shows some of the settings, listed according to the window in which they occur as:

In some cases, the is identical to the, except that spaces are replaced by underlines. For these, the description is omitted.

When there is a fixed number of values, the number of values will be shown in square brackets: [16]

When there is more than one value, and the number is variable, it is shown with a []

A value for a check box is shown as the value that needs to be set (because you only need to use it in this form):

if preset value is 1

if preset value is 0

Pitch window
-

Main window
- -  - 2 -  - 2nd value prefixed by r -   - all this information is shown in  box in format The and  (if present) need to have the same number of values as the  - -

They can be given in cents, ratios or the n(..) notation. When saved by FTS, they are shown with the max quotient for ratios set to 100000000, the max quotient for ratios of form n(..) set to 100 and show cents or small ratios switched off. (some of the earlier ts files are saved with other values for these settings).

- shown with 1 subtracted from each entry.

To show the scale values in FTS in this form, to match the entries in the file, enter #sub1 into the box. A box will appear. Select this. Also unselect.

This box is unlikely to be used much, so is reset to hidden and unselected at the start of each session.

Many of the TS files that come with the program are saved with this setting, as it was originally the standard setting.

- -  (as shown with  unselected)

Note timing options
(click on the +... button below the time for one note box)

- -  -  -

Parts
- - For complete list of voices, with numbers for each: [general_midi_voice_numbers.htm GM voice numbers]. Non melodic percussion is shown as 128 + the number from the [percussion_map.htm non melodic percussion table]

-  - possible values:

- Octave shift menu -  -

New seed window
-

Choose parts by other
(window that shows if you click Other... in the Order of play menu for Parts window)

- - Standard setting for this one depends on  - if that is 2, the preset value is 0, and if other than 2, preset is 1.

- -

Ranges for parts
-  -   -   - used to keep track of pitch for lock to pitch - col - Channels effects

Parts effects
- vibrato freq in hertz - vibrato amp - optional second entry for vibrato amp, to set tremolo effect - portamento on or off - portamento slide

Seeds Options
There are so many parameters for these windows that it would take several pages to list them all.

The values for the check boxes and radios are:

Multiple seeds:

Seed symmetries:

Seed permutations etc:

Golden ratio rhythm:

radios for this window:

Custom 2 or 3 beat fractal rhythm:

(plus and )

List of scales format (*.LSC)
.

Normally edited using

or

Typical entry:

CustomVoice 5 szDescr Flute + 5 + 7 triangle nInst 3 iInst 0 ipatch 208 nrepeat_at 4 nnotes 2 0 1 iInst 1 ipatch 73 iInst 2 ipatch 209 nrepeat_at 6 nnotes 2 0 1 EndOfCustomVoice

With comments to explain them:

CustomVoice 5 = its position in the menu (0 = first entry) szDescr Flute + 5 + 7 triangle = The description you see in the menu nInst 3 = Number of instruments iInst 0 ipatch 208 nrepeat_at 4 nnotes 2 0 1 = Midi patch number for first instrument, and notes to play iInst 1 ipatch 73 = Midi patch number + play them all iInst 2 ipatch 209 nrepeat_at 6 nnotes 2 0 1 = Midi patch number for first instrument, and notes to play EndOfCustomVoice

Other possible entries:

iMidiShift -12 = shift down by one octave (12 midi notes)

dExtraShift 3/2 = transpose up a major fifth

Configuration settings (*.INI)
The file is automatically saved at the end of the session, provided you have. You can also open or save configuration settings using

The general format for entries in the .ini file is the same as for .TS files. The .ini file records the values that are set to their standard settings when is clicked from the file menu. However there are so many values that can be set for the .ini file, so they will not be listed here.

You may notice that some names start with lowercase letters, or clusters of letters:

szWordsToFind

iFormatForNoteNames

bFactoriseRatios

wWhatToSearch

dFTSGalleryMins

This is "Hungarian Notation" as used by many Windows programmers. It is named in honor of the Microsoft programmer Charles Simonyi. C doesn't have the same amount of data type checking as some other languages, and this notation helps prevent programming errors due to mismatch of data types.

Here are some of the main data types used by FTS for the .ini file.

N.B. I am in the habit of using double for all numbers with decimal points, except for a few arrays where the amount of memory allocated is a consideration. That's because doubles have more numbers after the decimal point, so are more precise, and if all numbers are doubles, one doesn't need to think about effects of converting between different floating point data types.

Similarly, I am in the habit of using 32 bit integers. The 16 bit integer type has range –32768 to 32767.