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

Midi Out

Skip navigation Midi In Midi Relaying Controllers etc Midi Out Parts

Out menu - Midi Out Options - More Midi Out Options - Midi Out Resets - Play on several devices at once - Out Channs - Notes in play

Out menu

Select which MIDI out device you would like the tune to be played on.

Out | Windows Setting - Midi Mapper is selected the first time you run FTS. This means to use whichever of the other devices on the list you have set up as the standard midi device. You set this up via Start >> Settings >> Control Panel >> Multimedia >> MIDI.

You may also see MIDI out or MIDI line out or some such listed as one of the devices. This sends the music to the MIDI out line of your sound card. So, whether you hear anything for this depends on whether you have anything connected to that line.

You can also use this menu to relay to notes from FTS to your sampler, softsynth or any other program with Midi In by installing a software loopback, or using a physical loopback. See Midi Relaying for more about this.

Usually one will let FTS open the selected midi out device automatically. However, you can also open or close it yourself using Out | Open now .

Out | Open now Opens the midi device, so that FTS can play your notes. This is done automatically when you play a fractal tune, or play notes from the midi keyboard.

The device is opened when you click the Play button, and stays open until you click the Stop button. When playing from the MIDI keyboard, or midi relaying, it opens when the first note is played from Midi In, and stays open until you close it yourself or end the session.

Tip: Only one program can use a Midi out device at a time. So, while FTS is playing, even if it is playing silence, no other program can play Midi on the same device. This is something that can cause puzzlement for Newbies.

Here is a typical scenario - you have been using FTS to play from the Midi keyboard, FTS is still running, and then you click on a midi clip in a web page and hear no sound. Your midi player may not give any message at this point; it will probably just play silently. To hear the sound, go to FTS and unselect Out | Open now . Then play the midi clip again and it will be okay.

Other relevant options: select File | Play on start up if you would like the fractal tune to start playing when you start FTS.

Select File | Play by file assoc. if you would like the fractal tune to start playing whenever you run Tune Smithy by double clicking on a Tune Smithy file (extension . TS ) or click on a link to a tune smithy file in a web page such as this help.


Midi out options

Out | Options

Close midi out when inactive - This is useful if you want to use the same output device shared between several applications. The thing is that the devices in your Out menu can generally only be used by one program at a time. When this option is selected, FTS will close the device(s) in use whenever you switch away from it, e.g. by clicking on the tile bar of another window. Other apps often use this same system, which makes it possible to share the same midi out device between any number of programs at the same time.

Skip Midi Out voice selections - when selected, FTS no longer sends these. This is useful if you want to select instruments at the synth rather than in FTS.

Midi Output channels - choose which output channels to relay to. One place this is useful is if you are playing the notes via a sampler such as Giga which requires you to load its voices one at a time - it is then useful to be able to play the notes on the minimum number of channels you are likely to want, so that you have less in the way of changes to do if you want to load new instruments in Giga. When you leave this at its preset value of 1 - 16, FTS can relay the notes to any of them. You can set a range of channels in this field by using dashes as in 1 - 4, 12 - 14, 16 , or whatever. (commas ignored here- just put those there so you can read it more easily).

Out Channs - use this window to choose the output channels individually for each part, See Out Channs

Max polyphony - max number of notes you can play simultaneously in each channel - generally you set this to match the capabilities of your synth or soundcard capabilities or 0 for no limit. A modern sound card or GM soft synth is near enough to no limit for most practical purposes, maybe 64 note polyphony or more, so this is preset to 0 (if you do go over, then the GM synth will probably switch off some of the notes of its own accord). Set this to 1 for monophonic synths. Again you can set this individually for each part in the Out Channs s window.

Customize voices menu names - use to change the instrument names for the Voices menu. Details of how this option works are described in tip of the day 59.

Add instr. numbers to voices menu - This adds instrument numbers after the names in the Voices menu - useful for synth / soft synth work.

Start at 1 for ditto - appears if the previous option is selected. There are two common systems used depending on whether you have zero or one for the first instrument number. Unselect if your synth starts at 0.

Instr. Numbers only - Show the numbers only, without the instrument names.

Controllers in play - shows all the controllers that are currently applied - you see them listed in the drop list at the top of this window there. Then select the one of interest to see what values it has in all the parts.. See Controllers in Play

Controllers in play - ditto for the notes and pitch bends. See Notes in play

Skip all controllers - this is useful if you don't want any of the controller messages sent on to your synth at all. See More Midi Out Options | skip all controllers

