Making the MidiStick the best Midi Interrupter out there

It’s been over half a year since I last posted about my little interrupter here. Back then my intention was only to make a kind of cool interrupter, but that has since changed and the work I have been putting into it has made it into what is arguably the world’s most advanced midi interrupter.

Modulation using the VMS (Versatile Modulation System)

If you think about how many effects are usually present in synthesizers and how fine you can tune their sound it is no wonder why they sound so much better, even when also just creating a sine wave. Music is a dynamic medium and normal synthesizers can (for a long time now) emulate that dynamic-ness of playing an instrument. Just listen to a beginner playing a guitar track and a pro and both might get the notes right, but the pro’s sound will sound more alive and nicer to listen to.

Midi Interrupters have not had these kinds of effects for a long time and only recently started to include adsr, to varying amounts. But since that is only a small part of the effects possible I decided to add more. Listen to how much more expressive the sound gets with more effects:

But how do you add effects without hard coding them and keeping them dynamic? Well with your own graphical programming language of course 😛 . The picture on the right is an example VMS effect. 

Each block is one modulator that changes something about the note (the target shown on the top of the box). It applies the selected waveform to that value until it reaches the requested target value and then continues on to the next block in the line. If the note switches off the block will get removed and the one connected to the note off output (the red one on the left side) will be loaded, providing for example a decay effect.

MidiStick VMS example

Adding even more effects

Midi Map for the MidiStick

To make this system even more versatile I added a mapper that decides which effect to load not only by the currently active programm, but also depending on the note played. The list on the left shows all the maps of the selected program and for which note range they will be started.

Each one of the maps also has some other options, like the frequency the note will have (which can also be an offset from the midi note) and some flags that enable and disable certain global effects. You can, for example, disable pitch bend and the stereo volume scaling for notes between 35 and 36. 

While testing I also found out how great it sounds to have to voices with the same frequency but different effects on at the same time and decided to add this as a feature. The mapper will start a note for each matching entry that it finds, given that there are enough voices of course 😉

Those features combined can even emulate a drum-kit (I didn’t have enough time to get it to sound really good yet 😉

Stereo emulation

A small feature but one that can be quite cool when used correctly. The sticks can vary the volume of notes played depending on the position of the pan knob (or fader) in the midi player. That volume curve can be fully configured in the position and drop off speed, which when playing music with more than one coil can make a sort of stereo like effect.

The cool part of this is that it can be controlled by existing stereo effects in a midi file (Vangelis Pulstar starting at 0:20):

Hardware changes

Not really a hole lot to say here, since the V1.0 Hardware didn’t really have any issues. I did however add the option to use the IF-E92 opto transmitters since they are quite commonly used too. I also turned the AUX connector around so it doesn’t hang over the edge of the board too much and made the board 2mm narrower.

Midistick small

How to get one

I have opened a shop here where I sell these so if you want to get one you can do so there 🙂

The entire design is of course still open source so you could also just make one yourself, but keep in mind that you’ll need a PicKit and some decent soldering skills as some parts can only be soldered with a hot air station.

All of the files required are in the PCB Repo and the Firmware Repo

Some demos:

Well not any good ones as of now unfortunately 🙁
I can’t run the coil in the basement if there is anybody else home and because of the lockdown that has been the case since december… Not to mention that the large coil in the basement is quite boring 😛

I have made a small list of audio only test recordings here.

I’ll post an update as soon as I can get to the HV lab for testing again. For now you’ll have to just be happy with this video from before I had any of that fancy modulation stuff 🙁