First draft, 10/29/2017

Synthcore2 Architecture
Synthcore2 Architecture

Overview

Synthcore 2 is one of the most powerful analog emulation synthesizers ever made, based on features from the OSCAR and Waldorf Q (both of which, as you may know, were discontinued because they were too expensive to build in hardware). The monophonic version is now available for free download in Windows 32/64, Mac OS X, and open-source Cycling'74 Max 7 code.

Main Features and Architecture

  • 3 oscillators, with feedback, FM, four kinds of sync, phase control, ring modulation, and dual output mixing; 61 morphing waveforms, including: pulse, saw, and triangle oscillators with newest EPTR anti-aliasing technology; Karplus physical modeling; multiple filtered noise options; 48 cross-sampled waveset oscillators; and sub oscillator.
  • 2 comb filters, both with pitch tracking.
  • 2 5-d serial/parallel, 2/4-pole, 3x-oversampled SVF filters., with continuous control of: filter type; number of filter poles; drive + saturation: cutoff; resonance; serial/parallel output; and output pan.
  • 3 envelopes. Predelay and 7-stage breakpoint included. Multi, single, loop, and clock triggers.
  • 3 LFOs, all with morphing waveforms, gate sync, and freq. control.
  • Modulation matrix with 15 nodes, each scalable from any of 60 sources to 135 destinations. Sample and hold, gated, and MIDI sources available. Many compound sources and destinations for rapid patching. Fixed- and variable-source modulations may shape and scale each other within the matrix.
  • Multi-mode glide and glissando, with unique glissando pattern generator.
  • Stereo effects chain with 2 tempo delays, 8-band chorus, realistic reverb, and advanced limiting.
  • Toggle-mode monophonic keyboard. Notes may optionally be stored in programs.
  • Flexible multi-channel architecture. functions like a modular synth without needing rewiring. Monitor outputs at all mix points. LFOs, envelopes, and other modulation sources may modulate effects parameters.
  • MIDI I/O. for all controls across two MIDI channels. Wheel, extended-range bend, and pedal controllers. Pgm#s and notes sent/received. 'All notes off' and standard MIDI cc#s implemented on main MIDI channel.
  • Fully instrumented panel. with >200 controls and dynamic state display of oscillators, filters, envelopes, LFOs, and effects (in full versions). Lite version without dynamic state display for those with lower-powered computers.
  • Hover tips and help tabs. >3,000 words of context-sensitive interactive documentation.
  • 64-bit floating point audio processing at sample rate throughout, including envelopes and LFOs. All mix functions, pans, and switches are declicked and debounced.
  • Large, open, portable compiled function library available separately (seeSynthcore Library). Patches documented copiously, code documented expediently.

Performance

Unused functions in a preset are bypassed in code, to reduce CPU load, and all can be turned on and off without introducing clicks on the output. Typical load of the full version at 48kHz, on a Win64 4-GHz i7 and 2.5-GHz Mac Mini, is ~5.5% and ~25%, respectively. Those seeking more quality will find performance at 96kHz to be very decent.

Synthcore Lite. Some MacOS users report performance issues with the full version, and as it is also intended as a demonstration of the Synthcore source-code library, So I am also providingSynthcore Lite for MacOS. This version has the same audio quality, with 64-bit audio processing throughout, and complete declicking of all audio gain paths (a professional feature which is ~15% of the total audio processing load). However even so, on my old Mac Mini, by removing the dynamic graphics entirely, the app's CPU usage drops to <10% after initial load (it does take a few seconds after the sound starts for the load to complete). No Windows users have reported any performance issues.

Getting Started

Installation and setup is usually intuitive, but if you have any issues here are some notes.

Download

buy

SynchCore2 (Win64)

Cost: $0.00

buy

SynchCore2 (Win64)

Cost: $0.00

buy

SynthCore2 (MacOS X)

Cost: $0.00

buy

SynthCore2 Light (MacOS X)

Cost: $0.00

Installation

After download:
  • Cycling 74 Max/MSP Source Package: unzip to any location. Open the.maxpat file. You must keep the.wav files in the same folder, they are data files for the synth. The Max version requires Max 7.3.1+. It contains its own audio and MIDI settings tab which overrides the Max preferences. .
  • Win32 and Win64 Packages: unzip to any location. The zipfile contains a self-extracting archive. Run that and then launch the executable.
  • MacOS Packages: unzip to any location. The zipfile contains a freeware self-extracting archive, which is required to get the compressed filesize within download limits imposed by my ISP on distant accounts.
    • Note: Your Mac may refuse to open it the first time because the self-extracting archive utility is free and did not pay Apple anything. So:
      • OnYosemite, double click again and it will let you choose to open it, or hold down the CMD key while double clicking
      • OnSierra and El Capitan, theGatekeeper app by default does not allow installation of apps from any other source other than App Store or verified vendors. To change the default:
        1. Open the terminal.
        2. Execute the command-line code to show the "Allow from Anywhere" check box in the security tab in settings:
          sudo spctl --masteridsable
        3. After pressing return, you will be required to authenticate the action with a password.
        4. Go back to the downloaded file, ctrl+click to open, and you the install will start.
    • The actual app will now decompress. Now you can run it, and as it is not built with freeware, it is built with the commercial application Cycling74 Max, so this app will now run without further complaint.

Setup

When the main window opens,wait for load to complete. Load is complete when the scope waves start moving. On a newer machine with SSD drive, load takes ~1 second. On older machines load can take a few seconds longer.

