Author Topic: ModPlug Tracker VST Plugins Compendium (Synth1 Based)  (Read 770 times)

Offline Speed

  • Shy artist
  • Posts: 4
ModPlug Tracker VST Plugins Compendium (Synth1 Based)
« on: April 14, 2021, 22:20:59 »
ModPlug Tracker VST Plugins Compendium (Synth1 Based)
v1.03 (2021-04-16)
by Speed / Audiologic Experiment

Everything you need to know to control VST plugins on ModPlug Tracker in one place, condensed, with examples, tested on version 1.28.10.
Compendium is based on most popular, advanced, built-in effects, no install, small size, low CPU usage, 20k+ user preset, MPT compatible, and free, Synth1, but will also help to deal with other VST plugins as well.
Sorry for my not perfect english, but I hope this content will be useful.
Note that this compendium is written from my personal point of view after varied experiences of using 400+ VST plugins with MPT.
MPT team is not involved, so my suggestions can not be taken as official state.
Special thanks to wiki/manual creators and Saga Musix for helpful posts.

Useful Links

Synth1 official website (with 32-bit/64-bit download):
https://daichilab.sakura.ne.jp/softsynth/index.html#down
Synth1 detailed manual:
https://sound.eti.pg.gda.pl/student/eim/doc/Synth1.pdf
Synth1 16k preset pack (made by users, no duplicates, 10 MB):
https://www.mediafire.com/file/ko0ipjysgw1cigt/16k-Synth1-Presets.zip/file
Synth1 3k preset pack update (additional presets, no duplicates, 2 MB):
https://www.mediafire.com/file/zwnahns3btahw3y/16k-Synth1-Presets-3k-Update-2020.zip/file
Dead Duck VST effects pack (free, 20+ basic effects, clear GUI, quick bypass, no install, small size, low CPU usage, MPT compatible):
https://deadducksoftware.blogspot.com/
KVR free VST instruments list (sorted by user favorite ranking):
https://www.kvraudio.com/groups/favorites-1/vst-plugins/instruments/free/
KVR free VST effects list (sorted by user favorite ranking):
https://www.kvraudio.com/groups/favorites-1/vst-plugins/effects/free/
Wayback Machine (useful to download latest free VST plugins from official dead websites):
http://web.archive.org/
Audacity (open source audio editor in case you need any for advanced sample editing):
https://www.audacityteam.org/
ModPlug Wiki (with effect commands list):
https://wiki.openmpt.org/Manual:_Effect_Reference#IT_Effect_Commands
ModPlug Manual (v1.19.1 based, but still useful, contains detailed effects explanation):
http://modplug.sourceforge.net/ohm/OHM%201.19.1.pdf

Adding VST

Add new VST instrument/effect plugin with following steps:
[General (tab)] - [Plugins (section)] - [Select... (button)]
[Plugin Manager (window)] - [New plugin... (button)] - [(choose VST plugin dll file from any path)]
[Plugin Manager (window)] - [(select VST plugin from the list)] - [Put in FX01 (button)]
Repeat process to add up to 250 plugins per module in FX1 to FX250 slots.
Replace VST instrument/effect plugin with following steps:
[General (tab)] - [Plugins (section)] - [(select plugin from FX1 to FX250)] - [Select... (button)]
Change VST instrument plugin with following steps:
[Instruments (tab)] - [Plugin / MIDI (section)] - [(select instrument plugin from FX1 to FX250)]
Note: MPT works with VST 2 dll plugins only.
Note 2: MPT 64-bit can work with both, 32-bit and 64-bit VST plugins, but 64-bit versions are recommended for better stability and performance.
Note 3: You can add more copies of the same VST plugin if needed (they will work independently).
Note 4: Adding too many plugins may lead to too much CPU usage and MPT stability issues (depends on used plugins).

Editing VST

