MusiKraken
MusiKraken
Experimental MIDI Controller Construction Kit

How to use MusiKraken

The main idea of MusiKraken is to improve the ways you control virtual instruments and synths and create new ways to make music. In the app you can convert all kinds of inputs, from the touches on the screen to sensors like the accelerometer, camera or microphone, to MIDI events.

The MIDI events can be sent through various effects that transpose them, split the created chords into separate notes so that each can be sent to a separate instrument, or changes the MIDI channel so that you can recombine them however you want.

These created MIDI events can then be sent to the various output modules that either send the MIDI events via WiFi or USB cable to a computer, or to the virtual MIDI connections on your iOS device or to AudioUnits that allow making music directly on your device.

MusiKraken has two views: The main view, where you interact with the many input controls, and the editor screen where you create new modules and combine them. The idea is that you create and connect modules in the editor view, and once everything is set up, you change to the main view to make music.

The Main View

On the main screen, you can interact with the controls, see the values of the various sensors or the connection state of the Network MIDI connections. What you see here depends on your setup in the editor view, but the basic layout is the following:

On the first row on the top (called "Top Bar" in the screenshot), you will mostly see panels of controls that provide information that might be useful while making music. For example, each control that uses sensors other than the touch sensor (so microphone, accelerometer, TrueDepth, hand tracking, face detection...) has multiple ports with values that change while interacting with the sensor.

In the example image above, you can see the panel that shows up when you create a Hand Tracking module (currently iOS only). In this case, if you move your hand in front of the camera, it will change the x- and y- values depending on where on the camera image your hand was detected. And the open value will change depending on the distance between your finger tips and your thumb tip, so putting all the fingers together will decrease it, while spreading the fingers apart increases it. This way you will know the current values and can adjust the range in the editor view to whatever works best for you.

Next, there is a row containing the "Tabs". These belong to the "Controls" area below and let you select which of the controls you currently want to interact with. The name on the tabs can be changed in the settings for the modules on the editor screen, this way you can for example have multiple active keyboards and can differentiate them by name.

Note that if you do not like the order of these tabs, you can drag them to change that. This also works for the Top Bar items above.

In the "Controls" area, you will see the views of the Keyboard or the Chords Pad (more to come...).

Tap the arrow button on the top-right corner to get to the editor screen.

The Editor View

The editor view lets you create new modules and combine them.

To create a new module, tap on the "+" sign in the top-right corner. This will open up a menu where you can select one of the "Input", "Output" or "Effects" module. Tap on "create" to add it. You will always need at least one input module and one output module, and connect their ports, otherwise nothing will happen!

On the right and left of the nodes of the created modules in the editor, you will see the ports. On the left of a node are its input ports, and on the right its output ports. To connect an input with an output port, touch the port and drag the now created line to the other port. To delete a port or a node, tap on it and a menu with a "delete" button will appear.

There are orange and green ports. The orange ports send or receive MIDI events, and the green ports send numerical values. If you connect a green output port with an orange input port, it will automatically create a "Value to MIDI converter" in between the connection, in which you can define how the numerical values should be converted to MIDI. This way you can create multiple connections from green ports and configure each connection separately.

The "Value to MIDI converter" allows you to convert the values to MIDI Control Change events (modulation, channel volume, expression...), to MIDI notes (or chords), to Channel Pressure (Aftertouch) or Pitch Bend values, so you can configure everything however you want.

Some of the modules have settings. You can access the settings for each module by tapping the cogwheel symbol on their nodes. For example for the keyboard, you can set the key widths, can activate scale highlighting or set if the key should change if you slide to another one, plus much more.

You can drag the nodes around to change their location and you can use two fingers to zoom in or out of the view. To get back to the main view, tap the arrow in the top-left corner.