Creating patterns
In this section you will find in-depth information on the creation of patterns. This page is recommended reading as it will also touch upon naming conventions used within the application.
As Efflux supports multiple modes, you might be interested only to read about your specific context. If you are interested in the tracker-mode, you can start reading here. For those interested in the jam session-mode you can jump ahead and read here.
Pattern creation
In tracker mode
In a tracker, music is created by defining patterns. A song is nothing more than a sequence of ordered patterns. Each pattern has a fixed length, defined by the amount of steps. Each step defines a moment in time. As a single pattern lasts for a single measure, each step is a subdivision of a measure in length (for instance: in a pattern of 16 steps in length, each individual step lasts for a sixteenth note.
Each step can contain an event, which is basically an instruction describing what should happen at that moment in time in your song. An instruction can consist of "play this note", "stop playing the currently sounding note", or adding a "parameter change modulation".
The main window in Efflux is an eight column table known as the pattern track list. Each column represents a pattern for a unique channel (or track), meaning that there are eight simultaneous patterns playing back. Each row within a channel corresponds to a pattern step.
By default, each musical instruction you write within a channel will be for the channels associated instrument: As Efflux has eight unique instruments, a single pattern can provide instructions for all the instruments at once by creating events on each channel track.
(NOTE: If you wish to create a very complex piece, you can also assign note instructions to a specific instrument, regardless of the channel track that contains the event)
Summing up:
A composition is split into patterns (each a measure in length) within a pattern order list. A column inside the pattern editor describes a single sound channel / instrument. Each row within a column is a pattern step which can hold events. Each event can be a musical instruction.
Going back to the example of a pattern having 16 steps: if you wish to create a note on the first, second, third and fourth beat of your measure, you would add these events to steps 0, 4, 8 and 12.
Example pattern content

This snapshot represents a series of instructions: in rows 0 and 2 a note (at the pitch of C3) is triggered. The note triggered in row 0 will play for 2 steps (as on row 2 - the third step - a new note is triggered, stopping the previously playing note). Both notes in the first column are played back by instrument 1 (indicated by the white numeral). The note triggered in the first row of the second column (D3) will be played by instrument 2.
The note triggered in row 2 will only play for a single step, as on the next row a "Note Off"- instruction is given, halting the notes playback.
The note triggered in row 4 also contains a parameter modulation (indicated by the text defined in the right slots). The "PU" is a "pitch up" instruction, its bend value is "50".
In row 5 there is no note being triggered, but a parameter modulation. In this case the volume will be set to a value of 50. The "G" indicates that the volume will glide to its new value (a gradual process that lasts a single pattern step in length). The modulation instruction in row 4 uses no glide, and thus acts instantaneously.
Pattern step slots
As we saw above, a row column visualizes a single pattern step, which can contain an event. There are four slots available within a single row column, each describing a different event action:

- The note: this describes the note this event will trigger.
- The instrument: this describes which instrument will synthesize the note. This defaults to the channel tracks index.
- The module to automate. The letters describe an acronym for a module and one its parameters to automate.
- The target value of the automation. This describes the value the module's parameter should have when the sequencer is playing back this event. Can be either a percentage or hexadecimal (see Settings).
Additionally a module parameter change can be non-instant by applying a gradual change (visualized using G).
The duration of this transition is equal to the duration of a single step within the current pattern: if your pattern has 16 steps, the transition will occur over a 16th note in duration.
For example: in a tempo of 120 BPM, this implies that the transition lasts (120 BPM / 60 seconds) / 16 steps = 0.125 (one eighth) seconds.
Navigating within a pattern
Using mouse / touch
By clicking / tapping on a column you select it as the currently active channel. This means that played notes will sound for the associated instrument or that entered events are added to the channel track represented by that column.
You can click within a single row column to instantly select one of the slots (described above).
Using the keyboard
You can use the arrow keys to switch between steps ("up / down"), or to switch between the slots of the currently selected row column ("left / right").
When pressing left / right from the outer slots of the current row column, you will jump to the previous / next channel track.
You can view further tracker-specific navigation shortcuts in the shortcuts help section.
Entering all event variants
Using mouse / touch

To the left of the pattern editor you will find the icons listed. These allow you to specify an instruction for the currently selected step (you can select a step by clicking / tapping on a specific row inside a specific channel).
- A add a new note (opens on-screen keyboard)
- B stop playing a previously triggered note (known as "Note Off")
- C add a parameter change (opens popup)
- D delete existing instruction
- E automate a glide between two parameter changes
Using the keyboard
When using a desktop / laptop computer with a keyboard, you can speed up your process by using shortcuts.
- the "K"-key adds a "Note Off"-instruction
- the "Backspace" and "Delete"-keys delete an existing instruction
- the "Enter"-key opens the parameter modulation editor
- the "ctrl" + "Enter"-keys open the on screen keyboard
- the "ctrl" + "G"-keys automate a parameter glide
When using a keyboard it is however not recommended to use the popup editors for note / parameter modulation entry, but instead use the keyboard shortcuts as it greatly improves your workflow (see following topics).
Entering "Note On"-events
If you know how to play notes, you can instantly create "Note On"-events by clicking the record button in the sequencer transport to toggle the recording state:

When the sequencer is paused, playing a note will add it to the currently selected step, after which the next step will be selected. You can add notes in rapid succession using this method. Additionally, if the sequencer is playing, the note instructions will be recorded at the currently playing step.
When recording to a playing sequencer, keep in mind notes are quantized to the step resolution of the pattern (for instance: no 64th note flurries are possible within a 16 step pattern).
The active track column determines which instrument will play the "Note On"-event. By default this will equal the synthesizer associated with the channel track.
If the previous event within the channel uses an instrument other than the channels default, the note entry window will use the same instrument, overcoming the need to repeatedly select an instrument during note entry.
Automating module parameters
A module parameter is a fancy word that describes one of the properties of an effects module, for instance the frequency of the filter module. Apart from adjusting the properties of the instruments effects modules, you can also target note specific articulations such as volume and pitch glide.
Automations are applied while your track is playing. By changing the properties of your playing notes / synthesizers modules you can add interest to your compositions.
automating the easy way : keyboard
As described, by using the "left" and "right"-arrow keys you can switch between the slots within your a row column. By pressing the numeric keys (1 to 8) in the second slot you define which instrument should handle the event.
By typing a character in the third slot you can define which module to automate (for instance pressing "F" twice will select "Filter Frequency", pressing "F" followed by "Q" will select "Filter Q" or you can repeatedly press "F" to step through all options starting with F.
When the fourth slot is selected, you can enter a numerical value for the parameters value. If you are working with percentages you can enter any value from 0 to 99. If you are working with hexadecimals, you can enter any value from 00 to FF. You can toggle between these modes in the "Settings"-menu.
Glide can be toggled by pressing the "G"-key within the third slot. A smooth glide between two parameter values can be automated using "ctrl + G which generates all events necessary for a smooth glide between the two parameter values.
automating the easiest way : MIDI controller
If you have connected a MIDI controller and mapped its controls to an effect parameter, you can directly create automation events by adjusting the physical controls while the sequencers record mode is activated.
the mouse / touch way : using parameter change UI

Currently there are three targets for parameter automation, each presented in a row in the attached screenshot:
- A Automating note event properties
- B Automating filter properties
- C Automating delay properties
When automating notes, the effect is only applied to the currently playing note. So changing the pitch or volume value of a previously playing note will not affect the next note on.
When automating filter and delay properties, the effect is applied to the whole instrument. The result of these parameter changes remain fixed, until the next property change.
gradual / instant transitions
By using toggle D you can activate glide. By default glide is off meaning that the parameter change will happen instantaneously.
When glide is on, the parameter change will smoothly transition from its current value to the target value specified by slider E.
Entering a numerical value on the keyboard alters the value of slider E. Pressing a single digit in the 1-0 range selects a decimal value from 10 to 100. By typing two digits in succession you can more precisely change the value, for instance typing : "2, 2" sets the value to "22", whereas "0, 8" sets the value to "08".
assigning a target value
By using slider E you can assign a target value to the property you are automating. The slider works in a range of 0 - 100 and works in percentages of the property's associated value (for instance: a percentage of the filters maximum frequency of 22050 Hz).
Except for these two. They are special:
Pitch works over a full octave (12 note) range. In order to bend a single semitone (a half note), you work in steps of 8.
Module on/off properties. When toggling a device on/off the slider must have a value below 50 to toggle the device off, and above 50 to toggle it on.
Creating structure

The patterns within a song are ordered within a pattern order list.
This list contains a a series of patterns which define their playback order within the song. The same pattern can appear multiple times within this list, allowing you to reuse the same pattern without having to manage duplicates.
You can manage all available patterns using the Pattern Manager while you can manage the pattern order using the Pattern order window.
It is recommended to give a descriptive title to each pattern to help structure your songs.

Pattern operations
The pattern editor displayed above the track view provides the following functions:

- Change the pattern resolution (e.g. amount of steps within the pattern/measure)
- Open the Pattern Manager
- Clear the contents of the currently selected pattern
- Copy the contents of the currently selected pattern
- Paste previously copy pattern contents into the currently selected pattern
- Add a new pattern to the songs pattern list (appears after the currently selected pattern)
- Delete the current pattern from the songs pattern list
advanced pattern operations

You can use the "advanced"-menu to do perform complex pattern cloning operations:
"Copy pattern range" describes the pattern range you want to copy, enter the index of the start and end pattern here. "Copy channel range" describes what channels to copy (1-8 for all channels, or specify a custom range between these values).
By clicking Clone and inserted content, the select pattern and instrument range are injected into the current song. By clicking Export content, the selected pattern and instrument range are exported into an .XPT file.
By specifying a pattern index in the "Insert after pattern" field you can paste your selection after given index. Existing content after this index is moved behind the pasted content.
*The advanced pattern manager is only available when use of orders is disabled within the settings menu. It is recommended to use orders instead. The APM is only here for legacy support.
Pattern creation
In the jam session view

The jam session view is the most intuitive way to not only write, but also perform music as it provides you with convenient ways to repeat and enqueue loops while playing one of the other instruments live (by using any of the note input methods).
Within the UI, each of the songs instrument channels is visualised using a piano roll. This piano roll shows all notes within a pattern laid out horizontally over time. The piano roll editor responds to touch/mouse actions to add/move/resize and delete content on the fly.
The channel editor
To the right is the view representing one of the channels within your jam session. From top to bottom, the UI contains:
- Buttons to mute or solo the channel, along with a button to lock the channel, preventing any accidental pattern switches. The pencil button opens the instrument editor for the channel.
- An oscilloscope to show the audio being played back by this channel, in real-time.
- A preview of the piano roll, showing the notes played back within the pattern*.
- Pattern button list. Clicking on one of these will select (when paused) or enqueue (when playing) the next pattern to be played back for the channel. Each individual channel within a jam session can be playing a different pattern number.
*Keyboard users can directly adjust notes in the piano roll preview by using the same keyboard commands as those used by the tracker UI (though you now use the left and right keys instead of up and down to move between the slots within the pattern).

Piano roll
By clicking the pencil in the lower right of the piano roll preview, you can enter the Piano roll editor.

The piano roll is a graphical representation of the notes within the currently selected pattern. The vertical axis represents pitch from C1 to B8. The horizontal axis represents a moment in time (in a 16 step pattern, each column represents a sixteenth note).
You can create new events by either tapping on a slot or by pressing your pointer down and dragging across slots. You can remove existing events by double clicking them.*
You can move events to different pitches / time slots by dragging them to the desired position. To resize an event (e.g. change its total duration), you can drag the right-most handle (light orange color). All actions are stored in state history allowing you to undo/redo your actions in real-time.
*At this moment, the piano roll is monophonic, meaning: no simultaneous sounding notes are supported in the edited pattern.
Automation lane
Docked below the piano roll is the automation lane, which you can use to schedule changes during the patterns playback.
The automation lane is unique to the pattern currently being edited and can contain parameter value adjustments for either the instruments modules or its volume, pan and pitch.
You can create automations at specific slots in the pattern by clicking or dragging across the automation lane to create multiple automations* at once, or by using an attached MIDI controller with recording activated.
*Each slot in the pattern can only automate one parameter at a time. You can target multiple parameters within a single pattern though.
Convenient keyboard shortcuts
For an efficient workflow when using Efflux during a performance, it pays off to familiarize yourself with the available keyboard shortcuts.
Apart from knowing how to enter notes / automation data (either using the keyboard or connected MIDI devices), there are some convenient shortcuts to change session state.
Every action you can take in the piano roll and automation lane editors are stored in state history, so you can easily roll back changes using the undo/redo shortcuts.
You can view the additional jam session-specific shortcuts in the shortcuts help section.