Korg M3: Recording 101 for all external sequencers

The two sections on recording and playing back audio signals still need to be written. Otherwise, this article is draft-complete


You are new to recording with the M3 or perhaps even entirely new to the process of trying to record any sophisticated multi-timbral sound generator to an external sequencer program on your digital audio workstation (DAW). You are unsure what your options are for routing MIDI channels during recording or playback, or how to go about routing audio signals for recording.

This article might seem pedantic at times to anyone experienced with DAW-based production, but keep in mind that there are always newcomers who are not yet familiar with all the basic concepts

Closely-related articles


Some of the viewpoints about using combi versus sequencer mode for recording in external sequencers are different from those presented in the closely-related article Korg M3: Sequencer vs Combi in a DAW environment. This is okay and simply reflects the diverse experience and opinions of this wiki community. Understanding these differing viewpoints helps you to form your own strategy and workflow for recording the M3 in external sequencers.

MIDI connections from/to the M3

The M3 communicates with DAWs through a MIDI connection. There are three different ways to create a MIDI connection with the M3:

  • Using a standard MIDI cable (the large, round MIDI IN/OUT/THRU ports). This connection is generally less preferred because the MIDI traffic moves more slowly across this type of connection. Also this type of connection must first plug into an external MIDI interface which is in turn connected to your DAW computer, or else into some breakout cable attached to a adapter card installed in your DAW.
  • Using a standard USB cable (the square-ish USB 2.0 B connector. This is the most reliable connection type at the present time. It's also convenient because it plugs directly into a standard USB port on your DAW computer and require no special drivers to be installed. Your DAW computer's standard MIDI drivers know how to talk directly to the M3 through this type of connection.
  • Using a standard Firewire cable attached to the optional EXB-FW interface of the M3. This would be a highly preferrable connection type except that many users report significant latency issues with this product. (Which might be solved in the future with newer drivers for the computer side of this connection or new firmware updates for the EXB-FW board itself.) Like a USB connection, this plugs directly into a standard Firewire port on your DAW computer, but you must install special drivers on your DAW to interpret this connection with the EXB-FW.

Regardless of which type of MIDI connection you use between the M3 and your DAW computer, they all have several things in common:

  • There are 16 channels in the MIDI connection, numbered 1 through 16
  • Each channel carries MIDI note data, MIDI controller data (called CC messages), and System Exclusive messages (called SysEx messages).

How your sequencer software communicates with the M3

Some sequencer software can enable a type of "remote control" interface for many options on the M3 so that you don't have to go over to the M3 itself to make adjustments. This is done through the use of SysEx messages (System Exclusive), which basically allow any parameter on a synth to be controlled by software that "knows" the protocol. This is typically done through either a VST plug-in or a ReWire connection. These VST or ReWire connections are primarily intended for remote control but in some implementations can also enable you to send/receive MIDI data too.

Where it gets tricky is when you try to use a VST or ReWire connection along with the standard method of communication with the M3, which is to simply create MIDI routing from the MIDI tracks in your sequencers software to the 16 MIDI channels that the M3 can send/receive through the MIDI connection. What can happen in some cases is that the MIDI routing defined in your VST or ReWire configuration pages is usually supposed to automatically set the MIDI routing of the various MIDI tracks that are associated with the M3. But since you can also manually configure MIDI routing through the MIDI tracks themselves, it's possible to create a conflict where your VST plugin or ReWire instrument is making one set of routing assignments, but your MIDI tracks are making different routing assignments. This results in some unexpected combinations of MIDI data being sent to some MIDI channels in the M3.

Using the standard MIDI routing options for each MIDI track is simple, straightforward, and works pretty much the same in every major sequencer. Support for VST and ReWire connections, however, can differ quite a bit.

A VST or ReWire connection does not talk directly to the M3 itself. Instead, it talks to the optional M3 Editor Software installed on your DAW computer, which in turn communicates with the M3 through the 16 MIDI channels of your MIDI connection.

Tip: If you are having trouble with M3 recording or playback through a VST or ReWire connection, try disabling the VST or ReWire instrument and instead routing your MIDI tracks directly to the appropriate channels on the M3. If you start getting expected results this way, then you know your problem lies in the configuration of (or support for) the VST or ReWire connection.

The types of automation data generated/received by the M3

The buttons/switches/sliders you manipulate on the M3, collectively known as "automation" data, consists of CC messages in some cases and SysEx messages in other cases. CC messages, often referred to as "Controllers" in the M3 interface and documentation, are more modern and more efficient than SysEx, and are used for many functions within the M3. The things that cannot be automated through CC default to SysEx instead. For example, the Drum Track switch cannot be turned on/off via CC, but it can be turned on/off via SysEx.

It's worth noting that some of the major sequencer software either cannot support SysEx at all, or can support it only to a limited extent. For example, Ableton Live 7 does not support SysEx recording or playback at all. Other sequencers might have a limit of 128 to 256 bytes for a SysEx message, which is more than enough for recording or playing back automation data, but won't enable you to perform "SysEx dumps" for things like setting the entire initial state of a combi.

In general, SysEx is a pain to work with, hard to learn, and tricky to implement in your MIDI tracks. For example, you may need to spread out the bytes of your SysEx messages within the timing of your MIDI stream so that some important bytes don't get dropped because they're being fed into the M3 too fast. However, this is not normally a problem with automation type data, unless huge gobs of it are being recorded.

On the other hand, you cannot avoid SysEx entirely because some things can be done only through SysEx. Two of the most notable things are:

  • The Drum Track can be turned on/off only through SysEx
  • Any KARMA GE that performs KARMA wave-sequencing does so by using SysEx messages to change the underlying wavesample being used by a program's oscillator.

Ableton Live users should take particular note of this last point, because of Ableton Live's complete inability to deal with SysEx at this point in time. When recording your KARMA modules to MIDI tracks you are limited to using only one specific method that does not give you the ability to edit the recorded midi data.

Recording MIDI from the M3

This section describes the considerations for standard MIDI routing to/from the M3. The same principles should apply to the MIDI channel routing controls available in your VST plug-in or ReWire instrument, if you're using that method of connecting to the M3.

Program, Combi, or Sequencer mode for MIDI recording?

  • If you are recording only the notes you play on the keybed and the various joystick/ribbon/button/switch/slider moves that you make, then you can be in Program or Combi mode and everything will be just fine. This is because all this happens only on the Global channel (Channel 1), which is the only MIDI channel output from the M3 when you are in Program mode, and also in Combi Mode (unless you specifically set up other channels and are aware of the limitations as explained in KARMA 2: Sending KARMA MIDI from a Combi). For example, you can use this method if you just want to record a control track of chords, notes, and controller movements that will trigger the playback of KARMA and/or the Drum Track, and then record them to audio.
  • If you are recording the notes you play, etc., and also the output of the Drum Track and/or KARMA modules, then you generally must use Sequencer mode. This is because multi-channel output from the M3 (while playing the internal sounds) is supported only in Sequencer mode.

So, if you need to record the output of the Drum Track and/or KARMA, you must copy the program or combi that you're recording into the M3's internal sequencer first, and then stay in Sequencer mode while recording. This is fast and easy to do with the Auto-Song-Setup feature of the M3. Just hold down the ENTER button and press the REC/WRITE button in the Sequencer section and you're good to go.

Which MIDI channels to use?

Like most other multi-timbral keyboards, the MIDI information you usually record into the MIDI tracks of your external sequencer is a combination of:

  • The notes you physically play on the keybed
  • The automation data from your use of the joystick, ribbon, or any switch/button/slider on the M3 module.

All of this information is usually sent out from the M3, through the MIDI connection, over the Global channel, which is always Channel 1.

The Drum Track is a separate generator of MIDI notes, and by default it sends its MIDI notes over Channel 10. You can change this default channel assignment in the GLOBAL section of the M3, but this is generally not recommended unless you know what you're doing.

KARMA is another separate generator of MIDI notes and automation data. There are four KARMA modules (A, B, C, and D) and each one generates its own independent string of note data and automation data. (And as mentioned before, this automation data usually includes some SysEx data of some sort.)

  • Module A is usually sent over Channel 2 in all Korg-produced combis
  • Module B is usually sent over Channel 3 in all Korg-produced combis
  • Module C is usually sent over Channel 4 in all Korg-produced combis
  • Module D is usually sent over Channel 5 in all Korg-produced combis
  • In programs, there is really only a Module A and by default it listens to Channel 1 and is sent over Channel 1, effectively becoming an "invisible hand" that might play additional notes on the keybed alongside you.
  • Most developers of 3rd-party sound sets adhere to these same standard channel assignments. You should generally do the same in your own combis and programs for the sake of consistency, but you can assign the KARMA modules to use other channels if you prefer.

Tip: If you want to record what KARMA is doing in a program to it's own separate MIDI track, you can do this by reassigning the output from KARMA to some other channel besides Channel 1 after you've copied the program into the Sequencer mode with Auto-Song-Setup.

How many MIDI tracks and what track routing?

So putting all this together, if you are recording every possible output from the M3 into separate MIDI tracks in your external sequencer at the same time, you need 6 MIDI tracks whose inputs are routed to receive the following channels from the M3:

  • MIDI Track 1 (keyboard and your manual automation) - Channel 1
  • MIDI Track 2 (KARMA module A notes and KARMA-generated automation) - Channel 2
  • MIDI Track 3 (KARMA module B notes and KARMA-generated automation) - Channel 3
  • MIDI Track 4 (KARMA module C notes and KARMA-generated automation) - Channel 4
  • MIDI Track 5 (KARMA module A notes and KARMA-generated automation) - Channel 5
  • MIDI Track 6 (Drum Track notes) - Channel 10

Now, of course, you do not have to record all 6 of these tracks at the same time. Or at all. Sometimes it's best to record only Channel 1 as a type of "control/trigger track" that in turn makes the Drum Track and KARMA do their thing. For more information, refer to KARMA 2: Recording KARMA output to external sequencers.

What Global Settings in the M3? Local On or Off? What type of clock?

This can get a little involved, especially when you are recording KARMA modules, but the most basic rule of thumb is that you want to avoid something called a MIDI loop, which is what happens when you play a note on your M3's keybed, it is routed to the MIDI track of your external sequencer, and then the outputs from that MIDI track send the note back to the M3 again. This results in the M3's sound engine actually playing the note twice, with a short delay in between. This results in an "echo" sound to what you might hear. This is usually a harmless but annoying situation, and it can in some instances result in a "lock up" of the M3 where you might need to unplug the MIDI connection to get the M3 to start responding normally again.

There are two basic ways to prevent a MIDI loop. Either one is equally effective.

  • Disable the Local On checkbox in the Global P1:MIDI page on the MIDI Basic tab. This prevents anything you do on the keybed or joystick/ribbon/buttons/switches/sliders, etc. from being routed internally to the M3. Instead, this data gets sent only to the MIDI connection. This means the M3 only responds one time to these events, when they are routed from the MIDI track back to the M3. A downside of this approach that can be confusing at first is that most sequencers will route this information back to the M3 only when the MIDI track is armed for recording.
  • In the routing for the MIDI track on your external sequencer, disable the "pass thru" of the MIDI track. This prevents the sequencer from echoing back the data it receives from the M3, so the M3 responds only to the notes or controllers it receives from the M3's keybed and joystick/ribbon/buttons/switches/sliders, etc. A downside of this approach is that you cannot monitor what your sequencer is actually "hearing" during recording, and you might do a fantastic take only to find out that you forgot to arm the MIDI track for recording and nothing got recorded at all.

This basic guideline about preventing MIDI loops is really all you need if you're only recording the notes you play, the automation that you manually do on the M3, and the Drum Track. But if you are recording the MIDI from the four KARMA modules there are some additional details you'll need to know. For more informtion, refer to this section of KARMA 2: Recording KARMA output to external sequencers.

Another basic rule of thumb is that only one clock should drive your recording. In most cases, you want the MIDI Clock in your external sequencer running the show when you are recording MIDI (or audio) from the M3. To ensure this, in Global P1:MIDI, on the Basic tab, ensure that Clock is set to Auto. Also ensure that your sequencer is using a MIDI Clock and not some other type of clock.

Playing back MIDI from the external sequencer

This section describes the considerations for standard MIDI routing to/from the M3. The same principles should apply to the MIDI channel routing controls available in your VST plug-in or ReWire instrument, if you're using that method of connecting to the M3.

Program, Combi, or Sequencer mode for MIDI playback?

Some people get confused on this point because of the way it's presented in the M3 manuals. Here's the real story:

  • Multi-channel recording is possibly only in Sequencer mode. If you're in Program or Combi mode, only Channel 1 is sent out from the M3.
  • Multi-timbral playback is possible in both Program and Combi mode. You can play 16 different MIDI tracks into 16 different channels just fine when in Combi mode. You can play back 2 different MIDI channels just fine when in Program mode (Channel 1 for the keybed notes plus the KARMA module notes and other manual controller data, and Channel 10 for the Drum Track). You do not need to be in Sequencer mode to play back your MIDI tracks from your external sequencer. (Although sometimes this can be useful for a variety of reasons that are too complex to go into in this "Recording 101" article.)

Why use Combi mode for playback instead of Sequencer mode? Two good reasons:

  • Songs are volatile and must be reloaded into the M3 every time you power it on. Combis, by contrast, are persistent in memory even when the M3 is turned off.
  • Most sequencers support a "program change message" in each MIDI track. You can use the MIDI track containing the Channel 1 data to send a program change message that initializes the combi to its default stored values. This is an easy way to ensure that the Drum Track and KARMA switches are in exactly the state you want them when playback starts, and that the KARMA scene and all switch/slider positions are in exactly the state you want when playback starts. You cannot do this in Sequencer mode except by adding a lot of starting CC values and SysEx values to the MIDI track that contains Channel 1 data.

The Drum Track and KARMA behave a bit differently in Program mode versus Combi mode:

  • Program mode:
    • KARMA responds only to incoming note data on Channel 1, which is the channel that is playing back your manually-played keybed notes. Therefore, if you have separately recorded the MIDI notes from KARMA module A in a program, you will get unexpected results if you try to play back both that MIDI track with the KARMA notes and the MIDI track with your keybed notes both into Channel 1 on the M3. In this case you're giving KARMA two completely different sets of "trigger/control" notes.
    • The Drum Track responds only to incoming note data on (usually) Channel 10.
  • Combi mode:
    • KARMA responds to 4 different channels, usually Channels 2, 3, 4, and 5.
    • The Drum Track responds only to incoming note data on (usually) Channel 10.

Which MIDI channels to use?

You want to use the same exact MIDI channels for playback that you used for recording. In other words, if KARMA Module B was set to play program X on track 7 on Channel 3 when you recorded the MIDI track for the output of Module B, then you want to send that MIDI track back to Channel 3 on the M3, so that the program on track 7 will be played just as if Module B were playing that program.

Likewise, if the Drum Track was recorded on Channel 10, then play back that corresponding MIDI track on Channel 10. Finally, your keybed notes and automation data should generally be played back on Channel 1 because that's the channel where all that data came from.

Recording audio from the M3

To be written soon

Playing back audio from the external sequencer

To be written soon

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-NonCommercial-NoDerivs 3.0 License