V/Bar (meaning Volt Per Bar and pronounced VEEBAR) is a standard used by almost all Adroit sequencers and time related modules. It uses voltage as an analogue of time just like V/Octave uses voltage as an analogue of pitch.
V/Bar sequencing has several advantages over conventional clock-based sequencing (which uses a regular pulse to represent the advance of time).
V/Bar is conceptually simple, flexible, fault-tolerant and has sample-level timing precision.
V/Bar sequencers can handle micro-timing adjustments, cope with everything from glacial to audio rates and will run backwards just as happily as forwards.
Because V/Bar sequencers do not have any internal “count state” there is no need for reset or start/stop signals so wiring is simplified and sequencer behaviour is far more reliable than in a clock-based system. For instance while a sequencer is running you can unplug a cable carrying its V/Bar signal and then plug it back in and the sequencer will instantly jump to the correct time. This self-healing ability is very useful when working on large patches that contain dozens of sequencers.
The V/Bar standard uses one volt to represent one bar (measure). This means that a quarter note duration is represented by a 1/4 of a volt difference. Eight bars is an 8 volt difference. In a song the beginning of the 12th bar will be represented by 12 volts.
V/Bar probably wouldn’t work well in analog hardware as you’d have to scale down the voltages significantly and noise caused by things like dirty patchchords might become an issue., but Voltage Modular has a signal to noise ratio of at least 318 dB so noise is not a problem. As Mark Barton points out Voltage Modular is about 89 billion times more accurate than Eurorack.
In a long song the voltage available at the GLOBAL V/BAR OUT socket of the Song Control module might get higher than 100 “volts” but there is no danger of being electrocuted! It is just a number and Voltage Modular sets no upper limit even though the standard voltage range is -5 volts to +5 volts.
Although Song Control’s GLOBAL V/BAR OUT signal is quite useful in itself, more often LSSP patches use lower voltage V/Bar signals that are derived from it using something called “time splitting” which will be discussed shortly.
All V/Bar sequencers wrap around voltages and simply repeat when fed high voltages.
The V/Bar standard also provides a simple mechanism for switching sequencers on and off. If a zero voltage is fed to a sequencer’s V/Bar input it will disable it. This means large numbers of sequencers, perhaps configured in long chains, can cooperate – with control passing from one sequencer to another as required in a computationally efficient manner.
Also note that as time is just a voltage/number it can be operated on with simple arithmetic. Addition moves time forwards, subtraction moves time backwards. Multiplication makes time flow faster, division makes time flow more slowly. Because time in V/Bar is represented by 64 bit numbers (giving 15 significant decimal digits of precision) we have sample-level granularity rather than time being quantized to ticks of a master clock.
The Time Flow Changer module allows you to make precise changes in time flow rates to speed up or slow down sequencers. While clock dividers in clock-based systems are limited to dividing rates by integer numbers, the Time Flow Changer can multiply rates or handle strange fractions such as 13/25 and do so with complete precision and instant response time.
The documentation for the Beats module might be worth reading for further insights into the differences between clocks and V/bar.
Time splitting
An important concept in LSSP is the idea of “splitting time”. This involves taking a V/Bar signal and distributing it to different parts of a patch depending on the voltage.
The simplest Time Splitter is a module called Time Split 2. It takes a V/Bar input signal and splits it into two output signals – one for odd numbered bars and another for even numbered bars.
To understand how time splitting works in practice let’s use the CV Watcher module to look at the V/Bar signals from Time Split 2…
The red trace shows the V/BAR IN input voltage varying from 1 to 4 volts over a period of four bars.
The yellow trace shows the signal output by Time Split 2’s ODD BARS output socket.
The green trace shows the signal output by Time Split 2’s EVEN BARS output socket.
The bottom two traces show how the module splits time into two parts. Each output can then be used to drive a separate Adroit sequencer for a single bar at a time. Notice how the voltage for one output drops to zero when the other output is active.
The Time Split 4 module splits time into four bars.
The Time Split 4 traces below show how the time splitting principle can be extended to four outputs feeding four sequencers over four bars.
Time Splitters aren’t confined to splitting single bars. The Time Split Fills module for instance provides four independent time splitters that handle fills. These make it easy to use one sequence over a certain number of bars and then change to a different sequence for the last bar.
The CV Watcher traces below show the BAR 1-3 and BAR 4 outputs in action.
As before the red trace shows the input voltage rising over four bars. The yellow trace shows the BAR 1-3 output and the green trace shows the BAR 4 output. Notice how the yellow BAR 1-3 trace goes from one to three volts over the first three bars and then gives way to the other output for the final bar in every four bar loop.
Note that Song Part modules are in effect specialised types of time splitters with user selectable rather than hard wired numbers of bars.
Why?
In a simple LSSP patch the V/BAR OUT sockets of Song Part modules might be directly connected to sequencer V/BAR IN sockets. But you have the freedom to add multiple layers of intermediate time splitting modules so that you can work at the level of “form” – creating non-linear patterns that reuse motifs.
For instance a song part might last 16 bars. You could have one element of the patch repeating the same behaviour for every single bar. Another element might play seven bars the same and then change for a fill in the last bar of an eight bar cycle. Another element of the patch might follow an ABAC form over a four bar cycle. In parallel you might have a 16 bar long chord progression happening that modifies the pitch quantization of the repeating melodic sequences so that even a relatively small number of sequencers can produce music that goes on a satisfying harmonic journey.
This all sounds rather abstract so let’s look how the above might work in practice…
For reasons of space and clarity this is only a partial patch that simply drives six Rhythm Sequencers and a Progression module (there is no sound generation or control of pitch). But it visually demonstrates the V/Bar sequencing described above. The V/Bar signals are being carried by the red cables.
The Rhythm Sequencers are color coded…
The magenta one repeats the same pattern every bar.
The yellow one plays for seven bars then gives way to the blue one.
The ABAC form is implemented by the three Rhythm Sequencers at the bottom. Green is A, cyan is B and red is C.
The Progression module in the bottom left performs one cycle over the entire 16 bars, changing chord at a rate of one chord per bar. No actual chords are plugged into it in this simple illustration though.
The short video below shows this patch in action. Remember there’s no sound, it’s provided just so that you can see the various display elements changing.
Time splitting modules can be wired together in endless ways to create potentially very complex generative V/Bar sequencing networks. Yet because Song Part modules are at the top of the hierarchy it’s relatively easy to maintain an overall linear time line. So you can indulge in the creative chaos of a generative system while still having the benefit of a well-defined overall song structure.
This rich environment where you can model the basic processes of structural composition in a completely open-ended yet highly controllable fashion is the essence of LSSP V/Bar sequencing.