MusiKraken is an Experimental MIDI Controller Construction Kit.
Make music using your hands, face, voice or by rotating the device!
Choose from several types of modules in the editor and connect the ports to create your own MIDI controller setup. Use device sensors like Touch, Accelerometer, Microphone and Camera (face tracking via ARKit and depth sensor) to generate MIDI signals. Route the MIDI signals through effect modules to split chords into separate notes, transpose them and send them to separate channels to control multiple virtual instruments simultaneously.
MusiKraken supports sending and receiving MIDI data over Wi-Fi, Bluetooth or via Core MIDI (for example by using Inter-Device Audio and MIDI (IDAM)). And it can host Audio Unit Instruments.
Important: Please note that some of the modules only work on iOS devices with specific hardware: ARKit Face Tracking and the TrueDepth module need a TrueDepth front camera, and Hand Tracking needs at least iOS 14, and might be too slow on older devices. All other modules should work on all devices.
-Keyboard: Press the keys to generate notes. Slide your finger across the keys or use pressure or finger radius to generate values that can be converted to MIDI events, so that you can control multiple aspects of your virtual instrument directly from the keyboard. The keyboard can also highlight keys belonging to a specific scale and supports MPE (MIDI Polyphonic Expression).
-Chord Pad: Select one of many scales and the Chord Pad will create one button per chord in the current octave. The top row of buttons will play the chord in its root position, while the buttons below play its inversions, making it possible to experiment with various combinations.
-ARKit Face Tracking: If your device supports ARKit, you can use parameters from ARKit Face Tracking to generate MIDI signals! Generate notes or control parameters using your mouth, eyes, tongue or by moving your head.
-TrueDepth: Use the depth signal of your front camera to generate MIDI data by moving your hand (or anything else) in front of the device.
-Hand Tracking: Convert your hand position and simple hand gestures to MIDI. You can use one or two hands and it can also use the TrueDepth sensor if available.
-Accelerometer and Gyroscope: Generate MIDI control values or notes by moving or rotating your device.
-Microphone: This module uses your microphone and generates MIDI events from the detected pitch and volume.
-External Input Device: Connect with a CoreMIDI input device and route its MIDI signal through the other modules.
-Core MIDI Network: Use the default Core MIDI network session to send MIDI events via Wi-Fi to your computer.
-External Output Device: Send MIDI events to any device accessible via Core MIDI. This can for example be used to send the MIDI signal via Lightning cable.
-Snarp Network MIDI: My own implementation of the RTP MIDI protocol used to send MIDI data via Network. Useful to combine with Core MIDI Network to create additional outputs.
-SimpleSynth: Generate simple synthesizer sounds directly on the device!
-Chord Splitter: Splits incoming chords into separate notes and sends these to separate channels. This allows you to play multiple (legato-) instruments simultaneously!
-Channel Switcher: Change the MIDI channel of events.
-Value to MIDI Converter: To convert numerical values (green ports) to MIDI events (orange ports), it needs a converter. Converters can convert incoming numbers to Control Change events (modulation, volume, breath control...), Channel Pressure or Pitch Bend events. Or they can be used to generate notes.
-MIDI Transposer: Transpose MIDI notes up or down.
Version 1.15 release notes
-Full body tracking: Convert the position and movements of your hands, feet and head to MIDI events. This also tracks two persons simultaneously.
-Display the current camera image and the tracked body and hand positions on the screen.
-Various optimizations and bugfixes.