1.0:Working with Instruments
From LMMS Wiki
An instrument is a sound generator that plays notes on command.
Each instrument is comprised of a specific plugin that generates the sound and a number of common ways to control the sound generated.
Many parameters of an instrument can be changed in real time using Automation.
Creating an Instrument
You can create an instrument in a variety of ways.
The most common method is to drag a preset of the appropriate type from the relevant section of the Side Bar. You drop it into the appropriate editor:
- Use the Song Editor for non-looping parts of the song (ex: the melody)
- Use the Beat + Bassline Editor for looping parts of the song (ex: the beat).
This creates a new track in the Song-Editor or a new loop track in the Beat+Bassline Editor.
You can also create a new instrument of any type by using the Instrument Plugin section of the Side Bar. Drag the new instrument into the Song-Editor as shown below.
The Instrument Window
Various instrument windows look like this:
The window is divided up into three main sections - the instrument controls at the top, the sound controls in the middle and the piano keys at the bottom.
The main controls are:
- The instrument's volume.
- The pan.
- The pitch.
- The effects channel that the instrument is currently using.
- A button to save the settings of this instrument.
These are always present no matter what plugin you have selected.
The sound controls section is headed by a selector for five 'tabs':
- Plugin shows the controls for how this particular plugin generates sound. This is the only tab that changes per plugin.
- Env/LFO/Filter shows the controls for the sound's envelope (its loudness over time), its use of the Low Frequency Oscillator, and pitch filtering.
- Arp/Chord shows the controls for making the instrument automatically play arpeggios or chords.
- FX shows the chain of LADSPA effects plugins operating on this instrument.
- MIDI shows which MIDI channels this instrument will receive and send events on.
Let's deal with these tabs in more detail.
The Plugin tab
The Plugin tab contains the controls that allow you to modify the sounds generated by this plugin. For more information read the individual Plugins page.
The Env/LFO/Filter tab
The Env/LFO/Filter tab looks like this:
Note: VeSTige, SF2 Player, OpulenZ, ZynAddSubFX and LB302 won't respond to anything on this tab, since they are MIDI based instruments
The volume Envelope of an instrument controls the volume of a note over its lifespan--i.e. from the moment the note begins until it ends. The envelope starts when the note begins in the Piano Roll (which corresponds to pressing a real key on a piano), and ends when the volume of the note returns to zero (silence) which is usually sometime after the end of the note in the Piano Roll (which corresponds to releasing a real key on a piano).
The 6 envelope parameters, in order from the beginning of the note until it ends, are abbreviated DAHDSR (delay, attack, hold, decay, sustain, release). Immediately before the note begins, the envelope is at zero volume and the instrument produces no sound (silence). The delay is a time period that controls how long there is silence within the life span of the note after the note begins. The note then goes through an attack time period where its volume rises from zero to its maximum volume. Next is a hold time period during which the note remains at maximum volume. The note will then go through a decay time period to a lower volume called the sustain volume level (note that sustain is a volume level, not a time period). Lastly is the release time period which begins when the note ends in the Piano Roll. During the release time period, the note volume decreases from the sustain volume to zero volume (silence). If the end of the note (in the Piano Roll) is reached before the hold or decay time periods have completed (for example, a short note, and/or a long hold period, and/or a long decay period), then the sustain level might not be reached prior to the beginning of the release period. In this case, the note volume will decrease from whatever volume it was at when the end of the note was reached.
To get a feel for these parameters it helps to look at the volume envelopes of known instruments. A piano has a very short attack, no hold, a long decay to a very quiet sustain, and finally a release which is fast but not instantaneous. A flute has a slightly longer attack, a very short hold, a decay after the initial puff is expended, the sustain level is nearly the hold volume, and has a quick release. A bell has a short attack, no hold or sustain, and a long release. The sound of a car passing by has a long attack and long release.
The Env/LFO/Filter section has 3 'sub-tabs' that allow you to adjust 3 separate envelopes that affect 3 different targets: volume, cutoff, and resonance. The volume target, discussed above, is selected by default. You can select a different target by clicking on its label. For each target, you have 6 knobs to adjust the 6 parameters - delay, attack, hold, decay, sustain, release - and a 7th knob (AMT) to control the amount of effect that the envelope has on that particular target. Note that you can set the amount using the AMT knob or you can click directly on the envelope graph in order to turn it completely on or off. The graph is bright green when it's full on, grey when full off, and an intermediate green shade for anything between fully on (1.0) and fully off (0.0). The amount can also be turned down to a maximum of -1.0 (negative 1.0), which is only useful for the Cutoff and Q/Reso targets.
In order to understand what the Cutoff and Q/Reso targets, we must first deal with filters.
A filter is a method of changing a sound by letting some frequencies through and reducing other frequencies. For instance, a low-pass filter lets only the bass, or low frequencies, through and cuts the high, treble, frequencies. The frequency at which this takes place is set by the cutoff frequency control.
Although it is technically possible to build a frequency that has 'cuts' the unwanted frequencies entirely, it usually introduces unwanted delays and effects into the sound. Therefore, most filters also have a Q factor setting which controls how steep or sharp the drop-off is. The larger the Q factor, the steeper the drop-off in the sound level. In some filter designs, the Q factor also causes a resonance at harmonics of the cutoff frequency, so often the Q factor is also called the filter's resonance.
In order to enable the filter, press the filter title bar and the LED light at the left will turn on. When this light is on, the filter is active. Note that filtering the sound of an instrument adds a small amount of computer calculation time which can add a slight delay to the sound, so if you're not using the filter, keep it turned off.
The types of filters that LMMS offers are:
- Lowpass - This filter lets low frequencies through.
- Highpass - This filter lets high frequencies through.
- Bandpass csg and Bandpass czpg - These filters let only a certain band of frequencies through.
- Notch - The inverse of the Bandpass filter, this cuts only a certain frequency band.
- Allpass - A filter that lets all frequencies through but has the same phase shifts, time delays and resonance properties as other filters.
- Moog - A modification to the normal Lowpass filter made popular by Moog synthesisers.
- 2x Lowpass - A lowpass filter with twice the Q factor.
To the right of the filter dropdown menu are 2 knobs where you can set the Cutoff frequency and the Q/Resonance factor for the filter. You can experiment by choosing a plugin that generates multiple frequencies (anything other than a sine wave will do that), and then set the cutoff and Q/Reso factor and see how it changes the sound.
Filters with Envelopes
In addition, you can modify the static filter (described above) with an envelope. Both the Cutoff and Q/Reso envelopes are separate and independent from each other and the Volume envelope. The envelope will sweep the Cutoff or Q/Reso value from its maximum (or minimum) to the level set by the control (i.e. the knob to the right of the filter drop-down menu). For example, select a low-pass filter with the cutoff control (knob) set to 1000Hz, and shape the Cutoff envelope to sweep this cutoff value in a long attack and long decay. Then, during the note, the effect of the cutoff filter is to start at 14000Hz (the maximum), sweep down to 1000Hz (the control value) during the attack phase, and then sweep back up to 14000Hz (the maximum) during the decay phase. This will make the note sound like it's been damped down (during the attack phase of the cutoff envelope) and then the damping removed (during the decay phase of the cutoff envelope). Another typical use of this is to add a resonance that changes during the note's lifetime. In this case, the Volume and Q/Reso envelopes would be quite similar, so that as the note begins the resonance sweeps down, and then disappears upwards again when the note is released.
The Low Frequency Oscillator
Sometimes you may want to have the notes waver or change in a repetitive way. This is the purpose of the LFO (Low Frequency Oscillator). It is called 'low frequency' because it can have single oscillations (cycles) as long as 20 seconds rather than the hundreds or thousands of cycles per second of audible sound waves.
The LFO in LMMS is available to modify the value of the Volume, Cutoff, and Q/Reso targets independently. The LFO for each is available on the ENV/LFO tab, then select the desired Target sub-tab. The LFO has 4 knobs to the right of the LFO graph:
- The Delay is the time period before the oscillation begins.
- The Attack or fade-in rate of the oscillator--the rate at which it goes from starting to having full effect.
- The Speed of oscillation. This sets the rate of oscillation. It is measured in milliseconds per oscillation--the inverse of frequency (i.e. Hertz). This is because setting the LFO rate in fractions of a Hertz is less accurate than setting it in fractions of a second. Right-click the SPD knob for a context menu where you have the option to synchronize the oscillation speed to the song beat. This is a good feature useful for wobble or Dubstep instruments.
- The Amount determines how much the LFO affects the given target. Like the envelope, you can either set the amount control using the knob or you can click on the LFO waveform display to turn it full on or full off.
Below the LFO waveform display are 4 waveform shape buttons you can choose from.
Below the LFO knobs are 2 toggles:
- Freq x 100 - multiplies the displayed waveform frequency by 100
- Modulate Env-Amount - causes the LFO to control the AMT parameter of the Envelope of the same target.
To demonstrate an LFO for CUTOFF we add a long note and play it in a loop. We do this so we can hear the effect as we change our settings. Warning: wear headphones.
- Open the ENV/LFO tab and go to the CUTOFF sub-tab. We will initially work only in the LFO (lower) section, but often some adjustments are needed in the Envelope (upper) section because of unwanted artifacts that can be fixed with some minor adjustments.
- Click to turn on the filter (lamp ON).
- Choose a filter from the drop-down menu--try LowPass or 2LowPass.
- Set RESO close to 1.0
- Start playback of your note in a loop.
- First we'll mimic the ENV automation. While your note is looping, drag your mouse up and down on the Cutoff knob; you should hear a wau-wau effect. This is what we want to achieve by using an LFO curve.
- To the right of the LFO graph, set AMT knob to max (or just click on the LFO graph)--graph's line will turn bright green.
- To the right of the LFO graph, set SPD knob to around 0.05
- Now you have your wobble automated!
You need to monitor the output db, so open the FX-mixer and watch the amplitude. The instrument should only peak briefly. If it overshoots, try lowering either the general VOL or the RESO.
Only Dubstep uses a fast wobble like the one we have now. Change the SPD value and listen to the difference.
Also try the MODULATE ENV-AMOUNT toggle. In the Cutoff sub-tab, the effect is rather subtle, but it's more dramatic in the Volume or Q/Reso sub-tab.
This is pretty much it. You can now try different LFO curve shapes, but the default sine wave will give the smoothest result.
Envelopes can also be used separately on the Volume and Q/Reso sub-tabs, so try that.
The Func tab
The Func (Arp/Chord) tab looks like this:
Normally, each 'note down' command plays one note in the instrument. With the Arp/Chord controls, you can change this so that it plays a chord (using the note played as the root note) and/or an arpeggio (i.e. the notes of the chord played one after another rather than simultaneously). The Func tab is divided into 2 sections: one for chords and the other for arpeggios. You turn them on by clicking on their title bar and the LED light at the left will turn on.
Both sections have 2 common controls:
Since some chords span more than one octave, some chords or arpeggios will overlap. The list of chords available is vast, ranging from standard chords through jazz to regional chords and natural modes such as Lydian and Dorian.
The chords section has no other controls than the ones listed above. When a note down signal is received, that note will be the base for the rest of the chord. All the notes of the chord will play simultaneously.
The arpeggios section has several more controls:
- The Direction is the scale direction in which the arpeggio is played: up, down, both directions (up then down), and random notes from the chord.
- The Time is the time gap (in milliseconds) between each note.
- The Gate is time duration that each note is played (as a percentage of the Time knob setting). At 100% gate time, each note will be played for the full time gap (time between each note). At less than 100%, each note will be cut short and the remaining time gap will be silence. At more than 100%, each note will overlap the next note (i.e. will finish after the start of the next note).
- The Mode of playing the arpeggio:
- In Free mode, the start of each note will trigger an arpeggio to start. If a second note is played later, a second arpeggio will start at that (later) time and play independently of the first.
- In Sort mode, no matter when another note is pressed, the arpeggios will be played in the same order, with only one note being played at any one time. For example, if the key for C is played with an ascending Major chord arpeggio, the arpeggio of C-E-G will be played repeatedly. If the key for F is then held down, the arpeggio will play C-E-G-F-A-C one after the other; the arpeggio for C will be completed before the arpeggio for F is started.
- In Sync mode, any notes held down at the same time will play a chord arpeggio in that interval. Using the 'Sort' example above, when F is held down the arpeggio would now play CF-EA-GC repeatedly - the notes C and F simultaneously, then the notes E and A, then the notes G and C.
The FX tab
Using LADSPA effects gives you many ways to control the sound of an instrument. These can vary from simple effects like delays and echos to complex phasers, distortion, and reverbs. Effects can also be chained one after the other to produce very complex sounds.
The FX tab looks like this:
On the FX tab, enable the Effects Chain by clicking the LED light at the top of the tab. This toggle switch gives you an easy way to compare the 'dry' sound of the plain instrument against the 'wet' sound with the effects in place.
Click the Add Effect button to select a new LADSPA/VST effect to add to the chain. Each effect gives you several controls to manipulate the process of sending sound to and receiving sound from the effect:
Note that some effects may also have ways to set their internal wet/dry level. This may be in the form of a wet/dry knob, but also may be 2 separate knobs to set the level of the wet output and the dry (bypassed) output.
Each effect in the Effects Chain list has:
- An on/off toggle switch (LED light), and
- A right-click context menu that allows you to:
- Remove an effect, or
- Move an effect up or down in the chain's stacking order
The MIDI tab
The MIDI tab looks like this:
These controls allow you to set the MIDI channels on which the instrument receives and sends MIDI events. Both controls work similarly.
For more about MIDI and how you can use it, visit Using MIDI
At the bottom of the Instrument window is a small section of a piano keyboard. It will display the notes that are playing by greying out the key or keys as they're played. The scroll bar at the bottom of the piano keys allows you to move left and right on the keyboard to see all the keys.
The green square just above the keys shows the 'base note' of the keyboard. You can drag the green square to any note position along the keyboard. Whichever note you select with this green mark will be played as A4 (i.e. the concert pitch of 440 Hertz). For example, moving it to A3 will make all the notes played by this instrument move up by an octave (since A3 is now A4). This allows you to adjust an individual instrument to be pitched correctly in relation to all the others. This is not important for synthesizers where the A4 note is programmed to be 440Hz. However, for the AudioFileProcessor Plugin, this is extremely useful, as it allows you to adjust the note to be played back at its correct pitch. As an example, if you recorded a saxophone playing a Bb, you would adjust the base note to be Bb, so that the saxophone was played in the same pitch as your other instruments.
When the instrument window is selected, you can use the keyboard of your computer to play notes in a 2-octave range. It starts from Z at C3 and goes horizontally across the bottom 2 rows of the keyboard to M playing B3 (i.e. Z X C V B N M play the natural notes and S D G H J play the sharps and flats). It continues with Q playing C4 and uses the top 2 rows of the keyboard to P playing E5 (i.e. Q W E R T Y U I O P play the natural notes and 2 3 5 6 7 9 0 play the sharps and flats).
In addition, a MIDI keyboard can be used to send MIDI command to this instrument when it's selected.
Furthermore, the Piano-Roll window allows you to record notes as if you were playing a piano by using either a computer keyboard or a MIDI keyboard.
|Prev: Key Mappings||Up: Manual||Next: Working with Samples|