Thinking about internal note sequencing and generation

I just wanted to start a thread about internal note generation such as arps sequencing and other kinds of triggering.

we’ve all seen vst plugin step sequencers and arpeggiators, for example drum machines or even modular synths that function as plugins such as cardinal or vcv

what are some of the challenges need to be met in order for Vital to get some internal sequencing and or note generation functionality, other than of course backward compatability with presets?

I’d like not focus on why it can’t happen, but rather how it could happen that notes can be generated internally by Vital.

Just imagining, not feature requesting with this topic.

Existing Solution:
Lfo’s have a working solution, just snap the y-axis to 12 and modulate global transpose (or individual osc’s) to 12 as well. @MadR made an LFO sequencing tool a while back that demonstrates the concept in a much more advanced way.

Official Implementation (one voice):
As for challenges officially implementing this into the synth:
UI wise, it could all be put in another tab; there’s plenty of padding to put a “SEQ” in the header
Maybe shorten the headings to “OSC”, “FX”, “MOD”, “ADV”…

Backwards compatibility wouldn’t really be a problem, the sequencer would be entirely additive and likely a completely separate process. You can already use an external sequencer with Vital (not per voice) so a Vital sequencer would just act as one of those but built-in.

The file structure also wouldn’t be much of a challenge either. Vital has recently added things like “custom_warps” and “random_seeds” not present in older files. The entirety of the sequencer data would reside under a single tag and could easily be implied for files missing it.

As for the actual programming, it’s just taking the existing MIDI input and transforming it, shouldn’t be too bad–but I haven’t ever worked with midi so I could just be completely wrong.

TLDR; since Vital can already function with an external sequencer, it already has the capability to work with one that would just have to be built in.

Official Implementation (multi-voice):
The previous implementation assumed the sequencer would be one voice and act as a global transpose; I’m assuming this wouldn’t be what people want.

The biggest new challenge with a multi-voice/output sequencer within Vital, would be the need for more complex internal MIDI routing. I’m not 100% sure on how Vitals MIDI works internally, but this would definitely add some complexity. Alternatively, rather than working with the MIDI directly, the sequencer could act as a function of the oscillators pitch, similar to the current LFO solution. The UI could exist in it’s own tab (mentioned above) or be grouped in with the “transpose snap” window:
(this however would demand a rework of the transpose snap window and increase complexity)

As for the sequencer UI itself, it could just be an LFO (similar to the new custom warps) with slightly more advanced editing features (i.e. correct pitch snapping given a range). This would essentially make the current solution streamlined, efficient, and official.

The file structure concerns are essentially the same as the one-voice implementation: all the data would reside in it’s own tag, and backwards compatibility isn’t a problem.

This does have some important limitations though. An LFO pitch-function implementation would remove the ability for proper envelope usage/note off events and make a ‘plucky’ sequence near impossible, or at least really cumbersome. To avoid this, a MIDI routing system would need to be set up to allow for more expression in the seq–this in turn adds the complexity of needing an entire MIDI editor within Vital.

TLDR; Multi-voice sequencer could act as a function of a voices pitch rather than midi input.

More Uses
I suggested a while back that Vital should have customizable previews of patches to show how they’re meant to be used. Having an official sequencer implementation could make this much easier as it could just play the sequence when requested.

Overall, Vital doesn’t need a sequencer; methods exist for the patches that could benefit from one. However, having a sequencer would make Vital a more complete package and give people using the stand-alone without a MIDI keyboard a much smoother experience. At this point, it’s completely up to Tytel to decide if adding a sequencer would be worth the time and effort, but I’d love to see one!


very thoughtful, appreciate that!

aside from a sequencer, which is of course more or less already possible depending on the input midi, i’m really thinking about coming up with some kind of threshold type triggers to fire new notes. threshold-based event triggers can also drive envelopes for example, but i know the workaround is to fiddle around in the LFO and draw in rudimentary MSEG type shapes.

the whole thing about somehow triggering new notes internally is a feature request i already made, but i’m really trying to think more about possible setbacks that might prevent Vital from ever having that kind of functionality, so i made the reference to other synths and drum machine instruments having internal sequencing as an example. i’m less interested in having step sequencers than i am in having some way to internally trigger envelopes independently and internally rather than globally and externally.

1 Like