MIDI Effect Sequencing Software For Guitarists

As many of you know, I’m working on a complete open-source solution to doing guitar amp and effects emulation in Linux. Because, you know, I’m a geek like that. So far, I’ve had great success with Guitarix and SooperLooper, and added a few other tools and utilities to make everything work smoothly. I have to say, considering what the equivalent software would cost, I’ve been pretty impressed with Guitarix. (Rakkarak might someday be a viable performance alternative… it just needs a complete UI redesign. Yes, it’s really that bad.)

One of the guitar effects that I’ve been curious about is an effect sequencer. Some hardware equivalents would be something like the Electro Harmonix 8 Step Program, which lets you sequence a signal that goes to the external control pedal jack of another effect. (Demo video and good explanation of step sequencers (not mine) is here)

EH 8-Step

 

There’s also the Molten Voltage CTL-Sync which doesn’t sequence, but gives you a few pre-set patterns, and also syncs to a MIDI clock. Both of these pedals are great for what they do, but they are hardware, and thus limited to only a few uses at a time.

CTL-SYNC

In Native Instrument’s Guitar Rig software (which I’m a big geeky fan of), there’s a true analog effect sequencer, which lets you do crazy things. It also has a digital (on-off) sequencer, and an LFO (which is like a really slow pattern). You can map these patterns to any of the effects, including A/B switches, crossovers, and any of the effect parameters, all synced together.

Screenshot - GR

I was really impressed with this functionality, but of course, I wanted to do the same thing with Linux, preferably open-source software. I knew all the parameters in Guitarix and SooperLooper are controlled with MIDI commands, so I started researching MIDI sequencers. Unfortunately, most of the offerings are geared towards keyboard or digital artists, i. e. they’re designed to work in a recording scenario with multiple MIDI instruments. They were complex, large, and I didn’t want to have to learn how to use an entire suite just to run a simple MIDI sequence for effects. Nothing wrong with these, by any means, but they didn’t really fit what I was looking for: something simple, easy to use, that did just MIDI, and had enough features to make it useful.

Then I discovered HarmonySEQ. It was all of the things I was looking for. It’s not in the standard Ubuntu repository (that I could find) but I downloaded the .deb package, which made installing it simple. Once I had it installed, it took about 5 minutes of fiddling with it to figure out how it works.

Screenshot - harmonyseq

 

In the screenshot above, you can see HarmonySEQ running to the left, and Guitarix on the right. I made a simple “controller sequence” that sends a MIDI CC signal, according to how you lay out the set points. The Control Sequencer has “soft” and “hard” points you can draw with. Soft points transition smoothly, while Hard points switch to the next value instantly. For something like an LFO or tremolo effect, you can use soft points, and whatever “knob” you map it to will look like somebody (the invisible MIDI hand! Oh noes!) is turning the knob automatically. If you use Hard points, the knob will “jump around” and jitter, which is great for stutter effects, on/off switches, tap tempos, etc.

It also has, besides CC and note sequencers, the ability to create “Events” and “Actions.” An Event is a condition, like it receives a certain note, CC value, program change, or key press. An Action is what happens when an event is triggered. You can toggle sequences on and off, change sequence patterns, and some other things.

Now, before I say that HarmonySEQ is perfect, I found a few shortcomings that really caught me by surprise. For one, it allows you to set the sequencer tempo/BPM by entering a number in a box… and that’s about it. No MIDI clock support (that I could find), no tap tempo. So that limits how you can use it significantly. I will do more digging to find other ways around this. Also, I discovered that “Events” can only be triggered by external signals. You can’t daisy-chain sequences. Okay, maybe nobody else thinks that’s lame, but you know… I was curious. It would open up some interesting possibilities, though.

So, overall, I have yet to really utilize this in my computer setup, but it’s definitely something worth playing with. It’s certainly useful, though I had hoped it would be able to work with MIDI clock, too. Maybe that’s something that will be implemented in the future (you listening, Rafal? Lol)

Pretty cool stuff!