I'd like to use algorithmic composition techniques in a DAW-like context.

At the moment I use FL Studio, Sonic Pi and am starting to play with Ardour and LMMS. Fruity and Ardour and LMMS can all be extended with plugins that are either instruments (sound generators) or effects (sound processors) in formats like VST, Ladspa and LV2.

But is it possible that they (or similar DAWs) could be extended with a plugin that replaces the piano-roll / sequencer with a custom sequencer? Say a programming language like Sonic Pi?

I'm wondering if there are any standard formats for this kind of "sequencer plugin". For example, I know that some drum-machine plugins have their own pattern sequencer rather than depending on patterns in the main DAW sequencer. But I'm assuming that these patterns can only control the sounds within that plugin, not be used to send MIDI-like sequences to another instrument within the DAW.

Or is there some way to make that happen? Is it a feature of any plugin format? That it can generate MIDI messages to send to other tracks / instruments within the DAW?

3 Answers 3


You might get most mileage out of the Jesusonic plugin architecture within reaper. This is a simple scripting language which I am sure will allow you access to both audio processing and midi processing capabilities. simply generate your midi and pass it in to reaper via the scripting language.

  • That's interesting. But it looks like you just program fx chains. I'm looking for something where I can script the sequencer itself ... so my code can generate "play this note" type messages that can be sent to other plugins.
    – interstar
    Commented Jan 13, 2017 at 1:08
  • have you thought of using Arduino for this? you can interface directly with MIDI from arduino hardware, and it wouldn't be too challenging to build a serial protocol to upload a midi sequence over serial that can be played out over the midi connection. There's lots of arduino to midi interface examples out there. Another advantage of doing it this way is that you are not limited to one particular platform - the arduino board simply looks and behaves like a midi keyboard and can push midi data out to wherever you want - as long as you have an available midi input.
    – Mark
    Commented Jan 13, 2017 at 4:42
  • Ah I've just found a simple step sequencer example for ReaJS. Which actually is successfully sending MIDI to another (a synth plugin) ... so that looks more interesting.
    – interstar
    Commented Jul 20, 2017 at 23:31

I've now found Protoplug (http://www.osar.fr/protoplug/) which does what I want.

It puts a Lua virtual machine in a VST plugin so you can write your own synths, FX and even MIDI generators by writing Lua. You don't need to compile C++ in an external IDE or faff around with Steinberg's VST libraries. All that is done for you. The Lua is compiled directly within the plugin.

It doesn't exactly replace the piano-roll, but it can generate MIDI notes that are then sent to other MIDI aware plugins within the DAW. So scriptable / algorithmic music is now possible within FL Studio.

(Though it's a pity that the plugin synths that come with FL Studio aren't themselves MIDI aware and so can't be controlled. But at least third party synths are.)


Maybe Renoise could be closer to what you're looking for. It's a modern traker/DAW. Very powerful but not exactly coding.

  • You mean because of the Lua scripting?
    – interstar
    Commented Jan 13, 2017 at 1:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.