Tweak VST instrument/effect plugin parameters with following steps:
[General (tab)] - [Plugins (section)] - [(select plugin from FX1 to FX250)] - [Edit... (button)]
or (if plugin GUI is for some reason not working - crashed, white background, or controls do not respond to mouse)
[General (tab)] - [Plugins (section)] - [(select plugin from FX1 to FX250)] - [Parameter (selector and slider)]
or (if set as instrument)
[Patterns (tab)] - [(select instrument)] - [Plugin (button)]
or (if set as instrument)
[Instruments (tab)] - [Plugin / MIDI (section)] - [Editor (button)]

VST Instruments - Volume - Global Volume

Global Volume in Instruments tab may not work for VST instruments in the same way as for traditional sample based, if it will change anything at all, so it would be safer to not use it.
Note that if you change Global Volume from 64 to other number (depending on Volume commands with note are Velocities turned on, velocity supported by VST instrument, Volume Command Handling setting), it may affect only notes with no volume set (like: C-5 01 .. ...) and keep notes with volume unchanged (like: C-5 01 v32 ...), which is not a result that you probably expect.
To tweak general volume of instrument, you could use volume control of VST plugin itself (Synth1 has Vol parameter and Gain in Amplifier section), but not all plugins have such feature and you may also need it later for dynamic control of volume (which would break general volume tweak), so generally it is better solution, but again, better leave it alone.
The third, probably most reliable option (keep Global Volume at 64 and Volume Command Handling with None setting), is to use Wet Dry ratio with following steps:
[General (tab)] - [Plugins (section)] - [(select instrument plugin from FX1 to FX250)] - [Mix Settings (section)] - [Wet Dry (slider)]
There is also Gain setting near Wet Dry slider, in case you would need it for other purpose, but you can lower volume by only 10% precision (or increase too quiet plugins up to 8 times).
Note: 100% Wet has exactly the same impact on plugin output as Global Volume 64 for samples, 75% as 48, 50% as 32, 25% as 16, and so on.
Note 2: Mix Mode at Mix Settings must be set to default, if Wet Dry slider must work as normal Global Volume.

VST Instruments - Volume - Velocity

To handle variable volume for notes (like: C-5 01 v32 ...), recommended option is Volume commands with notes are Velocities turned on in Instruments tab, but not all plugins may support it (Synth1 do, keep Vel parameter in Amplifier section with value 64 for volumes similar to traditional sample based instruments).
Otherwise, if you really need variable volume for notes (instead of setting one static Global Volume), you may try to use Volume Handling Option set to MIDI volume (if VST instrument supports it, but if does not support velocity, then probably MIDI commands are not supported too or use non standard code) or Wet Dry ratio (which you probably prefer to use for Global Volume, so this option will break general volume tweaks), and turn off Volume commands with note are Velocities.
If MIDI volume is not supported and Wet Dry is used for Global Volume, but plugin has volume parameter, then the same effect can be obtained by using Parameter Control Events (like for Synth1, half Gain parameter in Amplifier section: PC 01 029 500) in additional channel at Patterns tab in the same time as notes (check Volume Manipulation below for more details).
Either way, all of these alternatives are far from perfect, since they cause jumps with general instrument volume, which affects all sounds of instrument, including release from ADSR envelope (if next note is higher volume, then sound of release from previous will also go up) and additional effects like built-in delay (if next note is higher volume, then sound of built-in delay effect from previous will also go up, but solution is to use separated VST effect plugin instead), so it may work properly only for no polyphony mode, no release, and no built-in delay effects.
The third option, if all above did not work well, is a trick of creating few instances of the same instrument, setting each copy with different Global Volume.
Note: If recommended Volume commands with notes are Velocities is not working, check plugin parameters and settings, because some presets may have velocity set to 0 or turned off.
Note 2: You may need to tweak Velocity parameter of a plugin if possible, because it might be set too high or too low, resulting in too quiet or too loud for specific volume (v32 may not sound like half volume, or it can be noticeable with v16 or v08).

VST Instruments - Volume - Manipulation

