Disclaimer

The SynC Modular is undergoing a constant development process. Some of the features may not be strictly identical to described in this help manual.

next page>>


What is SynC Modular

The SynC Modular is a modular software synthesizer for Microsoft Windows 95, 98, NT 4.0, 2000 and BeOS (Intel) operating systems. It gives you, though limited as any synth, but quite versatile possibilities for creating and using new sounds. The latest version and info on the SynC Modular can be found at http://www.mtu-net.ru/syncmodular

Here we are going to list the most important features of SynC Modular.

SynC Modular is modular. This means that it has no fixed structure. Instead it allows you to create your own synth structures, as well as using the synth structures created by others. Ideally you can simulate any synthesizer with its modular features. In practice, though, there are always limits to all vanilla promises.

SynC Modular is multitimbral. You can have as many as 16 different synths playing at the same time within SynC Modular. Besides that you can change any of those synths for another one on the fly, by means of MIDI program change. The limit to this vanilla promise is your CPU performance which sets the top margin on the overall complexity of the synths.

SynC Modular is fast. With its unique modular optimization technology it offers you the performance of a non-modular software synth.

SynC Modular is flexible. When going down the module structure it allows you as deep as creating your own oscillators and filters! The Sawtooth oscillator, the Sine oscillator, the 1- and 2-pole filters and many more modules are not the basic pieces. You can dig further into their internal structure. This promise is limited by the fact that you better know the DSP theory if you are willing to design your own filters, rather than combining the existing ones. But hey, you could use filters created by someone else, coudn't you?

next page>>


How do I quickstart?

Different users have different ways of starting using a software they are new to. Here we are going to guide you to different ways of quickstarting.

I want you to guide me step-by-step. Then you better skip to the Getting Started section.

I think the guides are for stupids. I can find out things myself. If you want the trial and error method, you might want to look at Howto section. Also its worth looking at the sample ensembles.

I am an experienced person but I need to know the general concepts behind the SynC Modular. Go to the Basic Concepts section starting with Modules and Wires.


How tosubmit a bug
Guidelines for Bug Submission

Please read the following guidelines with patience. They are designed so that the bugs can be more easily tracked and fixed.

In any case try to make the bug reproduceable. E.g. you make a connection between two modules and get an Internal Error message. In this case the file  error.log has been saved in your SynC Modular program directory.Copy this file to another location so that it is not overwritten by another error message in case you fail to reproduce the bug and stumble on another one instead.

Run the program again, restore from your last save and try to repeat all your actions but the last one (which has caused the error). Now save to another file. Repeat your last action.

If the error message does not appear again then the bug is not so easy to catch. If the error message is there then do the following. Run the program once more, restore from your one-step-to-error save and try to repeat the last action. If the error message is still there, excellent! You have caught the bug.

Now you can send a bug report, specifying your product version (found under Help->About... from the menu bar), describing your last action required to reproduce the bug and enclosing your one-step-to-error save (zipped if possible) and error.log file. Please start the mail message subject line with 'BUG:'. The bug reports should be sent to syncmodular@mtu-net.ru

If you cannot reproduce the bug you may still send in a report stating something like that: 'I was doing the following things ... and when I did ... the following thing happened ...'. If there was an Internal Error message please include the error.log file. Also specify your product version.

If your bug report is unanwered that does not imply that it is ignored. Even if the bug is not fixed immediately the report is conserved to be addressed later.

EXAMPLE

From: John Smith<john_smith@myowndomain.net>

To: syncmodular@mtu-net.ru

Subject: BUG: Internal Error

Attachments: err.zip

Version 1.0b

Load the ensemble, goto inside of the Synth macro, goto inside the Filter macro. When I try to connect the output of the Mult module (which multiplies ADSR's L output and Sensitivity knob's V output) to the Add module (which adds the Cutoff to the result) I constantly get Internal Error 1CFA9-2C308 message.


The Program Setup

OK, you have the SynC Modular running. Now what?

We assume that you have a sound card capable of playing back audio and a MIDI keyboard connected to your computer. If you do not have them you probably have to add some equipment to your studio.

 	Now back to the subject. Before you get to work you have to tell the program which MIDI and audio devices it should use. Let's start with MIDI since MIDI setup is simpler.

First you have to know on which MIDI channel your MIDI keyboard transmits data (as you play the keys). Generally you would set it to channel 1. However you can set it to any other channel if you don't like the channel 1. Consult your keyboard manual for detail.

When you are done with the keyboard, switch back to the program. From main window menu bar select Edit->Ensemble Part and set the same MIDI channel as transmitted by your keyboard.

The ensemble part channel setting is actually not a setup setting, but rather an ensemble property. You need to check this setting each time you start a new ensemble project.

Now from the same menu bar select Sound->MIDI Setup. A number of available MIDI inputs will appear in a dialog box on the screen. Select the MIDI input to which your keyboard is connected and press OK. If you use Microsoft Windows, have just an ordinary soundcard (not a pro or semi-pro) and use its game port for MIDI connection, your MIDI input probably bears 'MPU-401' in its name. Otherwise consult your card's manual. For BeOS your MIDI input probably looks as something like this: '/dev/midi/chipname/1'.

That's all with MIDI. Let's skip to audio. Select Sound->Audio Setup from the menu bar. Select the wave output device by clicking its name with left mouse button. Under Windows there are MME and DX (DirectX devices). Hardware-accelerated DirectX devices usually give better latency, and also they give you a better (to 1 millisecond) MIDI timing resolution. Under BeOS you have the following choices - Default output which is the basic sound output service, and two low-level choices - Audio mixer which is basically the same as Default output and External connection which allows you to manually connect SynC Modular to some other audio consumer (using e.g. Cortex app). If you have a registered version it's recommended to use low-level outputs, because they feature better MIDI timing at least.

To the right will be listed a set of sampling rates available for the selected device. Select a sampling rate that you want. If you don't know which rate to select, select 44.1kHz (the sampling rate used in audio CDs). Under BeOS certain sampling rates may produce distorted sound or deny to run, depending on the audio device. Usually 44.1kHz works fine.

Under Windows you have also to select the Resolution and Latency. A good initial choice is resolution of 5 ms and latency of 20 ms. The less the better, but too small values will lead to audio clicks. Too small resolution may also lead to CPU overload. You will define the optimal values later, when you create your first sound with SynC Modular. So just press OK and you are done with audio setup.

Under BeOS you may select number of audio buffers and buffer size, if you are using low-level audio output. Increasing number of buffers is useful if you experience gaps in output audio. Tweaking buffer size is generally not recommended, better leave it set to * (star) which denotes buffer size suggested by the output device.

next page>>


Making The First Sound

Now that you have completed the audio and MIDI devices setup let's try to get some sound out of the program. Actually we are going not just to make any sound but to built a decent synthesizer patch, though not at once.

To create a sound we need to have some structure which creates that sound. We will be creating this structure in the Ensemble (Structure) window of the SynC Modular. If you have accidentally closed that window just select Window->Show Ensemble from the menu. In this window you can see three modules which are always there (they cannot be deleted): PartBox, WaveOut and VR. We are not going to use the PartBox until we get to the multitimbrality. We will need the VR module later in our tutorial, when we introduce the amplitude ADSR envelope. And we will need the WaveOut right now.

