Softsynths and Samplers


In addition to DAWs, drum machines, MIDI arrangers and a plethora of other varied applications for audio production that are available under the Linux platform, there is also a growing number of powerful software synthesizers (softsynths) and samplers available gratis in most Linux distribution repositories. In this discussion, we will focus in particular on one native Linux softsynth: TAL Noizem4k3r, and Petri-Foo, a useful Linux-based sampler or "ROMpler". We'll look at how they create, modulate and reproduce electronic sound.

Subtractive synthesis

Tal NoizeM4K3R

Noizem4k3r softsynth utilizes the subtractive synthesis method for synthesizing its waveforms. Subtractive synthesis utilizes basic waveforms that are rich in harmonics (typically a sine wave, square wave, pulse wave, triangle wave or sawtooth wave) as the starting tone. Each waveform type has a distinctive sound that makes it unique. Square waves are often utilized for creating "hollow" or bell-type sounds, even though a bell sound can also be obtained using a sine wave, by changing various other settings. Sawtooth waves are currently very popular for making "fat saw" sounds, popular in the house genre of music.

Noizem4k3r includes four windows, any two visible at any given time: Synth 1, Synth 2, Envelope Editor and Control.

The first section we will consider, nominated “Synth 1,” is where two sound sources (oscillators) are located. The master section of this panel controls the volume levels for each oscillator. You can use either or both oscillators. The type of waveform of each oscillator is selected in the respective box. A “noise” waveform is also included. Noise is very common in nature, and this waveform is useful for creating sounds such as wind, waves, engine sounds, breathy flute-type sounds, percussive sounds, scratchy sounds, etc. The “tune” knobs move the pitch of the individual oscillator up (right) or down (left) in semi-tones. The “fine” knobs adjust the tuning in smaller, microtuning amounts. The “sub” knob controls the sub-oscillator, which is a low tone, good for adding body to some types of sounds. Ringmod is used to add ring modulation, used particularly in bell-type sounds. Sync will synchronize the two oscillators together, so that both oscillators' waves start together simultaneously. This creates an additional sonic effect, particularly useful when using certain filter settings. The portamento knob adjusts the slide amount, when the portamento is set to “on” or “auto.” Polyphony/monophony can be selected at the box above “voices.” Up to six notes can be played contemporaneously on Noizem4k3r. The mono setting allows just one note to be played at a time, and is useful with certain lead sounds, bass sounds, and sounds with portamento. Lastly, tune and transposition allow the entire final sound to be adjusted for pitch; this is useful when playing with other instruments, playing in different key signatures, etc.

Once the waveform(s) have been selected, it is often desirable to modulate and “carve” the wave further, using additional elements such as the filter, LFOs, envelopes and effects. In regard to the filter, are two important controls to consider: cutoff and resonance (Q factor). The best way to understand the usefulness of these two controls is to modulate them independently, to hear how one affects the other. The cutoff is the point at which the frequencies begin to get cutoff (ie. with the lowpass filter, at what point the higher frequencies start to get cutoff). By adjusting the cutoff setting, you change the amount of the sound that is being passed through to the output. Resonance, sometimes called the Q factor, is the accentuation of the cutoff point. The more resonance is added, the more the cutoff point is accentuated. Resonance is very common in nature - everything from the sound of trickling or rushing water to an acoustic piano requires this element.

The Key knob is used to attenuate the brightness/loudness of the sound as higher notes are played on the keyboard. This is useful in imitating piano-type sounds, where the higher notes decay faster and have a naturally softer tone. The Contour knob can be set to positive (right) or negative (left). This knob affects the ADSR sliders below in terms of how intense or “high” the overall envelope is. Setting it to the center position gives the minimal height of the envelope. Setting it to the left gives the maximum negative height. Setting it to the right gives the maximum positive height. Putting the Sustain slider to maximum and then adjusting the Contour knob will help to understand how “high” the envelope can reach.

Another important section of any subtractive synthesizer is the envelope. There are many types of envelopes, depending on the amount of control that is desired. In Noizem4k3r there are three envelopes - a traditional ADSR envelope for the filter, another ADSR envelope for the amplitude (loudness) and a A-R envelope that can be independently assigned by the user. ADSR stands for Attack, Decay, Sustain, Release. The Attack slider adjusts the initial response of the synth when a note is played. Decay is the attenuation of the sound until it reaches the sustain level (the sustain slider is merely the level). The sustain level should be set to zero if a non-holding tone, such as a percussive sound, is desired. (Note that essentially all that is required for a basic sound is an attack setting and a decay setting. Sustain serves to hold the note at a certain level, if desired, until the played note is released.) The Release slider is used to set the time that the sound will take to diminish back to zero once the note is released. The release rate is valid at any point at which the note is released (regardless of the sustain level).

Noizem4k3r also includes a third envelope that can be assigned to other elements of the sound. (This envelope does not have a sustain level, only an attack and decay.) By assigning this section to either Oscillator 1 or 2 (or both), and adjusting the amount knob to the desired amount of effect, this parameter will change the pitch of the oscillator according to the attack and decay rates.

