Rhythm Stage Setup v4

https://www.lesswrong.com/posts/9xFEmYf52ncE7JkT7/rhythm-stage-setup-v4

Link post

I’ve recently finished a major reworking of my rhythm stage setup, and wanted to sit down where things are now. As before, this is a system that takes MIDI from a few sources and generates audio:

High-level changes since my last overview two years ago:

I’m no longer playing the Axis 49 jammer. I still really like it, and the feeling of the Wicki-Hayden layout under my key fingers is great, but I’m too tempted to play fast melody and hurt my (not working great and I’m still not sure why; started on Meloxicam last week) hands.

Some videos showing how things sound now:

Sandy Boys (Mandolin, Footbass, Whistle Synth):

All the Rage (Piano, Footbass, Footdrums, Whistle Synth):

Tamlin (Mandolin, Footbass):

Playing around in D (Piano, Footbass, Footdrums, Organs):

Here’s what the controls look like:

This is a small cheap USB keyboard, with stickers on it so I can remember what I have set each of the keys to do. It’s connected to a program that listens for keyboard events, presents as a virtual midi device, and generates midi signals, which means my core code can work just with MIDI.

The interface isn’t really designed for anyone but me, but talking through it is a good illustration of what it can do.

The core of the system is an instrument or "endpoint". These seven buttons toggle instruments on and off:

Footbass: note follows piano left hand, timing follows drums, patterns controlled with other keys:

By default the current bass note is controlled by the piano left hand, but that doesn’t work for changing notes while playing mandolin. I put my electronic drum kit into a mode where is silent, and I’ll tell the system that which drum pedal I play should choose the note. I use the piano to select the key (or F8 + midi note number if I don’t have a piano) and then the arrow keys choose which notes the drums mean:

Up Major 6, 1, 4, 5

Left Mixolydian 7, 1, 4, 5

Down Minor 5, 6, 7, 8

Right Raccoon 7, 1, 3, 4

(I originally hadn’t implemented this, but then when writing this post and rewatching the videos on my V3 post I realized I really missed being able to change the note while playing mandolin.)

When pressing a modifier button, it applies to which ever instrument I have most recently toggled. Often I want to modify an instrument without toggling it, so the keys immediately up and to the left of each instrument select it without toggling it:

I’ve set up many options for voices, and any instrument can be given any voice. I don’t use most of the voices, and I’m still figuring out if these are the voices I want. Voices are selected by pressing the corresponding key:

Common ones I use are:

Sometimes I want to bring something in gradually, and maybe have it fade in and out as I vary intensity. The system maintains a concept of the current "air" level, which you can think of as the size of a leaky bag. The more I’ve recently blown into the breath controller, the higher the air level. Any instrument can have its volume pegged to the current air level by pressing Af. If, after bringing an instrument in this way I want to keep it at the selected volume, I can press Al to lock its air level.

There are also a few more controls that can apply to any instrument:

Plus and minus are a bit weird in that they work on voices, not instruments. They change the volume by 5 midi steps. I built these to make it easier to get the voices in balance, and after making a change I typically hardcode that change. It’s possible that I should now switch them to work on instruments.

FR is "full reset" and puts everything back to defaults. I typically tap this after every set, to make sure settings don’t accidentally persist. This is especially important because there is no way to tell which settings are on aside from observing behavior.