On first launch, switch to the settings tab, set your preferences and pressSAVE. The signal buffer sizes can significantly change CPU usage, differently on different machines, usually with no apparent impact on responsiveness (as the audio path is entirely compiled into one object, the audio-driver buffers only affect a one-buffer latency on the output).

Synthcore 2 Settings Tab
Synthcore 2 Settings Tab

The first demo snap has envelope 1 inLOOP. mode, in which the note pitch is sampled and held at the beginning of the envelope loop. To make the loop more obvious, reduceSUSTAIN. to zero and reduce the envelope durations. You will find it reproduces the terrifying sound of the Beast's spell in the first episode of the Syfy series 'The Magicians.' To retrigger the envelope on new notes, change the envelope toMULTI. mode.

You can also import and export presets from the settings tab. 20 demo presets are currently included, more are planned.

Panel Size and Zoom

By default, the panel is sized to fit on 1600-pixel-wide displays. As of version 2.3c, you can resize the panel by turning on thezoom. button (this is currently in the native Max/MSP version only).

Context-Sensitive Help

Comprehensive documentation is now inside the software. Hover over any control for more tips, and see the additional help tabs for more information.

If you own Cycling74 Max, and wish to edit the source file or see the patch internals, turn zoom on to enable the scrollbars in edit view.

Panel Reference

Synthcore 2.0 Panel
Synthcore 2.0 Panel

Presets

Hover over bubbles to see preset number. Clicking on the preset bubbles opens a preset. Shift-clicking a bubble saves a preset to that slot. HOu can also use the PRESET# to enter presets and see the current preset selection.

Default. button to set all paramaters to default values (does not affect preset).

Delete. deletes the currently selected preset

Store. stores the currently selected preset in the same preset slot, together with the keyboard state (note on or off). If stored with note off, and a note is playing when the preset is recalled, the note wiil be turned off.

Restore. Recalls the current preset, discarding any panel changes to it.

recall notes. if enabled, and a preset is stored, STORENOTES keeps the current playing note in the stored preset. If no note is playing and STORENOTES is enabled when a preset is stored, then recalling the preset turns off any playing notes. If turned off when a preset is stored, any current notes are not disturbed and no new notes are played when the preset is recalled.

Monitors

MON. With the MON control in the center of the synth panel, you can monitor taps throughout the design. The amp envelope and amp modulation is applied to all modes.

  • OSC1~2 outputs only one oscillator (any sync and FM from the other oscillator will still be enabled).
  • OSCS plays both oscillators after pan. C
  • MB1~2 outputs that comb filters, enabling both oscillators to feed it.
  • FILT1 adds filter 1 output.
  • FILT2 enables the 2nd filter without any serial feed from the 1st.
  • SYNTH outputs both filters with serial~parallel mix and pan.
  • EFFECTS adds the effects chain.

CPU. Enables CPU profiling, which slightly increases cpu load. BE AWARE THAT modern CPUs throttle the clock rate under low load by default, and Max reports from the throttled clock, so this is not a very useful measure UNLESS you disable all the power-saving features of your CPU, typically via BIOS. ALSO, more than half the reported DSP load is for rending to screen, which you will see if you run another CPU usage app and switch to the SETTINGS tab with a sound playing.

Show Tips. turn this off if you don't want to see tips when the mouse is over a panel control.

Print Msgs. (developers only) sends data from the internal tuple queue to the console.

Oscillators

The controls are identical for the three oscillators, except where noted.

Display. For most oscillator types, displays current oscillator waveform. For Karplus oscillators, displays a wave representation of the amount of damping. For noise oscillators, displays the frequency response curve of the noise filter.

Wave select. A list box allowing selection of one of 50 waveforms.

--Oscillator is disabled, reducing CPU usage.

Analog Emulation

pulse with PWM3x-oversampled, anti-aliased pulse with duty cycle of 2.5% to 97.5%.
saw<>tri3x-oversampled, anti-aliased ramp, varies from downward-falling saw, through triangle, to rising saw.
tri<>sineSine wave with decreasing parabolic shape until it becomes a triangle wave.

Harmonic Sweeps

sine+octaveA sine fades from the base frequency, to equal mix of the base plus a sine wave one octave higher.
sine+thin 5thOctaves and fifths are added successively until the midpoint, then the lower harmonics are removed.
sine+thick 5thOctaves are faded in the first half, then fifths are faded in to the end.
hi harmStarts with higher harmonics, which are thinned out starting from the lower frequencies.
hi clusterHarmonics 8-12 are faded in successively, then 16-19.
steps 4thVarious harmonic pairs with constant distance. Higher harmonics are added as lowers are removed.
steps 3*4thSteps 4th tripled: As the previous, but with three simultaneous harmonics instead of pairs.
harm 8-16An increasing number of harmonics between the 8th and 16th harmonics.
hi oddsHigh odd harmonics added successively.
bellsA sine adds bell sounds with an increasing number of higher harmonics.

Resonant Filter Sweeps

