Reaktor/Ensembles/L3

L3 is a loop-based sample transformer. You can modifying the sound of loaded loops using different sound effects using a step-sequencer. These modifications, which are grouped into patterns (from A to H), can also be sequenced.

Each pattern consists of a number of step-sequenced sound modifications. Each step represents a 1/16 note. The sound parameters that can be modified are offset inside the sample, gain, panning, pitch, reversing a portion of the sample, rolling (stutter effect) a portion of the sample, and modifying the attack and the decay of the sample portion.

The ensemble can be separated into two big units, the sequencer unit and the audio unit. Roughly, these units are separated into the modules "Seq V5" (pattern sequencer), "Editor" (pattern editor/sound parameter sequencer) for the sequencer unit, and "Engine" for the audio unit.

Seq V5
SeqV5 is, according to its comment, a sequencer built by [|James Walker-Hall]. It is the part of the L3 ensemble that sequences the patterns, and handles the pattern length. On the L3 panel, it is the top bar with the pattern names on top, and crosses underneath the activated patterns, as well as the bar and beats-per-bar scale value field on the left. It has no input port (except the mysterious inactive "*"), and outputs the pattern length in 96th (port 96L), the current pattern number (port #), the current position inside the current pattern in 96th (port 96P), as well as the same information in 16th, which isn't used in the L3 ensemble.

SeqV5 consists of 4 modules. "Time" handles the bars and beat-per-bars inputs, and outputs the length of the pattern in 96th. It somehow involves the number of voices of the instrument, which is locked to 32. The maximum number of bars is voices module beats-per-bar, which is kind of obscure. "96P" handles the midi clock information and the pattern sequencer, and outputs the current bar, whether the module is playing, and the position in 96th inside the active pattern. "Pattern" handles the pattern sequencer, and outputs the number of current pattern according to the information out of "96P". "16P" transforms the 96th time into 16th time.

"96P" determines the current pattern and the sequences of pattern inside a macro "Loop", which interprets the mouse-area messages over the pattern sequencer. The Mouse macro converts the 0-1 X coordinate of the mouse area to a value from 1 to 16, and passes the mouse clicks to the loop area macro. This macro catches the x-coordinate of the mouse on the first click, and merges this first x-coordinate with future coordinates (moving the mouse with the button pressed). These coordinates are sorted, and the resulting range is the active pattern range in the pattern sequencer. The LLd and LSd outputs are used for the display of the selected range, while LL and LS are the actual outputs. They get triggered when a snapshot is recalled or when the mouse is released.