New Tuning Method: Difference between revisions

Wikispaces>TallKite
**Imported revision 453862358 - Original comment: **
Wikispaces>TallKite
**Imported revision 453907436 - Original comment: **
Line 1: Line 1:
<h2>IMPORTED REVISION FROM WIKISPACES</h2>
<h2>IMPORTED REVISION FROM WIKISPACES</h2>
This is an imported revision from Wikispaces. The revision metadata is included below for reference:<br>
This is an imported revision from Wikispaces. The revision metadata is included below for reference:<br>
: This revision was by author [[User:TallKite|TallKite]] and made on <tt>2013-09-24 18:08:48 UTC</tt>.<br>
: This revision was by author [[User:TallKite|TallKite]] and made on <tt>2013-09-24 21:21:58 UTC</tt>.<br>
: The original revision id was <tt>453862358</tt>.<br>
: The original revision id was <tt>453907436</tt>.<br>
: The revision comment was: <tt></tt><br>
: The revision comment was: <tt></tt><br>
The revision contents are below, presented both in the original Wikispaces Wikitext format, and in HTML exactly as Wikispaces rendered it.<br>
The revision contents are below, presented both in the original Wikispaces Wikitext format, and in HTML exactly as Wikispaces rendered it.<br>
Line 13: Line 13:
* Abelton Live filters out sysexes from the midi stream and keeps them from any VST it hosts.
* Abelton Live filters out sysexes from the midi stream and keeps them from any VST it hosts.
* FL Studio also does not allow VST plugins it hosts to receive sysex data. (see footnote)
* FL Studio also does not allow VST plugins it hosts to receive sysex data. (see footnote)
* Studio One doesn't allow recording or playback of sysexes
* Kontakt does not provide sysex support in its scripting language.
* Kontakt does not provide sysex support in its scripting language.
* SynthEdit can't receive sysexes. [[@http://www.synthedit.com/members/version-1-1-faq/|www.synthedit.com/members/version-1-1-faq/]]
* CSoundAV (CSound in real time) can't receive sysexes.
* CSoundAV (CSound in real time) can't receive sysexes.
* Jesusonic (Reaper's built-in programming language) can't receive sysexes.
* Jesusonic (Reaper's built-in programming language) can't receive sysexes.
* SonicBirth (an AU maker) doesn't even mention sysexes in its manual.
* SonicBirth (an AU maker) doesn't even mention sysexes in its manual.
This means that synths created with SynthEdit, CSoundAV, Jesusonic or SonicBirth can't implement MTS. Any synth that does implement MTS won't do so if hosted in Abelton Live or FL Studio. Also, Kontakt instruments can't be scripted to respond to MTS. For these reasons microtonalists have been considering alternatives to MTS sysexes.
This means that synths created with CSoundAV, Jesusonic or SonicBirth can't implement MTS. Any synth that does implement MTS won't do so if hosted in Abelton Live or FL Studio or Studio One. Also, Kontakt instruments can't be scripted to respond to MTS. For these reasons microtonalists have been considering alternatives to MTS sysexes.


The powers that be will probably never change the midi spec to give us what we want, a non-sysex method for tuning individual notes. So we've decided to simply create a new unofficial microtuning method. The plan is to have the new method supported by all the major midi tuning software packages, aka __**retuners**__: Alt-tuner, Bounce, Custom Scale Editor, Fractal Tune Smithy, LMSO, Scala, etc.
The powers that be will probably never change the midi spec to give us what we want, a non-sysex method for tuning individual notes. So we've decided to simply create a new unofficial microtuning method. The plan is to have the new method supported by all the major midi tuning software packages, aka __**retuners**__: Alt-tuner, Bounce, Custom Scale Editor, Fractal Tune Smithy, LMSO, Scala, etc.
Line 53: Line 53:
**__Implementation__:**
**__Implementation__:**


The new method uses keyswitches for the 5 highest keys, 123-127. If middle C is C4, these are notes D#9 to G9. These keyswitches are generated by software, not played by the musician. The velocity of the keyswitches is not actually a velocity, but 1 byte of tuning information. Keyswitch F#9's velocity is actually the input note, keyswitch F9's velocity is the output note, and keyswitches E9 and D#9's velocities are the pitch bend, in the exact same 2-byte format as the standard midi pitch bend message. This makes it easier for the synth developer or designer, because he has already written code that handles physical pitch bend wheel movement, and can just reuse it to handle tuning keyswitches. To bend note nn on channel c to note mm with bend of yyzz would take up to 4 midi note-on messages. In hexadecimal the midi looks like this:
The new method uses keyswitches for the 5 highest keys, 123-127. If middle C is C4, these are notes D#9 to G9. These keyswitches are generated by software, not played by the musician. The velocity of the keyswitches is not actually a velocity, but 1 byte of tuning information. Keyswitch F#9's velocity is actually the input note, keyswitch F9's velocity is the output note, and keyswitches E9 and D#9's velocities are the pitch bend, in the exact same 2-byte format as the standard midi pitch bend message. This makes it easier for the synth developer or designer, because he has already written code that handles physical pitch bend wheel movement, and can just reuse it to handle tuning keyswitches.  


F#9 note-on: 9c FE nn (input note, only needs to be sent when the input note changes)
Each keyswitch note-on needs to have a matching note-off, to avoid being misinterpreted and possibly blocked by the DAW or other environment. To this end, a zero-velocity note-on follows immediately. To bend note nn on channel c to note mm with bend of yyzz would take up to 4 note-on messages and 4 note-off messages. In hexadecimal the midi looks like this:
F9 note-on: 9c FD mm (output note, optional)
 
E9 note-on: 9c FC yy (coarse bend, optional)
F#9 note-on/note-off: 9c FE nn FE 00 (input note, only needs to be sent when the input note changes)
D#9 note-on: 9c FB zz (fine bend, required)
F9 note-on/note-off: 9c FD mm FD 00 (output note, optional)
E9 note-on/note-off: 9c FC yy FC 00 (coarse bend, optional)
D#9 note-on/note-off: 9c FB zz FB 00 (fine bend, required)


(//There may be an additional "ultra-fine bend" message added - Ed.//)
(//There may be an additional "ultra-fine bend" message added - Ed.//)


These messages are always sent in this order. If the F#9 input note keyswitch is omitted, additional output note and bend messages continue to affect the current input note, overwriting previous output note and bend messages. If no F#9 keyswitch is received, the current input note defaults to note #0. The F9 output note keyswitch is optional and would generally be omitted for 12-notes-per-octave tunings. The E9 coarse bend could be omitted for slight pitch bends that don't change the MSB of the pitch bend. The required D#9 fine bend functions as an "end of tuning message" marker, and the synth waits until receiving this keyswitch to actually apply the new tuning. In general, the retuning software will limit the pitch bends to +/- 50¢. The midi stream for pitch glides will be reduced to mostly fine bends, with coarse bends whenever the MSB boundary is crossed, and output note updates whenever the note boundary is crossed.
These messages are always sent in this order. Some of the "9c" bytes can be omitted via running status. If the F#9 input note keyswitch is omitted, additional output note and bend messages continue to affect the current input note, overwriting previous output note and bend messages. If no F#9 keyswitch is received, the current input note defaults to note #0. The F9 output note keyswitch is optional and would generally be omitted for 12-notes-per-octave tunings. The E9 coarse bend could be omitted for slight pitch bends that don't change the MSB of the pitch bend. The required D#9 fine bend functions as an "end of tuning message" marker, and the synth waits until receiving this keyswitch to actually apply the new tuning. In general, the retuning software will limit the pitch bends to +/- 50¢. The midi stream for pitch glides will be reduced to mostly fine bends, with coarse bends whenever the MSB boundary is crossed, and output note updates whenever the note boundary is crossed.
 
The note-ons need to have matching note-offs to avoid being misinterpreted and possibly blocked by the DAW or other environment. To this end, the note-ons for each keyswitch are alternated with note-offs. Thus if one input note message is 9c FE nn, the next one will be of the form 8c FE nn.


The G9 keyswitch with velocity 1 resets the tuning of all notes. On receiving this message, the synth should reset all notes on that channel back to standard tuning. To reset all notes on channel c:
The G9 keyswitch with velocity 1 resets the tuning of all notes. On receiving this message, the synth should reset all notes on that channel back to standard tuning. To reset all notes on channel c:


G9 note-on: 9c FF 01 (reset all notes on channel c)
G9 note-on/note-off: 9c FF 01 FF 00 (reset all notes on channel c)


Because note-ons with velocity zero are interpreted as note-offs, such a message must be transmitted via the G9 keyswitch, using velocities 2 through 5:
Because note-ons with velocity zero are interpreted as note-offs, a message conveying a zero value for the note or the bend must be transmitted via the G9 keyswitch, using velocities 2 through 5, like so:


G9 note-on: 9c FF 02 (set input note to #0)
G9 note-on/note-off: 9c FF 02 FF 00 (set input note to #0)
G9 note-on: 9c FF 03 (set output note to the C five octaves below middle-C)
G9 note-on/note-off: 9c FF 03 FF 00 (set output note to the C five octaves below middle-C)
G9 note-on: 9c FF 04 (set coarse bend to 0¢)
G9 note-on/note-off: 9c FF 04 FF 00 (set coarse bend to 0¢)
G9 note-on: 9c FF 05 (set fine bend to 0¢)
G9 note-on/note-off: 9c FF 05 FF 00 (set fine bend to 0¢)


To reset an individual note nn on channel c to standard pitch:
To reset an individual note nn on channel c to standard pitch (assuming nn &gt; 0), and using running status. Note that in this example, the G9 keyswitch with a velocity of 5 indicates "end of tuning message":


F#9 note-on: 9c FE nn (set input note)
F#9 note-on/note-off: 9c FE nn FE 00 (set input note)
F9 note-on: 9c FD nn (set output note to input note)
F9 note-on/note-off: FD nn FD 00 (set output note to input note)
E9 note-on: 9c FC 80 (set coarse bend to 0¢)
E9 note-on/note-off: FC 80 FC 00 (set coarse bend to 0¢)
G9 note-on: 9c FF 05 (set fine bend to 0¢)
G9 note-on/note-off: FF 05 FF 00 (set fine bend to 0¢)


To set a switchable multi-timbral synth to mono-tunable mode or multi-tunable mode:
To set a switchable multi-timbral synth to mono-tunable mode or multi-tunable mode:


G9 note-on: 9c FF 06 (set to mono-tunable)
G9 note-on/note-off: 9c FF 06 FF 00 (set to mono-tunable)
G9 note-on: 9c FF 07 (set to multi-tunable)
G9 note-on/note-off: 9c FF 07 FF 00 (set to multi-tunable)


Remember in all of these messages, the "9c" will be "8c" half the time.
Robert Walker has written a Kontakt script that implements this method for most Kontakt instruments. The script is still in beta: [[@http://robertinventor.com/ftswiki/High_numbered_keyswitches_retuning]]


Robert Walker has written a Kontakt script that implements this method for most Kontakt instruments. The script is still in beta: [[@http://robertinventor.com/ftswiki/High_numbered_keyswitches_retuning]]
----
 
**__The future of MTS__:**
 
It is our hope that keyswitch tuning catches on and is implemented more widely than MTS has been. However MTS retuning is already supported by all the major retuners, and there are no plans to discontinue support.
Synths that already support MTS may want to add support for keyswitch tuning as well.


----
----
Line 165: Line 170:
&lt;br /&gt;
&lt;br /&gt;
Sysexes have the disadvantage of being poorly supported in many environments:&lt;br /&gt;
Sysexes have the disadvantage of being poorly supported in many environments:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Abelton Live filters out sysexes from the midi stream and keeps them from any VST it hosts.&lt;/li&gt;&lt;li&gt;FL Studio also does not allow VST plugins it hosts to receive sysex data. (see footnote)&lt;/li&gt;&lt;li&gt;Kontakt does not provide sysex support in its scripting language.&lt;/li&gt;&lt;li&gt;SynthEdit can't receive sysexes. &lt;a class="wiki_link_ext" href="http://www.synthedit.com/members/version-1-1-faq/" rel="nofollow" target="_blank"&gt;www.synthedit.com/members/version-1-1-faq/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;CSoundAV (CSound in real time) can't receive sysexes.&lt;/li&gt;&lt;li&gt;Jesusonic (Reaper's built-in programming language) can't receive sysexes.&lt;/li&gt;&lt;li&gt;SonicBirth (an AU maker) doesn't even mention sysexes in its manual.&lt;/li&gt;&lt;/ul&gt;This means that synths created with SynthEdit, CSoundAV, Jesusonic or SonicBirth can't implement MTS. Any synth that does implement MTS won't do so if hosted in Abelton Live or FL Studio. Also, Kontakt instruments can't be scripted to respond to MTS. For these reasons microtonalists have been considering alternatives to MTS sysexes.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Abelton Live filters out sysexes from the midi stream and keeps them from any VST it hosts.&lt;/li&gt;&lt;li&gt;FL Studio also does not allow VST plugins it hosts to receive sysex data. (see footnote)&lt;/li&gt;&lt;li&gt;Studio One doesn't allow recording or playback of sysexes&lt;/li&gt;&lt;li&gt;Kontakt does not provide sysex support in its scripting language.&lt;/li&gt;&lt;li&gt;CSoundAV (CSound in real time) can't receive sysexes.&lt;/li&gt;&lt;li&gt;Jesusonic (Reaper's built-in programming language) can't receive sysexes.&lt;/li&gt;&lt;li&gt;SonicBirth (an AU maker) doesn't even mention sysexes in its manual.&lt;/li&gt;&lt;/ul&gt;This means that synths created with CSoundAV, Jesusonic or SonicBirth can't implement MTS. Any synth that does implement MTS won't do so if hosted in Abelton Live or FL Studio or Studio One. Also, Kontakt instruments can't be scripted to respond to MTS. For these reasons microtonalists have been considering alternatives to MTS sysexes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The powers that be will probably never change the midi spec to give us what we want, a non-sysex method for tuning individual notes. So we've decided to simply create a new unofficial microtuning method. The plan is to have the new method supported by all the major midi tuning software packages, aka &lt;u&gt;&lt;strong&gt;retuners&lt;/strong&gt;&lt;/u&gt;: Alt-tuner, Bounce, Custom Scale Editor, Fractal Tune Smithy, LMSO, Scala, etc.&lt;br /&gt;
The powers that be will probably never change the midi spec to give us what we want, a non-sysex method for tuning individual notes. So we've decided to simply create a new unofficial microtuning method. The plan is to have the new method supported by all the major midi tuning software packages, aka &lt;u&gt;&lt;strong&gt;retuners&lt;/strong&gt;&lt;/u&gt;: Alt-tuner, Bounce, Custom Scale Editor, Fractal Tune Smithy, LMSO, Scala, etc.&lt;br /&gt;
Line 197: Line 202:
&lt;strong&gt;&lt;u&gt;Implementation&lt;/u&gt;:&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;u&gt;Implementation&lt;/u&gt;:&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The new method uses keyswitches for the 5 highest keys, 123-127. If middle C is C4, these are notes D#9 to G9. These keyswitches are generated by software, not played by the musician. The velocity of the keyswitches is not actually a velocity, but 1 byte of tuning information. Keyswitch F#9's velocity is actually the input note, keyswitch F9's velocity is the output note, and keyswitches E9 and D#9's velocities are the pitch bend, in the exact same 2-byte format as the standard midi pitch bend message. This makes it easier for the synth developer or designer, because he has already written code that handles physical pitch bend wheel movement, and can just reuse it to handle tuning keyswitches. To bend note nn on channel c to note mm with bend of yyzz would take up to 4 midi note-on messages. In hexadecimal the midi looks like this:&lt;br /&gt;
The new method uses keyswitches for the 5 highest keys, 123-127. If middle C is C4, these are notes D#9 to G9. These keyswitches are generated by software, not played by the musician. The velocity of the keyswitches is not actually a velocity, but 1 byte of tuning information. Keyswitch F#9's velocity is actually the input note, keyswitch F9's velocity is the output note, and keyswitches E9 and D#9's velocities are the pitch bend, in the exact same 2-byte format as the standard midi pitch bend message. This makes it easier for the synth developer or designer, because he has already written code that handles physical pitch bend wheel movement, and can just reuse it to handle tuning keyswitches. &lt;br /&gt;
&lt;br /&gt;
Each keyswitch note-on needs to have a matching note-off, to avoid being misinterpreted and possibly blocked by the DAW or other environment. To this end, a zero-velocity note-on follows immediately. To bend note nn on channel c to note mm with bend of yyzz would take up to 4 note-on messages and 4 note-off messages. In hexadecimal the midi looks like this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
F#9 note-on: 9c FE nn (input note, only needs to be sent when the input note changes)&lt;br /&gt;
F#9 note-on/note-off: 9c FE nn FE 00 (input note, only needs to be sent when the input note changes)&lt;br /&gt;
F9 note-on: 9c FD mm (output note, optional)&lt;br /&gt;
F9 note-on/note-off: 9c FD mm FD 00 (output note, optional)&lt;br /&gt;
E9 note-on: 9c FC yy (coarse bend, optional)&lt;br /&gt;
E9 note-on/note-off: 9c FC yy FC 00 (coarse bend, optional)&lt;br /&gt;
D#9 note-on: 9c FB zz (fine bend, required)&lt;br /&gt;
D#9 note-on/note-off: 9c FB zz FB 00 (fine bend, required)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(&lt;em&gt;There may be an additional &amp;quot;ultra-fine bend&amp;quot; message added - Ed.&lt;/em&gt;)&lt;br /&gt;
(&lt;em&gt;There may be an additional &amp;quot;ultra-fine bend&amp;quot; message added - Ed.&lt;/em&gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These messages are always sent in this order. If the F#9 input note keyswitch is omitted, additional output note and bend messages continue to affect the current input note, overwriting previous output note and bend messages. If no F#9 keyswitch is received, the current input note defaults to note #0. The F9 output note keyswitch is optional and would generally be omitted for 12-notes-per-octave tunings. The E9 coarse bend could be omitted for slight pitch bends that don't change the MSB of the pitch bend. The required D#9 fine bend functions as an &amp;quot;end of tuning message&amp;quot; marker, and the synth waits until receiving this keyswitch to actually apply the new tuning. In general, the retuning software will limit the pitch bends to +/- 50¢. The midi stream for pitch glides will be reduced to mostly fine bends, with coarse bends whenever the MSB boundary is crossed, and output note updates whenever the note boundary is crossed.&lt;br /&gt;
These messages are always sent in this order. Some of the &amp;quot;9c&amp;quot; bytes can be omitted via running status. If the F#9 input note keyswitch is omitted, additional output note and bend messages continue to affect the current input note, overwriting previous output note and bend messages. If no F#9 keyswitch is received, the current input note defaults to note #0. The F9 output note keyswitch is optional and would generally be omitted for 12-notes-per-octave tunings. The E9 coarse bend could be omitted for slight pitch bends that don't change the MSB of the pitch bend. The required D#9 fine bend functions as an &amp;quot;end of tuning message&amp;quot; marker, and the synth waits until receiving this keyswitch to actually apply the new tuning. In general, the retuning software will limit the pitch bends to +/- 50¢. The midi stream for pitch glides will be reduced to mostly fine bends, with coarse bends whenever the MSB boundary is crossed, and output note updates whenever the note boundary is crossed.&lt;br /&gt;
&lt;br /&gt;
The note-ons need to have matching note-offs to avoid being misinterpreted and possibly blocked by the DAW or other environment. To this end, the note-ons for each keyswitch are alternated with note-offs. Thus if one input note message is 9c FE nn, the next one will be of the form 8c FE nn.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The G9 keyswitch with velocity 1 resets the tuning of all notes. On receiving this message, the synth should reset all notes on that channel back to standard tuning. To reset all notes on channel c:&lt;br /&gt;
The G9 keyswitch with velocity 1 resets the tuning of all notes. On receiving this message, the synth should reset all notes on that channel back to standard tuning. To reset all notes on channel c:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
G9 note-on: 9c FF 01 (reset all notes on channel c)&lt;br /&gt;
G9 note-on/note-off: 9c FF 01 FF 00 (reset all notes on channel c)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Because note-ons with velocity zero are interpreted as note-offs, such a message must be transmitted via the G9 keyswitch, using velocities 2 through 5:&lt;br /&gt;
Because note-ons with velocity zero are interpreted as note-offs, a message conveying a zero value for the note or the bend must be transmitted via the G9 keyswitch, using velocities 2 through 5, like so:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
G9 note-on: 9c FF 02 (set input note to #0)&lt;br /&gt;
G9 note-on/note-off: 9c FF 02 FF 00 (set input note to #0)&lt;br /&gt;
G9 note-on: 9c FF 03 (set output note to the C five octaves below middle-C)&lt;br /&gt;
G9 note-on/note-off: 9c FF 03 FF 00 (set output note to the C five octaves below middle-C)&lt;br /&gt;
G9 note-on: 9c FF 04 (set coarse bend to 0¢)&lt;br /&gt;
G9 note-on/note-off: 9c FF 04 FF 00 (set coarse bend to 0¢)&lt;br /&gt;
G9 note-on: 9c FF 05 (set fine bend to 0¢)&lt;br /&gt;
G9 note-on/note-off: 9c FF 05 FF 00 (set fine bend to 0¢)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To reset an individual note nn on channel c to standard pitch:&lt;br /&gt;
To reset an individual note nn on channel c to standard pitch (assuming nn &amp;gt; 0), and using running status. Note that in this example, the G9 keyswitch with a velocity of 5 indicates &amp;quot;end of tuning message&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
F#9 note-on: 9c FE nn (set input note)&lt;br /&gt;
F#9 note-on/note-off: 9c FE nn FE 00 (set input note)&lt;br /&gt;
F9 note-on: 9c FD nn (set output note to input note)&lt;br /&gt;
F9 note-on/note-off: FD nn FD 00 (set output note to input note)&lt;br /&gt;
E9 note-on: 9c FC 80 (set coarse bend to 0¢)&lt;br /&gt;
E9 note-on/note-off: FC 80 FC 00 (set coarse bend to 0¢)&lt;br /&gt;
G9 note-on: 9c FF 05 (set fine bend to 0¢)&lt;br /&gt;
G9 note-on/note-off: FF 05 FF 00 (set fine bend to 0¢)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To set a switchable multi-timbral synth to mono-tunable mode or multi-tunable mode:&lt;br /&gt;
To set a switchable multi-timbral synth to mono-tunable mode or multi-tunable mode:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
G9 note-on: 9c FF 06 (set to mono-tunable)&lt;br /&gt;
G9 note-on/note-off: 9c FF 06 FF 00 (set to mono-tunable)&lt;br /&gt;
G9 note-on: 9c FF 07 (set to multi-tunable)&lt;br /&gt;
G9 note-on/note-off: 9c FF 07 FF 00 (set to multi-tunable)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remember in all of these messages, the &amp;quot;9c&amp;quot; will be &amp;quot;8c&amp;quot; half the time.&lt;br /&gt;
Robert Walker has written a Kontakt script that implements this method for most Kontakt instruments. The script is still in beta: &lt;a class="wiki_link_ext" href="http://robertinventor.com/ftswiki/High_numbered_keyswitches_retuning" rel="nofollow" target="_blank"&gt;http://robertinventor.com/ftswiki/High_numbered_keyswitches_retuning&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Robert Walker has written a Kontakt script that implements this method for most Kontakt instruments. The script is still in beta: &lt;a class="wiki_link_ext" href="http://robertinventor.com/ftswiki/High_numbered_keyswitches_retuning" rel="nofollow" target="_blank"&gt;http://robertinventor.com/ftswiki/High_numbered_keyswitches_retuning&lt;/a&gt;&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;u&gt;The future of MTS&lt;/u&gt;:&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
It is our hope that keyswitch tuning catches on and is implemented more widely than MTS has been. However MTS retuning is already supported by all the major retuners, and there are no plans to discontinue support.&lt;br /&gt;
Synths that already support MTS may want to add support for keyswitch tuning as well.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;hr /&gt;
&lt;br /&gt;
&lt;br /&gt;
Footnote on FL Studio sysex compatibility.&lt;br /&gt;
Footnote on FL Studio sysex compatibility.&lt;br /&gt;
&lt;!-- ws:start:WikiTextUrlRule:172:http://forum.image-line.com/viewtopic.php?p=824112 --&gt;&lt;a class="wiki_link_ext" href="http://forum.image-line.com/viewtopic.php?p=824112" rel="nofollow"&gt;http://forum.image-line.com/viewtopic.php?p=824112&lt;/a&gt;&lt;!-- ws:end:WikiTextUrlRule:172 --&gt;&lt;br /&gt;
&lt;!-- ws:start:WikiTextUrlRule:176:http://forum.image-line.com/viewtopic.php?p=824112 --&gt;&lt;a class="wiki_link_ext" href="http://forum.image-line.com/viewtopic.php?p=824112" rel="nofollow"&gt;http://forum.image-line.com/viewtopic.php?p=824112&lt;/a&gt;&lt;!-- ws:end:WikiTextUrlRule:176 --&gt;&lt;br /&gt;
(official FL Studio forum, must register to view the full thread)&lt;br /&gt;
(official FL Studio forum, must register to view the full thread)&lt;br /&gt;
Excerpted from a July 2013 conversation with &amp;quot;Reflex&amp;quot;, a site admin:&lt;br /&gt;
Excerpted from a July 2013 conversation with &amp;quot;Reflex&amp;quot;, a site admin:&lt;br /&gt;