Initializing a Template MIDI track with useful CC and SysEx events
It can be very helpful to create a fully initialized MIDI track as a "template" track in a "template" project, with the template track having several useful CC and SysEx events in the first two measures of the track. These automation events cause the M3 in the first two empty measures of the track cause the M3 to:
- Switch to the desired mode (COMBI, PROGRAM, or SONG)
- Select a specific bank and slot as applicable to the mode, which effectively resets all the control surface values that you might have changed during the previous recording take or playback to their default values as stored in the combi, program, or song.
- Set the Master output on the P9:MFX/TFX page to a level that creates the desired input gain to your audio interface.
- Set the mode you want your M3 control surface to start in (for example, starting in KARMA mode instead of the default REALTIME CONTROL mode).
- Set the starting PAD MODE (velocity sensitive or fixed velocity).
- Set the starting X-Y MODE and HOLD states of the TouchView screen.
- Set the starting DRUM TRACK state, KARMA ON/OFF and LATCH states.
- Set the starting KARMA MODULE CONTROL layer state.
- Set the starting KARMA scene.
You do this by creating a "template" project that you always open when starting a new project (and doing an immediate Save As to create the new project. In the template project, you change the name of the first MIDI track to something like M3 Template and you insert Controller and System Exclusive events in the first two measures of that track, which set some default values for each of the things in the preceding list.
So when you do a Save As from the template project to create your new project, you never record on or change the M3 Template MIDI track. Instead, you use Duplicate Tracks to create every MIDI track you're going to work with as a copy of the M3 Template MIDI track. Then in the new duplicate track you make some simple and easy modifications to the values of the Controller and System Exclusive events that are already in place with some default values.
- There are only two controller values and they're easy to set by using a table further below in this article.
- As for the SysEx values, this can be a pain to work with in some other programs, but fortunately DP6 makes it very fast and easy to capture the SysEx value you want and insert it at the end of the Event List in the M3 Template track, and then you can easily edit the one byte that needs to change in the default events that were already there and easily delete the captured SysEx event. You can also easily add more SysEx events if you need to initialize some other values not in the basic list shown above.
Step 1 - Setting up your DP6 project window to make this task easy
It is useful to arrange your project window to show the Sequence tab in the top half of the window, the MIDI tab in the bottom half of the window, and the Event Information list on the right side of the window.
- From the DP6 menu select Window > Window Sets > MIDI Editing.
- At the bottom left of the window, click Show/Hide Track Selector to display the Track Selector and Soundbites lists on the left side of the project.
- At the bottom center of the window, drag the split bar up so that you have an even top-bottom split window showing two sets of tabs.
- In the top half of the split, select the Sequence tab.
- In the bottom half of the split, select the MIDI tab.
- At the bottom left of the window, click the Bars control and choose Points to make your Controller events easier to see.
- In the Track Selector list, select only the first MIDI track so that only the one track is visible in the top half of the split.
- Control + click the colored title bar for the one visible track and change the name of the track to something like M3 Template. Then press Enter to save the name.
- Save your project, then continue with the next step.
Step 2 - Setting the starting mode, bank, and slot
The following steps will create a default mode of COMBI, a default bank of I-B, and a default bank slot of 012 (combi I-B012 Paddy Cool). Feel free to set up some other combi, program, or song slot as your default.
- Change to the desired mode: COMBI, PROG, or SEQ.
- In the Sequence tab of your project, from the set of 6 white-colored drop-down lists beneath the track title, click the Insert drop-down and choose System Exclusive. The cursor changes to a pencil-shape.
- Click somewhere inside the first beat of measure 1 in the measures at the right of the track. A SysEx monitor dialog appears.
- On the M3, press some mode button that isn't currently lit (like SAMPLING or GLOBAL), then press the COMBI button. The SysEx monitor dialog fills with a 7-bit SysEx command.
- Click OK. A SysEx event appears at the 1|1|000 mark in the events row in both the top and bottom halves of the split window, and also in the Event List at the right. This SysEx event, when played back to the M3, will switch the M3 into COMBI mode.
Tip: If you repeat this process but in step 1.3 you choose PROG mode or SEQ mode, the inserted SysEx will switch the M3 to the chosen mode. Only one byte is different between each of these three modes, so in the new tracks that you eventually create from this template track, you can just use the MIDI monitor to check what the SysEx value is for the desired mode, edit the corresponding byte in the default event in the Event List, and then cancel the MIDI monitor dialog.
- Change to the desired bank within the mode you've just selected.
- From the track's Insert drop-down, select Controller > Others. In the dialog that appears, enter 0, then click OK. The cursor changes to a pencil-shape.
- Click somewhere inside the first beat of measure 1 in the measures at the right of the track. A red CC line appears in the top half of the window, and a corresponding red CC "point" (shaped like the letter "u") appears in the bottom half of the window. A Controller event also appears in the Event List at the right.
- In the Event List, double-click the time value of the new Controller 0 event and set it to occur at 1|1|100 (measure 1, beat 1, tick 100). Note that it's a good idea to give each SysEx event 100 ticks or more to be processed by the M3 before sending the next event, because too many SysEx events coming too fast can sometimes result in dropped SysEx commands that don't get processed. (This is true of all sound modules, not just the M3.)
- Now double-click the value of the Controller 0 event (this is the last number at the far right of the controller's line in the Event List) and set the value to 0. What you have just done is to set the "most significant bit" (MSB) controller used to specify a bank in the M3. We next have to specify the proper "least significant bit" (LSB) controller to fully specify the bank we want to use.
- Repeat the process you just followed to set the MSB controller, only this time enter 32 in the dialog that appears when you Insert > Controller > Others, and set this new Controller 32 event to have a value of 1. When both of these controller events occur at **1|1|100* They tell the M3 to switch to bank I-B. (The table following these steps lists the MSB and LSB controller values to use for any desired bank.)
- Change to the desired slot within the bank you've just selected.
The following table shows all the values need for the MSB controller (0) and the LSB controller (32) to select a specific M3 bank:
~Bank | ~MSB CC 0 | ~LSB CC 32 |
I-A | 0 | 0 |
I-B | 0 | 1 |
I-C | 0 | 2 |
I-D | 0 | 3 |
I-E | 0 | 4 |
I-F | 0 | 5 |
I-G | see note | see note |
U-A | 0 | 8 |
U-B | 0 | 9 |
U-C | 0 | 10 |
U-D | 0 | 11 |
U-E | 0 | 12 |
U-F | 0 | 13 |
U-G | 0 | 14 |
- Change to a specific bank and slot, effectively restoring the combi or program as it is currently saved in the M3. This resets any control surface changes you might have made in a preceding take to their initial values stored in the M3.
- You do this by inserting a single Controller 0 event and a single Controller 32 event at the same mark to specify which bank, followed by a Patch Change event at a subsequent mark to specify which slot within that bank.
- The 0 and 32 controller events should be set as follows: