Document Actions

Tech Tips | MachFive 3 | MF3 Hierarchy

MachFive 3 Hierarchy

MachFive 3 is an extremely powerful sampler, providing every opportunity to customize its deeply layered structure. To take full advantage of the application, it is essential to understand its architecture from the ground up.

The majority of the following discussion will use the Main MachFive 3 window for explanation purposes, however a great way to visualize the relationship between each of these elements is to use the Tree Editor.

Oscillators: Oscillators are the basic building blocks of MachFive 3. Anything loaded in MachFive 3 consists of at least one Oscillator. There are two types of Oscillators, Sampling Oscillators (for handling an imported audio file), and a Synthesis Oscillators (for generating sound using pure synthesis).

In total, there are five Sampling Oscillators, and seven Synthesis Oscillators, each providing unique results. (The pictures to the right show the different types of Sampling and Synthesis Oscillators, as found in the Oscillator drop-down menu, discussed later.)

To add a new Sampling Oscillator, simply drag an audio file from your hard drive into the Oscillator Section, (where "No Keygroup Selected" is displayed). By default, the "Sample" Sampling Oscillator will load. You can change the Oscillator type by clicking the drop-down menu next to the word "Sample" above the Oscillator Section, (where you will find the options shown to the right).

Alternatively, you could add an empty "Sample" Oscillator using the Browse menu. Click Browse, then select the Sine Wave icon to view your Oscillator types. Click and drag the "Sample" Sampling Oscillator into the Oscillator Section, (where "No Keygroup Selected" is displayed). The Oscillator is loaded, but remains empty until an audio file is dragged into it.

This picture shows the Browse and Oscillator menus, as well as all the Sampling Oscillator types, described above.

Synthesis Oscillators can be added in similar fashion, by using the same Browse-menu method described above. Click Browse, then select the Sine Wave icon to view your Oscillator types.
Click and drag any of the Synthesis Oscillators, like "FM" for instance, into the Oscillator Section. Once created, you can change the Oscillator type anytime by selecting a different Synthesis Oscillator from the drop-down menu, found next to the word "FM" above the Oscillator Section, (or next to the name of the Oscillator type you originally loaded).

Another way to add a Synthesis Oscillator is to right click in the Keygroup Editor section (the grid above the MF3 keyboard), and click "New Keygroup"; an Analog Synthesis Oscillator will load by default.

Once a Sampling or Synthesis Oscillator is loaded, the Oscillator Editor displays either the waveform of your audio file
(Sampling Oscillators), or the adjustable parameters for the sound you are generating (Synthesis Oscillators). Based on which Oscillator you have loaded, the parameters will vary.

The type of Oscillator currently being used is listed at the top left of the Oscillator Editor, and you can add additional Oscillators using the Plus button to the right. Toggle between each Oscillator using their numbered tabs. How multiple Oscillators are handled will be explained later, but for now, just know you can add several, "parallel" Oscillators

Keygroups: Once an Oscillator is added, it is stored in a Keygroup. All Keygroups consist of at least one Oscillator, but they can contain multiple. A Keygroup is best described as an area mapped in MIDI Notes (horizontal axis) vs. MIDI Velocities (Vertical axis). If an incoming MIDI signal matches the Keygroup's MIDI Note and MIDI Velocity parameters, any Oscillator within that Keygroup will be triggered.

When working in the Main view, Keygroups are displayed as colored blocks mapped across the Mapping Editor (the grid above the MF3 piano keyboard). When selecting one of the colored blocks, the information about the Oscillator will be displayed in the Oscillator Section above, as previously discussed. If a Keygroup has multiple Oscillators, you will see a numbered tab for each Oscillator.

Let's use one of the above methods as an example.
Assuming we are working with an empty Part, right-click in the Keygroup Editor and select "New Keygroup". A new Analog Synthesis Oscillator is added to a new Keygroup. By default, the Keygroup spans the entire range of the MIDI keyboard, covering all Notes and Velocities. This means, any incoming MIDI signal will trigger the same Analog Oscillator, (which would be pitched to match the incoming MIDI Note).

The range of the Keygroup could be changed, to say, one Octave, C2-C3; an incoming MIDI Note of D3 would not trigger this Keygroup, thus the Analog Oscillator would not sound. With the "Highlight Played Button" (a.) enabled, we see a dashed line denoting the the incoming MIDI Note vs MIDI Velocity (b.) is outside the Keygroup's range.

If multiple Oscillators are added to the same Keygroup, they will all be triggered by the same MIDI input signal. If three Oscillators are loaded into one Keygroup, and that Keygroup's area includes MIDI Note C3 and a Velocity of 63, a C3 MIDI Note with a Velocity of 63 will trigger all three Oscillators.

