Hey everyone! I just released my first Kontakt instrument called Musicbx33. It was a lot of fun to do and you can read about the process a little below. If you’d like to just get started? You can head on over to the VSTs page to read more and grab the download link.

Selecting an instrument

First I wanted to choose a good sounding instrument. My wife bought this music box for me a number of years ago and I spent a long time creating punched cards for it. I even wrote a tool called punchbox to assist me in creating them from MIDI data, which made it a LOT simpler. The music box always sounded better when it was attached to a board, so the first thing I did was attach the music box to a board. I then mic’d it up using my Zoom h4n and my Aston Origin mics. I wanted the challenge of being able to mix mic placement sources, like in many of the professional plugins. This turned out to be a hard thing to do in Kontakt but I managed it in the end.

Creating the code

The code for this kontakt plugin was 99% UI stuff. Most of the sample wrangling was actually fairly simple and I just had to drag them in and shift a few around until the fit. The signal chain for having two mic placements got a little tricky. I wanted a round robin setup too, so I recorded two samples for every note. This coupled with the two mic placements gave me 150+ samples to deal with. I had to split them into four groups, Mic1/a, Mic2/b, Mic/a, Mic2/b. The A/B was used to choose the round robin sample and the Mic1/2 was used to determine the mixing for the mic placement.

UI work

Kontakt does some awkward things for dial images. I didn’t want to use the stock UI from Kontakt for my plugins and so I designed my own dials. Which then had to be exported as long strips of images, showing the dial at each rotated point. It was pretty time consuming, but I found some good utilities in Linux to help me out. I used Blender to render my dial images, and then used a Linux command line tool to concatenate all the images to a single strip.

Screenshot

Release

I chose to release this on GitHub as I wanted to give the source code away for free. Any aspiring plugin developer can now take my code and look at it to see how to make a Kontakt plugin with multiple mic placements and round robins.