A project log for VSTiBox

VSTiBox is a synthesizer for hosting VST software synths.

Jan BertJan Bert 10/17/2018 at 19:580 Comments

A single keyboard is often not enough when playing keys in a band. The VSTiBox supports a keyzone definition for each VST channel, but this results in way to many zones on my Nord. Also, there is no visual indication to where a zone starts and ends. I have to simply remember where each zone is. The Novation SL MkIII midi keyboard has a very neat feature to tackle this problem: RGB leds to indicate to which zone each key belongs to. Unfortunately my 1st gen Nord does not have this. My solution is to add a second keyboard. 

Though I own an Access Virus KB, I’d rather not take it to a rehearsal or gig because it is just another piece of equipment that has to be hooked-up. The whole idea of the VSTiBox is to bring as few components as possible and to connect as few cables as needed. Another thing that I was missing when playing the VSTiBox was a drumpad to trigger some samples, and a few additional encoders to control the VST instruments or additional VST effect plugins in the signal chain. 
Therefore I decided to design a new version of the VSTiBox: the VSTiBoard!

This is my first attempt of the VSTiBoard, which has a keyboard and all the parts of the VSTiBox.


After some browsing I decided to use a Fatar keyboard, because it simply has the best quality and feel you can get. It is also one of the very few keyboards which you can buy as OEM part. Some of the Fatar keyboards come with aftertouch. This is something that I want to have. So I tried to get a Novation SL mkII keyboard with aftertouch as service part from a local music shop. That didn’t work out. The only Fatar keyboard I could find was the 61TP/9S from, sadly without aftertouch. Maybe I can figure out a way to place a linear soft-pot (ribbon sensor) below the keys to build my own aftertouch. The advantage of using the keyboard from Doepfer is that they offer a board that converts the Fatar signals to midi, which includes the velocity calculation. I am not afraid to build this myself, but using off-the-shelf parts will save me a lot of time.


This time I am using a touchscreen, because I was using my mouse way too often when defining a setlist, naming banks or checking out new VSTi’s. I have bought a 10.1” 1920x1200 LCD (B101UAN02.1) which comes with a very detailed manual that contains all the dimensions and tolerances, which is helpful for 3D development. 

 MIDI controllers

In order to see which midi controllers suited my design best, I decided to draw them.

In the image above you see a Steinberg UR28M, of which I thought was the perfect solution for an integrated mixer and audio interface. I bought a secondhand UR28M and tested it on the VSTiBox. The CPU load was 40% at idle! What was going on? 

It turned out that the asio handler was called at a very irregular interval. I tried different buffersizes, driver updates, and even the asio4all driver. Nothing solved this issue. The ESI Juli@ does not have this problem and the asio handler is always called at almost the same interval, give or take a few ticks. When suddenly there is less time to process the VSTi's there is a big change that the buffer update is not handled in time which in return results in a crackling noise.