Difference between revisions of "ZynSeq User Guide"

From ZynthianWiki
Jump to navigation Jump to search
 
(207 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 +
= ZynSeq - The Zynthian Sequencer =
 +
 +
This guide explains how to access and use the Zynthian's step sequencer called, ZynSeq. Before following the guide, add 2 synth engines to layers using MIDI channels 1 & 2 respectively. We will use these to demonstrate ZynSeq.
 +
 +
= Accessing ZynSeq =
 +
[[File:main_menu1.png|right|400px]]
 +
[[File:Sequencer pad view 2 inst.png|400px|right]]
  
== THIS TUTORIAL IS NOT YET VALIDATED AND REFERS TO THE DEVELOPMENT VERSION OF ZYNSEQ ==
+
Access the sequencer as described in [[Zynthian UI User's Guide - Oram|Zynthian UI User's Guide]]. The first time you access the sequencer you will see a 4 x 4 grid of rectangles organised as 4 columns of colours. This view is called ZynPad and provides a live performance interface to ZynSeq. Each rectangle represents a pad which may be used to play a sequence. This operation is similar to clip launchers in many DAWs (e.g. Ableton) and on hardware devices (Akai APC and Novation Launchpad devices). Use of ZynPad is described later but first there are some terms that will help understand the structure of ZynSeq.
  
 +
'''Event'''<br>
 +
An event represents a MIDI command, e.g. Note-on. It may have parameters such as velocity, duration, etc.
  
<pre style="color:red;font-weight:bold;font-size:20px">Do not use this guide until this warning is removed.</pre>
+
'''Pattern'''<br>
 +
A pattern contiains zero or more events. Each pattern has a duration in steps and may include as many simultaneous (polyphonic) notes as desired on each step. We will see how patterns are manipulated in the [[#Pattern Editor | Pattern Editor section]]
  
However if you do wish to try this out it's natural home is on the forum at:
+
'''Track'''<br>
 +
A track contains zero or more patterns which may be played and looped. Each track plays out to its own MIDI channel. We will see how sequences and tracks are manipulated in the [[#Arranger | Arranger section]].
  
[[File:Screenshot from 2020-12-06 09-46-16.png|300px|alt zynseq|link=https://discourse.zynthian.org/t/zynseq-a-native-step-sequencer/4043]]
+
'''Sequence'''<br>
 +
A sequence contains one or more tracks which play in unison. By default each sequence has a single track.  
  
Get involved !
+
'''Group''' <br>
 +
A sequence is a member of a group (indicated by its pad colour). Several sequences may be played simultaneously but those in the same group cannot play concurrently.
 
<br clear=all>
 
<br clear=all>
----
 
  
= ZynSeq - The Zynthian Sequencer =
+
====Pad Layout====
 +
Each pad displays information split into an upper and lower part. The upper part shows the current loop setting (loop all - [[#Sequence_Modes | see Sequence Modes]]), the midi channel of the first track and the sequence identifier (A1). Currently the track uses midi channel 1 which is assigned the 'Poly Dreams' preset from the OB-xD instrument. The preset is used as the default name (it can be renamed) and shown in the lower part of the pad. This pad is currently empty. When the pad has content, a stop button icon will appear in the top right corner. When the pad has no sequence or is disabled, it displays dark grey.
 +
<br clear=all>
 +
<gallery mode = packed>
 +
Zynpad empty sequence.png|Pad empty sequence
 +
Zynpad with sequence.png|Pad with content in sequence (shows stop button icon)
 +
Zynpad without sequence.png|Pad without sequence (Pad displays dark grey)
 +
</gallery>
  
This guide explains how to access and use the rich set of features provided by Zynthian's step sequencer called, ZynSeq. Before following the guide, add 2 synth engines to layers using MIDI channels 1 & 2 respectively. We will use these to demonstrate ZynSeq. If you use a touchscreen instead of rotary encoders then enable touch widgets using webconf INTERFACE->UI Options.
+
So a pad is in a group and triggers a sequence which is a collection of tracks. A track is a collection of patterns. A pattern is a collection of MIDI events. Now we need to add some sequences to play. Let's create...
 +
<br clear=all>
  
TODO: Provide a demo snapshot with engines and sequences configured.
+
= Pattern Editor =
  
= Accessing ZynSeq =
+
[[File:zynseq_patterneditor.png|right|400px]]
  
[[File:Zynseq_zynpad_4x4blank.png|right|300px]]
+
[[File:zynseq_patterneditor_playing.png|right|400px]]
  
To access the sequencer, select "Step Sequencer" from the main menu or use the shortcut: bold press SNAPSHOT encoder. The first time you access the sequencer you will see a 2x2 grid of purple rectangles. This view is called ZynPad and provides a live performance interface to ZynSeq. Each of rectangle represents a pad which may be used to play a sequence. Use of ZynPad is described later but first we need to add some sequences.
+
[[File:sequencer_pattern_editor_menu.png|right|400px]]
  
What is a sequence? A sequence is a collection of patterns which may be played and looped. Several sequences may be played simultaneously, each playing any of the 16 MIDI channels. We will see how sequences are manipulated in the section Pad Editor.
+
By default each pad triggers a sequence containing a single pattern. Bold SELECT a pad to show its Pattern Editor.
 +
 +
==== Step sequences and the Step Grid ====
  
What is a pattern? A pattern is a collection of MIDI events, e.g. notes. Each pattern has a duration in steps and may include as many simultaneous (polyphonic) notes as desired on each step. We will see how patterns are manipulated in the section Pattern Editor.
+
There is a grid on the right called the ''Step Grid''. On the left is a representation of a piano keyboard, scale or drum map. Each row represents a note and each column in the step grid represents a step in the sequence.
  
So a pad can trigger a sequence which is a collection of patterns. A pattern is a collection of MIDI events. Let's create...
+
By default, step sequences are a quantised collection of events, i.e. each event occurs at a discrete time and the available discrete times are equally and evenly distributed across the pattern. This means the difference in time between step 1 and step 2 occurring is the same as the difference in time between step 2 and step 3 occurring. It is possible to record or move events off this quantised grid which will be described later.
  
= Pad Editor =
+
==== Navigating the Pattern Editor and Entering Notes ====
  
[[File:Zynseq menu padeditor.png|right|300px]]
+
One of the cells in the step grid has a coloured outline. This is the ''cursor'' and identifies which cell is currently highlighted. Rotate encoder 3 to move the cursor up and down (between notes) and encoder 4 to move the cursor left and right (between steps). To add a note, short SELECT a cell in the grid. A note may be removed in the same way. On a touchscreen, press and drag to allow more accurate positioning. As a note is added it is also sounded (MIDI sent to engine). The grid may be zoomed (simultaneous horizontal and vertial) with encoder 2 or pinch on a touchscreen. The grid will scroll when the cursor reaches an edge or with two finger drag on a touchscreen. Touching a key on the keyboard plays that note briefly. This is a useful tool for auditioning notes or phrases before adding them to the step grid.
  
The Pad Editor is a view that allows the manipulation of sequences used by pads. To access the Pad Editor, from within ZynSeq short press LAYER encoder or tap the top left of the screen. This shows a context menu. The ENTER encoder may be used to highlight entries within this menu and short press ENTER will select that entry. Alternatively the touchscreen may be used to select an entry by touching the selection. If the menu extends beyond the bottom of the screen it may be scrolled by highlighting lower entries with the LAYER encoder or press and drag with the touchscreen. (Note: When touch and dragging on touchscreen the menu option will be selected when touch is released.) The first entries in context menu are common to all ZynSeq views. Select entry, "Pad Editor".
+
==== Preview, Pattern Duration and Resolution ====
<br clear=all>
 
  
[[File:zynseq_padeditor.png|right|300px]]
+
To preview a pattern, start or pause the transport by pressing the play button, learn/shot encoder or tapping the status area. A coloured bar at the bottom of the view will move left to right to indicate the position of the playhead and any notes entered in the pattern will be sent to the zynthian's engines. To stop and recue to the start of the pattern, bold press. Playback speed (Tempo) can be adjusted with the encoder 1 or by selecting "Tempo" from the menu.
  
The view should change to show a different type of grid. Each horizontal row represents a sequence assigned to a pad. On the left the pad's name and some other info is shown on a coloured cell. To the right is where patterns are added and removed. This is called the Patterns Grid. Each sequence may have as many or few patterns as desired. It may be common to use just one pattern for each sequence but more complex combinations are possible.
+
The MIDI channel used by the Pattern Editor will be chosen from the sequence / track from which it is launched, e.g. if you selected the first pad (without changing default settings) it should play on MIDI channel 1.
  
Navigation around the patterns grid is performed by rotating the BACK encoder to move up and down (select different pads) and the ENTER encoder to move left and right (select time). The currently highlighted cell is shown by a coloured outline called the cursor. By default there are 4 empty sequences configured. (Empty means no patterns have been added.) Let's add a pattern.
+
There are vertical white lines indicating the beats. The quantity of beats in the pattern may be adjusted from the menu as well as the quantity of steps in each beat. This allows the duration and quantisation level of the pattern to be adjusted. Changing the beats in pattern will change the pattern duration. Changing the steps per beat will change the pattern resolution.
  
Use the ENTER and BACK encoders to move the cursor to the top left corner. This represents the starting time for the first sequence. Note that this sequence is called "A1" and has a purple background. This will be explained later but we will start to see its relevance soon. Short press ENTER encoder will add a pattern at the cursor position.
+
Add some notes to form a melody and preview with the play function. Navigate BACK to return to ZynPad.
 
<br clear=all>
 
<br clear=all>
  
[[File:zynseq_padeditorwithpattern.png|right|300px]]
+
= Note Parameters =
 +
 
 +
[[File:zynseq_patterneditor_notevelocity.png|right|400px]]
  
A black bar should appear which represents the pattern. It will have a number which identifies which pattern has been added. If using a touchscreen you can tap the pattern grid to add a pattern. This may take a little practice to place it where you want but you can press, drag and release to position it more accurately. Great! We now have a pattern added to the sequence for pad A1. This won't yet be of much use but let's see how that looks in ZynPad. Short press LAYER encoder or touch top left of touchscreen to show the context menu and select ZynPad.
+
Each note may be adjusted to have different duration, velocity, etc. To adjust a note's parameters, bold SELECT to show the parameter editor. Use encoder 4 (or onscreen buttons if enabled) to select the parameter to adjust. The options are:
<br clear=all>
 
  
[[File:zynseq_zynpad_4x4one.png|right|300px]]
+
* Duration: Quantity of steps at 0.1 resolution. Duration of each note is shown by the length of the event in the grid.
 +
* Velocity: MIDI velocity 0..127. Current velocity is shown by yellow line at bottom left of screen and the opacity of each note. The brighter the cell, the louder the note.
 +
* Offset: Note position from start of step 0..100%. Position of each note is shown in the grid.
 +
* Stutter count: Quantity of stutter repeats.
 +
* Stutter duration: Length of stutter in ticks.
 +
* Play chance: Percentage likelihood that the note will trigger.
  
The ZynPad view shows and now the top left rectangle has changed to show a circular arrow icon. This icon indicates that the sequence contains patterns and indicates its play mode. Let's not worry about that yet.
+
Use encoder 3 to coarse adjust the selected parameter and encoder 2 to fine adjust. Bold SELECT to adjust all notes in the pattern. Navigate BACK to close the parameter editor.
 
<br clear=all>
 
<br clear=all>
  
= Playing a sequence =
+
= Scales and Drum Maps =
  
The pad is purple which indicates that the sequence is not playing. Similar to how we navigate the cursor in the Pad Editor we can move the cursor in ZynPad with the BACK and ENTER encoders. Move the cursor to the top left to highlight pad A1 (it is probably already there) then short press ENTER encoder to start playback of sequence A1. This can also be achieved with a touchscreen by simply pressing pad A1.
+
[[File:Zynseq drum map.png|right|400px]]
  
[[File:zynseq_zynpad_4x4playing.png|right|300px]]
+
Pattern Editor shows a piano keyboard at its left hand edge to assist with note entry. This is commonly called a piano roll referring to the punched paper rolls that were used to play automatic pianos. Selecting ''Scale'' from the menu allows this to be changed to show just the notes of particular scales. Scales include:
  
The pad changes to green indicating it is playing. (You may see it change to orange briefly - more on this soon). Short press ENTER or tap the pad with the touchscreen to stop the sequence playing.
+
* Chromatic (piano keyboard)
<br clear=all>
+
* Major
 +
* Minor
 +
* Blues
 +
* Blues pentatonic
  
[[File:zynseq_zynpad_4x4stopping.png|right|300px]]
+
Changing the scale from Chromatic will hide notes in the note grid and all keys on the keyboard change to white, i.e. no black keys are shown. Notes are hidden but not removed from the pattern which may result in notes not being visible. If a percussion preset or engine is selected for the current MIDI channel then an appropriate drum map is also available in the list of scales and selected by default. The name of the percussion instrument is shown on each key, e.g. Snare Drum.
  
The pad changes to red to indicate it is stopping and then to purple to indicate it has stopped. We have not yet added any MIDI events to the pattern so nothing happens with any synth engines you may have loaded. Let's fix that.
+
Selecting ''Tonic'' from the menu allows changing the key of the scale: C, C#, D, etc.
<br clear=all>
 
  
= Pattern Editor =
+
= Adding Notes With External MIDI Controller =
  
[[File:zynseq_patterneditor.png|right|300px]]
+
It is possible to use a MIDI controller to add notes to a pattern, e.g. MIDI keyboard connected to Zynthian. Select "Input channel" from Pattern Editor menu to adjust the MIDI channel that ZynSeq listens for input. When the Pattern Editor is shown, any note sent on this channel will add a note to the pattern at the current playhead cursor position with the a duration of one step and if the pattern is not being played, move the playhead to the next step. This table summarises how to input notes with a controller:
  
Use the context menu to open the Pad Editor then move the cursor to the top left to highlight the pattern. Bold press ENTER encoder or press and hold the touchscreen on the pattern. The view changes to the Pattern Editor. Similar to the Pad Editor this has a grid on the right which is the Step Grid. On the left is a representation of a piano keyboard. Each row represents a note and each column in the step grid represents a step in the sequence.
+
{| class="wikitable"
 +
! Input Type
 +
! Description
 +
|-
 +
| style="width: 15%" | Add a single note || Press the keyboard (midi controller) note once.
 +
|-
 +
| Add longer notes || Press the sustain pedal whilst adding notes. Each press of a note whilst the sustain pedal is pressed will extend the note by one step. E.g. at default settings, press 4 times to create a quarter note. Release sustain pedal to start a new note.
 +
|-
 +
| Add chords || Same as adding longer notes, the playhead does not advance until the sustain pedal is released so chords may also be added whilst the sustain pedal is pressed. Release sustain pedal to start a new chord.
 +
|-
 +
| Advance the playhead || The playhead may be advanced without adding any note by pressing and releasing the sustain pedal.
 +
|-
 +
| Add (assign) a rest note || It is also possible to assign a note that acts as a rest, i.e. will not add a note to the sequence and skip to the next step. Select "Rest note" from pattern editor menu to select which note will act as a rest. ''None'' may be selected by rotating SELECT encoder to the end of the range, i.e. below C-1 or above G9.
 +
|}
  
Step sequences are a quantised collection of events, i.e. each event occurs at a discrete time and the available discrete times are equally and evenly distributed across the pattern. This means that step 2 occurs an amount of time after step 1 and step 3 occurs the same amount of time later after step 2, etc.
+
'''Loop Mode and Overdub'''
  
The step grid has a cursor, similar to the pattern grid in the Pad Editor and navigation is the same, i.e. use BACK encoder to move the cursor up and down (between notes) and the ENTER encoder to move the cursor left and right (between steps). To add a note, move the cusor to the desired step and note then short press the ENTER encoder. A note may be removed in the same way. Alternatively press the touchscreen on the cell you want to add or remove a note. Press and drag to allow more accurate positioning. As a note is added it is also sounded (MIDI sent to engine). All steps in a pattern are always shown but notes above or below those visible may be accessed by moving the cursor beyond the view with the BACK encoder. The view scrolls as the cursor reaches the edge. Alternatively press and drag up and down on the keyboard to vertically scroll the view. Note that as you touch a key on the keyboard it plays that note briefly. This is a useful tool for auditioning notes or phrases before adding them to the step grid.
+
It is also possible to play live whist the pattern is playing in loop mode. Short press SNAPSHOT encoder to start loop playback then use MIDI controller to overdub the pattern. The same logic applies so playing a note that already exists will remove it.
  
To preview a pattern, short press the SNAPSHOT button to start the transport. A coloured bar at the bottom of the view will move left to right to indicate the position of the playhead and any notes entered in the pattern will be sent to the Zynthian's engines. To pause playback, short press SNAPSHOT. To stop and recue to the start of the pattern, bold press SNAPSHOT. If you press the touchscreen at the top right corner the transport controls display. Pressing the right pointing arrow play button will start playback. The play button changes colour to indicate it is playing. Pressing again will pause playback. Pressing the square stop button will stop playback and recue to start of pattern. Pressing top right of screen will hide the transport. Playback speed (Tempo) can be adjusted with the SNAPSHOT encoder or by selecting "Tempo" from the Pattern Editor context menu.
+
= Playing a sequence =
<br clear=all>
 
  
[[File:zynseq_patterneditor_playing.png|right|300px]]
+
[[File:Sequencer pad view 2 inst1 playing.png|right|400px]]
 +
[[File:Sequencer pad view 2 inst1 stopping.png|right|400px]]
 +
ZynPad is the performance view. It shows each sequence as a ''pad''. The pad has a colour representing its group and (by default) a number identifying its sequence number. (This label can be changed by selecting the menu option: "Rename sequence".) Each pad triggers a different sequence. By default there are 16 sequences, 1-16.
  
Add some notes to form a melody and preview with the play function. Short press BACK will return to the Pad Editor view. Use the context menu to show ZynPad. Highlight pad A1 and short press ENTER or press A1 pad on touchscreen. This time playback should play the pattern you just created. Playback speed (Tempo) can be adjusted with the SNAPSHOT encoder or by selecting "Tempo" from the ZynPad context menu.
+
'''Navigation and Playback Functions'''
  
Note that ZynPad is starting the A1 sequence which consists of Pattern 1 which in turn consists of the notes of your melody. This hierarchical relationship may be slightly more complex than a typical step sequencer but as we will see it offers many benefits. Just remember that a pad triggers a sequence. A sequence contains patterns. A pattern contains MIDI events, e.g. notes.
+
Each pad has an icon indicating its play mode. The default mode is ''Loop All''. This means the pad will play the whole sequence then wait unit the next sync point / bar before starting again.
  
Note that to edit a pattern you first need to add the pattern to a sequence. You cannot access the Pattern Editor directly, only by bold ENTER or press and hold touchscreen of a pattern in a sequence.
+
Similar to how we navigate the cursor in the Pattern Editor we can move the cursor in ZynPad with the BACK and SELECT encoders. Move the cursor to the top left to highlight pad 1 (it is probably already there) then short press SELECT encoder to start playback of sequence 1. This can also be achieved with a touchscreen by simply tapping pad 1.
<br clear=all>
 
  
= Note Duration =
+
Playback of the pattern you created should start to loop. During playback a green right-pointing arrow shows on the pad.
  
[[File:zynseq_patterneditor_notelength.png|right|300px]]
+
Tempo may be adjusted using the SNAPSHOT encoder or by selecting "Tempo" from the menu.
  
So far we have only added note with a duration of one step. The duration of a note may be changed with the LAYER encoder. This adjusts the quantity of steps that new notes will span. It also adjusts the duration of the currently selected note in the pattern. Alternatively with a touchscreen press on an existing note and drag horizontally to adjust the duration. The cursor indicates the note duration.
+
Short press SELECT or tap the pad with the touchscreen to stop the sequence playing.
<br clear=all>
 
  
= Note Velocity =
+
The playback indication icon changes to red to indicate it is stopping and then disappears to indicate it has stopped. Most play modes will continue to play the sequence until the next sync point. A sync point may be thought of as the start or end of a bar, indeed their spacing is set using the menu option ''Beats per bar''.
  
[[File:zynseq_patterneditor_notevelocity.png|right|300px]]
+
Most play modes will wait until the next sync point before starting. If you start a sequence part way though a bar then it will show an orange ''starting'' icon indicating it is waiting to start and will start at the end of this bar. This may also occur if a sequence length results in it stopping mid-bar in which case it may wait in ''starting'' state until the next bar. [[#Sequence modes | See section on Play Modes.]]
  
By default notes are added with a velocity (loudness) value of 100. (The range is 1 - 127.) The velocity of a note may be changed with the SNAPSHOT encoder. This adjusts the velocity that new notes will have. It also adjusts the velocity of the currently selected note in the pattern. Alternatively with a touchscreen, press on an existing note and drag vertically to adjust the velocity. The velocity is indicated by a yellow bar in the bottom left of the screen. The velocity of individual notes is indicated by the opacity of the note in the note grid. The brighter the grid cell, the higher the velocity.
 
 
<br clear=all>
 
<br clear=all>
  
 
= Multiple Sequences =
 
= Multiple Sequences =
  
[[File:zynseq_multiplepatterns.png|right|300px]]
+
[[File:Sequencer pad view 2 inst2.png|400px|right]]
 +
So far we have edited a single pattern in one pad's sequence. Let's add patterns to other pads. By default ZynSeq has 16 pads (sequences) each with a single track with its own pattern. Use BACK and SELECT encoders to select pad
 +
2 and bold press SELECT to show its Pattern Editor. Add a new melody to the pattern then short press BACK or touch topbar to return to ZynPad.
  
So far we have created a single sequence with a single pattern. Let's complement this with more sequences with different patterns. By default ZynSeq has 4 pads. Open the Pad Editor and move the cursor to the first time slot of the second sequence, "A2". Note the bottom left corner shows a number. This is the index of the pattern that will be added when you short press ENTER or touch the pattern grid on the touchscreen. Use the BACK encoder to change the pattern selection to 2 or press on the bottom left of the touchscreen then adjust the value in the topbar. Add this pattern to sequence A2. Bold press ENTER or press and hold pattern 2 on the touchscreen to show the pattern editor. Add a new melody to the pattern then short press BACK or touch top left and select the back icon from the topbar to return to the Pad Editor view. Repeat for the other two pads then use the context menu to show ZynPad.
+
Start pad 1: see its play icon show green and hear its sequence loop.
 +
 
 +
Start pad 2. Pad 2 shows an orange ''starting'' icon but does not start to play yet. Pad 1's icon changes to red and continues to play. The red icon indicates sequence is playing but will soon stop. Pad 2 icon changes to green and starts playing as pad 1 stops. The behaviour occurs because these pads are in the same group (see below).
 
<br clear=all>
 
<br clear=all>
  
[[File:zynseq_4x4four.png|right|300px]]
+
= Groups =
  
All 4 coloured pads now show an icon indicating they all have patterns in their sequences. Start pad A1: see its button turn green and hear its sequence loop.
+
[[File:Sequencer pad view 2 queueing.png|400px|right]]
<br clear=all>
+
[[File:Sequencer pad view 2 playing.png|400px|right]]
 +
Each sequence belongs to a mutually exclusive group. This means that only one sequence within the same group may play concurrently. Sequences from other groups may play simultaneously. The group is indicated by the colour of the pad. There are up to 26 groups, A-Z.
  
[[File:zynpad_starting.png|right|300px]]
+
By default sequences are arranged in columns of groups with the first column being in group A, second column in group B, etc. and the last column being in group J. (This is because the default configuration also allocates MIDI channels 1, 2, etc. and 10 for last column which is traditionally used for percussion.) ZynPad tries to keep things simple with each sequence containing a single track and a single pattern. We will see later how this can be changed with the ''Arranger'' view. Following this simple workflow, a sequence's MIDI channel may be set from the menu option ''MIDI channel''. This also sets the sequence's group. There are 16 colours used to indicate groups so that each MIDI channel may have a different colour.
  
Start pad A2. Pad A2 changes to orange but does not start to play yet. Orange indicates sequence is waiting to start. A1 pad changes to red and continues to play. Red indicates sequence is playing but will soon stop. A2 pad will change to green and start playing as A1 stops and changes to purple. The behaviour occurs because these pads are in the same group, "A" (see below).
+
If you start sequence 1 then start sequence 5 you will see that pad 5 shows orange ''starting'' icon then green ''playing'' icon when the next sync point is reached whilst pad 1 continues to play.
<br clear=all>
 
  
== Groups ==
+
This is a powerful performance feature of ZynPad. You can assign any quantity of sequences to any group, providing groups of mutually exclusive (only one can play at a time) sequences. Sequences from different groups can play simultaneously but sequences from the same group will play sequentially.
  
Each pad belongs to a mutually exclusive group. This means that only one pad within a group may play. Pads from other groups may play simultaneously. The group is indicated by the single letter prefix of the pad name. Therr are up to 26 groups, A-Z.
+
A ''Sync point'' is a location within playback at which sequences will loop and / or group sequential play will change to another sequence. Sync points are synonymous with bars in traditional music notation. See section on time signature.
<br clear=all>
 
  
[[File:zynpadeditor_groups.png|right|300px]]
+
Remember, sequences are indexed by number, 1, 2, 3, etc. and Groups by letter, A, B, C, etc. By default pad labels show the sequence number but can be renamed (see below).
  
Within the pad editor move the cursor to pad A3. Use the context menu to change the group to 'B'. The pad name changes to B3 and its background colour changes to blue. Repeat to change A4 to B4.
 
 
Note: Pad colours alternate between purple and blue. All ''odd'' groups (A,C,E...) are purple and all ''even'' groups (B,D,F...) are blue.
 
 
<br clear=all>
 
<br clear=all>
  
[[File:zynpad_groups.png|right|300px]]
+
= Grid Size =
  
Zynpad shows the pads with their corresponding group colours.
+
[[File:Sequencer pad view grid 8x8.png|400px|right]]
  
Start pad A1. Pad A1 changes to green and its sequence starts playing.
+
By default ZynPad shows a 4 x 4 grid of 16 pads. The grid is always square, i.e. has the same quantity of columns as rows. The quantity of pads may be adjusted by selecting "Grid size" from the ZynPad menu. The maximum quantity of pads is 64 (8 x 8).
Start pad B3. Pad B3 turns orange indicating it is waiting to start. Sequence B3 will start when the currently playing sequence reaches a sync point so that playback is synchronised. Start pad B4. Sequence B3 will continue then sequence B4 starts as B3 stops. A1 should continue to play. This is a powerful performance feature of ZynPad. You can assign any quantity of pads to any group providing groups of mutually exclusive (only one can play at a time) sequences. Sequences from different groups can play simultaneously but sequences from the same group will play sequentially.
 
  
New term: A Sync point is a location within playback at which sequences will loop and / or group sequential play will change to another sequence. Sync points are synonymous with bars in traditional music notation. See section on time signature.
+
Sequences are added or removed when the grid size is selected. Any patterns are not lost but may need to be re-selected with the ''Arranger'' view (see later) when the grid size is decreased.
  
By default sequences are in group A. To change the group of a sequence, select "Group" from the Pad Editor context menu. The group may be set to A-Z. Odd groups (A,C,E, etc.) are represented with purple background. Even groups (B,D,F, etc.) are represented with blue background. This allow a degree of separation in ZynPad without overloading with excessive quantity of colours.
+
When the grid size is changed in ZynPad existing sequences remain in the same position. This may result in duplicate (default) names (see picture).
  
Remember, sequences are indexed by number, 1, 2, 3, etc. and Groups by letter, A, B, C, etc. Sequence labels consist of the group letter and sequence number, e.g. A1.
 
 
<br clear=all>
 
<br clear=all>
  
= Quantity of Pads =
+
= Sequence Modes =
  
To change the quantity of pads, select "Tracks" from the Pad Editor context menu. 0-64 pads may be configured. Additional rows are added to the Pad Editor to represent the configured quantity. If this exceeds the available space then pattern grid will scroll when cursor reaches edge of view. Alternatively, press and drag the sequence titles on touchscreen to scroll the view. ZynPad view shows a grid of pads with the same quantity of rows and columns, resizing pads to fit. If the quantity of pads does not fill the grid then the last pads are still shown but disabled (grey). Pads are added top to bottom, left to right, e.g. 5 pads in group A would look like this:
+
So far we have used the default mode for sequences which will loop the sequence until requested to stop at which point it will continue to play until the next sync point. There are many modes available which each offer features for different workflows / requirements. To change mode, select ''Play mode'' from the ZynPad's menu. This will allow change of mode of the highlighted sequence. The mode is indicated by an icon.
  
{| border="1" class="wikitable" style="color:#FFFFFF; background-color:#8904B1;"
+
{| class="wikitable"
|A1||A4
+
|+ Sequence play modes
| style="background-color:#AAAAAA;" |A7
+
! Icon
 +
! Mode
 +
! Description
 +
|-
 +
! Disabled
 +
| [[File:disabled.png|center]]
 +
| Sequence is disabled and cannot be played
 +
|-
 +
! One-shot
 +
| [[File:oneshot_new.png|center]]
 +
| Sequence will play once, i.e. not loop. When stopped sequence will stop immediately (this is the only mode that will stop immediately)
 +
|-
 +
! Loop
 +
| [[File:loop_new.png|center]]
 +
| Sequence will loop immediately at end of sequence. When stopped sequence will play until end of loop
 +
|-
 +
! One-shot all
 +
| [[File:oneshot_all_new.png|center]]
 +
| Sequence will play once, i.e. not loop. When stopped sequence will continue to play until end of sequence
 +
|-
 +
! Loop all
 +
| [[File:loop_all_new.png|center]]
 +
| Sequence will loop at end of sequence. If sequence ends before sync point it will pause and restart at next sync point (end of bar). When stopped sequence will continue to play until end of sequence. '''This is the default mode.'''
 
|-
 
|-
|A2||A5
+
! One-shot sync
| style="background-color:#AAAAAA;" |A8
+
| [[File:oneshot_sync_new.png|center]]
 +
| Sequence will play once, i.e. not loop. When stopped sequence will continue to play until next sync point (end of bar)
 
|-
 
|-
|A3
+
! Loop sync
| style="background-color:#AAAAAA;" |A6
+
| [[File:loop_sync_new.png|center]]
| style="background-color:#AAAAAA;" |A9
+
| Sequence will loop at sync point. If sequence is shorter than a bar it will pause until next sync point before restarting. When stopped sequence will continue to play until next sync point (end of bar)
 
|}
 
|}
A6, A7, A8 & A9 would be disabled.
 
  
= Sequence Modes =
+
All of these modes affect how sequences stop. There are currently no modes that affect how a sequence starts. If JACK transport is not running then the first sequence to be started will start immediately (and also start JACK transport). If any sequences are playing or JACK transport is rolling (e.g. because MIDI player is running) then sequences will start at the next sync point.
 +
 
 +
= Sequence Names =
 +
 
 +
[[File:Osk.png|right|400px]]
  
So far we have used the default mode for sequences which will loop the sequence until stopped at which point it will continue to play until the next sync point but there are many modes available which each offer features for different workflows / requirements. To change mode, select "Mode" from the Pad Editor context menu. This will allow change of mode of the highligted sequence. The mode is indicated in ZynPad and Pad Editor by an icon. Mode can also be changed from ZynPad context menu.
+
By default each new sequence is allocated one pattern. Each pattern is identified by its index number and the sequence name is set to the value of the pattern's index. It is possible to rename each sequence. Use the menu to select ''Rename sequence''. This shows a keyboard with the current sequence name selected. Use the BACK and SELECT encoders to navigate the cursor and short press SELECT to add the highlighted character to the name. Selecting ''Shift'' will allow the next character to be uppercase. Selecting ''Shift' again will lock the keyboard allowing all subsequent characters to be uppercase. Select ''Shift'' again to release shift-lock. Select ''Delete'' to remove the last character. Bold press ''Delete'' to clear the name.
  
Available modes are:
+
Select ''Enter'' to assert the new name or ''Cancel'' to revert to the previous name.
  
* Disabled: Sequence is disabled and cannot be played
+
The touchscreen may be used to select buttons on the onscreen keyboard.
* Oneshot: Sequence will play once, i.e. not loop. When stopped sequence will stop immediately
+
<br clear=all>
* Loop: Sequence will loop at end of sequence. When stopped sequence will stop immediately
 
* Oneshot all: Sequence will play once, i.e. not loop. When stopped sequence will continue to play until end of sequence
 
* Loop all: Sequence will loop at end of sequence. When stopped sequence will continue to play until end of sequence
 
* Oneshot sync: Sequence will play once, i.e. not loop. When stopped sequence will continue to play until next sync point (end of bar)
 
* Loop sync: Sequence will loop at end of sequence. When stopped sequence will continue to play until next sync point (end of bar)
 
  
Loop sync is the default mode.
+
= Tempo =
  
= Zooming =
+
Tempo is the rate at which the sequencer plays back notes measured in beats per minutes (BPM). By default ZynSeq plays sequences at 120 BPM. Adjust Tempo with the SNAPSHOT encoder. The tempo is briefly displayed in the title bar. There is also a menu option to adjust tempo.
  
Within Pad Editor the quantity of visible sequences (rows) may be adjusted by selecting "Vertical zoom" from the context menu. The size of patterns may be adjusted by selecting "Horizontal zoom" from the context menu. This adjusts the quantity of timeslots shown so increasing horizontal zoom actauall zooms out.
+
The current tempo is saved and loaded with each snapshot.
Similarly, the quantity of keyboard notes in the Pattern Editor may be adjusted by selecting "Vertical zoom" from the context menu. There is no horizontal zoom for the Pattern Editor because it always shows all steps in a pattern.
+
 
 +
ZynSeq allows tempo to be adjusted from 1.0 BPM to 420.0 BPM in 0.1 BPM steps. Tempo may also be altered by external modules, e.g. MIDI player.
  
 
= MIDI channels =
 
= MIDI channels =
  
Each sequence may be assigned to a single MIDI channel. (Several sequences may be assigned to the same MIDI channel but that may provide little benefit, can have unexpected results and may be removed in future versions.) By default each sequence is assigned MIDI channel 1. To assign a sequence to a different MIDI channel, open the Pad Editor and move the cursor to the sequence to modify. Short press LAYER / press top left of touchscreen to show context menu and select "MIDI channel" option. The topbar now shows the current MIDI channel for the selected sequence. Use the ENTER encoder to change the value then short press ENTER. If Touch Widgets is enabled then there will also be buttons in the topbar to allow adjustment with the touchscreen. This data entry mode is called the Parameter Editor. The MIDI channel assigned to each sequence is shown in brackets after the sequence name on the left of the Pad Editor, e.g. A1 (2) indicates sequence 1 sends to MIDI channel 2.
+
Each sequence may have one or more tracks and each track may be assigned to any of the 16 MIDI channels. By default each sequence has a single track. The ZynPad menu allows setting of the MIDI channel of the first track of the highlighted sequence. (This also sets the sequence's group.) If there is a chain associated with the MIDI channel then the name of the currently selected preset of the chain is displayed in the topbar as MIDI channel is selected.
 +
 
 +
[[#Arranger |See  ''Arranger'' section]] for detail of setting MIDI channels for multi-track sequences.
 +
 
 +
= Scenes =
 +
 
 +
There are many ''scenes'' of grids. Each scene contains a set of sequences. Different scenes may have different quantity of sequences. Sequence 1 in scene 1 is different to sequence 1 in scene 2. Up to 64 scenes may be configured. Scenes may be selected from ZynPad using the LAYER encoder or by selecting ''Scene'' in the menu.
 +
 
 +
A ''scene'' may be considered a view or page of sequences / pads and allows more than 64 sequences to be configured, e.g. 2 pages of 8 x 8 grids provides 128 sequences.
 +
 
 +
Scenes may be cleared and reset to default 4 x 4 grid from the Arranger menu.
 +
 
 +
If any sequences are playing when changing scene, they continue to play.
  
= Songs =
+
= Save / Load / Snapshot =
  
All the configuration described above relates to a song. Zynthian supports 1000 songs, each may have different quantity of sequences, etc. Songs are identified by an index 1-1000. This can be selected from any ZynSeq context menu or directly by using LAYER encoder in ZynPad or Pad Editor views. The current song is shown in the topbar within brackets, e.g. ZynPad (5). Sons 1-128 may also be selected with MIDI Song Select message.
+
Patterns, sequences and scenes are saved within the snapshot and restored when a snapshot is loaded. There is also a method of exporting to and importing from standard MIDI file. [[#Import / Export MIDI Files | See section on Import / Export MIDI Files]]
  
All songs share the same pool of patterns allowing reuse of patterns in different songs. With 999 patterns available there should be sufficient to create all the sequences in all the songs you need. If not, see section on Save and Load.
+
= External Trigger =
 +
 
 +
It is possible to trigger a sequence from a MIDI controller, e.g. a MIDI keyboard connected to the Zynthian.
 +
 
 +
To set the channel that ZynSeq listens for triggers, select ''Trigger channel'' from the menu.
 +
 
 +
Each sequence may be triggered by a MIDI note. Select "Trigger note" from the menu to adjust the MIDI note that will trigger the highlighted pad. Note may be selected with the SELECT encoder or by playing a note on an external controller on the MIDI trigger channel. By default triggers are disabled. To disable a sequence from being triggered set its trigger value to None which is below C-1 or above G9, i.e. increase to maximum value.
 +
 
 +
ZynSeq will send MIDI note on messages to represent the current play status of each sequence with play state represented by MIDI note velocity. This may be used by an external pad controller like Novation's Launchpad, Akai APC, etc. to indicate the status of a sequence. The note number sent is the same as the external trigger configured for a sequence. Tallies are sent on the same MIDI channel as configured to receive triggers. Currently only the following tallies are configured which will work with Akai APC:
 +
 
 +
{| class="wikitable"
 +
|+ Feedback tallies
 +
! State
 +
! MIDI velocity
 +
|-
 +
! Stopped
 +
| 3
 +
|-
 +
! Starting
 +
| 5
 +
|-
 +
! Playing
 +
| 1
 +
|-
 +
! Stopping
 +
| 4
 +
|}
  
Songs may be copied by selecting "Copy song" from Pad Editor context menu. Use parameter editor to select the index of the new song to which to copy the current song. Select new song ID with ENTER encoder. Short press ENTER to copy the song. Short press CANCEL to cancel the operation.
+
It is not currently possible to change this configuration and tallies will always be sent if trigger is configured.
  
A song may be cleared, removing all sequences by selecting "Clear song" from context menu then asserting by short press ENTER.
+
= Arranger =
  
= Save / Load =
+
[[File:Arranger default1.png|400px|right|Arranger showing default]]
 +
[[File:Arranger.png|right|400px]]
  
If you run out of patterns or songs or want to have different configurations for different scenarios you have the option save the whole ZynSeq sequence set. From any context menu select "Save" to show an on-screen keyboard allowing naming of the sequence set. By default the name of the currenly loaded sequence set is shown. Use the ENTER encoder to highlight a character. This moves the cursor left and right, wrapping to next row at end of row and back to start when reaching the end. The BACK encoder may be used to move cursor between rows (but does not wrap). Short press ENTER to add the character to the name. There is a DELETE button to remove the last character and a SHIFT button to show alternative characters. You may also use the keyboard with direct press of the touchscreen. On-screen CANCEL button or short press BACK will cancel the operation. Selecting on-screen ENTER button will save the sequence set with the name displayed at top of screen.
+
The Arranger is a view that allows the manipulation of sequences used by pads. This is where ZynSeq expands beyond a straightforward clip launcher (e.g. Ableton session view). To remind again: Each pad triggers a sequence which may contain one or more tracks. Each track may contain one or more patterns. <blockquote>
 +
''By default each sequence contains a single track with a single pattern (such as a bass line or drum rhythm) but it is possible to create more complex arrangements by adding more patterns to tracks (e.g. intro bass, verse bass) and more tracks to sequences (lead, drums, bass).''
 +
</blockquote>
  
A previously saved sequence set may be loaded by selecting "Load" from any context menu. A list of sequence sets is displayed. Highlight the required name using the ENTER encoder then short press ENTER to load the highligted sequence set. Alternatively press the touchscreen to select the set to load. A sequence set may be deleted by bold press ENTER. A confirmation message is displayed.
+
Said another way: each pad could for example contain a lead, bass and drum track. Now this pad is launching three tracks instead of one. Each track could contain an intro, verse and chorus patterns which will play in the ''arrangement'' you choose. This is just one way to configure a pad with Arranger, [[#Example Workflows | see Example Workflows]] for more.
 +
====Accessing Arranger View and Understanding The Layout====
 +
The Arranger is accessed from the menu. Bold press SELECT in ZynPad will also open arranger if the sequence is already configured with more than one track or pattern or the first pattern is not at start of sequence.
 +
Arranger shows each track as a row with its patterns shown as black boxes (with their pattern number in white) on a time line. Tracks are grouped within their sequence. This should be familiar to users of Digital Audio Workstations (DAW). The left hand column shows the sequence and track titles. This includes:
  
Sequence sets are also saved with snapshots.
+
* Sequence name, e.g. A1
 +
* Track number, e.g. 1
 +
* Name of the instrument currently assigned to the MIDI channel, e.g. Piano
  
= External Trigger =
+
The background colour of the title matches the group.
  
It is possible to trigger a sequence from a MIDI controller, e.g. a MIDI keyboard connected to the Zynthian. Zynseq listens for triggers on a single MIDI channel, i.e. only one MIDI channel may be used to trigger ZynSeq sequences. Select "Trigger channel" from Pad Editor context menu to change the MIDI channel ZynSeq listens for triggers. This may be None or channel 1-16.
+
====Navigating Arranger View====
  
Each sequence may be triggered by a MIDI note. Select "Trigger" from Pad Editor context menu to adjust the MIDI note that will trigger the highlighted sequence. By default sequences are assigned trigger notes sequentially from C4 (MIDI note 60). To disable a sequence from being triggered set its trigger value to None which is above G9, i.e. increase to maximum value. The trigger note is shown in brackets after the sequence name on the left of the Pad Editor, e.g. A1 (2, C4) indicates sequence 1 is triggered by note C4.
+
The selection cursor may be moved around the grid of patterns by rotating the BACK and SELECT encoders. Information about the currently selected track is shown in the topbar, e.g. ''Scene 1 A2-1 (3)'' shows that track 1 in sequence 2 of scene 1 is in group A and sends to MIDI channel 3. Each horizontal division represents a beat. Moving the cursor beyond the edge of the screen will scroll to show more of the scene.
  
= Tallies =
+
Patterns may be added to or removed from the grid by short pressing the SELECT encoder or by tapping the touchscreen. Press and drag allows more accurate positioning of a pattern. Patterns may also be moved (only with touchscreen) by click and drag action. (A pattern may not be moved to overlap an existing pattern.)
  
ZynSeq has the ability to send MIDI note on / off messages to represent the current play status of each sequence. This may be used by an external pad controller like Novation's Launchpad to indicate the status of a sequence. The note number sent is the same as the external trigger configured for a sequence. The MIDI channel that all tallies are sent to may be configured by selecting "Tally channel" from Pad Editor context menu. This may be None or channel 1-16.
+
The pattern to be added is indicated by a number in the bottom left of the display. This may be changed by rotating the LAYER encoder. (Note: This differs from ZynPad where LAYER encoder changes the scene.) Tapping the bottom left number on a touchscreen will allow selection of the pattern.
  
= Complex Sequences =
+
Horizontal scrolling will move the cursor one beat unless it meets a pattern in which case it will jump to the next available space in the timeline. If the selected pattern is too long to fit the space then it will continue to skip forward until it finds available space.
  
A sequence may have any quantity of patterns either sequentially or separated by time. Patterns may not overlap within a sequence, i.e. a pattern's start must be at or later than the preceeding pattern's end. To add patterns to a sequence, within Pad Editor:
+
The view may be zoomed horizontally and vertically using options in the menu. The zoom level indicates the quantity of rows or columns displayed, i.e. setting vertical zoom to 8 will show 8 rows (tracks) whilst setting horizontal zoom to 64 will show 64 beats.
  
* Select the required pattern
+
====Adding Tracks and Adjusting Sequences====
* Move the cursor to the sequence and time at which to add the pattern
 
* Short press ENTER
 
  
The cursor will show the duration of the pattern to be added. The cursor moves to the next time division unless the pattern will not fit within the gap in which case the cursor will jump to the start of the next pattern (even if the new pattern is longer than the next highligted pattern, to allow removal of patterns).
+
New tracks may be added to each sequence by highlighting a sequence track then using menu option ''Add track''. This adds an empty track directly below the selected track, inserting between tracks if necessary. Tracks may be removed by highlighting the track then using the menu option ''Remove track''. Tracks may be selected (without adding a pattern) by tapping the track title on a touchscreen or by rotating the BACK encoder.
  
Encoders have been assigned to optimise this workflow:
+
A track's MIDI channel may be set by highlighting the track then selecting ''MIDI channel'' from the menu. The instrument name is also shown during channel selection.
Move cursor to sequence with BACK encoder
 
Move cursor to time with ENTER encoder
 
Add / remove patterns with short press ENTER
 
Select pattern with LAYER encoder
 
  
= Adding Notes With MIDI Controller =
+
The quantity of sequences in the scene may be adjusted using the ''Grid size'' menu option. This allows selection of 1, 4, 9, 16, 25, 36, 49 or 64 sequences but does not change the MIDI channel of any tracks or group of any sequences. This may be undesirable if you use ZynPad as a column based performance tool in which case it may be more appropriate to change grid size from ZynPad menu.
  
It is possible to use a MIDI controller to add notes to a pattern, e.g. MIDI keyboard connected to Zynthian. Select "Input channel" from Pattern Editor context menu to adjust the MIDI channel that ZynSeq listens for input. When the Pattern Editor is shown, any note sent on this channel will add a note to the pattern at the current playhead cursor position with the current note duration and if the pattern is not being played, move the playhead to the next step. To add longer notes (in multiples of the current note duration) press the hold pedal whilst adding notes. It is possible to assign a note that acts as a rest, i.e. will not add a note to the sequence and skip to the next step. Select "Rest note" from pattern editor context menu to select which note will act as a rest. None may be selected by rotating ENTER encoder to the end of the range, i.e. below C-1 or above G9.
+
The group, play mode and trigger note of each sequence can be adjusted from the menu.
  
= Time Signature =
+
A sequence may be cleared, resetting to a single track with no patterns using the ''Clear sequence'' menu option.
  
TODO: Time signature is defined by song editor which is not yet enabled.
+
The displayed scene may be changed from the menu and a scene can be cleared, resetting to 4 x 4 grid using the ''Clear scene'' menu option.
  
A pattern has three parameters that affect playback speed: Beats in pattern, Steps per beat & Beat type. These can each be changed from the Pattern Editor context menu.
+
====Mute and Play Mode Options====
  
Beat type defines the duration of each beat and corresponds to the denominator of a time signature. A value of 1 means the beat is a semibreve / whole note. 2 means minim / half note. 4 is a crotchet / quarter note, etc. This is not graphically obvious in the Pattern Editor because it does not change the steps in the pattern and all steps are shown. Beat type changes the duration and hence larger values result in smaller steps and faster playback of the pattern. This is obvious in the Pad Editor where the size of the pattern will change, growing for lower values of beat type.
+
Each track may be muted by highligting the track then bold SNAPSHOT or using ''Mute track'' menu option. The patterns within the track turn grey and will not play when the sequence is playing.
  
Beats in pattern defines the quantity of beats the pattern spans. Each beat is represented by a vertical white line on the note grid. As the beats in pattern change these lines move accordingly. The higher the value of beats in pattern, the longer the pattern.
+
A sequence play state may be toggled with short press SNAPSHOT. A vertical playhead line will show the current play position within each playing sequence. The screen will horizontal scroll as required to follow the currently highlighted track. Selection cursor will also move to remain in view.
  
Steps per beat defines the quantisation level of the pattern. The higher the value the more steps in each beat and hence in the whole pattern. This parameter does not affect duration of pattern but existing patterns will expand or shrink which will affect its playback speed. The values are restricted to 1, 2, 3, 4, 6, 8, 12, 24. This allows for a variety of common subdivision of note lengths, e.g. quavers / sixteenth notes, triplets, double speed triplets, etc. (This constraint is technical but also aligns with common musical requirements.)
+
By setting a sequence play mode to Oneshot and adding several tracks one may use the sequencer like a traditional, song-based MIDI step sequencer, similar to a DAW.
  
It may take some practice to master these parameters. Remember that steps per beat adjusts the quantisation level whilst beat type and beats in pattern adjusts pattern length.
+
<br clear=all>
  
= Metronome =
+
= Time Signature =
  
TODO
+
Zynthian allows the beats per bar to be configured but not the beat type. All beats are assumed to be quarter notes and the default beats per bar is 4, hence a 4/4 time signature. The beats per bar may be adjusted from a menu option and can be set to any value between 1 and 64. The most significant behaviour that beats per bar influences is the sync point. The sync point is the point at which a sequence starts, loops or stops and is synonymous with start of bar hence the beats per bar defines the quantity of beats between sync points which in turn defines the rate at which sequences will loop.
  
= Drum Maps and Scales =
+
The current value of beats per bar is saved with the snapshot and restored when a snapshot is loaded. The beats per bar may also be varied during sequence playback and will be added to a sequence within the arranger. This functionality is currently disabled.
  
By default the Pattern Editor shows a piano keyboard on the left side to represent the chromatic scale of notes for each row of the note grid. The scale may be changed by selecting "Scale" from the Pattern Editor's context menu. Scales include; Chromatic, Major, Minor, Blues & Blues pentonic. (Other scales may be added.) Changing the scale from Chromatic will hide notes in the note grid and all keys on the keyboard change to white, i.e. no blank keys are shown. Notes are hidden but not removed from the pattern which may result in notes not being visible. If a percussion preset or engine is selected for the current MIDI channel then an appropriate drum map is available in the list of scales.
+
= Metronome =
  
Select "Tonic" from the Pattern Editor context menu to change the base note of the scale, e.g. A, A#, B, C, etc.
+
There is no metronome currently available in ZynSeq but you can create a click pattern in a sequence then start it looping then edit other patterns.
  
 
= Pattern Management =
 
= Pattern Management =
 +
[[File:Sequencer pattern editor menu1.png|right|400px]]
 +
Patterns are identified by their number. There may be a maximum of 999 patterns in each snapshot. Each pattern may be used as many times as required in as many tracks and sequences as required.
  
A pattern may be cleared, copied or transposed by selecting the corresponding entry it the pattern manager context menu.
+
A pattern may be cleared, copied or transposed by selecting the corresponding entry it the pattern manager menu:
  
Clearing a pattern will remove all notes in the pattern after requesting confirmation.
+
* Clearing a pattern will remove all notes in the pattern after requesting confirmation.
 +
*
 +
* Copying a pattern will copy all the notes and parameters of a pattern, overwriting the destination pattern after requesting confirmation. Remember that the pattern being overwriten may be used in various sequences.
 +
*
 +
* Transposing a pattern moves all notes up or down a semitone at a time. Transpose is constrained to the MIDI range C-1 to G9. If any note in the pattern would be beyond this range then further transposing is prohibited. Transposing is only available when chromatic scale is used, i.e. drum maps cannot be transposed.
  
Copying a pattern will copy all the notes and parameters of a pattern, overwritting the destination pattern after requesting confirmation.
+
New patterns are created on demand, e.g. if a new sequence is added in ZynPad it will be assigned a single track with a single pattern. The pattern will be the first unused, empty pattern available. This means that even if a pattern is removed from tracks, e.g. because a track or sequence is removed the pattern will remain available to select and reuse.
  
Transposing a pattern moves all notes up or down a semitone at a time. Transpose is constrained to the MIDI range C-1 to G9. If any note in the pattern would be beyond this range then further transposing is prohibited. Transposing is only available when chromatic scale is used, i.e. drum maps cannot be transposed. An attept to transpose when a non-chromatic scale is being used will change the view to chromatic scale.
+
Only populated patterns are saved to snapshots. This may mean that a pattern that has its ''Step per beat'' and ''Beats in pattern'' configured but contains no notes will be treated as empty and disgarded.
  
= Import MIDI Files =
+
= Import / Export MIDI Files =
  
There are some excellent percussion patterns available in MIDI File Format. Zynthian offers the ability to import such files into ZynSeq patterns. A MIDI file may be imported to one or more patterns. Some automation is involved in resolving pattern parameters, e.g. if the MIDI file contains events that would span more than one pattern, consecutive patterns are overwritten with the imported events.
+
The MIDI Association defines a specification for storing MIDI events within a file. This is called Standard MIDI Files (SMF) Specification. ZynSeq provides methods to exchange patterns and sequences using SMF.
  
* Copy a MIDI File Format file to a USB drive
+
== Export ==
* Insert the USB drive into Zynthian USB socket
+
A pattern may be exported as a standard MIDI file. The tempo and all the notes within the pattern on its current channel will be exported to a file in Zynthian's capture location which may be accessed via webconf. The filename will consist of the pattern number and a date / time stamp of when the export occured, e.g. ''pattern2_2021-02-18 15:15:19.335558.mid''.
* Select a pattern to import into
 
* Set the beat type, beats per bar and steps per beat for the pattern using Pattern Editor context menu
 
* Select "Import" from the Pattern Editor context menu
 
* A list of MIDI files on USB drive is shown
 
* Use ENTER encoder to highlight the desired file then short press ENTER to import or use touchscreen to select the desired file
 
* MIDI note events are imported into the current and subsequent patterns, overwritting any existing patterns
 
* Events will be quantised to match the pattern configuration
 
  
To reconstruct the performance, add each pattern to a sequence.
+
== Import ==
 +
There are some excellent percussion patterns available in MIDI File Format. Zynthian offers the ability to import such files into ZynSeq sequences. Upload a standard MIDI file using webconf Library->Capture. Within Arranger highlight the sequence into which you wish to import the SMF. Select menu option ''Import SMF'' which will show a file selector looking at Zynthian's capture location. Select the required file. Each MIDI channel within the SMF will create a track in the sequence. Each track will be populated with notes from the SMF. Program changes will be added to each track. Tempo changes will be added to the sequence's timebase track. New patterns will be created as required, starting at the next available pattern above the highest populated pattern, e.g. if you have already populated patterns 1,5 & 12 then import will start populating patterns from 13, using as many patterns as required by the import. Patterns will have an appropriate quantisation level (steps per beat) to accommodate the the rhythm.
  
 
= Timebase =
 
= Timebase =
  
ZynSeq uses JACK timebase for its timing. Transport control and adjustment of tempo may be made by external JACK clients. Those clients may also use the same timebase. This means that ZynSeq can synchronise with other modules within Zynthian, e.g. synth engine LFO, arpegiators, etc. It also means that other modules may control ZynSeq playback to some degree. ZynSeq acts as the timebase master, i.e. the concept of bars, beats and ticks (fractions of beats) and consequently tempo (BPM) is provided by ZynSeq. There is currently no mechanism to lock to external MIDI clock but a Zynthian MIDI effects layer may be used to create MIDI clock output. There is a plan to improve this support in a future update.
+
ZynSeq uses JACK timebase for its timing. Transport control and adjustment of tempo may be made by external JACK clients. Those clients may also use the same timebase. This means that ZynSeq can synchronise with other modules within Zynthian, e.g. synth engine LFO, arpeggiators, etc. It also means that other modules may control ZynSeq playback to some degree. ZynSeq acts as the ''timebase master'', i.e. the concept of bars, beats and ticks (fractions of beats) and consequently tempo (BPM) is provided by ZynSeq. There is currently no mechanism to lock to external MIDI clock but a Zynthian MIDI effects layer may be used to create MIDI clock output. There is a plan to improve this support in a future update.
  
 
Note that if a module alters the transport, e.g. stops it then ZynSeq may have unexpected behaviour. Check what engines are doing if you experience timing or playback issues.
 
Note that if a module alters the transport, e.g. stops it then ZynSeq may have unexpected behaviour. Check what engines are doing if you experience timing or playback issues.
 +
 +
Each sequence has a timebase track which may have tempo and time signature (beats per bar) events. These will influence all playback. The ability to manipulate sequence timebase events is not yet implemented.
 +
 +
= User Interface Settings for Touchscreen/Headless Setups =
 +
 +
[[File:sequencer_onscreen_buttons.png|right|400px]]
 +
[[File:sequencer_onscreen_button1.png|right|400px]]
 +
Zynthian contains a setting to show onscreen buttons. With this setting turned on, Zynthian will show the onscreen buttons after selecting certain menu items. This allows adjustments of parameters using the touchscreen interface. This is useful especially for users running Zynthian with only a touchscreen and/or VNC connection.
 +
 +
The option is available in the Zynthian web configuration (webconf) from the Interface -> UI Options menu as shown in the image.
 +
 +
[[File:Zynthian - enable onscreen buttons webconf.jpg|none|200px]]
 +
 +
The images on the right show the onscreen buttons (along the bottom) and parameter adjustment (top left of the screen) after selecting a menu option. Use the numbers to change the parameter as required and tap OK to accept the change. These two examples show the buttons are available to adjust the MIDI channel of the first pad in ZynPad view and for setting the number of beats in the bar in the pattern editor.
 +
 +
====Controlling the Interface With a Qwerty Keyboard or MIDI Device with CUIA: Callable UI Actions====
 +
 +
Zynthian can be controlled with either a USB keyboard or MIDI controller, a list of controls can be found [[Zynthian_UI_Users_Guide#CUIA: Callable UI Actions | here]].
 +
 +
<br clear=all>
 +
 +
= Example Workflows =
 +
 +
ZynSeq is a flexible and powerful performance tool which can be used in various ways. This single module provides many workflows that have traditionally been provided by different devices. Here are some workflows that can be facilitated by ZynSeq.
 +
 +
== Live looping pads ==
 +
 +
By default ZynPad is configured to provide columns of grouped sequences. This allows patterns to be looped with each column acting like one instrument, stopping previously playing sequences when they start. The parallel lanes gives simultaneous control over several instruments.
 +
 +
Sequences may be configured to stay synchronised with shorter phrases pausing and starting again at start of bar or polymeters may be implemented with shorter patterns driftting across longer ones.
 +
 +
== Oneshot phrases ==
 +
 +
Not all genres or scenarios require looped sequences. You can configure sequences to be oneshot and fire them off as required during performance. This may provide short phrases that are part of a song, e.g. complex arrangements or simply phrases that need to play in parallel. (You only have so many hands!) This may also be used to trigger sequences of sound effect for dramatic performances, e.g. triggering a sample player to play a window smash followed by a scream and the sound of rain.
 +
 +
== Linear song ==
 +
 +
An old school sequencer or drum machine as well as current DAWs have the concept of a song that plays several tracks simultaneously from start to end. By adding several tracks to a sequence and setting the sequence play mode to ''Oneshot'' this workflow can be used. The ''song'' may be started by tapping the relevant pad in ZynPad. Several songs can be created, one sequence per song and triggered as required from ZynPad. Songs can be daisy-chained with one song starting when the previous song ends by using the same group for each sequence.
 +
 +
== Combined Linear Song and looping pads ==
 +
 +
The previous workflows may be combined, e.g. by placing the song on a pad that is used to start the linear song then having loops and oneshots on other pads (in other groups) that may be played live alongside the linear song.
 +
 +
== Synchronisation ==
 +
 +
You may wish to use one sequence as a click track by having a simple percusion sound looping. You could use a similar track in oneshot mode as the count-in for a song, pressing pads for the first bars of the song whilst the count-in playing or maybe use a silent sequence for the same purpose to allow manual synchronisation of several sequences at the start of a performance.

Latest revision as of 18:22, 2 October 2024

1 ZynSeq - The Zynthian Sequencer

This guide explains how to access and use the Zynthian's step sequencer called, ZynSeq. Before following the guide, add 2 synth engines to layers using MIDI channels 1 & 2 respectively. We will use these to demonstrate ZynSeq.

2 Accessing ZynSeq

Main menu1.png
Sequencer pad view 2 inst.png

Access the sequencer as described in Zynthian UI User's Guide. The first time you access the sequencer you will see a 4 x 4 grid of rectangles organised as 4 columns of colours. This view is called ZynPad and provides a live performance interface to ZynSeq. Each rectangle represents a pad which may be used to play a sequence. This operation is similar to clip launchers in many DAWs (e.g. Ableton) and on hardware devices (Akai APC and Novation Launchpad devices). Use of ZynPad is described later but first there are some terms that will help understand the structure of ZynSeq.

Event
An event represents a MIDI command, e.g. Note-on. It may have parameters such as velocity, duration, etc.

Pattern
A pattern contiains zero or more events. Each pattern has a duration in steps and may include as many simultaneous (polyphonic) notes as desired on each step. We will see how patterns are manipulated in the Pattern Editor section

Track
A track contains zero or more patterns which may be played and looped. Each track plays out to its own MIDI channel. We will see how sequences and tracks are manipulated in the Arranger section.

Sequence
A sequence contains one or more tracks which play in unison. By default each sequence has a single track.

Group
A sequence is a member of a group (indicated by its pad colour). Several sequences may be played simultaneously but those in the same group cannot play concurrently.

2.1 Pad Layout

Each pad displays information split into an upper and lower part. The upper part shows the current loop setting (loop all - see Sequence Modes), the midi channel of the first track and the sequence identifier (A1). Currently the track uses midi channel 1 which is assigned the 'Poly Dreams' preset from the OB-xD instrument. The preset is used as the default name (it can be renamed) and shown in the lower part of the pad. This pad is currently empty. When the pad has content, a stop button icon will appear in the top right corner. When the pad has no sequence or is disabled, it displays dark grey.

So a pad is in a group and triggers a sequence which is a collection of tracks. A track is a collection of patterns. A pattern is a collection of MIDI events. Now we need to add some sequences to play. Let's create...

3 Pattern Editor

Zynseq patterneditor.png
Zynseq patterneditor playing.png
Sequencer pattern editor menu.png

By default each pad triggers a sequence containing a single pattern. Bold SELECT a pad to show its Pattern Editor.

3.1 Step sequences and the Step Grid

There is a grid on the right called the Step Grid. On the left is a representation of a piano keyboard, scale or drum map. Each row represents a note and each column in the step grid represents a step in the sequence.

By default, step sequences are a quantised collection of events, i.e. each event occurs at a discrete time and the available discrete times are equally and evenly distributed across the pattern. This means the difference in time between step 1 and step 2 occurring is the same as the difference in time between step 2 and step 3 occurring. It is possible to record or move events off this quantised grid which will be described later.

3.2 Navigating the Pattern Editor and Entering Notes

One of the cells in the step grid has a coloured outline. This is the cursor and identifies which cell is currently highlighted. Rotate encoder 3 to move the cursor up and down (between notes) and encoder 4 to move the cursor left and right (between steps). To add a note, short SELECT a cell in the grid. A note may be removed in the same way. On a touchscreen, press and drag to allow more accurate positioning. As a note is added it is also sounded (MIDI sent to engine). The grid may be zoomed (simultaneous horizontal and vertial) with encoder 2 or pinch on a touchscreen. The grid will scroll when the cursor reaches an edge or with two finger drag on a touchscreen. Touching a key on the keyboard plays that note briefly. This is a useful tool for auditioning notes or phrases before adding them to the step grid.

3.3 Preview, Pattern Duration and Resolution

To preview a pattern, start or pause the transport by pressing the play button, learn/shot encoder or tapping the status area. A coloured bar at the bottom of the view will move left to right to indicate the position of the playhead and any notes entered in the pattern will be sent to the zynthian's engines. To stop and recue to the start of the pattern, bold press. Playback speed (Tempo) can be adjusted with the encoder 1 or by selecting "Tempo" from the menu.

The MIDI channel used by the Pattern Editor will be chosen from the sequence / track from which it is launched, e.g. if you selected the first pad (without changing default settings) it should play on MIDI channel 1.

There are vertical white lines indicating the beats. The quantity of beats in the pattern may be adjusted from the menu as well as the quantity of steps in each beat. This allows the duration and quantisation level of the pattern to be adjusted. Changing the beats in pattern will change the pattern duration. Changing the steps per beat will change the pattern resolution.

Add some notes to form a melody and preview with the play function. Navigate BACK to return to ZynPad.

4 Note Parameters

Zynseq patterneditor notevelocity.png

Each note may be adjusted to have different duration, velocity, etc. To adjust a note's parameters, bold SELECT to show the parameter editor. Use encoder 4 (or onscreen buttons if enabled) to select the parameter to adjust. The options are:

  • Duration: Quantity of steps at 0.1 resolution. Duration of each note is shown by the length of the event in the grid.
  • Velocity: MIDI velocity 0..127. Current velocity is shown by yellow line at bottom left of screen and the opacity of each note. The brighter the cell, the louder the note.
  • Offset: Note position from start of step 0..100%. Position of each note is shown in the grid.
  • Stutter count: Quantity of stutter repeats.
  • Stutter duration: Length of stutter in ticks.
  • Play chance: Percentage likelihood that the note will trigger.

Use encoder 3 to coarse adjust the selected parameter and encoder 2 to fine adjust. Bold SELECT to adjust all notes in the pattern. Navigate BACK to close the parameter editor.

5 Scales and Drum Maps

Zynseq drum map.png

Pattern Editor shows a piano keyboard at its left hand edge to assist with note entry. This is commonly called a piano roll referring to the punched paper rolls that were used to play automatic pianos. Selecting Scale from the menu allows this to be changed to show just the notes of particular scales. Scales include:

  • Chromatic (piano keyboard)
  • Major
  • Minor
  • Blues
  • Blues pentatonic

Changing the scale from Chromatic will hide notes in the note grid and all keys on the keyboard change to white, i.e. no black keys are shown. Notes are hidden but not removed from the pattern which may result in notes not being visible. If a percussion preset or engine is selected for the current MIDI channel then an appropriate drum map is also available in the list of scales and selected by default. The name of the percussion instrument is shown on each key, e.g. Snare Drum.

Selecting Tonic from the menu allows changing the key of the scale: C, C#, D, etc.

6 Adding Notes With External MIDI Controller

It is possible to use a MIDI controller to add notes to a pattern, e.g. MIDI keyboard connected to Zynthian. Select "Input channel" from Pattern Editor menu to adjust the MIDI channel that ZynSeq listens for input. When the Pattern Editor is shown, any note sent on this channel will add a note to the pattern at the current playhead cursor position with the a duration of one step and if the pattern is not being played, move the playhead to the next step. This table summarises how to input notes with a controller:

Input Type Description
Add a single note Press the keyboard (midi controller) note once.
Add longer notes Press the sustain pedal whilst adding notes. Each press of a note whilst the sustain pedal is pressed will extend the note by one step. E.g. at default settings, press 4 times to create a quarter note. Release sustain pedal to start a new note.
Add chords Same as adding longer notes, the playhead does not advance until the sustain pedal is released so chords may also be added whilst the sustain pedal is pressed. Release sustain pedal to start a new chord.
Advance the playhead The playhead may be advanced without adding any note by pressing and releasing the sustain pedal.
Add (assign) a rest note It is also possible to assign a note that acts as a rest, i.e. will not add a note to the sequence and skip to the next step. Select "Rest note" from pattern editor menu to select which note will act as a rest. None may be selected by rotating SELECT encoder to the end of the range, i.e. below C-1 or above G9.

Loop Mode and Overdub

It is also possible to play live whist the pattern is playing in loop mode. Short press SNAPSHOT encoder to start loop playback then use MIDI controller to overdub the pattern. The same logic applies so playing a note that already exists will remove it.

7 Playing a sequence

Sequencer pad view 2 inst1 playing.png
Sequencer pad view 2 inst1 stopping.png

ZynPad is the performance view. It shows each sequence as a pad. The pad has a colour representing its group and (by default) a number identifying its sequence number. (This label can be changed by selecting the menu option: "Rename sequence".) Each pad triggers a different sequence. By default there are 16 sequences, 1-16.

Navigation and Playback Functions

Each pad has an icon indicating its play mode. The default mode is Loop All. This means the pad will play the whole sequence then wait unit the next sync point / bar before starting again.

Similar to how we navigate the cursor in the Pattern Editor we can move the cursor in ZynPad with the BACK and SELECT encoders. Move the cursor to the top left to highlight pad 1 (it is probably already there) then short press SELECT encoder to start playback of sequence 1. This can also be achieved with a touchscreen by simply tapping pad 1.

Playback of the pattern you created should start to loop. During playback a green right-pointing arrow shows on the pad.

Tempo may be adjusted using the SNAPSHOT encoder or by selecting "Tempo" from the menu.

Short press SELECT or tap the pad with the touchscreen to stop the sequence playing.

The playback indication icon changes to red to indicate it is stopping and then disappears to indicate it has stopped. Most play modes will continue to play the sequence until the next sync point. A sync point may be thought of as the start or end of a bar, indeed their spacing is set using the menu option Beats per bar.

Most play modes will wait until the next sync point before starting. If you start a sequence part way though a bar then it will show an orange starting icon indicating it is waiting to start and will start at the end of this bar. This may also occur if a sequence length results in it stopping mid-bar in which case it may wait in starting state until the next bar. See section on Play Modes.


8 Multiple Sequences

Sequencer pad view 2 inst2.png

So far we have edited a single pattern in one pad's sequence. Let's add patterns to other pads. By default ZynSeq has 16 pads (sequences) each with a single track with its own pattern. Use BACK and SELECT encoders to select pad 2 and bold press SELECT to show its Pattern Editor. Add a new melody to the pattern then short press BACK or touch topbar to return to ZynPad.

Start pad 1: see its play icon show green and hear its sequence loop.

Start pad 2. Pad 2 shows an orange starting icon but does not start to play yet. Pad 1's icon changes to red and continues to play. The red icon indicates sequence is playing but will soon stop. Pad 2 icon changes to green and starts playing as pad 1 stops. The behaviour occurs because these pads are in the same group (see below).

9 Groups

Sequencer pad view 2 queueing.png
Sequencer pad view 2 playing.png

Each sequence belongs to a mutually exclusive group. This means that only one sequence within the same group may play concurrently. Sequences from other groups may play simultaneously. The group is indicated by the colour of the pad. There are up to 26 groups, A-Z.

By default sequences are arranged in columns of groups with the first column being in group A, second column in group B, etc. and the last column being in group J. (This is because the default configuration also allocates MIDI channels 1, 2, etc. and 10 for last column which is traditionally used for percussion.) ZynPad tries to keep things simple with each sequence containing a single track and a single pattern. We will see later how this can be changed with the Arranger view. Following this simple workflow, a sequence's MIDI channel may be set from the menu option MIDI channel. This also sets the sequence's group. There are 16 colours used to indicate groups so that each MIDI channel may have a different colour.

If you start sequence 1 then start sequence 5 you will see that pad 5 shows orange starting icon then green playing icon when the next sync point is reached whilst pad 1 continues to play.

This is a powerful performance feature of ZynPad. You can assign any quantity of sequences to any group, providing groups of mutually exclusive (only one can play at a time) sequences. Sequences from different groups can play simultaneously but sequences from the same group will play sequentially.

A Sync point is a location within playback at which sequences will loop and / or group sequential play will change to another sequence. Sync points are synonymous with bars in traditional music notation. See section on time signature.

Remember, sequences are indexed by number, 1, 2, 3, etc. and Groups by letter, A, B, C, etc. By default pad labels show the sequence number but can be renamed (see below).


10 Grid Size

Sequencer pad view grid 8x8.png

By default ZynPad shows a 4 x 4 grid of 16 pads. The grid is always square, i.e. has the same quantity of columns as rows. The quantity of pads may be adjusted by selecting "Grid size" from the ZynPad menu. The maximum quantity of pads is 64 (8 x 8).

Sequences are added or removed when the grid size is selected. Any patterns are not lost but may need to be re-selected with the Arranger view (see later) when the grid size is decreased.

When the grid size is changed in ZynPad existing sequences remain in the same position. This may result in duplicate (default) names (see picture).


11 Sequence Modes

So far we have used the default mode for sequences which will loop the sequence until requested to stop at which point it will continue to play until the next sync point. There are many modes available which each offer features for different workflows / requirements. To change mode, select Play mode from the ZynPad's menu. This will allow change of mode of the highlighted sequence. The mode is indicated by an icon.

Sequence play modes
Icon Mode Description
Disabled
Disabled.png
Sequence is disabled and cannot be played
One-shot
Oneshot new.png
Sequence will play once, i.e. not loop. When stopped sequence will stop immediately (this is the only mode that will stop immediately)
Loop
Loop new.png
Sequence will loop immediately at end of sequence. When stopped sequence will play until end of loop
One-shot all
Oneshot all new.png
Sequence will play once, i.e. not loop. When stopped sequence will continue to play until end of sequence
Loop all
Loop all new.png
Sequence will loop at end of sequence. If sequence ends before sync point it will pause and restart at next sync point (end of bar). When stopped sequence will continue to play until end of sequence. This is the default mode.
One-shot sync
Oneshot sync new.png
Sequence will play once, i.e. not loop. When stopped sequence will continue to play until next sync point (end of bar)
Loop sync
Loop sync new.png
Sequence will loop at sync point. If sequence is shorter than a bar it will pause until next sync point before restarting. When stopped sequence will continue to play until next sync point (end of bar)

All of these modes affect how sequences stop. There are currently no modes that affect how a sequence starts. If JACK transport is not running then the first sequence to be started will start immediately (and also start JACK transport). If any sequences are playing or JACK transport is rolling (e.g. because MIDI player is running) then sequences will start at the next sync point.

12 Sequence Names

Osk.png

By default each new sequence is allocated one pattern. Each pattern is identified by its index number and the sequence name is set to the value of the pattern's index. It is possible to rename each sequence. Use the menu to select Rename sequence. This shows a keyboard with the current sequence name selected. Use the BACK and SELECT encoders to navigate the cursor and short press SELECT to add the highlighted character to the name. Selecting Shift will allow the next character to be uppercase. Selecting Shift' again will lock the keyboard allowing all subsequent characters to be uppercase. Select Shift again to release shift-lock. Select Delete to remove the last character. Bold press Delete to clear the name.

Select Enter to assert the new name or Cancel to revert to the previous name.

The touchscreen may be used to select buttons on the onscreen keyboard.

13 Tempo

Tempo is the rate at which the sequencer plays back notes measured in beats per minutes (BPM). By default ZynSeq plays sequences at 120 BPM. Adjust Tempo with the SNAPSHOT encoder. The tempo is briefly displayed in the title bar. There is also a menu option to adjust tempo.

The current tempo is saved and loaded with each snapshot.

ZynSeq allows tempo to be adjusted from 1.0 BPM to 420.0 BPM in 0.1 BPM steps. Tempo may also be altered by external modules, e.g. MIDI player.

14 MIDI channels

Each sequence may have one or more tracks and each track may be assigned to any of the 16 MIDI channels. By default each sequence has a single track. The ZynPad menu allows setting of the MIDI channel of the first track of the highlighted sequence. (This also sets the sequence's group.) If there is a chain associated with the MIDI channel then the name of the currently selected preset of the chain is displayed in the topbar as MIDI channel is selected.

See Arranger section for detail of setting MIDI channels for multi-track sequences.

15 Scenes

There are many scenes of grids. Each scene contains a set of sequences. Different scenes may have different quantity of sequences. Sequence 1 in scene 1 is different to sequence 1 in scene 2. Up to 64 scenes may be configured. Scenes may be selected from ZynPad using the LAYER encoder or by selecting Scene in the menu.

A scene may be considered a view or page of sequences / pads and allows more than 64 sequences to be configured, e.g. 2 pages of 8 x 8 grids provides 128 sequences.

Scenes may be cleared and reset to default 4 x 4 grid from the Arranger menu.

If any sequences are playing when changing scene, they continue to play.

16 Save / Load / Snapshot

Patterns, sequences and scenes are saved within the snapshot and restored when a snapshot is loaded. There is also a method of exporting to and importing from standard MIDI file. See section on Import / Export MIDI Files

17 External Trigger

It is possible to trigger a sequence from a MIDI controller, e.g. a MIDI keyboard connected to the Zynthian.

To set the channel that ZynSeq listens for triggers, select Trigger channel from the menu.

Each sequence may be triggered by a MIDI note. Select "Trigger note" from the menu to adjust the MIDI note that will trigger the highlighted pad. Note may be selected with the SELECT encoder or by playing a note on an external controller on the MIDI trigger channel. By default triggers are disabled. To disable a sequence from being triggered set its trigger value to None which is below C-1 or above G9, i.e. increase to maximum value.

ZynSeq will send MIDI note on messages to represent the current play status of each sequence with play state represented by MIDI note velocity. This may be used by an external pad controller like Novation's Launchpad, Akai APC, etc. to indicate the status of a sequence. The note number sent is the same as the external trigger configured for a sequence. Tallies are sent on the same MIDI channel as configured to receive triggers. Currently only the following tallies are configured which will work with Akai APC:

Feedback tallies
State MIDI velocity
Stopped 3
Starting 5
Playing 1
Stopping 4

It is not currently possible to change this configuration and tallies will always be sent if trigger is configured.

18 Arranger

Arranger showing default
Arranger.png

The Arranger is a view that allows the manipulation of sequences used by pads. This is where ZynSeq expands beyond a straightforward clip launcher (e.g. Ableton session view). To remind again: Each pad triggers a sequence which may contain one or more tracks. Each track may contain one or more patterns.

By default each sequence contains a single track with a single pattern (such as a bass line or drum rhythm) but it is possible to create more complex arrangements by adding more patterns to tracks (e.g. intro bass, verse bass) and more tracks to sequences (lead, drums, bass).

Said another way: each pad could for example contain a lead, bass and drum track. Now this pad is launching three tracks instead of one. Each track could contain an intro, verse and chorus patterns which will play in the arrangement you choose. This is just one way to configure a pad with Arranger, see Example Workflows for more.

18.1 Accessing Arranger View and Understanding The Layout

The Arranger is accessed from the menu. Bold press SELECT in ZynPad will also open arranger if the sequence is already configured with more than one track or pattern or the first pattern is not at start of sequence. Arranger shows each track as a row with its patterns shown as black boxes (with their pattern number in white) on a time line. Tracks are grouped within their sequence. This should be familiar to users of Digital Audio Workstations (DAW). The left hand column shows the sequence and track titles. This includes:

  • Sequence name, e.g. A1
  • Track number, e.g. 1
  • Name of the instrument currently assigned to the MIDI channel, e.g. Piano

The background colour of the title matches the group.

18.2 Navigating Arranger View

The selection cursor may be moved around the grid of patterns by rotating the BACK and SELECT encoders. Information about the currently selected track is shown in the topbar, e.g. Scene 1 A2-1 (3) shows that track 1 in sequence 2 of scene 1 is in group A and sends to MIDI channel 3. Each horizontal division represents a beat. Moving the cursor beyond the edge of the screen will scroll to show more of the scene.

Patterns may be added to or removed from the grid by short pressing the SELECT encoder or by tapping the touchscreen. Press and drag allows more accurate positioning of a pattern. Patterns may also be moved (only with touchscreen) by click and drag action. (A pattern may not be moved to overlap an existing pattern.)

The pattern to be added is indicated by a number in the bottom left of the display. This may be changed by rotating the LAYER encoder. (Note: This differs from ZynPad where LAYER encoder changes the scene.) Tapping the bottom left number on a touchscreen will allow selection of the pattern.

Horizontal scrolling will move the cursor one beat unless it meets a pattern in which case it will jump to the next available space in the timeline. If the selected pattern is too long to fit the space then it will continue to skip forward until it finds available space.

The view may be zoomed horizontally and vertically using options in the menu. The zoom level indicates the quantity of rows or columns displayed, i.e. setting vertical zoom to 8 will show 8 rows (tracks) whilst setting horizontal zoom to 64 will show 64 beats.

18.3 Adding Tracks and Adjusting Sequences

New tracks may be added to each sequence by highlighting a sequence track then using menu option Add track. This adds an empty track directly below the selected track, inserting between tracks if necessary. Tracks may be removed by highlighting the track then using the menu option Remove track. Tracks may be selected (without adding a pattern) by tapping the track title on a touchscreen or by rotating the BACK encoder.

A track's MIDI channel may be set by highlighting the track then selecting MIDI channel from the menu. The instrument name is also shown during channel selection.

The quantity of sequences in the scene may be adjusted using the Grid size menu option. This allows selection of 1, 4, 9, 16, 25, 36, 49 or 64 sequences but does not change the MIDI channel of any tracks or group of any sequences. This may be undesirable if you use ZynPad as a column based performance tool in which case it may be more appropriate to change grid size from ZynPad menu.

The group, play mode and trigger note of each sequence can be adjusted from the menu.

A sequence may be cleared, resetting to a single track with no patterns using the Clear sequence menu option.

The displayed scene may be changed from the menu and a scene can be cleared, resetting to 4 x 4 grid using the Clear scene menu option.

18.4 Mute and Play Mode Options

Each track may be muted by highligting the track then bold SNAPSHOT or using Mute track menu option. The patterns within the track turn grey and will not play when the sequence is playing.

A sequence play state may be toggled with short press SNAPSHOT. A vertical playhead line will show the current play position within each playing sequence. The screen will horizontal scroll as required to follow the currently highlighted track. Selection cursor will also move to remain in view.

By setting a sequence play mode to Oneshot and adding several tracks one may use the sequencer like a traditional, song-based MIDI step sequencer, similar to a DAW.


19 Time Signature

Zynthian allows the beats per bar to be configured but not the beat type. All beats are assumed to be quarter notes and the default beats per bar is 4, hence a 4/4 time signature. The beats per bar may be adjusted from a menu option and can be set to any value between 1 and 64. The most significant behaviour that beats per bar influences is the sync point. The sync point is the point at which a sequence starts, loops or stops and is synonymous with start of bar hence the beats per bar defines the quantity of beats between sync points which in turn defines the rate at which sequences will loop.

The current value of beats per bar is saved with the snapshot and restored when a snapshot is loaded. The beats per bar may also be varied during sequence playback and will be added to a sequence within the arranger. This functionality is currently disabled.

20 Metronome

There is no metronome currently available in ZynSeq but you can create a click pattern in a sequence then start it looping then edit other patterns.

21 Pattern Management

Sequencer pattern editor menu1.png

Patterns are identified by their number. There may be a maximum of 999 patterns in each snapshot. Each pattern may be used as many times as required in as many tracks and sequences as required.

A pattern may be cleared, copied or transposed by selecting the corresponding entry it the pattern manager menu:

  • Clearing a pattern will remove all notes in the pattern after requesting confirmation.
  • Copying a pattern will copy all the notes and parameters of a pattern, overwriting the destination pattern after requesting confirmation. Remember that the pattern being overwriten may be used in various sequences.
  • Transposing a pattern moves all notes up or down a semitone at a time. Transpose is constrained to the MIDI range C-1 to G9. If any note in the pattern would be beyond this range then further transposing is prohibited. Transposing is only available when chromatic scale is used, i.e. drum maps cannot be transposed.

New patterns are created on demand, e.g. if a new sequence is added in ZynPad it will be assigned a single track with a single pattern. The pattern will be the first unused, empty pattern available. This means that even if a pattern is removed from tracks, e.g. because a track or sequence is removed the pattern will remain available to select and reuse.

Only populated patterns are saved to snapshots. This may mean that a pattern that has its Step per beat and Beats in pattern configured but contains no notes will be treated as empty and disgarded.

22 Import / Export MIDI Files

The MIDI Association defines a specification for storing MIDI events within a file. This is called Standard MIDI Files (SMF) Specification. ZynSeq provides methods to exchange patterns and sequences using SMF.

22.1 Export

A pattern may be exported as a standard MIDI file. The tempo and all the notes within the pattern on its current channel will be exported to a file in Zynthian's capture location which may be accessed via webconf. The filename will consist of the pattern number and a date / time stamp of when the export occured, e.g. pattern2_2021-02-18 15:15:19.335558.mid.

22.2 Import

There are some excellent percussion patterns available in MIDI File Format. Zynthian offers the ability to import such files into ZynSeq sequences. Upload a standard MIDI file using webconf Library->Capture. Within Arranger highlight the sequence into which you wish to import the SMF. Select menu option Import SMF which will show a file selector looking at Zynthian's capture location. Select the required file. Each MIDI channel within the SMF will create a track in the sequence. Each track will be populated with notes from the SMF. Program changes will be added to each track. Tempo changes will be added to the sequence's timebase track. New patterns will be created as required, starting at the next available pattern above the highest populated pattern, e.g. if you have already populated patterns 1,5 & 12 then import will start populating patterns from 13, using as many patterns as required by the import. Patterns will have an appropriate quantisation level (steps per beat) to accommodate the the rhythm.

23 Timebase

ZynSeq uses JACK timebase for its timing. Transport control and adjustment of tempo may be made by external JACK clients. Those clients may also use the same timebase. This means that ZynSeq can synchronise with other modules within Zynthian, e.g. synth engine LFO, arpeggiators, etc. It also means that other modules may control ZynSeq playback to some degree. ZynSeq acts as the timebase master, i.e. the concept of bars, beats and ticks (fractions of beats) and consequently tempo (BPM) is provided by ZynSeq. There is currently no mechanism to lock to external MIDI clock but a Zynthian MIDI effects layer may be used to create MIDI clock output. There is a plan to improve this support in a future update.

Note that if a module alters the transport, e.g. stops it then ZynSeq may have unexpected behaviour. Check what engines are doing if you experience timing or playback issues.

Each sequence has a timebase track which may have tempo and time signature (beats per bar) events. These will influence all playback. The ability to manipulate sequence timebase events is not yet implemented.

24 User Interface Settings for Touchscreen/Headless Setups

Sequencer onscreen buttons.png
Sequencer onscreen button1.png

Zynthian contains a setting to show onscreen buttons. With this setting turned on, Zynthian will show the onscreen buttons after selecting certain menu items. This allows adjustments of parameters using the touchscreen interface. This is useful especially for users running Zynthian with only a touchscreen and/or VNC connection.

The option is available in the Zynthian web configuration (webconf) from the Interface -> UI Options menu as shown in the image.

Zynthian - enable onscreen buttons webconf.jpg

The images on the right show the onscreen buttons (along the bottom) and parameter adjustment (top left of the screen) after selecting a menu option. Use the numbers to change the parameter as required and tap OK to accept the change. These two examples show the buttons are available to adjust the MIDI channel of the first pad in ZynPad view and for setting the number of beats in the bar in the pattern editor.

24.1 Controlling the Interface With a Qwerty Keyboard or MIDI Device with CUIA: Callable UI Actions

Zynthian can be controlled with either a USB keyboard or MIDI controller, a list of controls can be found here.


25 Example Workflows

ZynSeq is a flexible and powerful performance tool which can be used in various ways. This single module provides many workflows that have traditionally been provided by different devices. Here are some workflows that can be facilitated by ZynSeq.

25.1 Live looping pads

By default ZynPad is configured to provide columns of grouped sequences. This allows patterns to be looped with each column acting like one instrument, stopping previously playing sequences when they start. The parallel lanes gives simultaneous control over several instruments.

Sequences may be configured to stay synchronised with shorter phrases pausing and starting again at start of bar or polymeters may be implemented with shorter patterns driftting across longer ones.

25.2 Oneshot phrases

Not all genres or scenarios require looped sequences. You can configure sequences to be oneshot and fire them off as required during performance. This may provide short phrases that are part of a song, e.g. complex arrangements or simply phrases that need to play in parallel. (You only have so many hands!) This may also be used to trigger sequences of sound effect for dramatic performances, e.g. triggering a sample player to play a window smash followed by a scream and the sound of rain.

25.3 Linear song

An old school sequencer or drum machine as well as current DAWs have the concept of a song that plays several tracks simultaneously from start to end. By adding several tracks to a sequence and setting the sequence play mode to Oneshot this workflow can be used. The song may be started by tapping the relevant pad in ZynPad. Several songs can be created, one sequence per song and triggered as required from ZynPad. Songs can be daisy-chained with one song starting when the previous song ends by using the same group for each sequence.

25.4 Combined Linear Song and looping pads

The previous workflows may be combined, e.g. by placing the song on a pad that is used to start the linear song then having loops and oneshots on other pads (in other groups) that may be played live alongside the linear song.

25.5 Synchronisation

You may wish to use one sequence as a click track by having a simple percusion sound looping. You could use a similar track in oneshot mode as the count-in for a song, pressing pads for the first bars of the song whilst the count-in playing or maybe use a silent sequence for the same purpose to allow manual synchronisation of several sequences at the start of a performance.