There are many types of filters, and each type of filter serves to cancel out different frequencies of the oscillator's sound. A low-pass filter, for example, will allow the low frequencies to pass to the speakers, while removing the higher frequencies. A high-pass filter will do the opposite, and is best used for creating sounds that require high frequencies. A band-pass filter allows just the middle frequencies to be heard. A notch filter will let the low and high frequencies be heard, but not the middle band frequencies. The filter section in Synth 2 controls the type of filter you want to use (click the box to the right of the “filter” title to see the filter types: 24dB, 18dB, 12dB, etc.) The “Envelope Editor” is an additional audio control section that is unique to Noizem4k3r. Multiple stages can be added (indicated by the dots on the graph) and the overall shape can be contoured. The boxes on the upper right side of this section allow control of: --what part of the sound the shape will affect: filter, oscillator 1/2, amplitude, FM, etc. --the speed at which the sound passes through the envelope, --single (one-shot) or repeated signal (for the note's duration), --the speed of the envelope as set to 120 bpm, --and the amount of the signal going through. The “Control” section provides effects which can be used to enhance the overall sound: two types of chorus, distortion, reverb, noise, bitcrushing (renders the sound more or less aliased) and delay are all provided here. There are controls to adjust the effects produces by the pitch bend (if available). Both the pitch and the filter cutoff amount can be applied to the pitch bend control. The oscillator bitcrush knob reduces the quality of the final sound, which can be used to obtain a harsher, more “digital” aliasing effect, if desired. From this page, the final created sound can be saved and loaded again.

A Low Frequency Oscillator (LFO) is an oscillator that is not heard, but “felt.” There are two LFOs provided in Noizem4k3r. LFO 1 (Synth 1 page) is similar to the LFO 2 (Synth 2 page). Each oscillator can have a sine, triangle, saw-up, pulse, sample-and-hold or noise waveshape (indicated in the box to the right). The LFOs are used to modulate the selected destination: . They can be used to modulate the pitch, the filter amount, amplitude (loudness) and other aspects of the oscillators. They are useful in giving the sound a “wobble” or vibrato, a tremolo effect, pitch modulation, etc. The Rate knob adjusts the LFO speed. The Amount knob adjusts the depth (intensity) of the modulation. The Phase knob adjusts at what point in the LFO waveshape the LFO will start when a note is played. The box next to the Amount knob is the Destination selector, where you can select what you want the LFO to modulate: Osc1, Osc2, filter, etc. Key-trig will cause the LFO to start at every key-on, rather than allowing it to fluctuate independently. The two LFOs can also be synced to the JACK MIDI clock, or else to the DAW it is in (if not standalone).

Linux samplers/ROMplers


Whereas synthesizers/softsynths create new sounds by utilizing basic waveforms, samplers create unique sounds by importing sampled (recorded) audio sounds and modulating/synthesizing them. (Soundfont/.gig players such as Gsynth and Fantasia (both also available in the KXStudio repositories) are similar to samplers, except that they do not provide synthesizing capabilities, other than perhaps some added effects such as chorus, reverb, etc. But the sounds they import cannot be modified.) A sampler can, for example, import a piano sample, and then played back with some LFO modulation or portamento, giving a unique sound not otherwise obtainable.

There are several samplers (aka. Romplers, as they play ROM data) that are currently available in the KXStudio repositories: Samplv1, Specimen, Petri-foo (a fork of Specimen with some additional features). This last application is what we will explore for the remainder of this article.

PetriFoo is a sampler that can import a variety of audio file types. It includes several different windows: the main Sample page where the audio file is selected and modified, a drop-down menu to select whether the audio sample plays only once, or repeats, or is played back-and-forth (ping-pong), etc. While a single shot means that the file is played for the full length even if the note is released, selecting “trim” will interrupt playback at note-off. At the bottom is a keyboard where notes to trigger the audio file can be selected. This is useful for making splits for use with different sounds.

The second page provides the Amplitude controls. Velocity sensitivity and key follow (the timbre of the sound, for example) can be adjusted here, in either a positive or negative value. The Mod parameters allow control of amplitude through other MIDI connections, if available. For example, if you are using a MIDI keyboard with a pitch wheel, this wheel can be selected, so that it will change the amplitude when the wheel is moved. Similar control capabilities are provided for panning.

The Pitch section is where the audio file's pitch can be modulated. Pitch can be modulated by selecting an envelope (EG1, etc) or it can be changed using the LFO(s). The number to the right of the selected modulator indicated how much the pitch is affected. A whole number corresponds with a whole tone of the scale. Velocity sensitivity and key tracking are available here too, making the pitch modulation amount dependent on how hard the notes are played and whether the notes are high or low.

The fourth window is the filter section, which allows modification of the cutoff and resonance elements. Here too, specific MIDI controls such as pitch bend and modwheel (if available on your MIDI controller) can be selected to control the filter (timbre) aspects of the sound. Velocity and key follow allow further control of the timbre.

The fifth window allows control of the polyphonic/monophonic capability of Petri-Foo, as well as portamento (glide). The next window “EG” provides five Envelope Generators. All five of these can control the sound's shape over time. If the filter's cutoff is routed to EG1, for example, then EG1 on this window can be used to adjust the filter attack, sustain, decay and release, as well as the note-on delay and initial hold before the sustain. Key tracking is also provided here, allowing the settings to be more or less noticeable, depending on what range of notes you are playing, whether high or low.

The last window is dedicated to the LFOs. Here there are 5 Voice LFOs and 5 G (global) LFOs, and each can run independently of the others. For example, you can have one LFO that is a sine shape that is modulating both the pitch and filter cutoff amount at a fast speed (speed can be set in either hertz or in beats), and another LFO with a square wave and slower speed, modulating only the pitch. At the bottom of the screen at the left, are the MIDI channel settings and settings for at what velocities the sound should or should not respond. Above this section is the area where the samples are listed when they are loaded. Multiple samples can be added, thereby layering and/or splitting each sound across the keyboard as desired. Patches and patch banks (several sounds in one patch) can be saved in the drop-down menu.

Written by briandc

Related content: