K-Mix is a very flexible device covering audio input and output over USB, standalone mixing, and MIDI control. Having control over the audio going in and out of the K-Mix, as well as control over software all from the same box, can be extremely handy. Some software allows for third party integration through their own APIs or more covert means; some software has their control surface implementation wrapped up in a black box. Luckily, most music software allows the user to map and customize the MIDI input and interaction. Logic has a fairly robust- although daunting- MIDI implementation, and in this tutorial we will cover setting up a custom Control Surface through Logic’s Controller Mapping functionality.
This walkthrough will assume a basic understanding of MIDI and Logic. I will not stop to address details. A decimal to hex (and vice versa) converter will prove helpful, as well as a MIDI monitoring solution (MIDI Monitor for Mac, and MIDIOx for Windows.
Whenever you begin setting up any type of controller integration with a DAW, the first thing to do is come up with a plan. For this first article we will cover setting up transport controls and some simple mixing options. We’ll be mapping the diamond pad on the k-mix to the transport, and the faders on the K-Mix to the volume control. We will be using the factory MIDI bank 1, but you can go through this setup with any factory or custom MIDI bank on the K-Mix.
For this example, let’s start with a blank project and add 8 audio tracks. Once the session is created, navigate to the Controller Assignments window. Logic X -> Control Surfaces -> Controller Assignments… and make sure you are in the Expert View (you’ll be an expert by the end of this series, trust me). You’ll be presented with a screen that looks like this:
This interface is where you can define and edit all your control assignments. You can also manually map using the ‘Learn Mode’, but you can’t get at some of the deeper features we’ll want to implement.
Let’s start by getting organized and creating a new Zone labeled “K-Mix”, and creating a new Mode labeled something descriptive, like “Transport/Volume”. Now that we have a place to store all of our settings, let’s setup our ‘play’ controller assignment. Add a new control and you’ll see the control assignment Editor on the left. This is where we will do most of our heavy lifting.
The first section at the top lets us name and label our assignment, and assign it to a flip group. Let’s call the control ‘Play’. The section below that is where we define what we want to control in Logic. The play function is under the Key Commands class, and the command is part of the Global Commands. Select ‘Play’ from that list (the other transport commands are also in this list).
Below that is where we define our MIDI input. Select the input to be ‘K-Mix Control Surface’ and we will enter our values manually. Each MIDI message in Logic is defined by two hexidecimal values followed by a data type identifier (we will only use Lo7). The first hex value is the channel and MIDI message type. 90 is the value that defines notes on channel 1. 91, is notes on channel two, etc. The second value is the note number in hex format, and here’s where a MIDI monitor and hex-to-decimal converter come in handy. Our play button on the K-Mix sends note 29, which equals F0 in hex. Enter those two values, followed by our data type, and you should be able to start Logic’s transport from the K-Mix! Repeat this process for all four of the buttons and you’ll have some solid transport control at your fingertips. The controller assignment pane should look something like this:
Moving on the faders. There are quite a few different ways to set this up, but for this introductory article we will simply map the 8 faders on the K-Mix to the first 8 tracks in Logic. For this task it is easy enough to use the built-in Learn Mode to quickly setup it up. Click on the Learn Mode button to activate Learn Mode for Logic. This will add a new control corresponding to the last interface element you clicked on (if it is able to be controlled). While in Learn Mode, click on the volume control for the first track in Logic and then touch the first fader on the K-Mix. This should map the fader on the K-Mix to the volume of the first track in Logic.
Your controller assignment pane should look something like this:
I’ve given the control a descriptive name to stay organized, but the MIDI input messages, the class, the parameter, and the value settings are all handled by Learn Mode. You can define these things manually, and we will need to in the future for setting up more dynamic mappings, but mapping with Learn Mode is quick and easy in the right situation.
One great thing about Logic and the K-Mix is that LED feedback happens by default. As long as your value settings don’t get screwed up, you should be able to move the fader in Logic, and see that change reflected on the K-Mix!
After all this our control surface is beginning to take shape. In the next article we will look at setting up track banks and track bank navigation!
If you would like to install the mapping that we made in this article you will need to replace your mapping file. You can find this by opening the finder, navigating to the Go menu, holding option, and selecting the Library. Then navigate to the preferences folder and drop the com.apple.logic.pro.cs file into that folder. You will want to replace the current file. This will also overwrite and other mappings you may have, so keep that in mind. You can find the file here.