To handle volume manipulation in parts without notes (like: ... .. v32 ...), there is Volume Command Handling in Instruments tab, but this is not a good choice, since it will cause general instrument volume jumps (that affects all sounds like ADSR release and built-in delay effects) and not react to volumes used with notes (they are controlled by velocity instead), so you may experience unwanted volume changing behaviors like half general volume v32 from non note volume setting and then note with v64 playing at that half, which is not a result that you probably expect.
Solution for that is dynamically using volume parameter of a plugin with Parameter Control Events in additional channel at Patterns tab, if supported, which for Synth1 where Gain parameter has ID 29 would be following:
PCs 01 029 999
PCs 01 029 500
PCs 01 029 250
PCs 01 029 125
All sounds of instrument will still be affected (like ADSR release and built-in delay effects), but Velocity and Wet Dry ratio for Global Volume will keep working independently.
First parameter that appears in space normally reserved for note (double click in note space and choose it from bottom options of Note selector in appeared Note Properties window), PCs means smooth change between parameter values, while PC alternative would mean instant change.
Second is ID of plugin slot (not instrument, not plugin counter), so 01 stays for plugin in first slot, FX1 (there can be slots with no plugins between, so if there is first plugin in slot FX1, nothing in FX2, and then second plugin in FX3, then second plugin will have ID 3, not 2).
Third is ID of parameter of chosen plugin to control (for Synth1, 29 is ID of Gain parameter in Amplifier section, but you can check ID of all available parameters for specific plugin in Effect Type selector of Note Properties window of Patterns tab or Plugins section of General tab)
Forth is value for chosen parameter, from 0 to 999, so 500 is 50,0% and center of parameter (for Synth1, it is same as 64 of 128).
This way you can manipulate any parameters of a plugin, even more than 1 in the same time, each in separated channel.
Similar effect can be obtained by using MIDI CC message for volume (check Pan below for more details), but it is not recommended if above solution is working.
Tremolo (automatic volume jumps) can be obtained with LFO, if plugin has it, which for Synth1 LFO section would be setting sine wave, amp, Spd to 96 (displays as 8 if Tempo Sync is activated, controls speed), Amt to 96 (depending on needs, controls depth), and turning on Tempo Sync (Key Sync can also be turned on if needed) and LFO (or turning LFO only when needed with Parameter Control Events).
LFO 1 (last parameter is turning on, PC 01 057 000 to off, PC 01 068 999 for Key Sync if needed):
PC 01 042 400 | PC 01 041 500 | PC 01 043 750 | PC 01 044 750 | PC 01 067 999 | PC 01 057 999
LFO 2, if first is already used for something other (last parameter is turning on, PC 01 058 000 to off, PC 01 070 999 for Key Sync if needed):
PC 01 047 400 | PC 01 046 500 | PC 01 048 750 | PC 01 049 750 | PC 01 069 999 | PC 01 058 999
Note: You can use Parameter Control Events to control also effect plugins (just use plugin slot ID).

VST Instruments - Pan

