Up to higher level

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>>