Difference between revisions of "ZynSeq User Guide"

From ZynthianWiki
Jump to navigation Jump to search
m (Jofemodo moved page ZynSeq Users Guide to ZynSeq User Guide)
 
(160 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
= ZynSeq - The Zynthian Sequencer =
 
= 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. If you use a touchscreen instead of rotary encoders then enable touch widgets using webconf INTERFACE->UI Options.
+
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. If you use a touchscreen instead of rotary encoders then enable touch widgets using webconf INTERFACE->UI Options. See [[#User Interface Settings for Touchscreen/Headless Setups | User Interface Settings for Touchscreen/Headless Setups]] for more info.
  
TODO: Provide a demo snapshot with engines and sequences configured.
+
= Accessing ZynSeq =
 +
[[File:main_menu1.png|right|400px]]
 +
[[File:Sequencer pad view 2 inst.png|400px|right]]
  
= Accessing ZynSeq =
+
To access the sequencer, select '''Sequencer''' from the main menu or long press LAYER encoder. 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.
 +
 
 +
'''Pattern'''<br>
 +
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 [[#Pattern Editor | Pattern Editor section]]
  
[[File:Zynseq_4x4four.png|right|300px]]
+
'''Track'''<br>
 +
A track contains a pattern or collection of 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]].
  
To access the sequencer, select "Step Sequencer" from the main menu or use the shortcut: long 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 to play.
+
'''Sequence'''<br>
 +
A sequence contains a track or collection of tracks which play in unison. By default each sequence has a single track.  
  
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 Arranger.
+
'''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 do not play concurrently.
 +
<br clear=all>
 +
====Pad Layout====
 +
Each pad displays information split into an upper and lower part. The top part shows the current loop setting (loop all - [[#Sequence_Modes | see Sequence Modes]]), the midi channel of the track it will play on 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 at all, 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>
  
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.
+
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>
  
So a pad can trigger a sequence which is a collection of patterns. A pattern is a collection of MIDI events. Let's create...
+
= Menus and Parameters =
 +
 
 +
[[File:Sequencer_menu1.png|right|400px]]
 +
 
 +
First we need to understand some user interface elements. ZynSeq includes a menu that is shown by short press LAYER (KB shortcut 'i', MIDI 'C4'). The SELECT encoder may be used to highlight entries within this menu and short press SELECT 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 SELECT encoder or press and drag with the touchscreen. Short press BACK to touch the topbar to close the menu without selecting an option.
 +
====Parameter Editor====
 +
If a parameter is selected from the menu its title and value is displayed in the title bar at the top of the screen. This is called the ''parameter editor''. The value may be coarsely adjusted with the SNAPSHOT encoder and finely adjusted with the SELECT encoder. The value is asserted by a short press of SELECT. Bold press SELECT may reset value to a default. Short press BACK to cancel out of the parameter editor. If [[#User Interface Settings for Touchscreen/Headless Setups | touchscreen widgets is enabled]] then buttons appear in the title bar allowing adjustment of the parameter.
 +
<br clear=all>
  
 
= Pattern Editor =
 
= Pattern Editor =
  
[[File:zynseq_patterneditor.png|right|300px]]
+
[[File:zynseq_patterneditor.png|right|400px]]
  
By default each pad triggers a sequence containing a single pattern. Bold press ENTER encoder or press and hold the touchscreen to show the Pattern Editor for the highlighted pad. There is a grid on the right called 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.
+
[[File:zynseq_patterneditor_playing.png|right|400px]]
  
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 occuring is the same as the difference in time between step 2 and step 3 occuring.
+
[[File:sequencer_pattern_editor_menu.png|right|400px]]
  
One of the cells in the step grid has a coloured outline. This is the ''cursor'' and identifies which cell is currently highlighted. Use the 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 SELECT 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. Notes above or below the visible area may be accessed by moving the cursor beyond the view with the BACK encoder. The view scrolls as the cursor reaches the edge. Alternatively use the touchscreen to press on the keyboard and drag up and down 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.
+
By default each pad triggers a sequence containing a single pattern. Bold press SELECT to show the Pattern Editor for the highlighted pad or press and hold the pad on the touchscreen.
 +
 +
==== Step sequences and the Step Grid ====
  
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 context menu.
+
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.
<br clear=all>
+
 
 +
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.
 +
 
 +
==== 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 the BACK encoder to move the cursor up and down (between notes) and the SELECT encoder to move the cursor left and right (between steps). To add a note, move the cursor to the desired step and note then short press the SELECT 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, i.e. there is no horizontal scrolling or zoom. Notes above or below the visible area may be accessed by moving the cursor beyond the view with the BACK encoder. The view scrolls as the cursor reaches the edge. Alternatively use the touchscreen to press on the keyboard and drag up and down 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.
 +
 
 +
==== Preview, Pattern Duration and Resolution ====
 +
 
 +
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. Playback speed (Tempo) can be adjusted with the SNAPSHOT encoder 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.
  
[[File:zynseq_patterneditor_playing.png|right|300px]]
+
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. Short press BACK will return to ZynPad.
 
Add some notes to form a melody and preview with the play function. Short press BACK will return to ZynPad.
Line 37: Line 75:
 
= Note Duration =
 
= Note Duration =
  
[[File:zynseq_patterneditor_notelength.png|right|300px]]
+
[[File:zynseq_patterneditor_notelength.png|right|400px]]
  
So far we have only added note with a duration of one step. Within Pattern Editor bold press SELECT to enable adjustment of ''note parameters''. The duration of a note may now be changed with the SELECT 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 BACK to reeturn to normal note input mode.
+
So far we have only added notes with a duration of one step. Within Pattern Editor bold press SELECT to enable adjustment of ''note parameters''. The duration of a note may now be changed with the SELECT 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 BACK to return to normal note input mode.
 
<br clear=all>
 
<br clear=all>
  
 
= Note Velocity =
 
= Note Velocity =
  
[[File:zynseq_patterneditor_notevelocity.png|right|300px]]
+
[[File:zynseq_patterneditor_notevelocity.png|right|400px]]
  
By default notes are added with a velocity (loudness) value of 100. (The range is 1 - 127.)  Within pPattern Editor bold press SELECT to enable adjustment of note parameters. The velocity of a note may now be changed with the BACK 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.  
+
By default notes are added with a velocity (loudness) value of 100. (The range is 1 - 127.)  Within Pattern Editor bold press SELECT to enable adjustment of note parameters. The velocity of a note may now be changed with the BACK 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. Short press BACK to return to normal note input mode.
 
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. Short press BACK to return to normal note input mode.
 
<br clear=all>
 
<br clear=all>
 +
 +
= Scales and Drum Maps =
 +
 +
[[File:Zynseq drum map.png|right|400px]]
 +
 +
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.
 +
 +
= 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:
 +
 +
{| 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.
 +
|}
 +
 +
'''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.
  
 
= Playing a sequence =
 
= Playing a sequence =
  
The pad is purple which indicates that the sequence is not playing. Similar to how we navigate the cursor in the Pattern 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 SELECT encoder to start playback of sequence A1. This can also be achieved with a touchscreen by simply pressing pad A1. Playback of the pattern you created should start to loop.
+
[[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.
 +
 
 +
'''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 context menu (if touchscreen widgets enabled).
+
Tempo may be adjusted using the SNAPSHOT encoder or by selecting "Tempo" from the menu.
  
[[File:zynseq_zynpad_4x4playing.png|right|300px]]
+
Short press SELECT or tap the pad with the touchscreen to stop the sequence playing.
  
The pad changes to green indicating it is playing. 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''.
<br clear=all>
 
  
[[File:zynseq_zynpad_4x4stopping.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.]]
  
The pad changes to red to indicate it is stopping and then to purple to indicate it has stopped.
 
 
<br clear=all>
 
<br clear=all>
  
 
= Multiple Sequences =
 
= Multiple Sequences =
  
[[File:zynpad_starting.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 edited a single pattern in one pad's sequence. Let's add patterns to other pads. By default ZynSeq has 4 pads. User BACK and SELECT encoders to select each pad and bold press SELECT to show its Pattern Editor. Add a new melody to the each pattern then short press BACK or touch top left and select the back icon from the topbar to return to ZynPad.
+
Start pad 1: see its play icon show green and hear its sequence loop.
  
Start pad A1: see its button turn 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).
 
 
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).
 
 
<br clear=all>
 
<br clear=all>
  
 
= Groups =
 
= Groups =
  
Each pad belongs to a mutually exclusive group. This means that only one pad within the same group may play. Pads from other groups may play simultaneously. The group is indicated by the single letter prefix of the pad name. There are up to 26 groups, A-Z.
+
[[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.
 +
 
 +
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.
  
[[File:zynpad_groups.png|right|300px]]
+
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.
  
By default sequences are in group A. To change a pad's group, select "Group" from the ZynPad 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.
+
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.
Use the BACK and SELECT encoders to highlight a pad or touch it with the touchscreen. 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.
 
<br clear=all>
 
  
[[File:Zynpad_playing_and_starting.png|right|300px]]
+
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.
  
Start pad A1. Pad A1 changes to green and its sequence starts playing.
+
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).
  
Start pad B3. Pad B3 turns orange indicating it is waiting to start.
 
 
<br clear=all>
 
<br clear=all>
  
[[File:zynpad_twoplaying.png|right|300px]]
+
= Grid Size =
  
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.
+
[[File:Sequencer pad view grid 8x8.png|400px|right]]
<br clear=all>
 
  
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.
+
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).
  
Remember, pads are indexed by number, 1, 2, 3, etc. and Groups by letter, A, B, C, etc. Pad labels consist of the group letter and sequence number, e.g. A1.
+
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.
  
= Grid Size =
+
When the grid size is changed in ZynPad existing sequences remain in the same position. This may result in duplicate (default) names (see picture).
  
[[File:zynpad_grid_size.png|right|300px]]
 
 
By default ZynPad shows a 2x2 grid of 4 pads. The grid is always square, i.e. has the same quantity of columns as rows. The quanityt of pads may be adjusted by selecting "Grid size" from the ZynPad context menu. The maximum quantity of pads is 64 (8x8).
 
 
<br clear=all>
 
<br clear=all>
  
Sequences are removed immediately when the girs size is reduced. The patterns are not lost and may be recovered when the grid size is increased. Beware that this may result in apparently ''new'' pads containing previously created patterns.
+
= Sequence Modes =
  
= 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.
  
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 "Mode" from the ZynPad's context menu. This will allow change of mode of the highlighted sequence. The mode is indicated by an icon.
+
{| class="wikitable"
 +
|+ Sequence play modes
 +
! Mode
 +
! Description
 +
! Icon
 +
|-
 +
! Disabled
 +
| Sequence is disabled and cannot be played || [[File:disabled.png|left]]
 +
|-
 +
! Oneshot
 +
| Sequence will play once, i.e. not loop. When stopped sequence will stop immediately (this is the only mode that will stop immediately)
 +
| [[File:oneshot_new.png|left]]
 +
|-
 +
! Loop
 +
| Sequence will loop immediately at end of sequence. When stopped sequence will play until end of loop
 +
| [[File:loop_new.png|left]]
 +
|-
 +
! Oneshot all
 +
| Sequence will play once, i.e. not loop. When stopped sequence will continue to play until end of sequence
 +
| [[File:oneshot_all_new.png|left]]
 +
|-
 +
! Loop all
 +
| 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
 +
| [[File:loop_all_new.png|left]]
 +
|-
 +
! Oneshot sync
 +
| Sequence will play once, i.e. not loop. When stopped sequence will continue to play until next sync point (end of bar)
 +
| [[File:oneshot_sync_new.png|left]]
 +
|-
 +
! Loop sync
 +
| 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)
 +
| [[File:loop_sync_new.png|left]]
 +
|}
  
Available modes are:
+
'''Loop all''' is the default mode.
  
* Disabled: Sequence is disabled and cannot be played
+
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.
* Oneshot: Sequence will play once, i.e. not loop. When stopped sequence will stop immediately
 
* 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.
+
= Sequence Names =
  
All these modes affect how sequences stop. There are currently no modes that affect how a sequence starts. The first sequence to be started will start immediately. If any sequences are playing then all sequences will start at the next sync point.
+
[[File:Osk.png|right|400px]]
  
= Tempo =
+
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.
  
Tempo is the rate at which the sequencer plays back notes measured in beats per minutes (BPM). By default zynseq plays sequences at 120BPM. Adjust Tempo with the SNAPSHOT encoder. The tempo is breifly displayed in the title bar. There is also a context menu option to adjust tempo which may be used on touchscreens. The current tempo is saved and loaded with each song.
+
Select ''Enter'' to assert the new name or ''Cancel'' to revert to the previous name.
  
If a tempo is added to the timebase map (see Timebase section) it will override the manually entered tempo, e.g. if a tempo is set at time 0:0 then when starting a song this tempo will be used. Manual adjustment will still be permissible but any subsequent tempo events within the timebase will trigger a change of tempo.
+
The touchscreen may be used to select buttons on the onscreen keyboard.
 +
<br clear=all>
  
= Zooming =
+
= 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.
+
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.
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.
 
  
= MIDI channels =
+
The current tempo is saved and loaded with each snapshot.
  
Each sequence may be assigned to a single MIDI channel. Several sequences may be assigned to the same MIDI channel. By default each sequence is assigned MIDI channel 1. Use the "MIDI channel" context menu option in Pad editor to set the MIDI channel of the currently highlighted sequence. 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.
+
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.
  
= Songs =
+
= MIDI channels =
  
All the configuration described above relates to a song. Zynthian supports 999 songs, each may have different quantity of sequences, etc. Songs are identified by an index 1-999. 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). Songs 1-128 may also be selected with MIDI Song Select message.
+
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.
  
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.
+
[[#Arranger |See  ''Arranger'' section]] for detail of setting MIDI channels for multi-track sequences.
  
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.
+
= Scenes =
  
A song may be cleared, removing all sequences by selecting "Clear song" from context menu then asserting by short press ENTER.
+
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.
  
If any sequences are playing when changing song, they continue to play until a sequence in the new song is started. The tempo remains unchanged, i.e. the new song's tempo is ignored (only if playing when the song is selected).
+
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.
  
= Save / Load =
+
Scenes may be cleared and reset to default 4 x 4 grid from the Arranger menu.
  
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.
+
If any sequences are playing when changing scene, they continue to play.
  
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.
+
= Save / Load / Snapshot =
  
Sequence sets are also saved with snapshots.
+
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]]
  
 
= External Trigger =
 
= External Trigger =
  
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.
+
It is possible to trigger a sequence from a MIDI controller, e.g. a MIDI keyboard connected to the Zynthian.
  
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.
+
To set the channel that ZynSeq listens for triggers, select ''Trigger channel'' from the menu.
  
= Tallies =
+
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 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.
+
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:
  
= Pad Editor =
+
{| class="wikitable"
 +
|+ Feedback tallies
 +
! State
 +
! MIDI velocity
 +
|-
 +
! Stopped
 +
| 3
 +
|-
 +
! Starting
 +
| 5
 +
|-
 +
! Playing
 +
| 1
 +
|-
 +
! Stopping
 +
| 4
 +
|}
  
[[File:Zynseq menu padeditor.png|right|300px]]
+
It is not currently possible to change this configuration and tallies will always be sent if trigger is configured.
  
Each pad triggers a sequence which may contain one or more patterns. By default each sequence contains a single pattern but it is possible to create more complex arrangements by adding more patterns to the sequence. 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".
+
= Arranger =
<br clear=all>
 
  
[[File:zynseq_padeditor.png|right|300px]]
+
[[File:Arranger default1.png|400px|right|Arranger showing default]]
 +
[[File:Arranger.png|right|400px]]
  
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 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>
  
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.
+
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:
  
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.
+
* Sequence name, e.g. A1
<br clear=all>
+
* Track number, e.g. 1
 +
* Name of the instrument currently assigned to the MIDI channel, e.g. Piano
  
[[File:zynseq_padeditorwithpattern.png|right|300px]]
+
The background colour of the title matches the group.
  
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.
+
====Navigating Arranger View====
<br clear=all>
 
  
[[File:zynseq_zynpad_4x4one.png|right|300px]]
+
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.
  
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.
+
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.)
  
Note that triggering a pad in ZynPad starts a sequence which consists of patterns which in turn consists of the notes of your melody. This hierarchical relationship may be slightly more complex than a typical step sequencer offers many benefits. Just remember that a pad triggers a sequence. A sequence contains patterns. A pattern contains MIDI events, e.g. notes.
+
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 if touchscreen widgets are enabled.
<br clear=all>
 
  
= 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 10:23, 26 July 2023

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. If you use a touchscreen instead of rotary encoders then enable touch widgets using webconf INTERFACE->UI Options. See User Interface Settings for Touchscreen/Headless Setups for more info.

2 Accessing ZynSeq

Main menu1.png
Sequencer pad view 2 inst.png

To access the sequencer, select Sequencer from the main menu or long press LAYER encoder. 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.

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 Pattern Editor section

Track
A track contains a pattern or collection of 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 a track or collection of 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 do not play concurrently.

2.1 Pad Layout

Each pad displays information split into an upper and lower part. The top part shows the current loop setting (loop all - see Sequence Modes), the midi channel of the track it will play on 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 at all, 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 Menus and Parameters

Sequencer menu1.png

First we need to understand some user interface elements. ZynSeq includes a menu that is shown by short press LAYER (KB shortcut 'i', MIDI 'C4'). The SELECT encoder may be used to highlight entries within this menu and short press SELECT 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 SELECT encoder or press and drag with the touchscreen. Short press BACK to touch the topbar to close the menu without selecting an option.

3.1 Parameter Editor

If a parameter is selected from the menu its title and value is displayed in the title bar at the top of the screen. This is called the parameter editor. The value may be coarsely adjusted with the SNAPSHOT encoder and finely adjusted with the SELECT encoder. The value is asserted by a short press of SELECT. Bold press SELECT may reset value to a default. Short press BACK to cancel out of the parameter editor. If touchscreen widgets is enabled then buttons appear in the title bar allowing adjustment of the parameter.

4 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 press SELECT to show the Pattern Editor for the highlighted pad or press and hold the pad on the touchscreen.

4.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.

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.

4.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 the BACK encoder to move the cursor up and down (between notes) and the SELECT encoder to move the cursor left and right (between steps). To add a note, move the cursor to the desired step and note then short press the SELECT 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, i.e. there is no horizontal scrolling or zoom. Notes above or below the visible area may be accessed by moving the cursor beyond the view with the BACK encoder. The view scrolls as the cursor reaches the edge. Alternatively use the touchscreen to press on the keyboard and drag up and down 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.

4.3 Preview, Pattern Duration and Resolution

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. Playback speed (Tempo) can be adjusted with the SNAPSHOT encoder 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. Short press BACK will return to ZynPad.

5 Note Duration

Zynseq patterneditor notelength.png

So far we have only added notes with a duration of one step. Within Pattern Editor bold press SELECT to enable adjustment of note parameters. The duration of a note may now be changed with the SELECT 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 BACK to return to normal note input mode.

6 Note Velocity

Zynseq patterneditor notevelocity.png

By default notes are added with a velocity (loudness) value of 100. (The range is 1 - 127.) Within Pattern Editor bold press SELECT to enable adjustment of note parameters. The velocity of a note may now be changed with the BACK 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. Short press BACK to return to normal note input mode.

7 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.

8 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.

9 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.


10 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).

11 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).


12 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).


13 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
Mode Description Icon
Disabled Sequence is disabled and cannot be played
Disabled.png
Oneshot Sequence will play once, i.e. not loop. When stopped sequence will stop immediately (this is the only mode that will stop immediately)
Oneshot new.png
Loop Sequence will loop immediately at end of sequence. When stopped sequence will play until end of loop
Loop new.png
Oneshot all Sequence will play once, i.e. not loop. When stopped sequence will continue to play until end of sequence
Oneshot all new.png
Loop all 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
Loop all new.png
Oneshot sync Sequence will play once, i.e. not loop. When stopped sequence will continue to play until next sync point (end of bar)
Oneshot sync new.png
Loop sync 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)
Loop sync new.png

Loop all is the default mode.

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.

14 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.

15 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.

16 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.

17 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.

18 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

19 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.

20 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.

20.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.

20.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 if touchscreen widgets are enabled.

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.

20.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.

20.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.


21 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.

22 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.

23 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.

24 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.

24.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.

24.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.

25 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.

26 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.

26.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.


27 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.

27.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.

27.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.

27.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.

27.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.

27.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.