Pan in Instruments tab and Pan commands will not work for VST instruments like it is for traditional sample based.
If plugin has Pan parameter, then it can be set and controlled dynamically with Parameter Control Events in additional channel at Patterns tab, which for Synth1 center, left, and right, where Pan parameter has ID 90 would be following (check Volume Manipulation above for more details):
PCs 01 090 500
PCs 01 090 000
PCs 01 090 999
Some plugins that does not offer such feature, can still react to MIDI Control Change messages (like K1v), known in short as MIDI CC, which can set by following steps:
[Patterns (tab)] - [Zxx (icon)]
or
[View (menu)] - [Zxx Macro Configuration (menu)]
then
[Zxx Macro Configuration (window)] - [SF0 (button)] - [Type: MIDI CC... (selector)] - [MIDI CC: CC 10 Panposition (selector)] - [OK (button)]
After MIDI Macro is configured, it can control instrument plugin in a channel as long as there is no effect plugin attached to this channel (effect plugins on instrument does not count), with following using of \xx (smooth) or Zxx (instant) commands for center, left and right (works with K1v, but does not work with Synth1 until you set MIDI code 10 for Pan in its options that probaly will be saved only in your file system, not module):
C-5 01 .. \40
C-5 01 .. \00
C-5 01 .. \7F
This way you can send various MIDI CC messages to a plugin to try control something that is hidden (K1v has also master volume in addition to instrument volume, but it is not visible) and not controllable with Parameter Control Events (PCs or PC), but plugins can use different MIDI codes than ones in General MIDI specification, if supporting any at all.
Zxx Macro Configuration can store up to 16 MIDI CC codes, from SF0 to SFF, but you can use one code on multiple channels independently with various values as long as instruments support the same code.
In case of using more codes, any codes above first, must be specified in channel with SFx command before use (can be also used to switch between codes if needed) as follows for second code:
... .. .. SF1
C-5 01 .. \40
If above solutions do not work, then last option would be to sacrifice Wet Dry ratio slider (that maybe is already used for Global Volume), but for some reason Mix Mode allow to choose LR Balance only for plugin effects, so you may try a trick by sending instrument output to some effect plugin to be able to use this setting (result will depend on used plugin).
All methods affect any sounds of a plugin.
Panbrello (automatic moving between left and right) can be obtained with LFO, if plugin has it, which for Synth1 LFO section would be setting sine wave, pan, Spd to 48 (displays as 1 if Tempo Sync is activated, controls speed), Amt to 64 (depending on needs, controls depth), and turning on Tempo Sync (Key Sync can also be turned on if needed) and LFO (or turning LFO only when needed with Parameter Control Events).
LFO 1 (last parameter is turning on, PC 01 057 000 to off, PC 01 068 999 for Key Sync if needed):
PC 01 042 400 | PC 01 041 999 | PC 01 043 375 | PC 01 044 500 | PC 01 067 999 | PC 01 057 999
LFO 2, if first is already used for something other (last parameter is turning on, PC 01 058 000 to off, PC 01 070 999 for Key Sync if needed):
PC 01 047 400 | PC 01 046 999 | PC 01 048 375 | PC 01 049 500 | PC 01 069 999 | PC 01 058 999
Note: Putting two copies of mono synth, one on left and one on right to manipulate stereo with delay or fine tune techniques may not work as expected, because random delays between them may occur (like in K1v), leading to unwanted random phase (use one synth with output to proper effect plugin instead).

VST Instruments - Pitch

If plugin supports standard MIDI CC pitch bend range, then standard pitch command effects can be used, but will be limited to current maximum range of this plugin (usually 2, 12, or 24 semitones).
To make it work properly, current pitch bend range of a plugin must be set with following steps (for Synth1 it is 12, but it may depend on current preset setting with max possible value 24):
[Instruments (tab)] - [Plugin / MIDI (section)] - [P. Bend Range (input)]
Be sure that Linear Frequency Slides is turned on and Old Effects IT is turned off (both are in Song Properties window, that can be found it in View menu).
If plugin does not support standard MIDI CC pitch bend range, but supports pitch manipulation with other MIDI CC codes, then MIDI Macro can be configured (check Pan above for more details).
Other option, if any pitch parameters are available, then Parameter Control Events can be used to control them (check Volume Manipulation below for more details).
Note: Standard pitch command effects can be continued in next rows with previous memorized value by setting them to 0 (E00, F00, H00, U00, or J00), which can be used for quick value change in just one row to affect all others.

VST Instruments - Pitch - Portamento