Most sources on subtractive synthesis (and we are going to do the subtractive synthesis since it is the most common synthesis type) say that first, you should take a waveform which is harmonically rich, e.g. sawtooth. Let's do literally that. Right-click the ensemble structure window's empty space and select Standard->Oscillators->Saw AA from the menu that appears. This creates a sawtooth oscillator in the structure. (AA stands for antialiased, and we do not want the aliasing phenomenon to spoil our saw, sounding bad enough even without that. Well, that's all too complicated, forget about aliasing, just insert the antialiased sawtooth, OK?).

On the left side of the sawtooth module are its inputs: F and S. On the right side is the output: O. That's a general rule - the inputs are always on the left side of the module, the outputs are always on the right side.

Now let's find out what are you to do with this sawtooth module. Right-click it with the mouse and what the popup menu appearing on the screen. Most of the commands in this menu deal with editing the sawtooth module, but you don't want them, you are not going to corrupt the (presumably) fine-working sawtooth, are you? So just select the Module Description command. This won't do any harm.

In the module description you can read that F input is for frequency and O output is for sawtooth oscillating signal. S is for sync, but we are not going to sync the oscillator this time, so just leave it. OK, we need to find some source signal for the frequency input. Right-click the empty space again and select Basic->Const. This is going to create a constant signal producing module. You can see '0' labeled upon it. This should tell you that this module is going to produce a constant signal equal to zero. But you don't want zero, you want some audible frequency value. Let's take 440Hz (MIDI note A4).

OK, right click the constant module and select Value from the menu that appears. This brings up a dialog box letting you to specify the desired output value. Enter 440 and click OK. Now the module is labeled '440' and as you expect it is going to produce a constant output value of 440 units.

Let's connect its output to the sawtooth's F input. To do that, first position the mouse cursor over the constant's output pin. Now left-click, hold the mouse button and drag the cursor. An inverse color line should stretch out from constant's output to the mouse cursor. Position the cursor over the sawtooth's F input pin (the mouse cursor should turn to cross with an arrow, indicating you are over an acceptable input pin) and release the mouse button. Congratulations, you've just done your first connection.

By the way, later you are going to need not only to connect the modules but also to break the existing connections. The simplest way to do that is to click on the input pin of the connection (e.i. the pin on the left side of the module and usually at the right end of the connection line) and drag to the empty space, releasing the mouse button there. Alternatively you can click on either of the pins and drag to the other pin of the connection to be removed. We suggest that you try at least one of these variants, so that later you feel no difficulty connecting or disconnecting modules.

OK, back to our sawtooth. Now the sawtooth module is supposed to oscillate at 440Hz. To hear it you should connect the sawtooth's output to the WaveOut module. You'll need two connections, to the L and R inputs of the WaveOut module, since you want to hear the sawtooth in both left and right stereo channels (nevertheless it's OK to connect only to the left or to the right input). Make these connections the same way you connected the constant module to the sawtooth (you are not hearing the sawtooth yet, unless you pressed the Play button, we are going to do it a bit later).

That's all with the structure. Let's save it (it is always good to save your work after completing some part of it). Click [image] button on the toolbar, or select File->Save from the window menu bar. Since you have no name for your project (ensemble) yet, a dialog box appears, allowing you to select the name and directory for the file. Enter the file name and click OK. (Further in this tutorial we are not going to remind you to save the project, leaving it to your decision).

And last. Let's listen to the sawtooth. Are you ready? Click the [image] (Play) button on the toolbar, or select Sound->Run from the menu bar, or just hit 0 on the numpad. A sharp, buzzy sawtooth sound should emerge from the speakers. If somehow it does not, check your soundcard volume control, soundcard mixer wave output level, your audio connections, etc.

Watch the consumed CPU time shown by green digits in the small indicator window on the toolbar. The format of the info in this window is SS+WW%. SS is the CPU time percentage used for synthesis. WW is the CPU time percentage used for writing to the audio output device (and some other system tasks, but they usually do not take more than 1%). WW may be irrelevant in VST2 mode or under BeOS.

To stop the sound click the [image] (Stop) button on the toolbar, or select Sound->Stop or hit numpad Enter.

Alternatively, the SynC Modular allows you to preview the created signal. Click the [image] (Oscilloscope) button on the toolbar, or select Sound->Run Oscilloscope from the menu bar. You should see the sawtooth wave in the oscilloscope window that appears. Close the oscilloscope window by clicking the [image] button it it's upper-right corner.

By the way there is also a Panic command in the Sound menu. Select this command (or just press F2) when there are stuck notes or the synthesizer has gone into some non-functional state (e.g. because the positive feedback was too high in the feedback loop).

Not too much impressive, is it? It's gonna take some more work than just a single sawtooth to create a decent sounding structure.

next page>>


Adding Keyboard Control

The sawtooth sound you created in the previous topic does not respond to the MIDI keyboard. In a few following steps we are going to fix that.

First, the sawtooth no more has a constant frequency. Instead it should have a frequency corresponding to the pressed MIDI key. So, right-click the constant module and select Delete. Alternatively you could have selected it by left-clicking and pressed Del key, or selected Edit->Delete from the menu bar. In any case, you no longer have 440Hz frequency source.

Now create an OnFreq module instead of deleted constant. Do it by right-clicking the empty space and selecting Basic->MIDI Note->OnFreq. If you read the module's description (by right-clicking it and selecting Module Description) you're gonna learn that this module produces the frequency corresponding to the pressed MIDI key. There is a shadow behind the OnFreq module, we're going to discuss it a bit later. Connect it to the F input of the sawtooth.

As the result you don't hear no more sound from the speakers no matter press you MIDI keys or not (of course you are not going to hear anything with Stop button pressed, but even pressing Play button does not help). Besides, you should see a shadow appearing behind the sawtooth module and a couple of red > signs appearing at the WaveOut's inputs. To deal with this problem let's take a brief look at one of the SynC Modular concepts.

Whenever you are going to buy a synthesizer gear you should wonder how many voices it is capable to play simultaneously. If you're told that a specific gear has 64 voice polyphony you are going to believe that it is capable of playing as many as 64 notes at the same time (sometimes manufactures call different things a voice, saying that a note can consist of several voices, but that's another story). Anyway we want a polyphonic sounding patch.

This means that if we want a 16-note polyphony for our patch, we need 16 sawtooth oscillators (and - for a bit more complex patches - also 16 filters, and 16 envelopes etc.). Of course you are not going to create 16 identical sawtooth modules in your structure.

When you see a shadow appearing behind a module, this module is polyphonic. This means that there is actually not one module, but many of them, one module for each voice. How many depends on the voice settings for the patch. As a rule, in SynC Modular you are not going to specify whether you want the module to be polyphonic or not. The SynC Modular makes the decision automatically (sometimes you are given control over the module's polyphony, but we are not going deep into detail here). In most cases when any of the module's input is coming from a polyphonic module, then the entire module is considered polyphonic. In our case the sawtooth module became polyphonic because it was connected to the OnFreq module which is polyphonic by itself.

So (assuming the patch is set to 16 voices) you have 16 OnFreq modules and 16 sawtooths. When you press a key on your MIDI keyboard the SynC Modular allocates a new voice for that key. If there are no free voices the oldest one is discarded. This is usually called latest note priority.

Notice. Discarding the voice produces an abrupt change in the sound which is sometimes quite noticeable and is heard as a click. In this case set the patch polyphony as large as required. Don't set it too large, because this increases memory consumption. Also too large polyphony may eat up CPU time.

Now that a voice is allocated, its OnFreq module is producing an output signal which is equal to the corresponding frequency in Hz, assuming the equal temperament scale (which is generally used in most western music). Just think of it as of producing the corresponding frequency. The connected polyphonic sawtooth is oscillating at the produced frequency.

If there's another key pressed at the same time, another voice is allocated, its sawtooth oscillating at a different frequency.

The only problem is that we don't hear any sound. That's because the WaveOut module is not polyphonic. Anyway there's only one audio output device in SynC Modular. And it is not clear how to route 16 polyphonic sawtooths into one monophonic WaveOut module. That's why those red > signs at the WaveOut's inputs, informing you that the connection is invalid. You have to tell the SynC Modular how the sawtooth outputs for all voices are supposed to be combined. This is done by introducing a VC (voice combiner) module into your structure. Right-click the background and select Basic->VC module from the menu.

Most often, you are going to just mix up (add) the outputs of a polyphonic module. This is the default working mode of VC module. Route the sawtooth output to the V input of the VC. We are not discussing the G input this time, leave it disconnected. Attach the VC output to the L and R inputs of the WaveOut module, replacing the old connections. Watch the green > sign at the VC output, informing you that this output is monophonic (while the entire module is polyphonic, as denoted by the shadow). Watch the red > signs at the WaveOut inputs disappearing.

Now click the Play button and play some keys on your MIDI keyboard. Hear the patch responding to different keys. Watch the number of allocated voices change in two windows on the toolbar. Why there are two windows is explained elsewhere.

next page>>


Inserting the Filter

You still hear that buzzy unpleasant sawtooth sound as you play the keys. Let's shape it a bit. We are going to do that by introducing a lowpass filter into the signal path. We can insert it either between the oscillator and VC or between the VC and WaveOut. Currently this won't make any difference, because we are going to filter all voices in the same way. However later we are going to control the filter by the envelope. This means that different voices have to be filtered in different ways (the envelope-controlled cutoff filter frequency is having different values for different voices, since the envelopes are at different stages). So we suggest that you insert the filter before VC, so that it becomes polyphonic. This way we are going to consume more CPU time (up to 16 filters instead of one), but the filter without an envelope is not sounding that good, you'll hear for yourself.

Anyway right-click the background and select Standard->Filters->2-pole from the menu, creating a 2-pole filter module. Route the sawtooth output to the In of the filter. Route the LP (lowpass) filter output to the V input of the VC module. Press [image] button. You should not hear any sound.

There's another important input of the filter, denoted as F. It is filter's cutoff frequency. While disconnected it defaults to zero (as with most module's inputs in the SynC Modular, unless stated the different), so the lowpass filter is completely closed.

While we could attach a constant to the filter's cutoff input, creating a knob is much more convenient. Right-click the background and select Basic->Controller.

Right-click the controller module. You should see many parameters in the menu. Since we are going to modify many of them, it is convenient to select Parameters... item from the menu, bringing up a parameter editing dialog.

First, modify the controller's caption name. So far it was set to 'Knob'. Use either cursor keys to select the Caption parameter and then press Enter or double-click the parameter name with mouse. A caption name editing dialog appears.

Enter the new name, e.g. Cutoff and press Enter.

Now we need to define the range of the output values of the controller. Set the Min parameter to 20 (you hardly need to close the filter below  20 Hz). Set the Max parameter to 4000.

By the way the filter may get instable with cutoffs below 10 Hz or above the sampling rate divided by 8. Thanks for the safety structure curcuit inside the filter, which clips the input cutoff frequency, unless you disable the curcuit from the filter's panel, but that's another story.

Also this time we think it is convenient to have the controller value shown close to the knob on the panel. Set Show Value parameter to Yes.

Let's view the results. Press the Done button to close the parameters dialog. Right-click the background and select Show Panel. A panel window appears with the Cutoff knob inside.

Make sure the SynC Modular is not in Move Controls mode ( [image] button on the toolbar should be popped out) and drag the knob with the mouse. Dragging up or right increases the value, dragging down or left decreases the value.

You should have noticed one inconvenience. The knob in it's middle state shows the value about 2000. But (did you know?) the frequency scale is logarithmic. E.g. A4 note frequency is 440Hz. A5 note frequency is 880 Hz. A6 note frequency is not 880+440=1320 Hz but rather 880*2=1760 Hz. That is going up one octave doubles the frequency, not increases the frequency by a constant value. So we have one octave in the knob's right halfway and all other octaves (20 Hz-2000Hz is approx 7 octaves) in the knob's left halfway.

Switch back to the structure window. You can do this by either using the Window menu or by right-clicking the panel and selecting Show Structure. Set the knob's scale to logarithmic (by choosing the Scale parameter from the module's menu). By the way the logarithmic scale works only if you have Min and Max parameters both either positive or negative (and not equal to zero).

Try the knob this time. Watch the value changing in a logarithmic way. Leave the knob somewhere above 1000 Hz, so that you are going to hear the notes played in the middle octaves range. Remember, you are not going to hear the notes with frequencies far above the cutoff!

OK, back to the structure window. Connect the V output of the knob to the F input of the filter (you rarely need the S output of the knob, so we don't discuss it here). Now press [image] button. Play some keys and rotate the knob with mouse. Hear the sound change.

There is another important filter input, Q. It controls resonance. By the way if you want no resonance it is recommended to route a 0.3 constant value into this input (so far this input was defaulting to zero). Q=0.3 gives the steepest filter response curve, while producing no resonance yet. But we want better. We want to connect a knob to to the Q input to control the resonance.

Create a new knob. Set its caption to 'Resonance', show value to Yes, scale to linear and range to [0.3..0.97]. Route it to the Q input.

Switch to the panel window. Your first desire is probably to find a better place for the knob. Push [image] button if it is not in depressed state. This enables the Move Controls mode. Alternatively you flip this mode by pressing F or F3 on your keyboard (note that F shortcut is disabled when Play PC Keyboard mode is on). Now drag the knob to a desired location with the mouse. Disable the Move Controls mode by clicking [image] button again.

Play some keys and try different resonance values. High resonance may cause signal clipping, so avoid them this time.

next page>>


The Amplitude Envelope

The filter had made the sound a bit better. Let's go on and introduce some enveloping. We start with amplitude envelope. Actually we are going to build what is called the time-variant amplifier (TVA) and control it with an envelope.

There a going to be too many modules in our structure. It's better to have our TVA to be one module, not many modules, otherwise we are going to have a mess soon in our structure window.

Right-click the background and select Basic->Macro. This creates a macro module. A macro module is used to create your own modules, containing their own structure. This time we are creating the TVA. Right-click the macro module and select Caption. Modify the caption name to 'Amplifier'. Press OK.

We need one input for our amplifier (to route the signal in) and one output (to route the variant-amplified signal out). Right-click the macro again and select Inputs. Click Add. The default input name 'In' is suggested. Press OK. Press OK again to close the inputs dialog. Use the same way to create the module's output (this way selecting Outputs from the module's menu).

Insert the amplifier module between the filter and VC. It is highly recommended to insert the amplifier after the filter because the filters output is 'spread over' in time. That is e.g. when the signal at the filter's input terminates the filter's output does not terminate immediately but rather decays for a period of time. This is common with most filters (actually we don't know of a filter for which this is not true). But we want to control the amplitude of the output signal and the output is taken from the filter.

Right-click the amplifier macro and select Show Structure. You are now taken to the macro's internal structure window.

You should see the inputs module on the left and outputs module on the right. Those are the macro's structure connection with the outer world. Inside we are creating the TVA.

In math terms the amplification of the signal is simply multiplying the signal by either constant or variable value. E.g. multiplying the signal by 2 amplifies the signal by +6dB. Dividing the signal value by 2 is -6dB. But we don't care for the relationship between our multiplication coefficient and dB scale. What we know is that multiplying the signal by 1 leaves it intact, multiplying by a less value weakens the signal.

Create a multiplier module (Basic->Mult). Route the macro's input to one of the Mult inputs, route the Mult's output to the macro's output. Fine, all we have to do now is to define our multiplication coefficient.

We suggest that you first add a knob to the other Mult's input and find out yourself how changing the multiplication coefficient affects the signal volume. Create knob the same way you did with the filter and connect it to the other Mult's input. Leave the knob's Min and Max parameters at their default values (0 and 1) and the scale set to linear. We suggest that you set its caption to 'Volume', since this is what the knob does.

Switch to the panel window and drag the knob to the desired location (remember to turn on the Move Controls mode). Play some keys while turning the Volume knob. Hear the sound change. If the maximum volume is too small, you can modify it by adjusting the knob's Max parameter (be careful, too large volumes cause output signal clipping).

Now we add the envelope to modify our coefficient. Rather than connecting the envelope instead of the Volume knob we want to have them both. Right-click the Mult module and modify the Input Count parameter, by setting it to 3. Watch another input appearing on the Mult module.

Right-click the background and select Standard->Envelopes->ADSR, creating a classic ADSR envelope module. A, D, R inputs define the corresponding envelope times (attack, decay, release) in seconds. S defines the sustain level and G triggers the envelope (you can read it all by right-clicking the module and selecting Module Description).

Create 4 knobs and set their captions to A, D, S, R. Set the time knobs (A, D, R) to logarithmic scale and value range [0.001..10]. Set the sustain knob to linear [0..1] (the default knob settings). A convenient way to do this is to first create the A knob and set its parameters. Then duplicate it twice (by pressing Ctrl->D, or right-clicking the module and selecting Duplicate, or selecting Edit->Duplicate from the menu bar). The parameter values will be copied to the new modules, so that you don't have to set them again. Change the caption for the two new modules. Now create the S knob and set its parameters.

Connect the knobs to the corresponding envelope inputs. Switch to the panel and rearrange the knobs (remember to flip the Move Controls mode).

Switch back to the amplifier structure window. We need a signal to be routed to the G input. This signal is going to trigger the envelope. Its positive front will start the envelope when crossing the zero level, its negative front will release the envelope when crossing the zero level. The only problem is where to take this signal from.

This signal is most often taken from the Gate module. When in inactive state this module yields the signal which is slightly less that zero. Most of the time this module even does not yield any value, since it is polyphonic and the voice for the key which is not pressed is usually not active. As you press a MIDI key the voice becomes active, the gate signal is raised to 1. As you release the key, the signal drops back below zero.

Create the Gate module (Basic->MIDI Note->Gate) and route it to the G input of the envelope. Watch the envelope becoming polyphonic (the shadow appearing). Route the L output of the envelope into the unused Mult's input.

Switch to the panel and set A, D, S and R knobs to about halfway. Play some keys. Now increase the attack time. Hear the attack change. Play with the decay and sustain settings. Finally try the release setting. It does not work!

Actually the release setting works, but the voice is deallocated at the time you release the key. You need to make voices deallocate at the time of the envelope completion. This is done by routing the envelope activity signal (taken from the A output of the envelope) to the VR module. When the VR module is connected to nothing it releases the voices immediatly upon the key release. When it is connected to some source it releases the voice at the time the input signal for that voice drops below zero. (Thus disconnected VR module equals to the Gate module connected to the VR module). The envelope activity signal is set to 1 while the envelope is active and drops to a slighly below zero value upon the completion of the release stage. This way the voice is going to be released after the release stage is complete.

The only problem is that the envelope is inside the amplifier macro. OK, you create another output in the amplifier macro (either the way you did by right-clicking the macro, or from within the macro's structure, by right-clicking the Outs module). Let's call it A (activity). Route the envelope's A output to the macro's A output in the Outs module.

Switch to the ensemble window and connect the amplifier's A output to the VR module. Now play the keys and hear the release portion of your notes. You should also notice the click audible before at the key release disappering. This click was caused by the immediate voice termination without the smooth fade out.

Another small improvement will be to have our amplifier controls enclosed in a frame. Switch to the ensemble window, right-click the amplifier macro and select Panel. Set this parameter's value to Frame. Now switch to the panel. You probably would want to rearrange the panel a bit. Remember you can now move the entire contents of the amplifier subpanel by dragging the amplifier frame in the Move Controls mode.

Notice. Actually there is a ready-to use macro for such amplifier in the Library->Dr Sync->Amplifiers section, but we are here to learn, aren't we?

next page>>


The Amplitude Envelope
The Filter Envelope

Most synths also control the filter with an envelope. Let's add an envelope to our filter.

First, to avoid the pile of modules in the ensemble structure we suggest that we enclose the filter in a separate macro the same way we did with the amplifier.

Select the filter, cutoff knob and the cutoff knob. There are two ways to do this. Either Shift-clicking each of the modules with left mouse button or click over the empty space and drag over the modules that you want to select. (You can also Shift-click over any point in the structure and drag over, this prevents other selected modules from losing selection and also helpful if you really need to start the drag from over one of the modules).

Select Edit->Cut from the menu bar (or press Ctrl->X). This removes the selected modules from the structure and copies them to the clipboard.

Create a new macro, set its caption to 'Filter', panel mode to Frame and create one input and one output. Switch to the macro's internal structure. Press Ctrl->V (or select Edit->Paste). Watch the 2-pole filter with the knob modules appearing. Drag them to the desired location.

Route the macro input to the filter input, the filter LP output to the macro output.

Create a new ADSR envelope module. Create A, D, S, R knobs. Alternatively you can copy/paste them from the amplifier module. Remember to use Ctrl->C (copy) command, not Ctrl->X (cut). If you accidentally used the wrong command you can use undo/redo (Ctrl->Z/Ctrl->Y) feature. 	The application of the filter envelope differs from that of the amplifier. While the amplifier envelope started and ended at zero level (completely closed), we don't want the filter to be completely closed at these points, but rather remain at our cutoff level set with the knob. We want the envelope to be added to our cutoff level.

This presents one small problem. The envelope output range is [0..1], while we want it to modify the cutoff by hundreds of Hz. This problem is solved by multiplying the envelope's output by a coefficient. We're gonna call the coefficient the 'envelope sensitivity'. Create a knob, set its caption to 'Env Sens', scale to logarithmic and range to [10..4000]. Create the Mult module and use it to multiply the envelope by the sensitivity.

Another small problem. Now the least amount of the envelope is 10 Hz. We could set the sensitivity range to [0..4000] but that would disable the logarithmic mode. We could try some trick and set the range to [0.000001..4000] but that would result in the sensitivity value less than 1 with the knob halfway right (not too much convenient, is it?. So we play another trick. Subtract 10 from the knob's output. To do this use the Sub module, which you should insert between the Env Sens and Mult modules.

Now use the Add module to add the Cutoff knob's value with the envelope and route the result to the filter.

You do not need to use the envelope activity flag this time, since the voice deallocation is controlled by the amplitude envelope. Anyway the voice is no longer needed when it's at zero amplitude, the filter does not matter, right?

Switch to the ensemble structure. Insert the filter between the oscillator and the amplifier.

Switch to the panel and arrange controls. Try different envelope settings and listen to the sound.

next page>>


Adding More Control

A decent synthesizer should respond to MIDI volume, hold and pitchbend messages. We already have a volume controller in our synth. To make it response to MIDI volume messages you just need to modify the module's parameters. Set it's Rx MIDI Event paremeter to Controller and Rx MIDI Parm parameter to 7 (MIDI controller 7 is volume, according to MIDI spec). Now if you can transmit the volume controller from your MIDI keyboard (or another MIDI source) you can watch the volume knob to respond to the controller movement (the synthesizer must be in the playing state, that is [image] button must be down!).

You can notice a slight click as you change the volume while playing the keys. That is because the controller changes not continuously but in steps (there are only 128 values per the entire controller range). The clicks can be avoided by inserting a low-pass filter after the controller knob. 1-pole filter with cutoff set to 10 Hz will do.

To make the synthesizer respond to the hold we need to avoid the gate signal to the envelopes (both amplitude and filter) dropping below zero while the hold controller is more than halfway up (according to the MIDI spec, values greater than or equal to 64 define the on state of the hold controller).

Remove the Gate module from both Filter and Amplifier macros and make a new input called G in each of these macros. Inside each macro route the G input to the envelope.

Create a Gate module within the ensemble structure instead of the two removed Gate modules. Then right-click the background and select Standard->MIDI->Hold Peak. Connect the Gate to the Hold Peak module. Route the Hold Peak output to G inputs of the Filter and Amplifier. This module is going to sustain the gate while the hold is on.

Now you can try the hold pedal. Play some notes with the pedal either up or down.

Notice. This hold macro cannot be used for monophonic synthesizers driven by single-trigger gate. If this hold macro is inserted into a monophonic gate signal path, pressing down the hold pedal would trigger the envelopes because the output value becomes greater than zero.

Now for the pitchbend. The pitchbend controller is going to change the oscillator frequency. While we can add some value to the OnFreq output, better to multiply the OnFreq value by something (remember, the frequency scale is logarithmic). With small frequency deviations the two above methods do not differ much, but if you want to pitchbend range to be ±1 octave you need the latter one. -1 octave is multiplying the frequency by 0.5 and +1 octave is multiplying the frequency by 2.

OK, create a new macro, call it pitchbend and route the OnFreq output through this macro to the oscillator.

Switch to the macro's internal structure. Create a controller, called pitchbend. Set its appearance to none, scale to linear and range to [-1..1] (by the way MIDI pitchbend controller range is [-8192..8192]) and set its Rx MIDI Event to pitchbend.

Create another controller knob with linear scale and range [0..12]. Call it 'Pitchbend range'.  Set its Step parameter to 1 and Show Value to Yes. This knob is goind to define the pitchbend range in semitones. Multiply the pitchbend controller output by this knob's output.

Route the Mult's output to the dP2FF module (Standard->Auxiliary->dP2FF). This module converts semitones to frequency factor (the number we are going to multiply the frequency by). You can choose the precision of dP2FF module computation by right-clicking it and selecting Show Panel. This module is a macro module created the same way you did with your macros. It has its own panel on which there is a switch letting you choose the module precision. This time you can choose the precision set to infinite since there are not too many pitchbend MIDI messages per time unit to consume significant fraction of the CPU time (higher precisions require more CPU power).

Multiply the pitchbend macro's input by dP2FF output and route it to the output. Now we have multiplied the oscillator frequency by the factor corresponding to the pitchbend.

Try the pitchbend and hear the sound affected. Remember to switch to the panel and set the pitchbend sensitivity to a nonzero value.

next page>>


Adding The LFO

Let's add an LFO to our synth. We are going to use it to modulate the pitch. As with pitchbend, remembering that the frequency scale is logarithmic, we are going to multiply the oscillator frequency with some variant value.

Create a macro called LFO with Frame panel mode. Make one output, called 'Pitch'. Multiply the Pitchbend module output value by the LFO Pitch output and route it into oscillator. We suggest that you do not insert the LFO macro between the pitchbend and oscillator because later you may want to use LFO to modulate the filter and/or amplifier, so this way we have a more general structure.

We also suggest that you multiply the pitch-bent frequency by the LFO output rather than routing the LFO-multiplied OnFreq through the Pitchbend. The reason is as follows. The signal at the output of the Pitchbend module is not changing continuously, but only in response to incoming MIDI events (NoteOn-s and Pitchbend-s). This allows the SynC Modular to optimize the evaluation by evaluating this part of the signal path only when there's an incoming event of one of  the two specified kinds (called event-rate signal). On the opposite, the LFO output signal changes continuously and the modulated frequency would also change continuously, so that the SynC Modular would have to evaluate it for each output sample (called continous-rate signal). So we just suggest that you make the event-rate signal path as long as possible, saving a bit of CPU time.

Switch inside the LFO macro. Create a Sine oscillator (Standard->LFO->Sine). The main difference between the oscillators within the LFO menu group and the oscillators in the Oscillators menu group is that they are not antialiased. The antialiasing is not required for non-audible low frequencies (actually it is even not required for the audible low frequencies).

Create a knob, called Rate (range [0.1..20], scale logarithmic) and route it to the Sine. Create a knob called Pitch (range [0..12], scale linear) and multiply its output with the Sine's output (use Mult module). Process the Mult module's output with dP2FF module (create one) and route the FF output to the pitch output of the LFO macro. Right-click dP2FF module, select Show Panel and change the precision to some other setting than infinite (otherwise the module would consume a significant part of CPU time). Now we have a variant frequency factor at the LFO's output, changing in the range set by the Pitch knob of the LFO.

Listen to the sound this time. Remember to adjust the LFO parameters on the panel.

That's all with synth creation tutorial. You can read on to learn how to use the multitimbral features of the SynC Modular.

next page>>


Creating Presets

Now we are going to try add the ability to save preset instruments (that is panel controls settings) for our patch. First we better enclose our newly created synth structure within one macro. This is convenient, that we can later handle it as one module.

From within the ensemble structure window press Ctrl->A (select all). Press Ctrl->X (cut). The ProgBox, VR and WaveOut modules are not removed, they cannot be. Create a new macro, call it 'MySynth'. Create two outputs: 'Out' and 'A' (the latter will be using for routing out the envelope activity signal, since we cannot put the VR module inside the macro). Connect Out to WaveOut's L and R and A to the VR.

Switch to inside the macro and paste (Ctrl->V) the modules. Route VC output to Out and amplifier A output to A. Play some keys to make sure everything works.

Set the macro's panel mode to Frame. This way it should look better.

Now right-click the macro and select Presets. Set the parameter value to Yes in the dialog that appears. Switch to the panel. A new control has appeared.

Rearrange controls on the panel and find some place for presets control. Now turn off the Move Controls mode. Left-click the control. The presets dialog appears.

Click Add... . Enter a name for new preset, e.g. My 1st Instr. Now change some controls settings. E.g. boost the resonance. Bring up the presets dialog again and click Add... . Type in a new name e.g. Heavy Reso.

Now left-click the preset control and double-click My 1st Instr. The controls should revert to the stored state. Now select Heavy Reso. The controls should change to another state.

next page>>


A Two-Synths Ensemble And Sequencing

Let's try some multitimbrality. First we have to rearrange things a bit. Switch to the ensemble window. Press Ctrl->I (or select Edit->Instrument Settings from the menu bar). Set the ensemble MIDI channel to none. Now the ensemble no longer responds to the incoming MIDI (try it).

Right-click the PartBox module in the ensemble structure and select Outputs. Create two outputs: L and R. (You could as well have created only one output, since we do not exploit stereo features here, but that's just for some practice). Connect PartBox's L output to the L input of the WaveOut, connect R output to the R input.

Cut (Ctrl->X) the MySynth macro from the ensemble structure. Press Ctrl->P (or right-click the PartBox and select Parts...). The Parts dialog appears.

Make sure Part 1 is selected in the leftmost listbox. Right-click the first string in the list of instruments. Select Create. Enter 'Synth1' as the instrument name.

Click Show Selection button (or right-click the instrument again and select it from the menu). You are now taken to the instruments structure. Press Ctrl->V to paste your MySynth macro here. Connect Out of MySynth to L and R ins of Outs module.

Press Ctrl->P again, select part 2 and create an instrument 'Synth2' in this part. Paste MySynth macro to this instrument and connect it the same way you did with Synth1.

Now you have two parts: 1 and 2. Part 1 responds to MIDI channel 1 and part 2 responds to MIDI channel 2. And the ensemble structure (if there were any) does not respond to MIDI since we have set it's control channel to none. Switch to the parts' panels (either by right-clicking the part's structure background and choosing Show Panel or from part's dialog by selecting part and instrument and clicking Selection Panel) and make some different settings, so that you can tell between the sound of the two parts.

Make sure that for each of the parts 1 and 2 instrument 1 is set as current instrument. You can tell this by the '=>' sign next to the instrument in the parts dialog. The current instrument can be changed by double-clicking the required instrument. You can actually have as much as 128 instruments assigned to a part (do you need that many?) and choose between them by sending a MIDI Program change message.

Now if your keyboard can send MIDI messages on different channels you can try playing each of the instruments. If your keyboard supports MIDI channel layering you can play both instruments at once. Consult your keyboard manual for detail.

However usually multitimbrality is used in sequencing rather than in playing live. Under Windows, before you use your favourite sequencing software with the SynC Modular you need to make sure that you have either SynC Pipe (coming with the SynC Modular) or some other MIDI loopback driver (e.g. Hubi's loopback device which is widely found over the WWW) installed. Under BeOS it's OK.

Now select the MIDI input from Sound->MIDI Setup, that is under Windows, if you are going to use the SynC Pipe select SynC Modular MIDI In, if you are using other device select the corresponding MIDI input. For BeOS select External Connection as your MIDI input. Run your sequencing software. Set the sequencer's MIDI output to SynC Modular (for SynC Pipe under Windows) or to the required output for other device. Consult your sequencer's manual/help for detail.

Create a couple of melody lines in the sequencer, one playing on channel 1, the other on channel 2. Set your sequencer to Play mode. Make sure the SynC Modular is in Play mode ( [image] is depressed). Hear both lines playing.

You can read more info on how to use multitimbrality on the multitimbrality tips page.


Modules and Wires

The pieces you are working with in SynC Modular are modules. The examples of modules are oscillator, filter, amplifier, envelope, multiplicator etc. A general module has zero or more inputs and zero or more outputs. The modules are created by right-clicking in the empty space of the structure window and selecting the desired module type. An example of module is shown below.

This is the sawtooth oscillator module. It has two inputs (F and S) and one output (O).

You can learn more of a specific module by right-clicking it and selecting Module Description. The other items in the module right-click menu are used to edit the module.

Modules are connected by wires. A wire connects the output pin of one module to the input pin of another (or the same) module. The example shows the constant signal source routed into the sawtooth.

There cannot be more than one wire going into the same input. If there are no wires going into a specific input, the input is considered to receive a zero-level signal, unless otherwise stated.

If a wire makes a feedback connection, the signal appears at the input delayed by 1 sample. This is shown by z sign next to the input.

The signal transferred by wires is supposed to have values within ±1E+10 ( [image]). The larger values up to ±1E+38 ( [image]) are allowed but are not recommended. If the values grow even larger the floating point overflow is going to occur. However that is not going to crash the program.

Most oscillators produce the signal in ±1 range. Ultimately the signal should appear at wave output module not exceeding ±4 range.

next page>>


Polyphony

The modules can be either monophonic or polyphonic. The polyphonic modules are distinguished by the shadow behind them in the structure window. A polyphonic module has a separate instance for each voice allocated in the current instrument.

A new voice is allocated each time the user presses a MIDI key. The maximum number of voices is specified in the instrument settings. If there are no free voices the oldest voice is deallocated (so-called latest note priority).

The voice deallocation is controlled by the VR module of the instrument. Usually for normal deallocation you should connect this module to the amplitude envelope activity signal. See the VR module description for more detail.

Sometimes a module is not entirely polyphonic, but some internal part of it is polyphonic and some not. From the user point of view this is seen as some outputs of the module being polyphonic and some monophonic. The monophonic outputs of a polyphonic module are shown by > signs next to them.

The module polyphony is controlled automatically by the SynC Modular in most cases. A polyphonic signal routed to a module usually causes the module or some part of it to become polyphonic. Initially the polyphonic signal is taken from the modules which always produce the polyphonic signal (e.g. MIDI Note Frequency).

Some modules cannot accept the polyphonic input signals (e.g. the WaveOut module). An attempt to do so results in a non-functional wire denoted by > signs next to the input. Before you can route the polyphonic signal to such module you need to combine all voices of the signal. This is done by VC module.

next page>>


Signal Rates

This page contains a rather complicated material. If you don't understand it, just ignore it. However the concepts given here can help you to create a less time consuming instruments and ensembles.

Each wire transfers the output signal of one module to an input of another. The wires are not equal. In some wires the signal does not change at all (it is constant). In some wires it changes in responce to an incoming event (MIDI or user input from panel). In other it changes (or at least is assumed to change) continuously. This creates three different signal rates: constant, event and continuous.

If a module (or in some cases part of it) receives a continuous input, it has to produce a continuous output. This means that the module is evaluated for each output sample (e.g. for 44.1kHz sampling rate the module is going to be evaluated 44100 times per second). However if the inputs to a module are all constant and/or event, the module could possibly produce an event rate output, thus evaluating only once per incoming event. If all inputs are constant the module never evaluates.

E.g. let's take a multiplication module (in its simplest form), whose output is the product of its two inputs. If both inputs are constant then the output is constant, the module never evaluates. If one of the inputs is constant and the other is event then the output is event, the module evaluates on an event incoming through the module's input. If both inputs are event then the output is event, the module evaluates on an event incoming from either input (or from both simultaneously). If one of the inputs or both of them are continuous then the output is continuous, the module evaluates on each sample tick.

There are certain exceptions. E.g. even if an oscillator receives an event input (e.g. frequency), the output value is certainly continuous.

A special case are macro modules (that is modules with internal structure). If a macro has a continuous input, not necessarily all macro's internal modules are counted continuous. Actually only those internal modules with are fed with continuous input signal are continuous-rated.

Another special case are multisection relays and switches. For them, each section has its own signal rate.

Note. If a wire lies within a feedback signal loop it is always continuous rate.

The signal rate is denoted by dot marks next to the pins. Red marks denote constant rate, green marks denote event rate. If there's no mark, the rate is continuous. Don't confuse dot marks denoting signal rate, with angle bracket marks, denoting other aspects of signal routing.

Note. Marks at disconnected or inactive (due to optimization) modules/pins do not denote anything, since the rate of the passing signal may change when the pin is activated.

next page>>


Ensembles, Parts, Instruments

The projects you work with in SynC Modular are called Ensembles. They are stored in files with .sme extension. E.g. Example.sme.

The ensemble consists of a number of Parts. A part can be thought of as a virtual musician having a set of Instruments at its disposal to play.You do not create parts yourselves. Instead there's a fixed number of parts available, 16 PartBox parts (corresponding to 16 MIDI channels) + 1 Ensemble Part. The MIDI channel for the ensemble part is set in its instrument settings.

A PartBox part can own up to 128 instruments (corresponding to 128 MIDI programs). The Ensemble part owns only one instrument.

An Instrument is a virtual device capable of creating a certain range of sounds. With SynC Modular you can create instruments yourselves or use instruments designed by other people. E.g. you could create an instrument simulating the sound of a Hammond organ. Such instrument could have a number of faders representing the drawbars and also whatever other controls you want it to. The window containing the instrument's controls is called the instrument's panel. The window containing the internal schematics of the instrument is called the instrument's structure.

Two different common practices exits. The first is for creating a single-instrument ensembles. Primarily used for live playing. The only used instrument is created within the ensemble structure and thus assigned to the ensemble part.

The second practice is for creating multitimbral ensembles. Primarily used for sequencing. The instruments are created within PartBox parts. The ensemble instrument may be used as a place for master effects processing (routing the PartBox outputs through the effects modules to the output). In this case the ensemble part is usually set up to respond to no MIDI channel or to an unused MIDI channel if you want to control the effects in realtime by MIDI.

next page>>


Macros

Macros are the modules that you design yourself, or that are designed by someone else. At any rate they have their internal structure which is available for viewing and editing. Macros are stored in files with .smm extension. E.g. MoogFilter.smm.

A macro module has a number of inputs and outputs (zero or more). E.g. the MoogFilter macro could have the Cut input for the cutoff, Res input for the resonance, In input for the input signal and Out input for the output signal.

The macro's internal structure modules receive the signals from the macro's inputs and send the signals to the macro's outputs.

A macro module can have no panel, have its own panel, or have its own panel as a parent's panel subpanel (appearing in a frame).


The Important Things to Know

1. Most procedures are done via right-clicking the background or the modules bringing a popup menu.

2. You can learn the specifics of a particular module by right-clicking it and selecting Module Description.

3. Keep in mind the VR module of ensemble and instruments. Leaving it disconnected skips the release (key-up) portion of the sound.

4. The little colored signs next to module's inputs and outputs bear the important information. The most important is red [>] sign next to a module's input. This means the connection does not work because the polyphonic source is fed into a monophonic-only input.

5. In Audio Setup don't set the latency and/or resoultion too small. This is the primary cause for clicks in output audio.

6. Some sequencers can change your currently selected instruments by sending MIDI Program Change events at the time of loading a new sequence. If your instruments do not respond check which instruments are set as current in the Parts Dialog.

7. The co-running sequencers can affect the minimum allowed latency in both directions. It is currently known that Cakewalk 8 significantly degrades (increases) the latency. Cubase 3.5 and sometimes Logic 4.0 co-running with SynC Modular improve the latency.


CPU Usage Optimization Tips

1. Connect the VR module of the instrument to the A output of the amplitude envelope, thus getting the optimal voice allocation.

2. Turn Fast Update parameter Off for those switches for which it is not required to be on. This eliminates inactive branches from evaluation.

3. Try to keep the signal at event rate for as long as possible.

4. Avoid if possible using time-consuming modules in continuous rate signal path. The very much time consuming module is A^x. Less time-consuming modules (but still better to avoid them) are Div (only if the denominator is continuous rate signal, otherwise works quite fast) and Relay.

5. Some standard modules (e.g. filters) have their own settings available via their panel (right-click the module and select Show Panel). The settings are usually set to the maximum precision/safety of evaluation. However under many circumstances this settings can be changed to less CPU time-consuming.

6. When using a switch (or even a relay) try to use the switch to select between different sources rather than route to different destinations. E.g. instead of sending the signal either to the delay or distortion (depending on the switch position), send signal to both units and use switch to select between the effect units outputs. With Fast Update parameter Off this will eliminate the unused effect unit from evaluation.

7. Avoid floating point overflow (too big values) and underflow (too close to zero values). Currently SynC Modular uses 4-byte floating point numbers. This means that numbers as big as ±1E+38 ( [image]) and as small as ±1E-38 ( [image]) are allowed. The zero is also allowed. However -1E+40 or 1E-40 are not allowed. Such values can essentially (10 times and more) degrade the performance of the SynC Modular if they fall into continuous rate signal path.

Note. One exception is underflow in feedback paths, which is quite common case, because the signal is usually exponentially decaying in those. This case is automatically handled by SynC Modular and does not lead to performance degradation.

8. When playing multitimbral ensembles select the empty instrument slots for the currently unused parts. Otherwise the monophonic modules of the selected instrument will continue to consume the CPU time.

9. It is not necessary (from the CPU performance point of view) to remove the unused pieces of structure. If a module's outputs are not connected to the WaveOut, VR or the instrument's Outs module (either directly or via other modules), the SynC Modular automatically removes this module from evaluation process.

10. There is no way to find the CPU consumption caused by a specific module within the structure. You can tell it only by disconnecting modules and looking at the CPU consumption changes.


Multitimbrality Tips

Here are described some general techniques to be used with SynC Modular multitimbrality features. This is not a guide to be strictly followed, just a way to make it easier and more convenient.

 If a synth to be used in a multitimbral ensemble is stored in an .sme file you can open a second instance of the SynC Modular to copy/paste the synth macro from there.

 It is more convenient though to keep your synths library in .smm file format, without attached effect modules (reverbs, choruses etc.). Then to load such macro into the part's instrument structure, right-click the background and select Macro... (not Basic->Macro). A file browsing dialog will appear allowing you to select the necessary file.

Notice. The synths that come in examples are stored as ensembles just because they are easier to try this way. They have all necessary connections made and effect modules attached and tuned.

To create .smm-format synth from an .sme single-instrument ensemble, first load the .sme

file, go into the synth's macro (e.g. with NordLead2 from the examples this macro is labeled NordLead2) and select File->Save Macro As... from the menu bar.

Create an effect send macro for yourself. Such macro would receive the synth's output and send output signals like follows: L - dry signal send for the left channel, R - dry signal send for the right channel, Rev - reverb effect send, Cho - chorus effect send, Dly - delay effect send (it's only an example set of outputs, you can create any other to your taste). The macro would contain several knobs inside: Pan - adjusting the dry signal panning, RevSnd - adjusting the reverb send, ChoSnd - adjusting the chorus send, DlySnd - adjusting the delay send. Also it can contain a volume knob, adjusting the overall level of the input signal. Assign Volume to MIDI controller 7, Pan to controller 10, RevSnd to controller 91, ChoSnd to controller 93 and DlySnd to controller 95 or to whatever other MIDI controllers you want.

Warning. Be aware that some synths (e.g. NordLead2 from the examples) already respond to controller 7 as volume controller. In this case it is recommended to disable controller 7 reception either by the synth or by the effect send module. You can have a switch in the effect send module for that.

Save the effect send macro in the Library/YourName/EffectSend.smm file in the SynC Modular installation directory. Then you will be able to select your effect send macro right from the module creation menu.

Create a template .ens file with all necessary effect send outputs created in the PartBox (e.g. L, R, Rev, Cho, Dly) and all necessary effect processing modules in the ensemble structure.

After you have done all the previous steps, creating a new multitimbral ensemble is like follows.

1. Load your template ensemble

2. Save it under a different filename, so that you do not overwrite it later

3. Create a new empty instrument for a PartBox part. Switch to that instrument's structure.

4. Load the synth into the instrument structure by right-clicking the background, selecting Macro... and choosing the synth's file.

5. Create the effect send module by selecting it from the menu (provided you saved it in the Library/YourName directory earlier).

6. Route the synth's audio output to the effect send module, route the synth's envelope activity signal (for polyphonic synths) to the VR module.

7. Route the effect send outputs to the corresponding inputs of the instrument Outs module.

8. Repeat steps 3-7 for any other parts/instruments.


VST2 Plugin Mode
Using SynC Modular as a VST2 Plugin

This does not apply to BeOS version.

Warning! SynC Modular is a large and complex synthesis system, some VST2 hosts do not allow handy usage of SynC Modular as a VST2 plugin. Also some hosts do not fully support VST2 specifications. At this time only one host is known to be perfect for the purpose of running the SynC Modular - Cubase 3.7. Check back at SynC Modular home page for new info.

Warning! VST2 mode is a registered version feature of the SynC Modular. It works in evaluation version, but disables all MIDI, except the PC Keyboard option.

What is VST2 plugin synth

The latest (v2.0) enhancements to the VST protocol allow direct interfacing between synthesizers and other software (primarily sequencers). The benefits are sample-accurate MIDI timing and audio routed back to the sequencer in digital, where it can be further processed.

In this case the VST2 host (sequencer) does all interfacing with external MIDI and audio devices and the synth is used for pure synthesis.

Installation of the SynC Modular VST2 plugin

The SynC Modular can be used both as a standalone program and VST2 plugin. After installing the SynC Modular a file named SynC Modular.dll can be found in the VST subdirectory of the SynC Modular program folder. This file has to be copied to the VSTPlugIns directory of your VST2 host program (some hosts may require it to be copied to different directory, consult your VST2 host manual).

Using VST2 plugin

Start your VST2 host program. In the list of VST2 plugins you should see SynC Modular (consult your host's manual). Create an instance of this plugin. E.g. in Cubase you just select SynC Modular from the list of plugins. The SynC Modular splash screen and then main window should appear.

Notice. The splash screen appears only once in a host session.

In the Window menu of SynC Modular main window you should see a submenu entitled Instances. This is where you'll see all created instances of SynC Modular plugin. Now there's only one instance, entitled Inst1. You can rename it from your host, by editing the program name for this instance. The names are needed to match instances in host program and SynC Modular. You can switch between the instances using this menu.

Notice. Some hosts would show two instrument programs featuring the same name for SynC Modular VST2 instances. You can rename either of the programs to rename the instance.

Notice. Some hosts would create more than one instance of SynC Modular (as seen in Window->Instances menu) for a single instance of VST2 plugin. This is beyond SynC Modular's control, you'll have to find the correct (actually used) instance yourself.

Load some ensemble. You can load even multitimbral ensembles provided your VST2 host supports transmitting on different MIDI channels to VST2 plugins.

Important. Don't forget to press the Play button on the SynC Modular toolbar and also to switch VST plugin on (it is necessary e.g. in Cubase).

Now switch to your VST2 host and assign the plugin to a track (in case the host is a sequencer). In some hosts the plugin can be confused with SynC Modular MIDI pipe device (e.g. in Cubase, SynC Modular MIDI pipe looks as SynC Modular and VST instances look as SynC Modular (1), SynC Modular (2) etc).

Play the plugin as described in the host's manual.

Important. You have to match the MIDI channels for the track and for SynC Modular instrument you play in the same way you do when running SynC Modular standalone. Or (for non-multitimbral ensembles) you can set the ensemble MIDI channel to Omni, in that case ensemble responding to all channels.

Notice. Your host may do its own processing of some MIDI data, e.g. volume and pan controllers. This processing may be done in addition to or instead of these controllers being processed by the plugin. Please consult your host's manual.

Notice. Some hosts not always set the correct sampling rate for VST plugins. If you have trouble getting correct pitch and sound from the plugin, check the sampling rates for the host and plugin to match. The current sampling rate for SynC Modular plugin is displayed on the toolbar.

Saving VST2 plugins

When saving a file from your host program all VST plugin instances are likely to be saved in that file (e.g. in Cubase). However SynC Modular files are huge and it's not a good idea to save them e.g. with MIDI sequences. Therefore only a reference to SynC Modular ensemble is saved to the host's file, in the form of full file path.

When you load back that file the instances of SynC Modular are given these references and try to load the ensembles.

Warning! Not all hosts support this part of VST2 protocol. If it's not supported you'll have to reload ensembles manually when you load back your saved host file.

Notice. Also you can save a patch or a bank from your host. In both cases only a reference to the ensemble is saved as in the previous case.

You still need to save your ensembles in the same way as you do when using SynC Modular as a standalone program.

____________________

VST is a trademark of Steinberg Soft- und Hardware GmbH


Mouse Summary

Move item	Click and hold left button, drag, release left button

Select item 	Left-click (all other deselected).

Toggle item selection	Shift-left-click.

Select group of items	Left-click and hold the empty space, drag, release.

Deselect all	Left-click empty space (same as Esc)

Scroll entire window	Middle-click and drag

Structure window only:

Create connection	Left-click and hold the pin, drag to the other, release.

Remove connection	Left-click and hold the input, drag to empty space, release (or left-click and hold one pin, drag to the other, release).

Show Structure	Ctrl-left-double-click (module, or background for parent)

Goto Structure	Left-double-click (module, or background for parent)

Show Panel	Alt-left-double-click (module, or background for parent)

Show Parameters	Shift-right-click

Panel window only:

Operate knob/fader	Left-drag

Fine-precision operation	Alt-left-drag

Toggle switch	Left-click

Show Rx MIDI/current value	Ctrl-left-click (knobs/faders only)

Edit current value	Ctrl-left-double-click (knobs/faders only)

Find in structures	Right-click and select Find


Toolbar

File->Open

File->Save

The update indicator. When running (there is a highlight point) the SynC Modular is updating its structure data and there is no output sound.

Sound->Run

Sound->Stop

Sound->Run Oscilloscope

NNk	sampling rate

SS+WW%	CPU consumption (synthesis + wave output)

AA/TT	current part's voices (active/total)

AA/TT	overall voices (active/total)

Red flash in the sampling rate window denotes clipping (the signal exceeds the dynamic range). Red flash in the CPU window denotes CPU overload (too many voices for given patch).

Sound->Play PC Keyboard

Edit->Move Controls


Using Mouse
Selection and Drag Operations

To select a module you click it with either left or right mouse button. Clicking the selected module with left mouse button does not change the selection state of other modules. If you click the module with right mouse button this clears other modules selection and also brings up a Module Context Menu

To select a module without cancelling the selection of other modules you can left-click it while holding down the Shift key. This inverts the selection of the module leaving other modules' selection intact.

To select a group of modules at once you click and hold the left mouse button over the empty space and drag the mouse cursor over the region of the structure, bringing up a selection frame. The modules that are inside the selection frame get selected. Finally, release the left mouse button. If you really need to drag not from the empty space, but from over the module, hold down the Shift key while doing so. Holding down the Shift also prevents previously selected modules from losing selection.

To cancel all selection without selecting any modules left-click the empty space or press Esc.

To move a module left-click and drag it.

To move the selected group of modules simply left-click any of the modules and drag it.

To bring up a parameter dialog for the module shift-right-click it.

To go down inside the macro module structure left-double-click the module (or use right-button menu). To show structure for the macro in a new window ctrl-left-double-click it.

To go up to the upper level structure left-double-click the empty space (or use right-button menu). To show the parent structure in a new window ctrl-left-double-click the empty space.

To scroll the entire window middle-click anywhere within its space and drag.


Background Right-Click Menu

As you click the structure window empty space with right mouse button a menu will pop up. You can select the following from this menu.

Basic	Brings up another menu that contains the basic (i.e. without internal structure) modules available in SynC Modular.

Standard	Brings up a menu that contains the standard (i.e. coming with SynC Modular) set of macros, providing a more convenient set of modules than just basic ones.

Library	Brings up a menu that contains user-defined macros contained in the Library subdirectory of the directory in which the SynC Modular is installed.

Macro...	Loads a macro module from file.

Show Parent	Brings up the parent's structure window.

Goto Parent	Changes the current window's content to the parent's structure. If a window for the parent's structure is already open the current window will close and the parent's structure window will be brought to front. Alternatively, you can left-double click the empty space

Show Panel	Brings up a panel window with a current structure's panel. If the current structure does not have a panel then the owner structure's panel is brought up.


Module Right-Click Menu

As you click a module in a structure window with right mouse button a menu will pop up. You can select the following from this menu.

Show Structure	Brings up a window with the structure of the selected module. Available only for modules which have internal structure.

Goto Structure	Changes the current window's content to the structure of the selected module. If a window for this structure is already open the current window will close and the requested structure's window will be brought to front. Available only for modules which have internal structure. Alternatively you can left-double click the module.

Show Panel	Brings up a panel window for the module. Available only if the module has its own panel (panel mode is set to Frame or Yes).

Module Description	Brings up a window with the description text for the module. This is actually the module's quick reference help text.

Here goes a number of items corresponding to module's parameters. You can click any item to change the corresponding parameter. Alternatively you can select the Parameters item described below.

Parameters...	Brings up a dialog box with a list of module's parameters. You select a parameter for editing by either double-clicking it with left mouse button or using keyboard. In the latter case you press up or down arrow keys to choose the parameter and hit Enter to start editing it.

Note. When using keyboard make sure the focus frame is in the parameters list, not on the OK button. You can change the focus by pressing Tab or Ctrl+Tab. As the dialog box appears the focus is initially is set to the parameters list, but you might have accidentally or intentionally change it.

Inputs...	The item is present only in the modules which allow their input pins to be edited directly. It brings up a dialog box which lists all module's inputs.

Note. You can edit a Macro module's inputs by selecting Inputs command either for the macro module itself or for the Ins module of the macro module's internal structure.

Outputs...	The item is present only in the modules which allow their output pins to be edited directly. It brings up a dialog box which lists all module's outputs.

Note. You can edit a Macro module's outputs by selecting Outputs command either for the macro module itself or for the Outs module of the macro module's internal structure. You can edit PartBox's outputs only selecting this command from the PartBox.

Duplicate	Duplicates the module. To duplicate several modules at once use Duplicate command of the Edit Menu.

Delete	Removes the module. To remove several modules at once use Delete command of the Edit Menu.


Connecting Modules

To connect an input of one module to an output of another you click either of the pins (input or output) with left mouse button and drag the mouse to the other pin, releasing the mouse button over the second pin. If the input was connected to another output it will be disconnected from that output and connected to the new one. That's because an input cannot be connected to two or more outputs.

To break a connection between an input and an output you can do one of the following. You can left-click on either of the pins (input or output) and drag to another pin, releasing the mouse button over the second pin. Alternatively you can left-click on the input and drag to the empty space (that is not belonging to any of the modules), releasing the mouse button over the empty space.

Special signs at the module pins:

>  (at the input)	- the polyphonic signal is routed into a monophonic-only input. The connection is invalid and does not function.

z (at the input)	- the input receives a feedback signal. A virtual {figs\z_1.bmp} module is inserted before this input (that is the input signal is received delayed by 1 sample). In most cases this is OK, e.g. in a feedback delay (echo) module. Sometimes may be considered as a warning. E.g. in filter design you should not relay on auto-inserted {figs\z_1.bmp} modules. Because their location within the feedback loop is not fixed (by explicitly inserting a {figs\z_1.bmp} module) it can be arbitrarily changed by the SynC Modular under certain conditions.

> (at the output)	- this output (of the polyphonic module) yields monophonic signal. Shown just for informational purposes.


Editing Panels

To edit panel you need to enable the Move Controls mode. This is done from the Edit menu, or by pressing F or F3 key, or by clicking [image] button on the toolbar (the button must be left in depressed state). Please note that F shortcut is disabled when Play PC Keyboard mode is on. The Move Controls mode is disabled the same way (that is from the Edit Menu, pressing F key or clicking [image] button.

To select a module left-click it.

To select a subpanel left-click its frame.

To select without cancelling other selection Shift-click (this flips the selection of the clicked item).

To select a group click over the empty space and drag. Or Shift-click over any location and drag.

To move a module or subpanel left-click (the module or the subpanel's frame) and drag it.

To move a selected group of modules and subpanels left-click any of them and drag.

To go to the panel's owner structure right-click the panel and select Show Structure.

To find a control module in structures right-click its panel image and select Find '...'.

To find out the Rx MIDI event and/or current value for a control ctrl-click it.

To scroll the window middle-click anywhere within its space and drag.

To create a subpanel you need to change the Panel parameter of the macro module.


Operating Panels

To operate panel you need to disable the Move Controls mode. This is done from the Edit menu, or by pressing F or F3 key, or by clicking [image] button on the toolbar (the button must be left in popped state). Please note that F shortcut is disabled when Play PC Keyboard mode is on.

To operate a knob or fader left-click the handle and drag it. Dragging up and right moves faders up and turns knobs right, dragging down and left does the opposite. Holding Alt toggles fine-precision.

To operate a switch left-click any of the buttons.

To operate a preset left-click it.

To scroll the window middle-click anywhere within its space and drag.

Right-button menus, quick finding Rx MIDI/current value by ctrl-clicking (described in Editing Panels) are also available.

To edit the knob/fader's value ctrl-double-click it.


File Menu

New Ensemble	clears current ensemble and creates a new one.

Open Ensemble...	(toolbar [image]) clears current ensemble and loads a new ensemble from disk.

Save Ensemble	(toolbar [image]) saves current ensemble to disk.

Save Ensemble As...	saves current ensemble to disk and letting user to specify the file name.

Save Macro As...	(available from macro internal structure window only) saves the macro to disk, letting user to specify the file name.

Exit	quits the program

At the bottom of the File menu is a list of most recently used ensembles file names. You can select any of the file names for quick loading that file.


Edit Menu

Undo	undoes the most recently issued command. You can select Undo several times in series to undo more than one command.

Redo	redoes the most recently undone command. You can select Redo several times in series to redo more than one command.

Cut	(available only from structure windows) removes the selected modules and places them (with their wiring) to the clipboard. You can then use the Paste command to copy these modules from the clipboard to another location.

Copy	(available only from structure windows) copies the selected modules (with their wiring) to the clipboard. You can then use the Paste command to copy these modules from the clipboard to another location.

Paste	(available only from structure windows) copies the modules previously put to the clipboard (with either Cut or Copy command) to the current structure.

Delete	(available only from structure windows) deletes the selected modules.

Duplicate	(available only from structure windows) creates a copy of the selected modules (with wiring among them and to other modules, not from other modules) and puts it nearby in the same structure.

Select All	selects all modules in the current structure window.

Note. Some modules (e.g. WaveOut, PartBox, Macro inputs/outputs etc) cannot be cut, copied, pasted, deleted and duplicated. However they still can be selected so that you can move several modules at once, including these modules.

Deselect All	cancels all selection.

Parts...	brings up the Parts Dialog Box., allowing you to edit the instruments assigned to parts within a PartBox. The same command is available from the PartBox context menu.

Instrument Settings...	allows you to change maximum number of voices for the currently edited instrument. For the ensemble part also allows to select the ensemble part response MIDI channel, including None (doesn't respond to MIDI data) and Omni (responds to all channels).

Move Controls	(toolbar [image]) switches between the control and edit modes of the panel. In edit mode you move controls across the panel, choosing their position. In control mode you actually operate them (turn knobs, press switches etc.).


Sound Menu

Run	(toolbar [image]) starts the synthesizer. The synthesizer begins to produce waveform output to selected output device. The CPU usage indicator displays the percentage of CPU time used for synthesis.

Stop	(toolbar [image]) stops the synthesizer. The synthesizer no longer consumes the CPU performance, thus giving the other processes more power.

Panic	cancels all sound. Use in case of stuck MIDI notes, patch structure entering an unstable state, etc.

Run Oscilloscope	(toolbar [image]) starts the synthesizer and the oscilloscope. The waveform is sent both to the output device and  (actually its left channel only) to the oscilloscope window. This lets you to visually monitor the synthesizer's output. Useful for debugging complex structures. The oscilloscope scale is about ±4 units per window height (the maximum allowed signal range) and one sample per pixel horizontally.

Audio Setup...	lets you specify the waveform output device, sampling rate, resolution, latency and maximum allowed CPU consumption for the synthesizer. Also for Windows version you specify resolution and latency and for BeOS low-level audio output number of buffers and buffer size (* is use buffer size as suggested by the output device - recommended). Increasing number of buffers may help if you experience gaps in the output audio (it doesn't increase the latency though). Changing the buffer size may affect the latency, but it is generally not recommended. You can use Cortex or a similar app to see what's happening.

The resolution is the length of a waveform packet sent to the output device and also the time resolution of the incoming MIDI events. Increasing the resolution results in better timing and smaller available latency but requires more CPU time for sending packets to the output device, since there are more such packets. Also too small resolution may result in clicks in the output audio.

The latency is the length of waveform data written to the output device in advance. Reducing the value introduces a faster MIDI response but may result in gaps in the output audio (heard as clicks) as the SynC Modular is not granted CPU in time by the system.

Note. Doubling the sampling rate doubles the consumed CPU performance.

MIDI Setup...	lets you specify the MIDI input device for the synthesizer. You can choose of any standard MIDI input devices available through the system or under Windows, select the SynC Modular MIDI In provided that you have installed the SynC Modular MIDI pipe driver during the program installation.

Note. If you want to use SynC Modular with a concurrently running sequencing software under Windows you have to use either SynC Modular pipe driver or some other MIDI pipe device avaliable (e.g. Hubi's Loopback device). Under BeOS you need to select External Connection.

Render MIDI File...	(registered version only) does sample-accurate rendering of a MIDI file to 16-bit stereo WAV using the current ensemble and allowing to specify any reasonable sampling rate.

PC Keyboard/Play	(toolbar [image]) controls usage of PC keyboard for patch auditioning. When on you can play patches using your PC keyboard using alphanumeric keys. This also disables all keyboard shortcuts in alphanumeric range. PgUp / PgDn keys transpose the keyboard by octaves. The current transpose setting is indicated on the toolbar button.

PC Keyboard/Octave Up	transposes the PC keyboard up by one octave. Disabled when Play PC Keyboard mode is off.

PC Keyboard/Octave Down	transposes the PC keyboard down by one octave. Disabled when Play PC Keyboard mode is off.


Window Menu

Instances	selects among VST instances of SynC Modular (VST2 mode only).

Show Ensemble	brings up main ensemble window. Useful if you accidentally closed all window of the ensemble.

Full Size	resizes the current window to the maximum size, while not bringing it into the maximized state. Useful if you are not willing to maximize all SynC Modular windows, which is otherwise the case.

Full Size All	resizes all windows to the maximum size.

Skins/Select...	selects active skin plugin. Please remember that in the skin directories there are ini files with factory skin presets (they have .ini.txt extension). You may copy them to files with .ini extension to make them available.

Skins/Setup Current...	enters setup for the active skin plugin.


Help Menu

Contents	brings up the help contents.

Home Page	starts internet browser and goes to SynC Modular home page.

About...	displays the SynC Modular product information.


Parts Dialog

Invoked by pressing Ctrl->P or selecting Edit->Parts... from the menu bar.

Part:	selects a part to edit

Instrument:	selects an instrument within the selected part. You can right-click the instrument to bring up a context menu. You can left-click and drag the instrument to move it within the slot space.

Show Selection	displays the selected instrument's structure.

Goto Selection	displays the selected instrument's structure in place of the current structure window.

Selection Panel	displays the selected instuments' panel.

Set Current	sets the instrument as the current instrument for the selected part. This instrument will be played by the part until another one is selected by either using Set Current command or receiving a MIDI Program Change message.

Done	closes the dialog

Create/Init	creates a new instrument in place of the current empty instrument slot or initializes the current instrument (clears all modules within an instrument).

Rename	changes the instrument's name

Remove	removes the instrument, leaving the empty slot in its place.

Up	moves the instrument up in the slot space

Down	moves the instrument down in the slot space


Inputs/Outputs Dialog

Invoked to edit the macro's or PartBox's inputs/outputs. For macros is invoked by selecting a corresponding command from either macro's module or macro inputs/outputs module's right-click menu. For PartBox output editing can be selected from PartBox only, the input editing is unavailable and reserved for future versions.

OK	ends the dialog

Add	creates a new pin

Rename	renames the pin

Remove	removes the pin

Up	moves the pin up

Down	moves the pin down

You can also right-click the pin name to rename or remove it. You can drag the pin name to change its position.

While the focus is within the pin names list box (you can tell it by focus frame within the listbox) you can use the keyboard accelerators Ins (add), Del (remove), Enter (rename), - (move up), + (move down).


Preset Dialog

Invoked on left-clicking the presets control in panel window (move controls mode must be off). Allows selecting an existing preset or preset creation/editing.

To select a preset either double-click it or click Select. To create/edit presets use buttons or right-click the preset name for a popup menu. You can drag a preset name to change its position.

While the focus is within preset names listbox you can use keyboard accelerators Del (remove), - (move up), + (move down).

Presets marked with * are incomplete. It means that some controls were not assigned values in these presets, while they generally should have been. The cause for this may be that these controls were created later than the preset settings were stored. Please don't confuse * in preset list, denoting incomplete presets, with * in preset control in the panel window, denoting that the current preset is modified.

Select	Selects the highlighted preset

Done	Finishes presets editing

Add...	Creates a new preset storing the current controls state.

Overwrite...	Overwrites the highlighted preset with current controls state.

Rename...	Renames the highlighted preset.

Remove	Removes the highlighted preset.

Up	Moves the highlighted preset up.

Down	Moves the highlighted preset down.

Group preset operations (the bottom row of buttons):

Copy...	brings up a group selection dialog and copies the selected presets to the clipboard

Paste	pastes presets from clipboard to the bottom of the list

Save...	brings up a group selection dialog and exports the selected presets to a file

Merge...	imports presets from a file to the bottom of the list

Remove...	brings up a group selection dialog and removes the selected presets

Group selection dialog operation: mouse click selects item, shift-click extends selection to the item, ctrl-click adds item to selection, click and drag selects a group.


No Output Sound

1. The synth is not in running state

Check if the play button ( [image]) is pressed. You should also wait until the update indicator ( [image]) stops running.

2. Audio output path not functioning properly

Quick check: create a simple structure of one oscillator running at constant frequency. Bring up oscilloscope window. The sawtooth should be visible in the oscilloscope. If you don't hear any sound then the problem is with audio output.

Cause: audio output port not set up.

Fix: select Sound->Audio Setup and set a correct output port.

Cause: the multimedia audio device volume and/or the output speakers volume is set low.

Fix: change the volume setting.

Cause: the connection path from the audio card to the speakers is broken

Fix: check the connection.

3. The MIDI input path is not functioning properly

Quick check: 1. Make sure the problem is not with audio path (see above). 2. Switch to either structure or panel of the instrument that does not play. 3. While the synth is in the running state press some MIDI keys. Look at the voice indicators on the toolbar. If the left voice indicator (for the current instrument) does not change, the problem is with MIDI input.

Cause: the MIDI input port is not set up.

Fix: select Sound->MIDI Setup and set a correct input port.

Cause: the MIDI controller keyboard is transmitting on a different channel.

Fix: investigate your ensemble (look up the response channel of the ensemble or the part number of the current instrument). Match the ensemble channel or the current instrument part and the transmit channel of MIDI keyboard.

Cause: the sequencing software is transmitting on a different channel.

Fix: the procedure is the same as above

Cause: the part is currently set to an inactive program.

Fix: check the current instrument setting for the part.


Glitches In Output Audio

Cause: too small resolution and/or latency set in Audio Setup (Windows). Number of buffers too small (BeOS).

Fix: try increasing either of the values or both simultaneously until glitches disappear.

Cause: some other software running eats up CPU time.

Fix: quit all unnecessary programs.

Cause: Windows eats CPU time for its own needs.

Fix: 1. No known way for Windows NT. 2. Try changing the disk cache size (system.ini: [VCache] MaxFileCache) to a lower value. 3. Set Virtual Memory (in the Control Panel) to a fixed size to prevent dynamic resizing. 4. In computer music periodicals and on the WWW can be found a number of more detailed articles on this topic.

Cause: other hardware (e.g. video card) is interfering with the bus.

Fix: consult your hardware manual or look for the solution specific to your hardware elsewhere.


Internal Error or Program Crash

1. Make sure you have the latest version of the software. You can check for new versions on http://www.mtu-net.ru/syncmodular

2. If the problem persists with the latest versioin, send a bug report. Make sure you have read the guidelines.