In the Mapping Editor, you can edit the parameters for the Keygroup's area by clicking and dragging the Key and Vel values up or down in the Keygroup Toolbar, found above the Mapping Editor. You can also double click either parameter to prompt an entry field where you can type the exact desired value.

Note: The Key and Vel values in the Keygroup Toolbar can be clicked on and dragged up or down to glide through their ranges quickly.

To summarize: If an Analog Synthesis Oscillator is used to generate a sine wave, a Keygroup is used to determine which notes, and at which velocities, that sine wave is triggered. Most simply, you can have one Keygroup (as shown here in blue) spanning the entire range of the keyboard (so the same Oscillator is triggered by any key, at any velocity), or theoretically up to 16,256 Keygroups, so every combination of MIDI Note and MIDI Velocity triggers a different Oscillator.

Layers: If each Keygroups consist of height and width (MIDI Note vs MIDI velocity) across the range of the Mapping Editor (piano keyboard), Layers occupy depth.

Adding a new Layer to your Program provides a new MIDI Note vs. Note Velocity grid to map new Keygroups. Keygroups from multiple Layers can be triggered simultaneously, or independently to isolate different sets of Keygroups. Each Layer's general mixing parameters, like overall volume, pan positioning, mute/solo status, etc. can also be set independently in the List Editor.

Layers are convenient for organizing different Keygroups, or different groupings of Keygroups, across your keyboard. For example, in one scenario, Layer 1 could have Keygroups assigned to trigger Violin samples (grey Keygroups) and Layer 2 could have Keygroups assigned to trigger Penny Whistle samples (purple Keygroups). If both the Violin and Penny Whistle Keygroups share similar MIDI Note ranges, both instruments' Keygroups could be triggered by the same MIDI Note. Use the Wrench icon to the right of the word Layers to reveal different mixing parameters for each Layer. You can mute and solo each Layer, or set their relative volume for "stacking" different sounds.

Alternatively, you can create a Key Switch to enable or disable a Layer, which is shown in the picture above. This is effectively the same of muting one Layer or the other, and allows you to switch which instrument your MIDI controller is triggering at the strike of a key. Here's how to set this up:

Click on the Wrench in the Layers section of the List Editor and select "Edit Layer Rules"

Right click, or Control/Click on the text that says, "No Rule, right-click to add a new rule", and select "Add Root Rule"

Right click on the Root Rule that appears, and click add Sub-Rule. Repeat that process, so two Sub-Rules are added to the Root-Rule. (Avoid adding a Sub-Rule to the first Sub-Rule.)

Your Layers appear on the left. Highlight the first Sub-Rule and check the first Layer. Highlight the second Sub-Rule and select the second Layer

Using the slider, or by clicking the Learn button and triggering you MIDI controller, set a unique MIDI Note as the switch for each Sub-Rule. Using notes at the extreme ends of the MIDI keyboard (not used during musical performance) are best to use for keyswitches.

Once done, close the Rules window

With these set, play make sure neither Layer is manually muted in the Layers section of the List editor and play your MIDI controller. When triggering either of the two Keyswitch notes you set, the respective Layer will be audible, and the other Layer will essentially be muted. Trigger the other to reverse the behavior. Trigger both to have both Layers audible. You can read more about Layer Rules on page 132 of your MachFive3 manual.

Programs and Parts:
Both Programs and Parts help explain each other. Programs are hosted inside Parts. By their truest definition, Programs are at least one Layer.
The full orientation of Oscillators, Keygroups, and Layers can be as simple or complex as you want, but all three elements come together to make one single Program.
A Program is the entire collection of parameters, samples and settings which create the sound you hear. Programs are commonly referred to as the “patch” or “preset” you can load from a soundbank, but can also be your own custom sounds. Anything loaded from one of the MachFive 3 instrument libraries, or any other 3rd party libraries, are Programs.

Parts host Programs. Parts are similar to the tracks in your DAW. Information regarding MIDI receive channel, audio output, mixing, and performance settings are parameters of your Part. When you launch MF3 as a plug-in or standalone application, there are four Parts added, (named "Empty" by default). You can add an unlimited number of Parts, but keep in mind, you are still confined to the number of independent MIDI channels available to trigger each Part, (either 16 if MF3 is being used as a plug-in, or 64 when being used in a standalone mode).

Multis: A Multi is your entire MF3 instantiation (when used as a plug-in), or "session" (when used as a standalone application). Your entire MF3 workflow makes up your Multi. Loading a Multi will load all of your Programs into their respective Parts with all of the correct settings. When saving Multis, make sure to use the "Save Multi and Samples As" command if you wish to save your Multi and all the associated samples together in one folder. This is most convenient for carrying all the content needed to load your MF3 Multi on another system.