Portamento Down is a standard pitch command effect, ranging from E01 to EDF (223), where pitch depends on ticks per row (2 ticks = value 16 for semitone, 3 = 8, 5 = 4, other ticks are not as accurate, but all affect pitch in the same way also in modern tempo mode, which is rows per beat based), so going down by 1 semitone with 3 ticks per row would be as follows:
... .. .. E08
Fine Portamento Down is a standard pitch command effect, ranging from EE1 to EEF (15), where value is 1/64 of semitone (8 * value 8 = semitone, semitone = 100 cents, value 8 = 12,5 cents, value 1 = 1,5625 cents), so going down by 1 semitone would require 8 rows like:
... .. .. EE8
Extra Fine Portamento Down is a standard pitch command effect, ranging from EF1 to EFF (15), where value is 1/16 of semitone (2 * value 8 = semitone, semitone = 100 cents, value 8 = 50 cents, value 1 = 6,25 cents), so going down by 1 semitone would require 2 rows like:
... .. .. EF8
Portamento Up is a standard pitch command effect, ranging from F01 to FDF (223), where pitch depends on ticks per row (2 ticks = value 16 for semitone, 3 = 8, 5 = 4, other ticks are not as accurate, but all affect pitch in the same way also in modern tempo mode, which is rows per beat based), so going up by 1 semitone with 3 ticks per row would be as follows:
... .. .. F08
Fine Portamento Up is a standard pitch command effect, ranging from FE1 to FEF (15), where value is 1/64 of semitone (8 * value 8 = semitone, semitone = 100 cents, value 8 = 12,5 cents, value 1 = 1,5625 cents), so going up by 1 semitone would require 8 rows like:
... .. .. FE8
Extra Fine Portamento Up is a standard pitch command effect, ranging from FF1 to FFF (15), where value is 1/16 of semitone (2 * value 8 = semitone, semitone = 100 cents, value 8 = 50 cents, value 1 = 6,25 cents), so going up by 1 semitone would require 2 rows like:
... .. .. FF8
If plugin has pitch parameters (pitch, tune, fine, detune), then they can be set and controlled dynamically with Parameter Control Events in additional channel at Patterns tab, which for Synth1 base tone, -1 semitone, and +1 semitone (1000 divided by 49 possible values = around 20 per semitone), where Key Shift parameter has ID 9 (Tune has ID 72 and uses cents accuracy from -62 to +61, semitone = 100 cents) would be following (check Volume Manipulation above for more details):
PCs 01 009 500
PCs 01 009 480
PCs 01 009 520

VST Instruments - Pitch - Vibrato

Vibrato is a standard pitch command effect with speed (first part of value from 1 to F, oscilations per row, affected by tempo, rows per beat, and ticks per row) and depth (second part of value from 1 to F, pitch range), so values of 8 and 4 would be as follows:
... .. .. H84
Fine Vibrato is a standard pitch command effect with speed (first part of value from 1 to F, oscilations per row, affected by tempo, rows per beat, and ticks per row) and 4 times more accurate (H81 = U84) depth (second part of value from 1 to F, pitch range), so values of 8 and 12 would be as follows:
... .. .. U8C
Vibrato Waveform is a standard pitch command effect that allows to set waveform for Vibrato and Fine Vibrato with options like S30 for sine (default), S31 for saw, S32 for square, and S33 for random.
If plugin has pitch parameters (pitch, tune, fine, detune), then they can be used to create vibrato by controlling them dynamically with Parameter Control Events in additional channel at Patterns tab, which for Synth1 tuning jumps (tweaked for 4 rows per beat in modern tempo mode or 3 ticks per row) and back to base tone, where Tune parameter has ID 72 would be following (check Volume Manipulation above for more details):
PCs 01 072 250
PCs 01 072 750
PCs 01 072 250
PCs 01 072 750
PCs 01 009 500
Alternatively, vibrato can be also obtained with LFO, if plugin has it, which for Synth1 LFO section would be setting sine wave, osc1,2, Spd to 96 (displays as 8 if Tempo Sync is activated, controls speed), Amt from 1 to 4 (depending on needs, controls depth), and turning on Tempo Sync (MPT originally does not sync to key, but Key Sync can also be turned on if needed) and LFO (or turning LFO only when needed with Parameter Control Events).
LFO 1 (last parameter is turning on, PC 01 057 000 to off, PC 01 068 999 for Key Sync if needed):
PC 01 042 400 | PC 01 041 300 | PC 01 043 750 | PC 01 044 032 | PC 01 067 999 | PC 01 057 999
LFO 2, if first is already used for something other (last parameter is turning on, PC 01 058 000 to off, PC 01 070 999 for Key Sync if needed):
PC 01 047 400 | PC 01 046 300 | PC 01 048 750 | PC 01 049 032 | PC 01 069 999 | PC 01 058 999

