-
Notifications
You must be signed in to change notification settings - Fork 19
Instrument Sets
Getting started QuickStart Manual Arranger Window PianoRoll Editor Drum Editor Mixer Window TrackView Tracks Patch Sequencer Windows Shortcuts Automation
Creating a project
Instrument Sets
OOM2 has a powerful feature called instruments sets. This is a complete file you save for each instrument you choose to build, and although there are some default instrument set (IDF) files that come with OOM2 for many instrument brands, we'll concern ourselves here with building our own.
To start the process, we go to the Midi menu, and select the Edit Instrument option. A popup window will open that looks like this:
The sections of the Instrument Set manager are as follows:
Instrument Sets Manager
Intrument Sets Manager OOM2 has an fundamental midi structure that relies on a instrument set. There are default instrument sets in OOM2, but the Instrument Sets Manager enables the user to build their own instruments sets, according to requirements. This window is a list of current instrument sets built by the user. In the window pictured, as an example, and as well as the default sets, there are 3 complete orchestral groups of instrument sets, 28, 40, and 128, so the number of sets you can create is, well, unlimited. OOM2 uses the .idf format for instrument sets, and you can set the default directory to store your sets in the Global Settings menu.
When you create ports in the Midi Port Manager, you'll use one of these instruments as part of the port, and in the track, the groups and patches sets you've built will appear in the track's patch drop down list. Be sure to save your instrument set after building it, and using common sense when naming your set.
The right hand panel of the Instrument set window has 3 tabs, Patch, Controller and sysex:
The Patches Panel
The Controller Panel
The Sysex Panel
Create an instrument
To create an instrument set, select New, then add a name of your choice. We've called our instrument test1. It's now added to our instrument set list.
In our patch window, we see a list window, and a set of options on the right. In OOM2 you can organise your patches into what's called groups, for easier management, regardless of bank and patch numbers. The group is more or less just a container to fill.
Here we've added a group, by clicking the New Group button and called it legato. You can add as many groups as you want, to suit your particular needs. We now have an empty "container" ready to fill.
Now we start populating our group with patches. Here we've added a new patch, using the Add patch button, and called it 1stviolins Up bow. Note that the patch has the parameters High Bank (MSB), Low Bank (LSB), and Program. Each is set to 1, as want the patch to be the first patch of the first bank, of the first bank. When we add another patch, the banks will remain the same and the patch number will increase sequentially, and so on.
We've now added more patches to our group, with each new patch getting the next patch number in turn. It's common sense when adding groups and patches to make the names concise and compact. If you create a project that has many bank and program changes, you'll soon recognise the value.
When you've added groups and patches to suit your needs for that instrument set, click on the Controller tab and it opens into the controller parameters for your set. The CC definitions you set here will appear in a quick list drop down menu in the PianoRoll Editor, when you create a controller lane for added events, so choose the types you will use most often. Volume and Velocity controller lanes appear by default in the PR.
Make sure you save your instrument set. You will be prompted to do this.
You can now build more instrument sets to your requirements. In the Midi Ports Manager, in the menu Global Settings, you'll now find your instrument sets available to you to associate with a chosen port.
By default, Instrument Sets are stored in ~/.config/OOMidi/Instruments. It's recommended you keep this as it is, but you can change it if required, in the Global Settings menu, under the MIDI tab.
LinuxSampler and OOM2
One of the more thankless tasks in setting up a big template is creating midi instrument maps, across more than one application. This is not only time consuming, but prone to error, as users have to replicate maps across apps, and the debugging process can often take as long as the map building itself. In OOM2, we've built a much more robust framework for using, and sending and receiving LSCP messages, using LinuxSampler's own .lscp format, to reduce the work involved.
The process works as follows: The user creates a .lscp file, consisting of midi instrument maps for all their sample libraries, in both gig and SFZ formats if that's what they have, adds midi and audio devices, with the required numbers of ports for each, and channels, in which gig files are loaded and unloaded. This is a normal LS operation, and the user should end with the .lscp of their choice, complete with all the neccessary elements and functions.
We then open OOM2, and in the Midi menu, select Edit Instrument . The following dialog pops up.
At the bottom the popup is a button marked import instruments . Press the button, and a further dialog opens.
This is your window into the automated function we've built to directly import your .lscp midi instrument maps into OOM2, and automatically create .idf instrument files for OOM2.
The elements in the window, and their functions, are:
These controls are the netcat and list functions to directly communicate with the LS server. As for any client that communicates with LS, the hostname and port number are required, and we've used the LS defaults in this example, as this will be the case for most users. On the right is the connect button, to make the connection to the LS server, and the list instruments button, which will display the entire list of instruments OOM2 has found, from reading the midi instrument maps loaded in the LS server. (Your loaded .lscp file)
These 2 value boxes are to regulate the import process, and can be set by the user to control how quickly, and how many times, the import function will search for, and attempt to extract the neccessary information from the gig file related to the instrument map. The first box, Wait Timeout , sets the number of seconds between each retry. The second box, Retries, determines the number of attempts made. We put these in for users, as no two of us will have exactly the same hardware, and speed of drive read, and CPU speed, will vary. If you're on a slower machine, then higher numbers will give the import function more chance of success the first time around, but if your import doesn't work the first time, simply select the instrument from the list, and import again. For those with faster machines, an example being 4 core, SSD sample lib drives, more RAM, etc, you can lower these numbers. Either way, you have the means to regulate the import process to your specific needs, and the chance to re-import the same file information, if the import doesn't work the first time. (Which is possible with very large gig files, or those whose information is a little tougher to read, and translate)
This is your entire list of instruments read from your LS server lscp file instance. You can pick and choose in this list, by checking and unchecking boxes, which instruments you wish to import. The list works for multiple selections too, so if you're confident that your hardware is up to the task, you can check more than one.
These are the controls to manage your import process. The import button starts the import process, after you've selected an instrument, or instruments, from your list. Once the import is complete, you press the save button to create an .idf from that import. The close button closes the dialog.
Once the .idf is created, you'll have not only a mirror of the instrument from your .lscp file midi instrument map, but in the PR, the keyrange and any keyswitches for the imported gig file info will appear in the vertical keyboard, next to the PR main canvas. These are updated in realtime as you switch program changes during playback, so if you have program changes with different ranges added to your timeline, you'll have an instant reminder of the range and keyswitch info for that loaded patch. Highly useful for those with large sample libs, who can't quite remember the information for a rarely used patch, or just as importantly, the ranges of, for example, percussion instruments in gig files that have multiple areas on the keyboard, that are mapped in collections.
The OOM2 LS import function was created specifically to reduce the manual work involved in setting up mirrored instrument maps across LinuxSampler and OOM2, and was designed and built in-house, by the OpenOctaveTeam.
Work in progress...
Getting started QuickStart Manual Arranger Window PianoRoll Editor Drum Editor Mixer Window TrackView Tracks Patch Sequencer Windows Shortcuts Automation
Quick Start Manual Index
- Composer Menus
- Transport and Toolbars
- The Orchestra Pit
- Tracks
- Epic Views
- Mixerdock
- Midi Assign
- Punch Loop Marker
- Metronome
- Tempo and Keysignature
- Big Window
- Plugins
Links