Help for Tune Smithy Koch snowflake icon.gif

FAQ - Soft synths

From Tune Smithy

(Difference between revisions)
Jump to: navigation, search
(Still not working as expected)
(See also)
 
(40 intermediate revisions not shown)
Line 1: Line 1:
How to type instructions for FTS for particular soft synths
How to type instructions for FTS for particular soft synths
 +
==See also==
 +
[[FAQ_-_Soft_synths]] - [[Tutorials:How use FTS to compose microtonally]]- [[virtual midi cable]] - [[Retune Compositions with FTS Check List]]
 +
 +
==Easy soundsets to add==
 +
 +
===Coolsoft Midi Synth (for Windows)===
 +
 +
This is a GM Synth which means it plays all the usual midi instruments as expected, both melodic and non melodic.
 +
 +
Easy to install. Run the installer and it adds itself to the list of Out Devices then you can select it from {{w41}}
 +
 +
You also need to download a sound font. Links given on the download page - the Fluid R3 one is fine roughly equivalent to the Microsoft GS Wavetable Synth in quality.
 +
 +
It's especially useful if for some reason you don't have the Microsoft GS Wavetable Synth installed on your system. Since it lets you play any soundfont it is also useful as a soundfont player.
 +
 +
You get the synth and the sound fonts here:
 +
