Introducing Midichi, a MIDI chord interface

Download Midichi here - see end of post for download CRC hash.

Yet another one-finger chord interface for my Arturia Keylab 49 Mk1. Previous versions were console based and used python here and here. Their replacement, Midichi, is written for Windows in C# offering a GUI in a self-contained package that’s available for free download here. It should work with other keyboards as long as you use the same MIDI pad/control mapping, see below.
Midichi’s only dependency is a pre-existing virtual Midi port. I use Tobias Erichsen's loopMidi here. Midichi provides a bridge between an input device eg keyboard, and the output device, the virtual Midi port. Once Midichi has been installed and run it should find all the running Midi interfaces. Use the scrollable lists to select input and output then click ‘Select Devices’. Midichi will save this selection so the next time it will select those devices (if they are still running) by default. Midichi will display ‘MIDI Devices Selected – Interface Running’ and is ready to use. Ensure Midichi is running before starting DAW or VST.

There are two elements to Midichi, the first is the one-finger chord function. It starts in Mono mode simply echoing the key played on the input device to the output device. Pressing chord name (Maj, Min, Aug or Dim) or chord size (Triads, Sevenths or Ninths) will generate the appropriate chord from the single root key played. Chord inversions (Inv1, Inv2, Inv3, or Inv4) can also be selected. Clicking back on a chord name will restore the non-inverted form. All the chord operations are also mapped to Keylab’s pad array:

The single finger chord function is also augmented by an arpeggiate function. The interval between notes is controlled by the UI Arp scroll bar or Keylab’s F9 slider. There is a small issue with using the slider in that if the slider is set to non-zero when Midichi starts the UI scroll bar will stay set to zero. Simply moving the slider after Midchi is running will sync the UI scroll bar to the slider value. This probably needs a Midi SysEx message to fix. A second UI scroll bar, Velocity, if clicked will set a fixed key velocity. Click again to return velocity sensitivity.

The second element provided by Midichi is an event recorder. I added this feature so there was an easy way to capture any chord progressions or melodies while noodling on the keyboard. Press Play at any time and you will hear recorded events. You can play more keys and chords while playing back earlier events however these new events will be recorded at the end of the event sequence so a subsequent playback will not have the new events synced to the earlier sequence. The Play button toggles between Play and Stop. There is a Mark button that will create a new non-zero start point for playback if you hear something interesting. The whole of the event sequence can be scrolled using the horizonal scrollbar. An Erase button will clear all events only if playback has stopped. Two indexes are shown above and below the Play button. The index above is the total event count and the index below shows the actual event playing during playback.

Midichi uses the following pad/control mapping (for Keylab use Arturia Midi Control centre to setup):

Channel 10: (Keylab49 Pad Number - Midi Note - Function)
Channel 1: Slider F9 - CC# 85 - Arp

Download CRC hash:

Name: midichi-setup.zip Size: 1267019 bytes (1237 KiB) SHA256: 7945FE05549B168C198B8B07609552417FC0553DFF4782C1A2F02C1F7CC62DF1

Comments

Popular posts from this blog

VCV Rack interface with Cakewalk using VCV Bridge

How to setup Cakewalk Generic Surface for Korg nanoKontrol