Note that FTS will send controller 120 just before it changes the pitch bend for a channel. That is because this one is usually an All sound off controller. For the reason see Lingering resonances after a note switches off

If you don't want these sent, then unselect More Midi Out Options | All sound off before same channel pitch bends . Or, if you prefer, select Use expression controller instead of all sound offs in this same window.

Resets , - messages to send when opening Midi out. These are also added at the beginning of a midi clip. Standard setting is to just do a Reset all controllers . , reset the pitch bend range to the standard of +- 2 semitiones in every channel, and send pitch bends in advance for all the notes of the main window arpeggio (that's because some synths give pitch bend artefacts when you use an instant pitch bend, - if you send them immediately when you open midi out and change pitch bends as seldom as possible, it helps with this).

Sustain kbd regions independently - see In | Options | Sustain kbd regions independently.

Pitch bend keys held down only - see In | Options | More Options | Pitch bend keys held down only

Note off release velocity for fractal tunes, and play from PC keyboard - some synths respond to the note off release velocity by switching the note off more gently or abruptly. This lets you set the amount of this for the notes played for the fractal tunes and from the PC keyboard. Notes received from Midi In are relayed with the same release velocity as they had when they were received.

Note On 0 for Note Off with release vel.127 - you can switch a note off in Midi by sending a note on with velocity 0 in place of a note off with velocity 127 - this is useful in conjunction with running status - see next check box.

Use Running status - play - Running status is a way of reducing the size of the midi stream. If you send several identical midi messages in succession, you only need to send the status byte for the first one. This is especially useful for note ons - you just need to send the Note On status byte first, and then you can send a series of note numbers and don't need to specify that they are all note ons individually, so halving the size of the data stream. This is usually used in conjunction with the short hand of note on 0 for note off 127 - so if you have a mixed stream of note ons and note offs, as one usually has, they can all be sent as note ons, so with the same status byte.

You probably won't need this when working entirely within a single PC as the relaying is so fast anyway, but it could be useful for fast series of fractal notes relayed to another device. .

This on-line page describes the technical details for note off release velocity, and running status: The MIDI protocol.

Process sustain in FTS - if selected, FTS keeps track of which notes are in play from Midi In, and sustains them, ignoring the note offs, until the sustain pedal is released. If unselected, FTS passes on the sustain messages.


More Midi out options

Out | Options | More Options

Use FTS 1.082 and earlier pitch bend alloc. method . FTS 1.082 used a less efficient method for changing the channels for the pitch bends, which meant it was more likely that a note would get cut off because the channel is needed for a new pitch bend.

This is most likely to be needed by those who saved a fractal tune in FTS 1.082 and would like the notes to be cut off short in the same way in FTS 1.09 so that the tune will sound exactly the same as it did before.

If you want to reproduce the sound of a fractal tune saved in FTS 1.082, you'll probably also want to switch off Out | Options | Pan | auto pan by parts as FTS 1.082 and earlier didn't pan the notes - so some notes sustained longer - when you have auto pan on, the notes are more likely to be cut off for some fractal tunes because each part needs to have its own pan value.

For explanation of Ok to change channels for pitch bends , and All sound off before same channel pitch bends (except pitch bend vibrato) , see Microtonal music in MIDI .

Use expression controller for all sound offs - instantly drop to 0 and back again . - Many synths don't support the all sound off message, using controller 120 for some other effect. If this is the case for your synth, select this instead, which will use the expression controller as a substitute..

skip all controller messages. - when selected, FTS will only send the note ons and patches, and skip all the controller messages it usually sends such as the resets, and all sound offs.

Adjust Non Melo dic Perc. Channel - select this to make the non melodic percussion channel number adjustable. It can be set to 0 for none. Standard setting is channel 10.. The non melod perc. channel gets sent all your non melodic percussion notes, and these are sent as note numbers, e.g. the Bass Drum is always sent as note number 35 - the number for the GM Bass drum. See General Midi Non Melodic Percussion .

If you have a non GM synth or sampler then set this to 0, and FTS will use all your channels for melodic voices. Set the non melodic Part to 0 too - see More Midi In Options.

No need to change channels for pitch bends when max polyphony is 1 . Setting to use with monomode multitimbral synths. If the synth is multi-timbral you may want to change channels after pitch bends even though it is monomode - depends on how it deals with the lingering reverberations after the end of the note. The idea of changing channels even in monomode is that if one doesn't do that, the reverberations of the note as it dies away can get pitch bent, creating a "pitch bent reverb" type effect. Standard setting is unselected.

Send voice selection before every note . Sends a new patch before each note on in every channel.

Skip all voice selections , - plays notes without any patches. This is especially useful for users of synthesizers, who want to specify the patch at the synthesizer rather than in FTS.

If you use this option to set the voices yourself at the synth, you may have to set the patches for all the channels to the desired voice, because of the way FTS needs to change channels according to pitch bends to achieve "pitch polyphony". However, you can reduce the amount of work involved by choosing to relay a part only on particular channels from Out | Options | Out Channs.

Resend voice selections This clears all records of patches played so far. The effect is that FTS will send new patches before the next notes played in all the channels. This is done automatically when opening Midi out, or when one selects a new device from the Out menu, or before the start of a new midi file recording. However, one may want to do it on other occasions oneself (maybe one has just connected the synth or started up the soft synth). 

Patch aka Program Change is the midi message which sets the voice for a particular channe. It is sent just before the note on. It remains in force until the next patch in that channel.

Multiple sim. voices per chann . A modern sound card is able to play several voices at the same time in the same channel. Here is how it works in Midi messages:

Suppose you want to play a flute and a violin in the same channel at the same time. First set the flute patch, and switch on the note for the flute. Then set the violin patch, and switch on the note for the violin too, and do this all in very rapid succession (normally it can all be done in less than a millisecond). On most modern GM based sound cards, this sounds two notes simultaneously, on the flute and violin. If they have separate note numbers, you can switch them off as separate notes too in the same way as you normally do - though if they both play the same note in the same channel, there is no way to indicate which of them you want to switch off - more on this in a minute.

However, many synths and soft synths can only play one patch at a time in each channel. You need to unselect this check box for them.

Same note polyph for single voice . Some synths and soundcards let you play the same note several times in the same channel. E.g you could send a middle C on flute, and then before the note finishes, play another middle c in the same channel also on the flute, stop the first note, and then a little later stop the second note. Others don't support this and will switch off one of the notes or both when you try to overlap them.

Same note polyph for multiple voices .

Use this if you can play the same note numbere in the same channel on several voices simultaneously. When you switch the notes off there is no way to specify which one you want to switch off in midi, so it is best to switch them both on and off simulataneously. E.g. you could play a middle C simultaneously on flute and violin.

Favour same voice over same pitch bend - When a pitch bend is needed, and none of the channels have matching pitch bends, FTS will look for a suitable channel amongst those with no notes in play. This tick box affects how FTS does this search.

When selected, FTS looks first for a channel that already uses the same patch, if there are any suitable. When unselected, FTS looks first for the channel with the oldest applied pitch bend. Both methods for choosing the channel are used in either case, so it is a matter of which of the two has priority. The standard setting is unselected - select this if you prefer to reduce the number of patch changes instead of the number of pitch bends.

Keep same voice for channel 'till voices change . - Use this to minimise the number of patches - will set a patch for a channel the first time it is needed and then from then on only that channel can play those voices, until you change the selection of voices. When selected, you might run out of channels for the pitch bends more easily.


Midi Out Resets

Out | Options | Resets - it is good practice to do a reset all controllers when you open midi out. Usually this will do things like switch off the sustain and other pedals if they happen to have been left on, and set the channel volume to maximum for all the channels in case they have been reduced in volume, and so on.

If your synth doesn't recognise a reset all controllers message, or you want to be more specific about what to do, then select the relevant boxes in this window.

Skip all controllers - select this if you don't want FTS to send on or relay any controller messges at all. This may be useful if you just want the notes and the pitch bends, and will set everything else up at your synth / sampler etc.

Do pitch bends for all the notes of main window arpeggio before opening Midi out, and whenever arp. or scale changes - the idea is to set up your channels so that the first midi out channel has the pitch bend suitable for the first note of the arpeggio, the second one has the pitch bend for the second arpeggio note (if it needs its own pitch bend), and so on.

This means that often, after you open mdi out or change the scale or arpeggio, no more pitch bends need to be sent from then on.

For more about why one wants to do it, see Using FTS with Giga - the section on pitch artefacts - avoides a kind of portamento effect one may get before an instantaneous pitch bend on some types of synths / samplers / soundcards, by applying pitch bends for all the notes in the scale when opening Midi out.

This will work in many commonly encountered situations. Some situations where this won't be sufficient to avoid all pitch bend messages: tonic shifts; morphing the scale as one plays;. Fibonacci tonescape, several scales simultaneously; non octave scales with many pitches; many parts each with its own settings for the controllers (including pan).


Midi Out devices - Parts to play

Out | Midi Out Devices - Parts to Play...

The idea here is that one might want to play one instrument from your soundcard, one from a soft synth maybe, one from your synth, etc, all simultaneously.

To use it, select Play several at once - all the enabled ones . Enable all the ones you want to use. Then for each one, say which of the Parts you want to play in that port.

Skip voice selections (selected devices only) - Used if you want to send the voice selections as normal on some devices (e.g. soundcard) and skip them for other ones (e.g. synth or sampler).

If you see Windows Setting - Midi Mapper listed, this isn't a separate device as such, but will probably be one of the other devices. It is configured from Start | Settings | Control Panel | Multimedia | Midi . So the standard setting here is to unselect it.

Let Parts with no ports in common share channels . Here the idea is that if you have, say, part 1 only playing on one synth / soundcard, part 2 on another one and so on, they can each have their own pitch bends for each channel as they are on separate midi out devices.

Select this for the greatest flexibility for music with many simultaneous pitch bends in play. However you can't save this information to midi as the midi standards are set up on the basis of a single device with 16 channels maximum, so this option gets ignored if you save a fractal tune to midi or record to midi as you play / relay.

Save devices info to fractal tune files (*.ts) + read it from them - here the idea is that one might want to play a fractal tune with a particular set up for the midi out devices and the parts to play for each one. You can save this information with the fractal tune. Naturally this file will only be heard as intended on a system with the same devices in the midi out menu.

More details

The pitch bend is set for a channel as a whole, so FTS can't play, say, a 5/4 and a 3/2 in the same channel at the same time using pitch bends - not if they are on the same device.

However, if they are all playing on separate devices, then each device can have its own set of pitch bends in all the channels. This gives FTS a great deal more flexibiility when remapping the channels.

For instance, suppose you are using a custom voice with 15 inharmonic partials all requiring separate pitch bends, - you could dedicate one port to this part, and then if it is a solo line, none of the partials will be dropped :-)