[http://coolsoft.altervista.org/en/virtualmidisynth Coolsoft virtual midi synth] 
 +
 +
===Drumcore free (VST) ===
 +
 +
If you don't know it - it's a VSTi which you can use to add new percussion sounds to your computer. You have to run it inside a VST host.
 +
 +
If you don't have a VST host, then on Windows, you can use Cantabile. I use the professional version for the audio rendering - but it has a free version which is fine for playing in real time.
 +
 +
Though on Windows, you do need to use Loopbe1 or another [[virtual midi cable]] as well to get it to work with Bounce.
 +
 +
Here it is
 +
[http://www.sonomawireworks.com/drumcore/downloads/ Drumcore Free - download]
 +
For those who need a VST host, here is Cantabile Lite:
 +
[http://www.cantabilesoftware.com/download/ Cantabile Lite]
 +
which you can use as the host for Drumcore Free and other VSTi,
 +
 +
And here is loopbe1 which you can use to link Bounce together with Cantabile on Windows, so that you can play Drumcore from Bounce.
 +
[http://www.nerds.de/en/loopbe1.html loopbe1]
 +
 +
Other options for linking it on Windows here: [[virtual midi cable]]
==General issues for many soft synths and samplers==
==General issues for many soft synths and samplers==
-
===locked to twelve equal with no pitch bends===
+
===Locked to twelve equal with no pitch bends===
-
Some soft synths can only play in twelve equal. If it is one of those there is nothing you can do to retune it.  
+
Some soft synths can only play in twelve equal, and will not respond to the pitch bend wheel - don't implement pitch bend sensitivity. If it is one of those there is nothing you can do to retune it.
-
===Play notes only in one channel - monotimbral===
+
===Can play any pitches in solo lines, but all chord intervals are twelve equal===
-
Many synths will only let you play the notes on one channel at a time. These can only be used for microtonal solo lines or polyphony in which all the chord intervals are twelve equal ones. That's because the pitch bend range is set for the channel as a whole.
+
Many synths are "monotimbral". They receive notes on any channel, but treat all the channels identically, as if they were all received on a single channel. This is one of the options for midi synth designers in the midi spec.
-
===pitch bend range has to be configured atvthe synth===
+
These can be used for any desired microtonal solo lines, but the polyphony is more limited. They can be used for polyphonic music in which all the chord intervals are twelve equal ones
-
It might permit the pitch to be varied, but the pitch bend range has to be configured on the synth itself. For instance the FM7 is like this - because you can set it to a different pitch bend range downwards and upwards - something not permitted in the standard midi pitch bend range message. If so you have to configure the pitch bend range by hand.
+
Any single note can be played at any desired pitch but when you add another note to make a chord, the original note will get adjusted to make a twelve equal interval with the new note. That's because in Midi, the pitch bend range is set for the channel as a whole. So if your synth makes no distinctions between channels, all the notes have to be adjusted away from twelve equal by the same amount, making the chord intervals all twelve equal ones.
 +
 
 +
====Solution====
 +
 
 +
Set all the parts to play a single channel (all the same channel) in {{w60}}. It normally doesn't matter which channel you use, say channel 1.
 +
 
 +
That way, you will still get polyphony for twelve equal chords, and also for any chords that use only twelve equal intervals. And you can also play microtonal solo lines. If you try to play chords with microtonal intervals, you will find that all except the most recently played note will automatically get switched off, which is what you want as your synch can't play them.
 +
 
 +
====More versatile solutions if you can run several copies of the synth at once====
 +
 
 +
You may be able to run several copies of a soft synth at once each set up to use a different In device. If you can do this then more versatile solutions are possible using {{w60}} and {{w41)).
 +
 
 +
=====Example=====
 +
 
 +
Let's say you run four copies of the synth, connected to [[virtual midi cable]] Midi Yoke 1 - 4, and want to use them to play music with four part polyphony.
 +
 
 +
In the Out menu, choose Ok to play on  SEVERAL DEVICES AT ONCE. In {{w60}} use the Chann == Part preset so that Part 1 plays on channel 1, part 2 on channel 2 and so on. Then in {{w41}} play part 1 on Midi Yoke 1, and part 2 on Midi Yoke 2 and so on.
 +
 
 +
===pitch bend range has to be configured at the synth===
 +
 
 +
It might permit the pitch to be varied, but the pitch bend range has to be configured on the synth itself. For instance the FM7 is like this - because you can set it to a different pitch bend range downwards and upwards - something not permitted in the standard midi pitch bend range message.  
 +
 
 +
For a synth like this, you have to configure the pitch bend range by hand. The normal thing is to set the range to two semitones up and down. Or if you want another range, make sure you set up FTS to use the same  range in {{w156}}
===pitch bend range depends on the instrument===
===pitch bend range depends on the instrument===
-
The pitch bend range may depend on the instrument. This is something that happens with sample players particularly. You may be able to edit the instrument to change its pitch bend range or you may just have to work with what you have got. See the notes for GPO for information about how to deal with instruments which have differing pitch bend ranges.
+
The pitch bend range may depend on the instrument. This is something that happens with sample players particularly. You may be able to edit the instrument to change its pitch bend range or you may just have to work with what you have got.
 +
 
 +
If you can't change the pitch bend range, all is not lost - so long as you can bend the notes at all, you can then configure Tune Smithy accordingly. See the notes for GPO for information about how to deal with instruments which have differing pitch bend ranges in the same composition .
[[#pitch bend ranges]]
[[#pitch bend ranges]]
Line 25: Line 85:
Take a look at the [[Retune Compositions with FTS Check List]]
Take a look at the [[Retune Compositions with FTS Check List]]
-
==VST synths==
+
==Are there any plans to develop FTS as a VST synth?==
 +
 
 +
No sorry, not at present.
 +
 
 +
If anyone is interested in helping to develop a VTS plug in to work with FTS let me know. I can handle the retuning side of things in FTS but have no experience of writing the VST plug in. The VST plug in could communicate with FTS via shared memory.
 +
 
 +
I have no plans to develop a VST synth myself as it isn't something that I am particularly suited to be able to do.
 +
 
 +
==Microsoft GS Wavetable Synth==
 +
 
 +
This synth comes with many computers nowadays as a substitute for a conventional soundcard. It's fine, has some nice voices, but it often has a fair degree of latency. This is most noticeable when you play it from a music keyboard or using the mouse or PC Keyboard.
 +
 
 +
You can fix this if you play its notes through DirectMusic Producer as a soft synth.
 +
 
 +
'''WARNING - this method DOESN'T WORK WITH 64 BIT WINDOWS - DON'T TRY TO INSTALL DIRECT MUSIC PRODUCER ON 64 BIT WINDOWS'''
 +
 
 +
See: [http://msdn.microsoft.com/en-us/library/ee418798.aspx#ID4EJAAC Microsoft: 64 bit programming for game developers - Deprecated APIs]. If you attempt to install Direct Producer on 64 bit Windows, you will get a warning that it is incompatible.
 +
 
 +
[http://www.microsoft.com/downloads/details.aspx?FamilyID=6e938a6e-b383-466b-a3ee-5a655bf5db8c&displaylang=en DirectMusic Producer]
 +
 
 +
When you run the downloaded file, you are asked where you want to extract the files - put it somewhere where you can find them. Then look in that folder and run the file setup.exe to install DirectMusic producer.
 +
 
 +
Then start up DirectMusic Producer.
 +
 
 +
[[Image:DirectMusicProducer.png]]
 +
 
 +
In the MIDI/Performance Options window, choose to Echo Midi In, and select a [[Virtual midi cable|virtual midi cable]] for input. Then adjust the latency to 0 ms and select Persist to all Audiopaths.
 +
 
 +
[[Image:MidiPerformanceOptions.png]]
 +
 
 +
The latency will probably now be acceptable. As a bonus you also have an option to play with reverb.
 +
 
 +
However, you will have to start up DirectMusic Producer whenever you want to play the synth with 0 latency.
 +
 
 +
====Trouble shooting====
 +
I find the DirectMusic producer has a tendency to sometimes reset the synth back to fifth second latency - sometimes disabling the Adjust Latency. If that happens then closing and reopening the program or unselecting then reselecting the synthesizer or the input device eventually sets it back again - not - or it gets sorted out with a reboot. Not sure yet of what it is that causes the reset or what exactly gets you back to 0 latency.
-
FTS currently doesn't work as a VST plug in. You can only use it with these synths via midi. If anyone is interested in helping to develop a VTS plug in to work with FTS let me know. I can handle the retuning side of things in FTS but have no experience of writing the VST plug in. The VST plug in could communicate with FTS via shared memory.
+
====For the future====
 +
Some time I may add code to play DirectMusic devices directly in FTS then can address this with software and may be able to play it directly without the need to use DirectMusic producer.
== ZynAddSubFX ==
== ZynAddSubFX ==
You can get this free synth from: [http://zynaddsubfx.sourceforge.net/ ZynAddSubFX]. For the Windows installer go to the [http://sourceforge.net/project/showfiles.php?group_id=62934 download page]. In that page, look for the '''''latest release with a Windows installer'''''. As of writing, 2.2.0 comes with one, but 2.2.1 just has the source code available for download. The help for ZASF is on-line at [http://zynaddsubfx.sourceforge.net/doc_2.html zynAddSubFX user interface and more..].
You can get this free synth from: [http://zynaddsubfx.sourceforge.net/ ZynAddSubFX]. For the Windows installer go to the [http://sourceforge.net/project/showfiles.php?group_id=62934 download page]. In that page, look for the '''''latest release with a Windows installer'''''. As of writing, 2.2.0 comes with one, but 2.2.1 just has the source code available for download. The help for ZASF is on-line at [http://zynaddsubfx.sourceforge.net/doc_2.html zynAddSubFX user interface and more..].
 +
Here is the [http://sourceforge.net/projects/zynaddsubfx/files/zynaddsubfx/2.2.0/ download page for ZynAddSubFX 2.2 wimdows installer]
ZASF has many steady pitched clear harmonic timbres (and quasiperiodic harmonic based timbres), without the vibrato, tremelo and other effects you get with many synths. See [http://zynaddsubfx.sourceforge.net/doc_0.html ZASF Basics]
ZASF has many steady pitched clear harmonic timbres (and quasiperiodic harmonic based timbres), without the vibrato, tremelo and other effects you get with many synths. See [http://zynaddsubfx.sourceforge.net/doc_0.html ZASF Basics]
Line 44: Line 141:
[[Image:ZynAddSubFX.png]]
[[Image:ZynAddSubFX.png]]
-
To set it up like that for all sixteen midi channels, open this file in ZASF - with File | Open Parameters.
+
To set it up like that for all sixteen midi channels, open this file in {{hit|ZASF}} - with {{hi|File | Open Parameters}}.
   
   
[[Media:allchanns.xmz | allchanns.xmz]]
[[Media:allchanns.xmz | allchanns.xmz]]
 +
 +
If you tried the scale and keyboard mapping approach first, you may also need to re-enable pitch bend retuning. In {{hit|Tune Smithy}}, Make sure that {{hi|Treat Highl. as already tuned}} is switched OFF in {{w41}}.
After that you should be able to use ZASF with FTS with the pitch bend retuning method like any other synth with sixteen channel type capabilities.
After that you should be able to use ZASF with FTS with the pitch bend retuning method like any other synth with sixteen channel type capabilities.
Line 52: Line 151:
===Retuning ZASF using a [[SCALA scale]] and [[SCALA Keyboard map|keyboard map]]===
===Retuning ZASF using a [[SCALA scale]] and [[SCALA Keyboard map|keyboard map]]===
-
ZASF is also capable of retuning to any scale with any keyboard mapping. If you use it with FTS then most of the time it is enough to just set it to receive on all the channels and use the pitch bend retuning method.
+
ZASF is also capable of retuning to any scale with any keyboard mapping.  
 +
 
 +
When you use ZASF with FTS, it is normally easier, and just as good, to use the method of the previous section - just set it to receive on all the channels and use the pitch bend retuning method (see above).
-
Retuning ZASF directly is useful if you wish to use it in ways that really stretch the 16 channel limit of midi - for instance chords that require more than 16 simultaneous pitch bends (e.g. harmonic series chords with lots of notes), non octave scales, pieces that play several tunings simultaneously, shifting tonics, and so on.
+
However, it can help to use its retuning features if you have music that really stretch the 16 channel limit of midi - for instance chords that require more than 16 simultaneous pitch bends (e.g. harmonic series chords with lots of notes), non octave scales, you want to play simultaneously in several tunings at once, use shifting tonics, and so on. It is also useful if you want to use ZASF on its own without FTS.
Click the Scales button in the advanced interface:
Click the Scales button in the advanced interface:
Line 79: Line 180:
=====simple way=====
=====simple way=====
-
The simple way applies if each midi note is retuned to within a quarter tone of its original position. In that case you can just switch on the option {{hi|Treat Highl. as already tuned}} in {{w41}} - the More version of this window. This will work for instance if you retune ZASF to one of the many twelve tone tunings that keep every note within a quarter tone of the twelve equal pitch.  
+
The simple way applies if each midi note is retuned to within a quarter tone of its original position. In that case you can just switch ON {{hi|Treat Highl. as already tuned}} in {{w41}} - the More version of this window. This will work for instance if you retune ZASF to one of the many twelve tone tunings that keep every note within a quarter tone of the twelve equal pitch.  
There is no need to match the keyboard mapping with FTS and in FTS you can use any arpeggio you like e.g. ones that ascend and descend in different ways and so on. If the music requires an Eb of some description for instance, FTS just sends ZASF midi note 63, and leaves it to ZASF to retune it as desired.
There is no need to match the keyboard mapping with FTS and in FTS you can use any arpeggio you like e.g. ones that ascend and descend in different ways and so on. If the music requires an Eb of some description for instance, FTS just sends ZASF midi note 63, and leaves it to ZASF to retune it as desired.
Line 94: Line 195:
===Using ZASF with the Lambdoma task ===
===Using ZASF with the Lambdoma task ===
-
====Using ZASF with the lambdomam without any special retuning====
+
ZASF is eminently suitable for the Lambdoma task because of the steady pitches and pure harmonies.
 +
 
 +
====Using ZASF with the lambdoma without any special retuning (easiest)====
It is usually enough to just enable all the channels - then ZASF will work like any other soft synth or your soundcard and you don't need to do any special configuring in FTS.
It is usually enough to just enable all the channels - then ZASF will work like any other soft synth or your soundcard and you don't need to do any special configuring in FTS.
-
To use it like that see [[#Receive notes on any number of channels]]
+
To use it like that open this file in {{hit|ZASF}} - with {{hi|File | Open Parameters}}.
 +
 +
[[Media:allchanns.xmz | allchanns.xmz]]
-
This is the easiest way to use ZASF with FTS for the Lambdoma task.
+
If you tried the scale and keyboard mapping approach first, you may also need to re-enable pitch bend retuning. In {{hit|Tune Smithy}}, Make sure that {{hi|Treat Highl. as already tuned}} is switched OFF in {{w41}}.
-
But if you really stretch the tuning, or you want to run ZASF with out FTS, then you can retune ZASF directly.
+
For more details, see [[#Receive notes on any number of channels]]
-
====Retuning ZASF to the lambdoma====
+
====Retuning ZASF to the lambdoma (rarely needed)====
This could be useful in rare situations which really stretch the 16 channel limit of Midi. E.g. if you play many rows of the Lambdoma simultaneously, or want to play all the notes in a row in a very large area of the Lambdoma e.g. a row of the 32 by 32 Lambdoma or whatever.
This could be useful in rare situations which really stretch the 16 channel limit of Midi. E.g. if you play many rows of the Lambdoma simultaneously, or want to play all the notes in a row in a very large area of the Lambdoma e.g. a row of the 32 by 32 Lambdoma or whatever.
Line 124: Line 229:
[[Image:ZASF_Lambdoma.png]]
[[Image:ZASF_Lambdoma.png]]
-
Then in FTS, you need to go to the More version of {{w41}}, highlight the device, and switch on the option {{hi|Treat Highl. as already tuned}}
+
Then in FTS, you need to go to the More version of {{w41}}, highlight the device, and switch on the option {{hi|Treat Highl. as already tuned}}.
 +
 
 +
=====How to retune to any other quadrant=====
 +
 
 +
That example scale was for the first quadrant. To make it for any other quadrant, just resave the scale from Tune Smithy and reload in ZASF.
 +
 
 +
In the main window in Tune Smithy go to {{hi|File | Save As}}, then save
 +
as {{hi|Files of type}} {{hiu|SCALA scale(*.scl)}}.
 +
 
 +
Load that scale in ZASF and that should work. Leave the keyboard map as before.
 +
 
 +
=====Check list for this approach=====
 +
* I have loaded the scl and kbm files in ZASF
 +
* I have switched ON {{hi|Treat Highl. as already tuned}} in FTS
====Changing the 1/1 pitch for ZASF tuned like this====
====Changing the 1/1 pitch for ZASF tuned like this====
Line 130: Line 248:
That keyboard mapping was set to play the 1/1 as 256 Hz,a frequency that Barbara Hero uses as a base frequency for her music therapy work.
That keyboard mapping was set to play the 1/1 as 256 Hz,a frequency that Barbara Hero uses as a base frequency for her music therapy work.
-
If you want it to play another frequency for the 1/1, then just load it in ZASF, change the frequency of the "A" (which in this case is C) to whatever your desired frequency is, and resave it with the frequency set as desired.  
+
If you want it to play another frequency for the 1/1, then you need to ''change the 1/1 pitch''
 +
 
 +
To do this, just load it in ZASF, then in {{hi|ZASF]] change the frequency of the "A" (which in this case is the C on your keyboard or score) to whatever your desired frequency is, and resave it with the frequency set as desired. ZASF shows the reference pitch always as "A" for some reason - in quotes, in this case it is a C since the midi number is 60.
You should leave the midi note number parameter in ZASF as 60 since that is the number FTS will send for the 1/1 when you have it set to simply tuned. Just change the frequency parameter.
You should leave the midi note number parameter in ZASF as 60 since that is the number FTS will send for the 1/1 when you have it set to simply tuned. Just change the frequency parameter.
Line 136: Line 256:
====Using ZASF directly without FTS====
====Using ZASF directly without FTS====
   
   
-
You can use ZASF tuned like this with the Lambdoma keyboard or your composition software directly. The only difference is that the order of the rows running down diagonally to the right on the keyboard gets reversed. That's to do with how FTS deals with the note to scale mapping internally.
+
You can use ZASF tuned like this with the Lambdoma keyboard or your composition software directly.  
 +
 
 +
When retuned directly the PITCHES CHANGE. Just the order changes. The order of the rows running down diagonally to the right on the keyboard gets reversed. That's to do with how FTS deals with the note to scale mapping internally.
 +
 
 +
Otherwise it is identical.
You can then play notes from your Lambdoma keyboard or software directly on ZASF without any need to have FTS running at the time.
You can then play notes from your Lambdoma keyboard or software directly on ZASF without any need to have FTS running at the time.
 +
 +
If you want to play ZASF directly with the rows in the original order, you need a new scale with the order of the rows reversed.
 +
 +
To make it, go to {{w135}} and Unselect {{hi|Vertically}}
 +
 +
Then to save the scale, in the main window in Tune Smithy go to {{hi|File | Save As}}, then save
 +
as {{hi|Files of type}} {{hiu|SCALA scale(*.scl)}}.
 +
 +
Load that scale in ZASF and that should work. Leave the keyboard map as before.
=== All settings in one go for the Lambdoma ===
=== All settings in one go for the Lambdoma ===
Line 146: Line 279:
[Media:lambdoma_simply_tuned.xmz|lambdoma_simply_tuned.xmz]] attached.
[Media:lambdoma_simply_tuned.xmz|lambdoma_simply_tuned.xmz]] attached.
-
To use - when ZASF starts up, go to {{hi|File >> Open Parameters}} and open the file.  
+
To use - when {{hit|ZASF}} starts up, go to {{hi|File >> Open Parameters}} and open the file.  
-
Then go to the Scales window in ZASF and click the {{hi|Retune}} button. It will only play correctly after you click the Retune button and you have to do that every time you load the xmz file for some reason.
+
Then go to the Scales window in {{hit|ZASF}} and click the {{hi|Retune}} button. It will only play correctly after you click the Retune button and you have to do that every time you load the xmz file for some reason.
But so long as one remembers to do that, it saves some time to do it this way.
But so long as one remembers to do that, it saves some time to do it this way.
Line 263: Line 396:
The Roland Sound Canvas needs a modern PC - but any PC from 2000 or so  onwards should be plenty fast enough, so this only needs to be checked if you have a  really old PC.
The Roland Sound Canvas needs a modern PC - but any PC from 2000 or so  onwards should be plenty fast enough, so this only needs to be checked if you have a  really old PC.
-
The Roland will let you save midi files directly to audio format, which is neat.
+
The Roland will let you save midi files directly to audio format, which is neat.
 +
 
 +
==How to use VSTi plugins (Virtual Studio Technology instruments) with FTS==
 +
 
 +
There are many [http://en.wikipedia.org/wiki/Virtual_Studio_Technology VSTi] available which can expand your sound palette with many new instruments.
 +
 
 +
Many musicians already have Sonar, or Cakewalk or another [http://en.wikipedia.org/wiki/Digital_Audio_Workstation Digital Audio Work Station]. You can plug a VSTi into any of those, and then play them from FTS via a virtual midi cable. But if you don't have anything like that then you can get a free VST host.
 +
 
 +
One which I've tested and works well is [http://www.cantabilesoftware.com/lite/ Cantabile-Lite] which is particularly simple and easy to use.
 +
 
 +
It would be a good way to get started using VSTi. For a list of some of the VSTi available see the [http://www.hitsquad.com/smm/cat/PLUGINS_VSTI/ Music Software: Plugins VSTi] page at Shareware Music Machine.
 +
 
 +
If you have suggestions of ones that work particularly well microtonally do dive in and comment here :-).
== I hear pitch artefacts - what can I do about them? ==
== I hear pitch artefacts - what can I do about them? ==
There are various reasons why this may happen. See [[Pitch artefacts]] for the details of what may happen, and what you can do about it.
There are various reasons why this may happen. See [[Pitch artefacts]] for the details of what may happen, and what you can do about it.

Latest revision as of 16:32, 28 February 2016

How to type instructions for FTS for particular soft synths

Contents

See also

FAQ_-_Soft_synths - Tutorials:How use FTS to compose microtonally- virtual midi cable - Retune Compositions with FTS Check List

Easy soundsets to add

Coolsoft Midi Synth (for Windows)

This is a GM Synth which means it plays all the usual midi instruments as expected, both melodic and non melodic.

Easy to install. Run the installer and it adds itself to the list of Out Devices then you can select it from Midi Out Devices, and PARTS to play for each DEVICE (Ctrl + 41)

You also need to download a sound font. Links given on the download page - the Fluid R3 one is fine roughly equivalent to the Microsoft GS Wavetable Synth in quality.

It's especially useful if for some reason you don't have the Microsoft GS Wavetable Synth installed on your system. Since it lets you play any soundfont it is also useful as a soundfont player.

You get the synth and the sound fonts here: Coolsoft virtual midi synth

Drumcore free (VST)

If you don't know it - it's a VSTi which you can use to add new percussion sounds to your computer. You have to run it inside a VST host.

If you don't have a VST host, then on Windows, you can use Cantabile. I use the professional version for the audio rendering - but it has a free version which is fine for playing in real time.

Though on Windows, you do need to use Loopbe1 or another virtual midi cable as well to get it to work with Bounce.

Here it is Drumcore Free - download For those who need a VST host, here is Cantabile Lite: Cantabile Lite which you can use as the host for Drumcore Free and other VSTi,

And here is loopbe1 which you can use to link Bounce together with Cantabile on Windows, so that you can play Drumcore from Bounce. loopbe1

Other options for linking it on Windows here: virtual midi cable

General issues for many soft synths and samplers

Locked to twelve equal with no pitch bends

Some soft synths can only play in twelve equal, and will not respond to the pitch bend wheel - don't implement pitch bend sensitivity. If it is one of those there is nothing you can do to retune it.

Can play any pitches in solo lines, but all chord intervals are twelve equal

Many synths are "monotimbral". They receive notes on any channel, but treat all the channels identically, as if they were all received on a single channel. This is one of the options for midi synth designers in the midi spec.

These can be used for any desired microtonal solo lines, but the polyphony is more limited. They can be used for polyphonic music in which all the chord intervals are twelve equal ones

Any single note can be played at any desired pitch but when you add another note to make a chord, the original note will get adjusted to make a twelve equal interval with the new note. That's because in Midi, the pitch bend range is set for the channel as a whole. So if your synth makes no distinctions between channels, all the notes have to be adjusted away from twelve equal by the same amount, making the chord intervals all twelve equal ones.

Solution

Set all the parts to play a single channel (all the same channel) in Midi Output Channels for Parts and Polyphony (Ctrl + 60). It normally doesn't matter which channel you use, say channel 1.

That way, you will still get polyphony for twelve equal chords, and also for any chords that use only twelve equal intervals. And you can also play microtonal solo lines. If you try to play chords with microtonal intervals, you will find that all except the most recently played note will automatically get switched off, which is what you want as your synch can't play them.

More versatile solutions if you can run several copies of the synth at once

You may be able to run several copies of a soft synth at once each set up to use a different In device. If you can do this then more versatile solutions are possible using Midi Output Channels for Parts and Polyphony (Ctrl + 60) and {{w41)).

Example

Let's say you run four copies of the synth, connected to virtual midi cable Midi Yoke 1 - 4, and want to use them to play music with four part polyphony.

In the Out menu, choose Ok to play on SEVERAL DEVICES AT ONCE. In Midi Output Channels for Parts and Polyphony (Ctrl + 60) use the Chann == Part preset so that Part 1 plays on channel 1, part 2 on channel 2 and so on. Then in Midi Out Devices, and PARTS to play for each DEVICE (Ctrl + 41) play part 1 on Midi Yoke 1, and part 2 on Midi Yoke 2 and so on.

pitch bend range has to be configured at the synth

It might permit the pitch to be varied, but the pitch bend range has to be configured on the synth itself. For instance the FM7 is like this - because you can set it to a different pitch bend range downwards and upwards - something not permitted in the standard midi pitch bend range message.

For a synth like this, you have to configure the pitch bend range by hand. The normal thing is to set the range to two semitones up and down. Or if you want another range, make sure you set up FTS to use the same range in Pitch bend Options (Ctrl + 156)

pitch bend range depends on the instrument

The pitch bend range may depend on the instrument. This is something that happens with sample players particularly. You may be able to edit the instrument to change its pitch bend range or you may just have to work with what you have got.

If you can't change the pitch bend range, all is not lost - so long as you can bend the notes at all, you can then configure Tune Smithy accordingly. See the notes for GPO for information about how to deal with instruments which have differing pitch bend ranges in the same composition . #pitch bend ranges

Uses key switches

If the instrument you are using requires keyswitches - midi notes below the natural range of the instrument - to change the performance style, you need to tell FTS to send those notes on unchanged. Use Retuning range for parts (Ctrl + 193) and set that window up to ignore notes below the instruments playable range for any part that uses key switches.

Still not working as expected

Take a look at the Retune Compositions with FTS Check List

Are there any plans to develop FTS as a VST synth?

No sorry, not at present.

If anyone is interested in helping to develop a VTS plug in to work with FTS let me know. I can handle the retuning side of things in FTS but have no experience of writing the VST plug in. The VST plug in could communicate with FTS via shared memory.

I have no plans to develop a VST synth myself as it isn't something that I am particularly suited to be able to do.

Microsoft GS Wavetable Synth

This synth comes with many computers nowadays as a substitute for a conventional soundcard. It's fine, has some nice voices, but it often has a fair degree of latency. This is most noticeable when you play it from a music keyboard or using the mouse or PC Keyboard.

You can fix this if you play its notes through DirectMusic Producer as a soft synth.

WARNING - this method DOESN'T WORK WITH 64 BIT WINDOWS - DON'T TRY TO INSTALL DIRECT MUSIC PRODUCER ON 64 BIT WINDOWS

See: Microsoft: 64 bit programming for game developers - Deprecated APIs. If you attempt to install Direct Producer on 64 bit Windows, you will get a warning that it is incompatible.

DirectMusic Producer

When you run the downloaded file, you are asked where you want to extract the files - put it somewhere where you can find them. Then look in that folder and run the file setup.exe to install DirectMusic producer.

Then start up DirectMusic Producer.

DirectMusicProducer.png

In the MIDI/Performance Options window, choose to Echo Midi In, and select a virtual midi cable for input. Then adjust the latency to 0 ms and select Persist to all Audiopaths.

MidiPerformanceOptions.png

The latency will probably now be acceptable. As a bonus you also have an option to play with reverb.

However, you will have to start up DirectMusic Producer whenever you want to play the synth with 0 latency.

Trouble shooting

I find the DirectMusic producer has a tendency to sometimes reset the synth back to fifth second latency - sometimes disabling the Adjust Latency. If that happens then closing and reopening the program or unselecting then reselecting the synthesizer or the input device eventually sets it back again - not - or it gets sorted out with a reboot. Not sure yet of what it is that causes the reset or what exactly gets you back to 0 latency.

For the future

Some time I may add code to play DirectMusic devices directly in FTS then can address this with software and may be able to play it directly without the need to use DirectMusic producer.

ZynAddSubFX

You can get this free synth from: ZynAddSubFX. For the Windows installer go to the download page. In that page, look for the latest release with a Windows installer. As of writing, 2.2.0 comes with one, but 2.2.1 just has the source code available for download. The help for ZASF is on-line at zynAddSubFX user interface and more... Here is the download page for ZynAddSubFX 2.2 wimdows installer

ZASF has many steady pitched clear harmonic timbres (and quasiperiodic harmonic based timbres), without the vibrato, tremelo and other effects you get with many synths. See ZASF Basics

ZASF is a synth with hidden capabilities. First of all - when you first run it, it seems to be able to play only one pitch bend at a time like many other synths. But you can get it to play on sixteen channels.

Receive notes on any number of channels to permit pitch bend retuning

Change to the Advanced mode (from Misc). | Switch user interface mode).

Go to the place where it shows the channel number, and scroll through all the numbers, and click enabled for each one. It will then play on all the channels.

ZynAddSubFX.png

To set it up like that for all sixteen midi channels, open this file in ZASF - with File .

allchanns.xmz

If you tried the scale and keyboard mapping approach first, you may also need to re-enable pitch bend retuning. In Tune Smithy, Make sure that Treat Highl. as already tuned is switched OFF in Midi Out Devices, and PARTS to play for each DEVICE (Ctrl + 41).

After that you should be able to use ZASF with FTS with the pitch bend retuning method like any other synth with sixteen channel type capabilities.

Retuning ZASF using a SCALA scale and keyboard map

ZASF is also capable of retuning to any scale with any keyboard mapping.

When you use ZASF with FTS, it is normally easier, and just as good, to use the method of the previous section - just set it to receive on all the channels and use the pitch bend retuning method (see above).

However, it can help to use its retuning features if you have music that really stretch the 16 channel limit of midi - for instance chords that require more than 16 simultaneous pitch bends (e.g. harmonic series chords with lots of notes), non octave scales, you want to play simultaneously in several tunings at once, use shifting tonics, and so on. It is also useful if you want to use ZASF on its own without FTS.

Click the Scales button in the advanced interface:

ZynAddSubFX scales.png

Then select Enable microtonal and enter the desired pitches and keyboard mapping. Or you can open any scale and keyboard mapping you have already.

Making sure the notes are displayed correctly in FTS

If you want the played pitches to be displayed correctly in FTS, you need to make sure that FTS is set up to use the same tuning as ZASF.

This happens automatically with the Lambdoma task - see the next section.

With the other tasks, set FTS to use the same scale and set it to use a suitable keyboard map and arpeggio for the keyboard mapping used by ZASF.

If unsure, you can open the same scale in FTS from File >> Open >> Files of type >> SCALA Scale (*.scl), and open the ZASF keyboard mapping too, using Files of type | SCALA keyboard mapping (*.kbm). An alternative way to open the keyboard mapping is to use Play From Custom Midi In Notes Map (Ctrl + 160) and select Open SCALA keyboard mapping from the drop list.

Note - at present there is no option to save SCALA keyboard mappings from FTS. I'll look into this for the future.

Tell FTS that ZASF is already tuned to this scale

FTS would normally try to retune to the current scale. To tell FTS that it is already tuned as expected - there is a simple way and a slightly more complicated way.

simple way

The simple way applies if each midi note is retuned to within a quarter tone of its original position. In that case you can just switch ON Treat Highl. as already tuned in Midi Out Devices, and PARTS to play for each DEVICE (Ctrl + 41) - the More version of this window. This will work for instance if you retune ZASF to one of the many twelve tone tunings that keep every note within a quarter tone of the twelve equal pitch.

There is no need to match the keyboard mapping with FTS and in FTS you can use any arpeggio you like e.g. ones that ascend and descend in different ways and so on. If the music requires an Eb of some description for instance, FTS just sends ZASF midi note 63, and leaves it to ZASF to retune it as desired.

slightly more complicated way

In other situations - e.g. if you have tunings with more than twelve notes to an octave, you need to make sure that FTS always sends the note number which is retuned to that pitch in ZASF.

This will depend on how ZASF is tuned. For any desired pitch FTS needs information about which midi note number will get retuned to that pitch in ZASF. A concrete example may make this cear - maybe in ZASF, 5/4 is played using midi note number 65, and 81/64 (which is close in pitch) is played using 66. If so, FTS needs to be properly synchronised to send a 65 when you want to hear a 5/4 and a 66 when you want to hear an 81/64. This can only be deduced if FTS has information about the keyboard mapping used in ZASF.

To do that, make sure that FTS is using the same keyboard mapping as ZASF as well as the same scale - then go to MTS Sysex and .Tun Tuning Table Options (Ctrl + 118) and make sure the Tuning Table type is set to .TUN format in the drop list. Then switch on the options Assume currently selected Midi OU tdevice is tuned to the current .TUN file, and Auto Resave .TUN file & keep tuning up to date in that window.

This will automatically make and save a .TUN format tuning table set up to match the ZASF tuning - and tells FTS to assume that the output device (ZASF) is tuned to that tuning. The automatic saving of the .TUN file is of course not needed in this situation (in other situations you could load it in the destination synth if it recognises the format) but it does no harm. Of course make sure it isn't set to the file name of a valuable .TUN file you want to keep. The preset file name is "Current tuning table" which more or less says what it is.

Using ZASF with the Lambdoma task

ZASF is eminently suitable for the Lambdoma task because of the steady pitches and pure harmonies.

Using ZASF with the lambdoma without any special retuning (easiest)

It is usually enough to just enable all the channels - then ZASF will work like any other soft synth or your soundcard and you don't need to do any special configuring in FTS.

To use it like that open this file in ZASF - with File .

allchanns.xmz

If you tried the scale and keyboard mapping approach first, you may also need to re-enable pitch bend retuning. In Tune Smithy, Make sure that Treat Highl. as already tuned is switched OFF in Midi Out Devices, and PARTS to play for each DEVICE (Ctrl + 41).

For more details, see #Receive notes on any number of channels

Retuning ZASF to the lambdoma (rarely needed)

This could be useful in rare situations which really stretch the 16 channel limit of Midi. E.g. if you play many rows of the Lambdoma simultaneously, or want to play all the notes in a row in a very large area of the Lambdoma e.g. a row of the 32 by 32 Lambdoma or whatever.

Another situation in which this is useful is if you want to use ZASF on its own without FTS.

Here is a SCALA scale and keyboard mapping to use with ZASF with the Lambdoma task.

Lambdoma.kbm and Lambdoma.scl

Use right click, then Save As. You may want to save it into your ZASF folder to make it easy to find in ZASF.

Every time you start up ZASF. go to the Scales window, and import both those files and it is all ready to use with the Lambdoma task.

Note that the keyboard mapping will set the midi note to play the 1/1 to 60 and set its frequency to 256.

It should then look like this:

ZASF Lambdoma.png

Then in FTS, you need to go to the More version of Midi Out Devices, and PARTS to play for each DEVICE (Ctrl + 41), highlight the device, and switch on the option Treat Highl. as already tuned.

How to retune to any other quadrant

That example scale was for the first quadrant. To make it for any other quadrant, just resave the scale from Tune Smithy and reload in ZASF.

In the main window in Tune Smithy go to File , then save as Files of type SCALA scale(*.scl).

Load that scale in ZASF and that should work. Leave the keyboard map as before.

Check list for this approach

Changing the 1/1 pitch for ZASF tuned like this

That keyboard mapping was set to play the 1/1 as 256 Hz,a frequency that Barbara Hero uses as a base frequency for her music therapy work.

If you want it to play another frequency for the 1/1, then you need to change the 1/1 pitch

To do this, just load it in ZASF, then in {{hi|ZASF]] change the frequency of the "A" (which in this case is the C on your keyboard or score) to whatever your desired frequency is, and resave it with the frequency set as desired. ZASF shows the reference pitch always as "A" for some reason - in quotes, in this case it is a C since the midi number is 60.

You should leave the midi note number parameter in ZASF as 60 since that is the number FTS will send for the 1/1 when you have it set to simply tuned. Just change the frequency parameter.

Using ZASF directly without FTS

You can use ZASF tuned like this with the Lambdoma keyboard or your composition software directly.

When retuned directly the PITCHES CHANGE. Just the order changes. The order of the rows running down diagonally to the right on the keyboard gets reversed. That's to do with how FTS deals with the note to scale mapping internally.

Otherwise it is identical.

You can then play notes from your Lambdoma keyboard or software directly on ZASF without any need to have FTS running at the time.

If you want to play ZASF directly with the rows in the original order, you need a new scale with the order of the rows reversed.

To make it, go to Lambdoma Scale (Ctrl + 135) and Unselect Vertically

Then to save the scale, in the main window in Tune Smithy go to File , then save as Files of type SCALA scale(*.scl).

Load that scale in ZASF and that should work. Leave the keyboard map as before.

All settings in one go for the Lambdoma

Here is a file with all the parameters for ZASF for Lambdoma simply tuned.

[Media:lambdoma_simply_tuned.xmz|lambdoma_simply_tuned.xmz]] attached.

To use - when ZASF starts up, go to File >> Open Parameters and open the file.

Then go to the Scales window in ZASF and click the Retune button. It will only play correctly after you click the Retune button and you have to do that every time you load the xmz file for some reason.

But so long as one remembers to do that, it saves some time to do it this way.

Garritan Personal Orchestra

A lot of composers also use the Garritan personal orchestra.

Keyswitches

The GPO instruments use keyswitches - notes below the playable range of the instrument which don't actually play sounds, but instead, change the performance style.

You have to tell FTS about those, to let them through unchanged. Otherwise it will try to play them as retuned notes, - changing the midi note sent, adding pitch bends, and so forth, which will change the effect of the keyswitch`.

You do that using More Midi In Options. (Ctrl + 92) With the full version of GPO, Check the box labelled Only retune Midi in notes between and then use 12 and 127 as the bounds. Set the pulldown list marked "Outside range:" to the value Send to all channels for part.

With the Lite version of GPO, the key switches depend on the instrument. So use Retuning range for parts (Ctrl + 193) and set that window up to ignore notes below the instruments playable range (e.g. below 54 for the Finale Lite "trumpet").

pitch bend ranges

The pitch bend ranges in GPO depend on the instrument - some have a pitch bend range of 12 semitones and some the standard pitch bend range of 2 semitones, and some only 1 semitone. So you have to set the pitch bend range to depend on the part, and set the pitch bend range for each part depending on the instrument used.

You do that using Pitch bend Range and Multiplier for Part (Ctrl + 191)

For the pitch bend ranges to use, see Pitch Bend Ranges and Other GPO Information

Rick McGowan has written a tutorial on how to use GPO with FTS to retune large orchestral scores - which involves use of the Set Out devices for In Devices (Ctrl + 192) window.

His tutorial also assumes you use FTS with tuning tables - i.e. load tuning tables to retune FTS. You can as easily use scala scales or construct the scales in FTS itself and configure the pitch of the 1/1 in FTS. So, if you are already accustomed to working with FTS in that fashion, there is no need to change your way of working for GPO. Just ignore the instructions relating to .tun tables.

FTS-How-To - microtuning the orchestra

Example mp3s

See Rick McGowan's Audio Examples

Giga Studio

Giga was the pioneer in the field of software samplers - streaming the sounds directly from the hard disk to permit use of entire recordings of single notes instead of the looped short sections of waves used previously.

You may be able to get the Lite version Gigasampler for free with some soundcards if you shop around. Giga Studio costs more and has more features (one can upgrade to it from Gigasampler)

You need to buy extra sounds for giga only a few ones come with it. These can be quite costly, generally $100s right up to $1000s. I use Dan Dean's solo strings and I highly recommend that one for string instruments.

The web site is here: Gigasampler / GigaStudio

Pitch bend range for Giga

Many of the instruments you can get for Giga have the pitch bend range locked to 0 cents. So in order to play in any of the tunings, you want to change this to the GM default of 2 semitones.

It is easy to tell if this is so - just try playing, say, an ascending scale in FTS in some low ET, such as 31-tet - click the Play Scalebutton in FTS. If you hear repeated notes, then the pitch bend range is locked to 0 in Giga.

To unlock this, load your instrument in Giga, and go to Edit Instument. Then in the Instrument Editor, go to the Instrument Bank, right click on each instrument in turn, look for the Pitch bend (semitones)field, and set this to 2.

Key switches

If the Giga instrument you are using requires keyswitches to change the performance style, you need to tell FTS to send those notes on unchanged. Use Retuning range for parts (Ctrl + 193) and set that window up to ignore notes below the instruments playable range for any part that uses key switches.

Example mp3s

Here are a few mp3s of tunes made using FTS and Giga:

http://artists.mp3s.com/artists/330/robert_inventor.html

For other tips, see FTS | Help | Using FTS with Giga .

The FM7

The FM7 is great for new sounds, and extremely accurate pitch wise. The demo version, which will only play in twelve equal as it will only accept one pitch bend at a time. Try out the demo to see if you like the sounds, then when you buy it you will be able to play it in any of the tunings from FTS by selecting Out | Use MTS Tuning programs . This doesn't work with the demo because FTS retunes it using MTS sysexes, which are disabled in the demo version of the FM7.

It has some really wild sounds - try out http://mp3.com.au/ScienceFriction/ and http://mp3.com.au/NavigatingThePacific/

The FM7 is monotimbral - only plays one voice at a time (I know it sounds as if it is multi-timbral from the Navigating the Pacific - but that is just a single really wild patch - all the notes are played on the same instrument).

To play several instruments at once, you can start up several copies of it and then set FTS to relay to each of those separately - easiest done using a virtual midi cable.

CSound

CSound is a sound synthesis programming language, with many instruments developed for it. See the wikipedia entry on CSound.

It has generally been regarded as rather techy. But FTS has incorporated automated orchestra and score building. This makes using CSound instruments in your recordings as easy as selecting them from a drop list. You can use them to render your midi recordings or fractal tunes directly to audio.

CSound instruments can also be designed to respond to midi in real time. So using this, you can also play the Csound instruments in real time with the help of CSoundAV.

FTS comes with a number of pre-defined CSound instruments, and techy users can easily add more to the list.

See the CSound page of this site for more information.

Quicktime

You can select Quicktime from the Out menu in Fractal Tune Smithy (new feature). Quicktime is not normally accessible in this way in Windows. I added it in as a way to let you preview what the tunes would sound like, and to give an alternative (free) way of playing the Quicktime instruments for those who wish to use them in real time.

Quicktime selected in the Out menu in FTS is best used to preview fractal tunes as the timing can be a bit irregular. You can use Record to File options | Play as Html to hear your finished piece. See Using FTS with Quicktime

A nice thing about Quicktime is that it lets you have more than 15 melodic channels, which gives a way to get more "pitch polyphony". FTS exploits that by adding up to two "Quicktime" devices to the Out menu. You can play some of your parts on one of them and some on another by using the Out | Multiple Out Devices - Selected parts window.

You don't normally see Quicktime on the out menu of programs. The Roland however does add itself. If you want to use it on programs like Media Player that don't have an Out menu you can change what you want to use as the standard midi output device via Start | Settings | Control Panel | Multimedia | Midi

However, on Windows anyway, it seems that Quicktime works best when playing the tunes as midi clips - the timing can sometimes be a little erratic when it is used to play notes in real time "as they come". It has to be done in real time in FTS even for the fractal tunes, because the user can change the notes and the speed while the tune is playing. How well it plays in real time may depend on your setup.

To help Quicktime users, there's an option to save your current tune and show it in a web page and so you can play it that way, after previewing it in FTS. You do it via Files | Midi File Options | Save and Show as Html . This option can also be useful as a way to preview midi clilps in QT if you have it only in use on your system as a web page plug in (and haven't associated it with midi files).

When you play the notes from the music or PC keyboard QT seems to work reasonably well - with a small amount of latency of course.

Quicktime also makes pitch bend glides when you use it in real; time. It happens if you apply an "instant" pitch bend immediately before a note.

This is quite common with soft synths, but can be dealt with. See pitch glides (below) in the section on Limitations of some soft synths The first time you use FTS with QuickTimeyou will get a message about this. It offers to set a delay of 250 ms. You can change this from Out | Options | Out (menu) | Midi Out Timing - but need to set a delay there to avoid the message - you can set it to 0 ms if you don't need one.

The Roland soft synth

This uses the same sound set as Quicktime, but without the timing issues when played in real time. It is quite hard to obtain these days, but you can buy it at PG Music (you have to purchase another program as well).

The Roland Sound Canvas needs a modern PC - but any PC from 2000 or so onwards should be plenty fast enough, so this only needs to be checked if you have a really old PC.

The Roland will let you save midi files directly to audio format, which is neat.

How to use VSTi plugins (Virtual Studio Technology instruments) with FTS

There are many VSTi available which can expand your sound palette with many new instruments.

Many musicians already have Sonar, or Cakewalk or another Digital Audio Work Station. You can plug a VSTi into any of those, and then play them from FTS via a virtual midi cable. But if you don't have anything like that then you can get a free VST host.

One which I've tested and works well is Cantabile-Lite which is particularly simple and easy to use.

It would be a good way to get started using VSTi. For a list of some of the VSTi available see the Music Software: Plugins VSTi page at Shareware Music Machine.

If you have suggestions of ones that work particularly well microtonally do dive in and comment here :-).

I hear pitch artefacts - what can I do about them?

There are various reasons why this may happen. See Pitch artefacts for the details of what may happen, and what you can do about it.

Personal tools
Namespaces
Variants
Actions
Navigation
How to use the wiki
More
Toolbox