VST Instruments - Pitch - Arpeggio

Arpeggio is a standard pitch command effect, where two parts of value are semitones from current tone (speed depends on tempo, rows per beat, and ticks per row, where number of ticks is number of notes per row, even in modern tempo mode), so C , E , G (current note, 4th semitone, 7th semitone) would be as follows:
C-5 01 .. J47
If plugin has sequencer/arpeggiator/arp, then it can be used to create arpeggio, which for Synth1 Arpeggiator section would be setting Type to up, Range to 1oct, Beat to 16/3 (or 8/3 if tempo is very fast), gate to 64 (lower for shorter sounds, higher for longer), and turning on Arpeggiator.
Arpeggiator (center parameter is Beat, PC 01 033 800 for 8/3 instead of 16/3):
C-5 01 .. ... | E-5 01 .. ... | G-5 01 .. ... | PC 01 031 250 | PC 01 032 000 | PC 01 033 900 | PC 01 034 500 | PC 01 059 999

VST Effects

Add VST effect to channel with following steps:
[General (tab)] - [Channel (section)] - [(select effect plugin from FX1 to FX250)]
This option may not work as expected, since effect will work only with traditional sample based instruments and also MIDI CC messages on a channel will control attached effect plugin instead of instrument plugin.
Add VST effect to traditional sample based instrument with following steps:
[Instruments (tab)] - [Plugin / MIDI (section)] - [(select effect plugin from FX1 to FX250)]
Add VST effect to VST instrument with following steps:
[General (tab)] - [Plugins (section)] - [(select instrument plugin from FX1 to FX250)] - [Mix Setting (section)] - [Output to (selector)]
Add VST effect to whole song with following steps:
[General (tab)] - [Plugins (section)] - [(select effect plugin from FX1 to FX250)] - [Mix Setting (section)] - [Master (mark)]
Add VST effect to other VST effect with following steps:
[General (tab)] - [Plugins (section)] - [(select effect plugin from FX1 to FX250)] - [Mix Setting (section)] - [Output to (selector)]
This way you can connect many effect plugins in chains, but each can be connected with one and only if plugin ID is higher on plugins list (FX2 can connect with FX3 or higher, not with FX1, but FX1 can connect with FX2, and then FX2 with FX3 to create a chain of 3 effects together).
Note: If the same effect plugin is needed for various sources, but with different parameter settings or different connections with other effect plugins, then new copy of this plugin should be added.
Note 2: Since plugins can be connected only with ones that have higher ID, then good practice is to organize their positions right at the beginning and leave some empty slots between (like 1-99 instruments, 100-109 effect chain 1, 110-119 effect chain 2, and so on, or 1-100 instruments, 101+ single effects, 201+ additional effects for chains).
Note 3: Parameters of effect plugins can be dynamically controlled in the same way as instrument plugins with Parameter Control Events (check Volume Manipulation above for more details) or MIDI CC codes (check Pan above for more details).
Note 4: Plugins can be turned off and later turned on by using Bypass mark in Mix Setting.
Note 5: Volume of effect plugin can be modified with Wet Dry slider and Gain parameter (can increase up to 8 times if needed) in Mix Setting.
Note 6: If effect plugin does not output original source sound (like only delay effect), then it can be done with Dry Mix mark in Mix Settings.

« Last Edit: April 16, 2021, 10:13:56 by Speed »

Offline Rakib

  • Crazy artist
  • ****
  • Posts: 913
  • Operating System: win7x64
Re: ModPlug Tracker VST Plugins Compendium (Synth1 Based)
« Reply #1 on: April 15, 2021, 08:58:26 »
I must really recommend Synth1, it is a fantastic VSTi that I use in all time.
^^

Offline shorty

  • Shy artist
  • Posts: 1
  • Operating System: Linux
Re: ModPlug Tracker VST Plugins Compendium (Synth1 Based)
« Reply #2 on: April 15, 2021, 13:31:15 »
very helpful, thanks  :D