Getting Started
Syntropy patches are text formulas. Every sample is generated from your formula in real time. Time and sample-count values use Syntropy's internal 44.1 kHz reference domain and are rescaled automatically for the current host or audio-device sample rate.
X is the running phase/time variable used by most oscillator formulas; it already contains the pitch of the played MIDI note.saw(X), sin(X), pwm(X,0.4), etc. Do not multiply X by tone().saw(x*2*pi()*440/44100). In Syntropy's 44.1 kHz reference domain this means 440 Hz exactly, and Syntropy rescales it internally so it stays 440 Hz even when the host runs at another sample rate. For the played MIDI note 69 (A4) it is equivalent to saw(X).tone() is kept for older/special formulas, not for normal note pitch multiplication.param(0) to param(15) read the current knob values.attack(), release(), pos(), fromtoin(), sfromtoin(), and LFO() use the same 44.1 kHz reference timing. In practice, 44100 means one second of sound, while the audible timing stays identical at other host sample rates.# to split left and right channels.[Name: value; ...] to define knob names and defaults.[Attack: 0.12; Release: 0.45; Cutoff: 0.42; Resonance: 0.22; Drive: 0.35] 0.28*attack(600+9000*param(0))*release(8000+26000*param(1))*lp(saw(X),0.02+0.18*param(2),0.15+0.70*param(3)) # 0.28*attack(600+9000*param(0))*release(8000+26000*param(1))*lp(saw(X+0.08),0.02+0.18*param(2),0.15+0.70*param(3))
attack(...) and release(...) for note amplitude shape.env(stretch,index) for preset-embedded envelopes and env_file(stretch,"file.env") for external envelopes from the Envelopes folder.lp, hp, bp, moog, formant, and vbp.Name your controls in the square-bracket header. Syntropy 2 supports up to 16 formula parameters. If a parameter has a value but no name, Syntropy uses default names like Param 1.
[Cutoff: 0.67; Volume: 0.3; Pan: 0.5; 0.4]
Use a single # to separate left and right formulas. Syntropy also accepts the older #Left and #Right markers.
0.3*sin(X) # 0.3*sin(X+290)
If you want the preset to switch on Syntropy's built-in arpeggiator, place one arp macro block at the top of the formula:
{ Rate ; Direction; Range; Retrig; Shift; Velocity; Pan; Gate; Glide; Swing;}This macro is read before formula compilation. It is not part of the audio expression itself. See Arpeggiator Macro for the full field description and examples.
.vstpreset..vstpreset can include formula text, FX state, master volume, and embedded envelope or wavetable assets.