FTS only uses this extra flexibility for parts that have no devices in common with each other.

Even more detail:

Example - suppose we have this set up:

Port 1: parts 1 and 2

Port 2: parts 1 and 3

and we want to play a just intonation major chord like this:

1/1 in part 1 , 5/4 in part 2 , and 3/2 in part 3 .

Then, the 1/1 and 5/4 need to be played in separate channels because parts 1 and 2 share a port.

The 5/4 and 3/2 can be played on the same channel however, as parts 2 and 3 have no ports in common. Although played in the same channel, they will be played on separate devices, so it is okay to have simultaneous pitch bends for them.

One solution might be

1/1 = channel 1 (Ports 1 and 2)

5/4 = channel 2 (Port 1)

3/2 = channel 2 (Port 2).


Midi Out Channs

Out | Options | Out Channs

Use this to select which Midi output channels you want to use for each part.

You can also set the maximum polyphony - the maximum number of notes that you can play simultaneously in that port. A modern soundcard will have a pretty high number for this like 64 or 128 or something, so it is of most relevance for synths, especially older ones.

Set it to 0 for no limit, or, say, 4 to set a max polyphony of 4 notes per channel. FTS uses this number when playing the notes - usually all that happens is that sometimes it needs to spread the notes out over more channels.

If FTS does run out of channels to play the notes in, it will switch off the earliest played notes to make room for the new ones.


Notes in play

Out | Notes in play

Shows all the notes currently playing in all the midi output channels.

The first three columns show the parts, and the notes currently in play for each part, e.g.

60 (11) 64 (7) 69 (9)

means note 60 (middle c) is in play in channel 11, 64 in channel 7 and 69 in channel 9

The Notes for Highl. part column shows the notes in play for whichever part is highlighed in the first three columns. The same information in fact, but easier to see at a glance.

Pitch Bends - shows what pitch bends were applied most recently for that part in all the channels.

If you have several devices selected simultaneously from Midi Out Devices - Parts to Play, the pitch bends for a particular channel could change as you change the highlight. This can happen if you have Out | Midi Out Devicies - Parts to Play | Synchronise pitch bends & controllers for same channel in all the devices unselected - these will be pitch bends for notes played in the same midi channel but on different devices, so that they can have different pitch bends.