hi res sweepFour independent resonant peaks moving in wave movements towards higher frequencies.
med res sweepTwo bundles of three sweeps each, each bundle going from broad to narrow frequency distribution.
lo res sweepAs the previous, with two bundles of two sweeps.
high split filtTwo bundles of three sweeps + notch: As above, adding a notch filter.
low soft filtWood emulation via a sequence of slightly irregular sweeps from low to higher frequencies.
bisplit filtMorph from single frequencies to a broad distribution with higher frequencies, random components.
parallel sweeps4 res peaksAs the previous, with a lower frequency range.
2x3 sweepsLinear sweep with single filter and random variations.
2x2sweepsBase and ascending filter ramp.
2x3+notchAs the previous with ascending sweep of single filter with lower resonance and no base frequency.
Wood emuwo resonant filters with rising and falling frequencies.
hi tree morphAs the previous, with a medium frequency range.
lo tree morphAs the previous, with a low frequency range.
rain filt sweepMultiple high diverging filters with higher frequencies and resonance.
base+asc filtAs the previous, with less resonance and lower frequencies.
soft filt rampSeveral converging + diverging filters.

Vowel Formants

soft vowelMultiple parallel filter sweeps.
hard vowelSuccession of vowels (heed, hid, head, had, hod, hawed, hood, and who'd), broad formant peaks.
synth vowelAs the previous, with narrower formant peaks.
double vowelAs above, with more synthetic version.
noisy vowelAs above, with doubled frequencies.
how are youNoisy vowel formants.
lo 'how are you'Formants of 'how are you".

Randomized Components

32 rand harmLower Formants of 'how are you'.
8 rand harm32 random harmonics.
8 rand+asc notch8 random harmonics.
rand strong harm8 random harmonics + ascending notch.
lo rand harm+ascFew but strong random harmonics.
hi rand harm+ascLow random harmonics with ascending cutoff.
rand+sweepHigh random harmonics with ascending cutoff.
rand smoothRandom and sweep components.
loopRandom waveforms with smooth transitions.
loop percussiveLoop of random waves.

Karplus Oscillators

Karplus pluchedSample Loop with bass, drum, snare, and synth.
Karplus bowedMorph adjusts damping.
Karplus envMorph adjusts damping.
Karplus diffEnvelope 2 controls impulse. Morph adjusts damping.
karpluse modOscillator pitch sets 2-pole notch cutoff. Morph sets resonance.

Noise

noise/randomEnvelope 2 controls impulse. Morph adjusts diffusion amount.
white noise (LPF)Envelope 2 controls impulse. Morph adjusts diffusion delay.
pink noise (LPF)Morph adjusts random step/noise mix.
white noise (BPF)Oscillator pitch sets 2-pole LPF cutoff. Morph sets resonance.
pink noise (BPF)Same, with pink noise,
white noise (HPF)Oscillator pitch sets 2-pole BPF cutoff. Morph sets resonance.
pink noise (HPF)Same, with pink noise.
white noise (ntch)Oscillator pitch sets 2-pole HPF cutoff. Morph sets resonance.
pink noise (ntch)Same, with pink noise.

Quick oscillator wave select. Spins the list box. The panel displays the currently output waveform. Waveforms change at zero-crossings, so waveforms can be modulated at audio rate without introducing clicks

Sync. Sync is available on all waveforms except noise.

  • OFF: no sync.
  • GATE: note-on events reset the wave tp the phase set by PHASE.
  • SOFT: when the other oscillator crosses zero, it resets this oscillator if this oscillator's output level is above that set by PHASE. RAMP~ like SOFT, but uses this oscillator's duty cycle instead of level.
  • SOFTER andRAMPER are similar, but both oscillators must be over PHASE for reset to occur.

Phase. Depends on Sync settings.

  • With GATE sync, setting the phase is most useful when the two oscillators are the same pitch, or different by octaves.
  • With SOFT, at 0 the behavior is like that of standard hard sync. At higher settings, more of this oscillators tonal quality is preserved, until at 1 the sync never occurs.
  • With RAMP sync, varying soft syncs are possible even with pulse waves.

Morph. Sets the oscillator shape or duty cycle. For pulse waveforms, the oscillator is a square wave at 50%, and a rising/falling pulse at low/high settings. For wavesets, this selects one of 128 wave shapes in the waveset. For filtered noise oscillators, this adjusts the filter resonance . For Karplus strings, it adjusts the damping. For random/noise, it adjusts the randomness (use higher pitches for good randomness).

Semi. Oscillator pitch transposition from input pitch, in MIDI units.

Tune. Detune from input pitch, in cents.

Ring1/Ring2/Ring3. Oscillator ring modulation. The unity output of both oscillators is multiplied together and mixed with the oscillator mix. At 0, there is no ring modulation. At 50, there's an equal amount of ring modulation and oscillator mix. At 100, only ring modulation is output.

FM depth. At zero, there's no FM. At higher values, the FM depth is set in MIDI semitones. For example, if the current note is middle C, and FM is set to 72 (with no FM track), the modulator ratio is 2:1. This design assists in creating harmonic FM tones.

FM pitch tracking. When 0 there's no tracking. When 1, FM depth tracks keyboard pitch exactly. At 2 it tracks twice as much. Typically tracking is set to 0 or 1, in the latter case, with an offset added by FM depth. For example with tracking at 1 and FM depth at 12, the modulator is one octave above the carrier. Tracking can be set below 1 to reduce harmonics in higher-pitched notes, or vice versa.

Oscillator FM-rate self feedback. At 0, there's no feedback. At higher values the feedback distorts the output into noise.

1>A, 1>B, 2>A, 2>B, 3>A, 3>B. Sets the oscillator level sent to filter channels. If the sum of the levels for the A or B channel are more than 100%, the oscillators' levels are relatively scaled to keep their sum in the unity gain range. Otherwise, if the oscillator levels add up to <100%, the oscillators are simply added together. If you want equal mix at max. level or 2 or more oscillators, simply set their mix levels all the way to the right.

Comb Filters

Comb 1 receives from the oscillator and ring modulation mix. Comb2 receives from SVF filter 1. The controls are identical for both.

Level. Comb filter mix. At 0, there's no comb filter. At 100, the output is fully combed. Intermediate values mix the comb filter output with the source.

Delay. Comb filter base delay, in 10ths of milliseconds.

Track. Comb pitch track. At 0, there's no pitch track. At 1, the delay exactly matches the wavelength of an oscillator set to note pitch. At values lower than 1, delay tracks less than pitch, at values higher than 1, delay tracks higher than pitch. Tracking delays are added to the base filter delay.

Feedback. Comb filter feedback. At 0, there's no feedback.

5D State-Variable Filters

The two filters are identical and continuously variable in five dimensions. The filters used table-based gain compensation with adjustable gain/saturation depending on the drive setting, which is one of the enhancements not available in the Reaktor port. The following picture shows the patch used to generate the gain compensation values. It samples 300 SVF filters simultaneiously, reducing the time to complete table completion from 14 days to an hour. This allowed iterative exploration to find the best possible sounding filter.

Harness for generating gain compensation tables
Harness for generating gain compensation tables

The filter curve displays require very complex calculations with many transcendental functions, so they are also generated in advance and drawn from internal buffers.

Poles. This mixes the filter with the input from the comb filter. At left, the output is directly from the comb filter. At midpoint, the input passes only through a two-pole filter. At far right, the input pases through a four-pole filter. Intermediate values provide a mix of the input and filter types.

lp<>bp<>hp. Filter Type. At far left, the output is low-pass filtered. At midpoint, it is band-pass filtered. At far right, it is high-pass filtered. Intermediate values pan between the filter types.

cutoff. The offset of the filter cutoff from the note pitch, set in MIDI note values before modulation and tracking.

track. Filter keyboard track. Sets the amount of the filter cutoff point tracks note pitch. At 0, there's no keyboard tracking. At 1, the filter tracks the keyboard pitch exactly. At 2, the tracking is twice the note pitch.

Drive. Filter drive, with saturation. Between 0 and 100, the amount of filter saturation gradually increases, and as the filter is gain compensated. the proportion of self oscillation to filtered sound increases (if there is no self oscillation, there is no apparent effect in this range). Between 100 and 200, the gain compensation is gradually removed, and the output passed through a parabolic saturator with hard clipping at +24dB input.

Q. Filter resonance. At 0, there is no resonance. At 100 resonance is actually 1.1. This control is logarithmically adjusted to provide finer control at higher resonance settings.

AB left<>AB right. Filter mix to effects and output. Left AB adjusts the mix of filter A and B outputs to the left effect schannel. Right AB adjust sthe mix of filter A and B to the right effects channel. Thus any mix of both filters, whether in serial or parallel mode, can pass into the effects chain.

Par<>Ser. sprintf Filter serial/parallel mix. At full left, in parallel mode, oscs panA > combA > filterA > filter A pan, while oscs' panB > comb B > FilterB. At full right, in serial mode, oscs' panA > combA > filterA > combB > filterB (so both oscs' panB have no output in fully serial mode). At intermediate values there is a mix of serial and parallel filter output to the effects chain.

Envelopes

Envelope 1 is also the amplitude envelope. The three envelopes are subtly different, but the controls are similar.

MODE. Envelope mode.

  • MULTIPLE. retriggers on all note-on events.
  • SINGLE. only retriggers the envelope if no other notes are playing (note pitch is still changed regardless).
  • LOOP. is like SINGLE, but when the envelope reaches the end of the decay phase, the attack phase restarts from the sustain level.
CLOCK. The envelope retriggers from the clock

PREDELAY. (env2/3 only) envelope predelay, in milliseconds. If this is set, the automatic predelay described in the tip for 'attack' is skipped. Setting this to zero can produce clicks on playing notes, which may be desirable in some cases.

ATT. Attack duration, during which the envelope rises to the gale llevel. If the envelope is already outputting sound, a pre-attack phase of 5ms is added, during which the output drops to zero before the attack phase begins, ensuring full attack on all notes. Duration is scaled logarithmically in the same way for all envelope phase durations, as follows: Min is 3ms. At 25% (32), the duration: 28ms, Half way (64), the duration is 244ms. Three quarters (96) is 21 sec, The max is 18 sec.

DEC1. (env1/2 only) Decay 1 duration. During this phase the envelope drops to the breakpoint level, unless the breakpoint level is 1, in which case this phase is skipped, the breakpoint is ignored, and the envelope behaves as a traditional ADSR envelope, with dec2 setting the decay duration. Duration is scaled logarithmically in the same way for all envelope phase durations, as follows: 0=3ms, 16=10ms, 32=32ms, 48=102ms, 64=327ms, 80=1sec, 96=3.3sec max=31sec.

BRKPOINT. (env1/2 only) breakpoint level, as a fraction of the gale level. If you do not want a breakpoint, set this to 1. See the dec1 tip.

DEC2. (env1/2 only) decay 2 duration, during which the output level transtiions from the breakpoint level to the sustain level. While conventionally called 'decay 2', the output level may actually rise if the breakpoint is lower than the sustain level. Duration is scaled logarithmically in the same way for all envelope phase durations, as follows: 0=3ms, 16=10ms, 32=32ms, 48=102ms, 64=327ms, 80=1sec, 96=3.3sec max=31sec.

DEC. (env3 only) decay duration. During this phase the envelope drops to the sustain level. Duration is scaled logarithmically in the same way for all envelope phase durations, as follows: 0=3ms, 16=10ms, 32=32ms, 48=102ms, 64=327ms, 80=1sec, 96=3.3sec max=31sec.

SUS. Sustain level, as a fraction of the gale level.

REL. Release duration. Duration is scaled logarithmically in the same way for all envelope phase durations, as follows: 0=3ms, 16=10ms, 32=32ms, 48=102ms, 64=327ms, 80=1sec, 96=3.3sec max=31sec.

V>LVL. Envelope level sensitivity to note velocity. At 0, the envelope level is 1. At 1, the envelope level is directly set by velocty. As 2, the envelope level is double velocity. Intermediate settings provide intermediate values.

LFOs

The three LFOs are identical.

snc. LFO sync. When enabled, a positive gate transition resets the LFO to the beginning of its wave.

. LFO waveform.

  • Off: Disables the wave, reducing CPU usage.
  • Sine/2sine: A sine fades from the base frequency, to an equal mix of the base frequency plus a sinewave one active higher.
  • Ramp/Triangle: Varies between downward-falling sawtooth, through triangle, to upward-rising sawtooth.
  • Pulse/Square: Varies between an up-rising pulse, through square, to a down-falling pulse.
  • S&H: A random sample-and-hold signal, varying to noise.

freq. LFO frequency. This control is exponentially scaled to provide more control at lower frequencies.

morph. sprintf LFO shape or duty cycle. The current waveform is displayed in the panel

Modulation Matrix

The controls are identical for all 15 modulators.

modulation destination. Pitch destinations are in semtones. Tunes are in cents. Choosing MATRIX LEVELS allows modulation of another matrix modulation's output level.

----Turns off the destination. Either setting the source off, or the destination off, or the amount to zero saves some CPU.
amp
amp left
amp right
Gain of both left and right channels, or either separately, before effects
left AB mix
right AB mix
Mix of Filter A/B channels to left/right channels
AB serial/parallelBalance of filters mixes into output channels
osc1>A
osc2>A
osc3>A
osc1+2>A
osc1+3>A
osc2+3>A
osc1+2+3>A
Mixes of oscillators to filter A channel (comb1 followed by filter 1).
osc1>B
osc2>B
osc3 >B
oscs1+2>B
osc1+3>B
osc2+3>B
osc1+2+3>B
Mixes of oscillators to filter A channel (comb1 followed by filter 1).
pitchGlobal instrument pitch in midi units
osc1 pitch
osc2 pitch
osc3 pitch
osc1+2 pitch
osc1+3 pitch
osc2+3 pitch
Pitch of various single oscillators and oscillator combinations in miid pitch units
detune
osc1 detune
osc2 detune
osc3 detune
osc1+2 detune
osc1+3 detune
osc2+3 detune
Detune of various single oscillators and oscillator combinations in cents
osc1 morph
osc2 morph
osc3 morph
osc1+2 morph
osc1+3 morph
osc2+3 morph
osc1+2+3 morph
Waveshape of selected oscillator waveforms
osc2 ring mod
osc3 ring mod
Amount of ring modulation
osc1 phase
osc2 phase
osc3 phase
oscillator phase. Exact effect depends on sync setting for the oscillator
osc1 feedbackOn oscillator 1 only, the ampount of FM rate oscillatgor feedback
osc2 fm1 lvl
osc2 fm3 lvl
osc3 fm1 lvl
osc3 fm2 lvl
FM levels. These are expressed in semitone units rather than ratios.
osc1 wave sel
osc2 wave sel
osc3 wave sel
Selects between the analog oscillators, wavesets, Karplus oscillators, and noise, as listed above. Note that the Karplus oscillators also produces a trigger event when starting to create the impulse
combA mix
combB mix
For comb A, amount oscillators in channel A are mixed into the comb vilter. For channel B, the filter 1 inpout is also mixed in
combA del
combB del
Comb delay in milliseconds
combA fb
combB fb
Comb feedback
filtA cutoff
filtB cutoff
filtA+B cutoff
Filter cutoff in MIDI units
filtA poles
filtB poles
filtA+B poles
filtA type
Filter type, in range 0~2
filtB type
filtA+B type
filtA drive
filtB drive
filtA+B drive
Filte r drive, in range 0~2
filtA Q
filtB Q
filtA+B Q
lfo1 freq
lfo2 freq
lfo3 freq
LFO frequency in Hz
lfo1 shape
lfo2 shape
lfo3 shape
LFO shapoe ibn range 0~1
env1 att
env2 att
env3 att
exponential attack time
env1 dec1
env2 dec
exponential time of decay to breakpoint
env1 brk
env2 brk
breakpoint as fraction of gate level
env1 dec2
env2 dec2
exponential time of decay from breakpoint to sustain
env3 decexpoenential decay from attack to sustain
env1 sus
env2 sus
env3 sus
Sustain as fraction of gate level
env1 rel
env2 rel
env3 rel
Exponential release time
env2 pre
env3 pre
predelayh in milliseconds
env1 A+D1
env2 A+D1
env3 A+D
Concurrent modulation of attack and decay1
env1 A+D1+D2+R
env2 A+D1+D2+R
env3 A+D+R
Concurrent modulation of all envelope time parameters
env1 brk+sus
env2 brk+sus
glide time
gliss pattern
Glide and glissando parameters
del1 mix
del2 mix
For del1, mix from filter channels passed into delay. For del2, mix from del1 passed into delay
del1 left
del1 right
del2 left
del2 right
Delay time
del1 cross
del2 cross
Delay cross feedback between left and right channels
del1 feedback
del2 feedback
Delay feedback in the same channel
chorus mixMix from del2 into chorus
chorus freqchorus frequency
chorus spreadchorus spread
chorus mod depthchorus mod depth
reverb mixreverb mix
matrix1 lvl
matrix2 lvl
matrix3 lvl
matrix4 lvl
matrix5 lvl
matrix6 lvl
matrix7 lvl
matrix8 lvl
matrix9 lvl
matrix10 lvl
matrix11 lvl
matrix12 lvl
matrix13 lvl
matrix14 lvl
matrix15 lvl
Multiplies another matrix node by the output from this matriix node, allowing scaling and exponentiation of the modulation.

Modulation Source. Sources may be selected with the spin dial, or with the dropdown list. All source ranges are scaled to range 0~1 (except bend and LFOs, which are in range -1 ~ 1). CC levels are from MIDI input in variable mode, allowing control from a keyboard controller.

--Turns off the source. Either setting the source off, or the destination off, or the amount to zero saves some CPU.
note pitch
osc1 pitch
osc2 pitch
The pitch actually applied to the oscillators, (as opposed to MIDI pitch) after transposition and offset.
filt A cutoff
filt B cutoff
Filter cutoff after tracking and any modulation.
note velocityThe original note velocity, prior to any scaling by the envelope panels.
env1 velocity
env2 velocity
The note velocity after scaling by the envelope panels
env1
env2
env3
The envelope level
env1 gate
env2 gate
The envelope gate (either 0 or 1)
lfo1
lfo2
lfo3
The LFO level
lfo1 * env1
lfo2 * env1
lfo3 * env1
lfo1 * env2
lfo2 * env2
lfo3 * env2
lfo3 * env1
lfo3 * env2
lfo3 * env3
the envelope levels after multiplying by LFO levels
lfo1 S&H-note
lfo2 S&H-note
lfo3 S&-note
LFO values latched at note-on events
lfo1 S&H-env2
lfo2 S&H-env2
lfo3 S&H-env2
LFO values latched on env2 attack start after any predelay (necessary for sync when using predelay)
lfo1 gated‑env1
lfo1 gated‑env2
lfo2 gated‑env1
lfo2 gated‑env2
Continuous LFO values only passed through when the gate for the envelopes are on
chorus lfo1
chorus lfo2
chorus lfo3
chorus lfo4
chorus lfo5
chorus lfo6
chorus lfo7
chorus lfo8
Chorus LFOs. 1-4 are from the left channel, and 5-8 are from the right channel.
whl
bend
Mod wheel and pitch bend, either from panel or MIDI.
mod whl*lfo1
mod whl*lfo2
mod whl*lfo3
foot ctrlrFoot controller continuous or fixed value, either from panel or MIDI
sustain pedal
soft pedal
hold pedal
portamento pedal
sostenuto pedal
Foot pedals (1 or 0), either from panel or MIDI
const-linear
curve-exp
curve-log
CONSTANT provides a linear 0~1 value for scaling destinations. PARABOLA and INVERTED PARABOLA are like CONSTANT, but shape the output value in a curve.

Modulation Slider.modulation amount as a percentage of the source signal. Negative values invert the modulation. If either the source, detination, or level is off, CPU usuage is reduced. LFOs and bend are bipolar; other sources are unipolar. The design proivides maximum modulation range for all contrlols. When the accumulated value for a destination exceeds its possible range, the value is clipped.

Off. Sets the modulation amount slider to zero.

Glide and Glissando

With glide, the pitch changes smoothly between the last played note and the current note. With glissando and no patterns, the pitch ramps in semitones. With patterns, glissando also provides various arpegggios.

Mode. glide/glissando mode.

  • Glide Fixed, Gliss fixed: the rate of glide or glissando depends on the number of intervening note,s that is, the rate for each note in the glide or glissando is fixed.
  • Glide auto, Gliss auto: the rate is always the same, regardless the amount of difference between the current and previous note.

tempo. base tempo in bpm, also used for the delay times and the envelopes in clocked mode.

rate. to determine the actual rate, the tempo is divided by this number of quarter notes.

scakr. scale for glissando. When 'chromatic', no scale is applied. With other settings, the notes in the glissando are those in the chosen scale and key. If glissando is not enabled, this has no effect.

Chromatic01234567891011
Major0022455779911
Minor melodic00233557881111
Minor harmonic00233557881010
Dorian00235577991010
Phrygian00113355881010
Lydian0022466779911
Myxolydian0022455779910
Blues00233577881010
Blues Pentatonic003355777101010
Major Pentatonic022444777999
Reverse11109876543210
Reverse Substitution01117456389102
Minor Substitution0011274957592
Major Substitution1024010504109

key. key for glissando. If glissando is not enabled, or the scale is chromatic, this has no effect.

pattern. glissando pattern. This pattern is repeated over the glissando range, and reverses when the glissando direction is down. All tetrad combinations are available.

1 2 3 41 2 4 31 3 2 41 3 4 2
1 4 2 31 4 3 22 1 3 42 1 4 3
2 3 1 42 3 4 12 4 1 32 4 3 1
3 1 2 43 1 4 23 2 1 43 2 4 1
3 4 2 13 4 1 24 1 2 34 1 3 2
4 2 1 34 2 3 14 3 1 24 3 2 1

Keyboard and Pedals

These screen widgets set and display MIDI events.

toggle-mode keyboard. Click a note to turn it on. Click again to turn it off. Click and drag to make a glissando. When you click a note while another is on, envelopes in SINGLE and LOOP mode don't retrigger.

wheel. mod wheel in range 0~100.

bend. pitch bend. When clicking and dragging the pannel control, then releasing it, the bend slowly returns to center like it is on a spring. See the SETTINGS panel to set spring sensitivity.

foot. MIDI foot controller in range 0~100

soft. MIDI soft pedal (off or on).

hold. MIDI hold pedal (off or on).

sustain. MIDI sustain pedal (off or on).

portamento. MIDI portamento pedal (off or on).

sostenuto. MIDI sostenuto pedal (off or on).

Effects

Delays

The two serial stereo tempo delays are identical, except that delay 2 also provides single-pole (6dB/octave) low-pass and high-pass filtering in the feedback loop.

mix. delay output mix. On delay1, it sets the mix of the filter output with the delay output. On delay 2, the first delay's output is mixed with the first delay's output. When MIX is 0, the effect is bypassed and CPU reduced.

pan in. delay input pan. When 0, the left source channel goes to the left delay line, and the right source channel goes to the right delay line. At center, the left and right channels are mixed equally to the delay lines. When max, the inputs are swapped - the left input goes to the right delay line, and the right input goes to the left. For delay1, the source is the filter. for delay2, the source is delay1.

L del, Rdel. delay time for the left and right channels is set separately in quarter-note units. The TEMPO sets the duration of a single note. When 0, the delay line is bypassed, so either the left or right or both source inputs can be delayed or not, as desired. When 4/1, the delay is one beat. When 4/4, the delay is a quarter beat. When 4/32, the delay is a 32nd note.

cross. delay Cross feedback. When 0, the left and right delay lines act as two separate mono delay lines. When max, all of the delay from the left delay line goes to the right delay line, and vice versa. Intermediate values mix the amount of mono and cross feedback.

feedback. delay feedback amount. When 0, there is no feedback, and the source is delayed only once. The max value is just below self oscillation.

lo cut, hi cut. The cutoff point, in MIDI units, for 1-pole static filters on the inputs to the delay lines.

Chorus

mix. chorus output mix. At 0, the chorus is disabled and cpu reduced. At max, the output is only chorus. At intermediate values the input is mixed with the chorus output. Both left and right channels are controlled by the mix in the same way.

base frq. modulation frequency, in Hz. See also F SPRD.

fsprd. modulation frequency spread. At 0 the 8 chorus modulators have the same frequency. At 1 they are spread the most. The chorus modulators are also available in the main panel's modulation matrix as modulation sources, whether the chorus is being used or not.

delay. chorus base delay, in milliseconds.

mod. Modulation depth. At zero, tbhe sine waves have no effect on the chorus output. At higher values, the amolunt of modulation increases.

m sprd. Modulation spread. At zero, all eight chorus delay lines have the same base delay. At higher values, the base delay varies increasingly across each delay line.

Reverb

The reverb contains separate diffusion lines for early reflections on each channel, with early dsealy filtering and output damping. Although it can create hall and catheral effects, it is designed for more realistic sounds when emulating small to midsize rooms.

mix. reverb output mix. At 0, the reverb is disabled and cpu reduced. At max, the output is only reverb. At intermediate values the input is mixed with the reverb output. Both left and right channels are controlled by the mix in the same way.

predelay. base delay of early reflections, in milliseconds.

hi cut. early reflection filtering. At zero there is no filtering. At higher values the amount of early reflections are increasingly reduced.

decay. the duration of the late reflections

damp. Damps late reflections, which can truncate their duration at higher settings.

Limiter

This is a more advanced limiter with separate controls for attack and release, so it is sort of half way between a hard limiter and a compressor.

limit. limit enable. When 0, the effect is bypassed and CPU reduced.

lvl. limit level. When the input signal exceeds this level, the output signal is adjusted not to exceed this level. When the signal is below this level, the limiter turns off any gain reduction. There are separate limiters on the left and right channels.

window. the time period over which the input level is sampled before any change in limiting level occurs.

att. when the signal level rises, and the signal was above the limit level in the last sample window, this sets the number of milliseconds over which the limiter increases the gain reduction.

dec. when the signal level falls, and the signal was above the limit level in the last sample window, the sets the number of milliseconds over which the limiter reduces the gain reduction.

MIDI Reference

  • Note On sent and received. Note-off events set velocity to zero.
  • Program Change sent and received.
  • Pitch Bend (extended NRPN Range) sent and received. Pitch-bend senstivity is not yet supported.
  • Controllers sent and received, with best attempt to match the standard registered assignments. cc#s reserved for future use are in parentheses.
  • No MIDI exclusives or other NRPNs are currently used.

The instrument uses two MIDI channels for the CC#s.

channel A

cc#, paramcc#, paramcc#, paramcc#, param
1 mod wheel
2 delay 1 mix
3 delay2 mix
4 foot controller
5 bend range
6 monitor
7 volume
8 filter 1 pan
9 filter 2 pan
10 filter mix **
11 ring mod
12 delay 1 cross
13 delay 2 cross
14 delay 1 feedback
15 delay 2 feedback
16 env1 mode
17 env2 mode
18 env3 mode
19 env2 predelay
20 env3 predelay
21 env2 attack
22 env3 attack
23 env1 breakpoint
24 env2 breakpoint
25 env1 delay 1
26 env2 delay 1
27 env3 delay
28 env1 delay 2
29 env2 delay 2
30 env1 sustain
31 env2 sustain
32 env3 sustain
33 env2 release
34 env3 release
35 filter 1 resonance
36 filter 2 resonance
37 filter 1 saturation
38 filter 2 saturation
39 lfo1 frequency
40 lfo2 frequency
41 lfo3 frequency
42 lfo1 wave select
43 lfo2 wave select
44 lfo3 wave select
45 lfo1 sync
46 lfo2 sync
47 lfo3 sync
48 lfo1 morph
49 lfo2 morph
50 lfo3 morph
51 osc1 tune
52 osc2 tune
53 osc3 tune
54 osc1 transpose
55 osc2 transpose
56 osc3 transpose
57 osc3 ring mod
58 osc3 >A
59 osc1 >B
60 osc2 >B
61 osc3 >B
62 osc3 phase
63 matrix 1 source
64 sustain **
65 portamento **
66 sostenuto **
67 soft - **
68 limiter enable
69 hold - **
70 matrix 2 source
71 matrix 3 source
72 env1 release **
73 env1 attack **
74 matrix 4 source
75 matrix 5 source
76 matrix 6 source
77 matrix 7 source
78 matrix 8 source
79 matrix 9 source
80 matrix 10 source
81 matrix 11 source
82 matrix 12 source
83 osc1 mix
84 glide time **
85 osc2 mix
86 osc1 phase
87 osc2 pahse
88 osc1 sync
89 osc2 sync
90 osc1 select
91 osc2 select
92 osc1 morph
93 osc2 morph
94 delay 1 left length
95 delay 2 left length
96 delay 1 pan
97 delay 2 pan
98 delay 1 right length
99 delay 2 right length
100 NRPN low **
101 NRPN high **
102 comb 1 mix
103 comb 2 mix
104 comb 1 feedback
105 comb 2 feedback
106 glissando scale
107 glissando key
108 glide/glissando type
109 glissando pattern
110 chorus freq
111 chorus freq spread
112 chorus mod depth
113 chorus mod spread
114 chorus mix
115 reverb mix
116 reverb cut
117 reverb damp
118 reverb decay
119 tempo
120 limiter level
121 limiter window
122 limiter release
123 all sound off **

Channel B

cc#, paramcc#, paramcc#, param
1 chorus base delay
2 reverb predelay
3 filter 1 cutoff
4 filter 2 cutoff
5 filter 1 track
6 filter 2 track
7 osc1 feedback
8 osc2 FM1 track
9 osc2 FM3 track
10 osc3 FM1 track
11 osc3 FM2 track
12 osc2 FM1
13 osc2 FM3
14 osc3 FM1
15 osc3 FM2
16 comb 1 depth
17 comb 2 depth
18 comb 1 track
19 comb 2 track
20 osc3 sync
21 osc3 select
22 osc3 morph
23 delay 2 lo cut
24 delay 2 hi cut
25 matrix 13 source
26 matrix 14 source
27 matrix 15 source
28 matrix 1 dest
29 matrix 2 dest
30 matrix 3 dest
31 matrix 4 dest
32 matrix 5 dest
33 matrix 6 dest
34 matrix 7 dest
35 matrix 8 dest
36 matrix 9 dest
37 matrix 10 dest
38 matrix 11 dest
39 matrix 12 dest
40 matrix 13 dest
41 matrix 14 dest
42 matrix 15 dest
43 matrix 1 level
44 matrix 2 level
45 matrix 3 level
46 matrix 4 level
47 matrix 5 level
48 matrix 6 level
49 matrix 7 level
50 matrix 8 level
51 matrix 9 level
52 matrix 10 level
53 matrix 11 level
54 matrix 12 level
55 matrix 13 level
56 matrix 14 level
57 matrix 15 level
58 matrix 1 destb
59 matrix 2 destb
60 matrix 3 destb
61 matrix 4 destb
62 matrix 5 destb
63 matrix 6 destb
64 matrix 7 destb
65 matrix 8 destb
66 matrix 9 destb
67 matrix 10 destb
68 matrix 11 destb
69 matrix 12 destb
70 matrix 13 destb
71 matrix 14 destb
72 matrix 15 destb
73 matrix 1 sign
74 matrix 2 sign
75 matrix 3 sign
76 matrix 4 sign
77 matrix 5 sign
78 matrix 6 sign
79 matrix 7 sign
80 matrix 8 sign
81 matrix 9 sign
82 matrix 10 sign
83 matrix 11 sign
84 matrix 12 sign
85 matrix 13 sign
86 matrix 14 sign
87 matrix 15 sign
88 filter 1 type
89 filter 2 type
90 filter 1 poles
91 filter 2 poles
92 env1 vel sens.
93 env2 vel sens.
94 limiter attack
95 limiter release

Thank you for your interest in Yofiel. I hope you enjoy making music with Synthcore.

-Ernest Leonardo Meyer>