Difference between revisions of "Zynthian UI User Guide - V1/V4"

 
(86 intermediate revisions by 4 users not shown)
Line 2: Line 2:
 
=General Concepts=
 
=General Concepts=
  
The Zynthian UI is displayed on a display and controlled by 4 knobs with switches. You can also control the UI with a touch-display, a mouse or a keyboard (computer keyboard or MIDI keyboard, both!)
+
The core Zynthian UI consists of a display and four knobs with push switches. You can also control the UI with a touchscreen, a mouse or a keyboard (computer keyboard or MIDI keyboard, both!)
  
The four knobs & switches are the primary control mechanism to navigate the UI: selecting options on menus and adjusting the instrument parameters. The knobs can act as assignable MIDI / OSC controllers for the instrument's parameters (frequently lots of them!). You can emulate the knob's behaviour using the touch-display, but it's sub-optimal and accessing some features could be tricky.
+
The four knobs with switches are the primary control mechanism to navigate the UI:  
 +
 
 +
* '''Accessing the different screens'''
 +
* '''Selecting options on menus and lists'''
 +
* '''Adjusting parameters'''
 +
 
 +
Most operations may be performed with the touchscreen but some may not be intuitive. See the section on [[#Touch_Screen_UI|touchscreen]] and comments throughout this documentation.
  
 
[[File:Zynthian v4 top legend.png|600px|center]]
 
[[File:Zynthian v4 top legend.png|600px|center]]
Line 19: Line 25:
 
* '''Info Screen''': It displays info about an operation, like "Update Software", or "Network Info".
 
* '''Info Screen''': It displays info about an operation, like "Update Software", or "Network Info".
 
* '''Key Range & Transpose Screen''': It allows to choose the key range and transpose notes by octaves or semitones.
 
* '''Key Range & Transpose Screen''': It allows to choose the key range and transpose notes by octaves or semitones.
 +
* '''Mixer''': The main screen from you manage the chains.
 
* etc.
 
* etc.
  
Line 33: Line 40:
 
Although some push actions depend of context (current screen), there are some actions that are global and will work from any screen:
 
Although some push actions depend of context (current screen), there are some actions that are global and will work from any screen:
  
* '''Bold-Back''': Audio Mixer
+
* '''Bold-Back''': Mixer
 
* '''Long-Layer''': Step Sequencer
 
* '''Long-Layer''': Step Sequencer
 
* '''Long-Back''': Admin Menu
 
* '''Long-Back''': Admin Menu
Line 39: Line 46:
 
* '''Long-Select''': Power Off
 
* '''Long-Select''': Power Off
  
Later versions of zynthian kits include 4 extra push buttons, labelled as S1 to S4. By default, these buttons are assigned to MIDI Program Change 1-4, but this can be easily changed from the webconf's [[Configuration_Users_Guide#Wiring_Layout|Wiring Layout menu]].
+
Later versions of Zynthian kits include 4 extra push buttons, labelled as S1 to S4. By default, these buttons are assigned to MIDI Program Change 1-4, but this can be easily changed from the webconf's [[Configuration_Users_Guide#Wiring_Layout|Wiring Layout menu]].
  
 
<br clear=all>
 
<br clear=all>
  
=The Title Bar=
+
==The Title Bar==
 
[[File:zynthian_ui_control_status.png|400px|right]]
 
[[File:zynthian_ui_control_status.png|400px|right]]
  
Line 53: Line 60:
 
<br clear=all>
 
<br clear=all>
  
=The Status Area=
+
==The Status Area==
[[File:Status display.png|400px|right]]
+
[[File:Zynthian status area1.png|400px|right]]
  
 
On the top-right corner is an area where some useful information is displayed in real time:
 
On the top-right corner is an area where some useful information is displayed in real time:
Line 62: Line 69:
  
 
{| class="wikitable"
 
{| class="wikitable"
!colspan="3"|Status Icons Legend
+
!colspan="3"|1st row: Health & Load
 
|-
 
|-
|style="padding:10px"|<span style="color:#8080FF">'''m'''</span>
+
|style="padding:10px"|<span style="color:#00FF00">{{#fas:heart}}</span>
|style="padding:10px;width: 200px;|'''MIDI-IN'''
+
|style="padding:10px;width: 200px;|'''Cpu Load'''
|style="padding:10px"|It's shown when MIDI messages are received. Underscore indicates system message such as MIDI clock.
+
|style="padding:10px"|Heart, indicating CPU load. It displays as green when under 50%, yellow when load is over 50% and red over 75%.
 +
|-
 +
|style="padding:10px"|<span style="color:#00FF00">{{#fas:recycle}}</span>
 +
|style="padding:10px;width: 200px;|'''Software update available'''
 +
|style="padding:10px"|When a software update is available, the green recycle symbol is shown. You can update from the admin menu, webconf or terminal.
 
|-
 
|-
 
|style="padding:10px"|<span style="color:#FF0000">{{#fas:exclamation-triangle}}</span>
 
|style="padding:10px"|<span style="color:#FF0000">{{#fas:exclamation-triangle}}</span>
Line 79: Line 90:
 
|style="padding:10px"|'''Over-temperature'''
 
|style="padding:10px"|'''Over-temperature'''
 
|style="padding:10px"|Zynthian is working in a degraded state, with the CPU frequency capped to 600-800 MHz, trying to stabilize the system and avoid a system crash. You shouldn't see that icon and if you do so, you should improve heat dissipation (using a heat sink, etc.)
 
|style="padding:10px"|Zynthian is working in a degraded state, with the CPU frequency capped to 600-800 MHz, trying to stabilize the system and avoid a system crash. You shouldn't see that icon and if you do so, you should improve heat dissipation (using a heat sink, etc.)
 +
|-
 +
!colspan="3"|2nd row: MIDI activity & Playing/Recording
 +
|-
 +
|style="padding:10px"|<span style="color:#8080FF">'''m'''</span>
 +
|style="padding:10px;width: 200px;|'''MIDI-IN'''
 +
|style="padding:10px"|It's shown when MIDI messages are received. Underscore indicates system message such as MIDI clock.
 
|-
 
|-
 
|style="padding:10px"|<span style="color:#b00000">{{#fas:circle}}</span>
 
|style="padding:10px"|<span style="color:#b00000">{{#fas:circle}}</span>
|style="padding:10px"|'''Recording Audio / MIDI'''
+
|style="padding:10px"|'''Recording Audio'''
|style="padding:10px"|Audio or MIDI is being recorded.
+
|style="padding:10px"|Audio is being recorded.
 
|-
 
|-
 
|style="padding:10px"|<span style="color:#00b000">{{#fas:play}}</span>
 
|style="padding:10px"|<span style="color:#00b000">{{#fas:play}}</span>
|style="padding:10px"|'''Playing Audio / MIDI'''
+
|style="padding:10px"|'''Playing Audio'''
|style="padding:10px"|Audio or MIDI track is being played.
+
|style="padding:10px"|Audio track is being played.
 +
|-
 +
|style="padding:10px"|<span style="color:#9090FF">{{#fas:circle}}</span>
 +
|style="padding:10px"|'''Recording MIDI'''
 +
|style="padding:10px"|MIDI is being recorded.
 +
|-
 +
|style="padding:10px"|<span style="color:#9090FF">{{#fas:play}}</span>
 +
|style="padding:10px"|'''Playing MIDI'''
 +
|style="padding:10px"|MIDI track is being played.
 +
|-
 +
|style="padding:10px"|<span style="color:#ff9000">{{#fas:circle}}</span>
 +
|style="padding:10px"|'''Recording Pattern'''
 +
|style="padding:10px"|A sequencer's pattern is being recorded.
 +
|-
 +
|style="padding:10px"|<span style="color:#ff9000">{{#fas:play}}</span>
 +
|style="padding:10px"|'''Playing Sequence'''
 +
|style="padding:10px"|A sequence or pattern is being played.
 
|}
 
|}
  
Line 106: Line 139:
  
 
=The Zynthian UI Workflow=
 
=The Zynthian UI Workflow=
 +
Zynthian workflow is based around chains of audio/MIDI generators & processors feeding an audio summing mixer.
 +
 +
[[File:Zynthian Signal Flow.png|800px|center]]
 +
 +
<br clear=all>
 +
===Chains===
  
Zynthian workflow is based around chains of audio generators / processors feeding an audio summing mixer. The main (home) screen is the Audio Mixer. This consists of several vertical strips, each representing an input chain and a strip representing the main mixbus (output) chain.
+
Chains are a key concept of the Zynthian. The first thing you will do after powering-on your Zynthian is probably to create a chain. (It does little without any chains!)
  
Navigation between views is performed by pressing buttons or using the touchscreen.  
+
A chain is composed of one or more interconnected blocks, capable of generating or processing audio & MIDI. Each chain is normally assigned to a MIDI channel. These blocks are chained in the same order they are created, but you can change this order from the '''Chain Options''' menu. The first block created in a chain is the '''root''' and it determines the chain's type:
 +
 
 +
* '''Synth Chain''' => Receives MIDI note-events and generate audio output. It must have a synth processor.
 +
* '''Audio Chain''' => Receives audio-input and generates audio-output. It only has audio-FX processors.
 +
* '''MIDI Chain''' => Receives MIDI-input and generates MIDI-output. It only has MIDI processors.
 +
<!--* (Oram) '''MIDI + Audio Chain''' => Receives MIDI + Audio input and generates MIDI + Audio output. It has MIDI and audio-FX processors.-->
 +
* '''Generator Chain''' => Generate audio output using an algorithm. The first processor is an audio generator.
 +
* '''Special Chain''' => It can contains special processors, like an AudioPlayer (sampler), a MOD-UI pedalboard or a Pure Data patch, etc.
 +
<br>
 +
 
 +
The chain's type can't be changed. Depending of the chain's type, MIDI processors can be added to the start of the chain and audio processors can be added to the end of the chain. Chain processors can be re-sorted and arranged as serial or parallel paths.
 +
 
 +
<!--
 +
(Oram) All chain types, except Audio and Generator chains, have a MIDI channel assigned. MIDI channels are not exclusive anymore and you can assign the same MIDI channel to several chains. MIDI and MIDI+Audio chains can receive '''all MIDI channels'''. 
 +
 
 +
(Oram) In MIDI+Audio chains, all audio processors in the chain receive all the MIDI events on the assigned channel (this should be improved!).
 +
-->
 +
 
 +
(*) If Master Channel is enabled, this is excluded from the MIDI channels available for chain assignment.
 +
 
 +
Having several chains on the same MIDI channel is not allowed currently. If you want two or more chains to play in unison (like being on the same MIDI channel), you can use the "Clone" feature, which allows you to bind several chains while keeping MIDI CCs and other MIDI messages (Program Change, Channel Pressure, etc.) independent.
 +
 
 +
<br clear=all>
 +
 
 +
===MIDI input===
 +
 
 +
Each chain receive MIDI input from selected devices (keyboards and other MIDI controllers). You can configure the MIDI input devices from the chain's option menu. Use short-push for selecting the devices and bold-push for changing the input mode. All input devices are selected by default when creating a new chain.
 +
 
 +
Each input device can work in 3 different modes:
 +
 
 +
* '''ACTI:''' only the active chain receives all MIDI input from the device and all MIDI events are translated to the active chain's MIDI channel. It's the default mode.
 +
* '''OMNI:''' each chain receives all MIDI input from the device and all MIDI events are translated to each chain's MIDI channel.
 +
* '''MULTI:''' each chain receives MIDI from the input device in the configured MIDI channel. No MIDI channel translation is done.
 +
 
 +
When using ACTI mode you don't need to worry about the MIDI channel your keyboard/controller is using. You change the instrument you play by changing the active chain in your zynthian. You can change the active chain by simply rotating the select knob (#4) in the Mixer view or using the the left/right arrows.
 +
 
 +
In the other hand, MULTI mode allows receiving and managing separately every MIDI channel. Each MIDI controller will drive the chains assigned to the controller's MIDI channel. If you are using a MIDI controller that can sequence multiple tracks (Beatstep Pro, Keystep Pro, Novation Circuit etc.) then you will generally want to use this mode.
 +
 
 +
Finally, OMNI mode allows one or several chains to receive all MIDI input from your device translated to chain's MIDI channel. This can be useful for some use-cases. Be warned that this mode will be dropped in the near future so you should avoid it.
 +
 
 +
Note that MIDI CC (Continuous Controllers) events are handled differently and they are not routed to chains. See section on [[#MIDI-learning_.2F_binding|MIDI Learning & binding]].
 +
 
 +
<br clear=all>
 +
 
 +
===Navigation===
 +
The home screen is the Mixer and it's always reachable by pressing bold-Back. Navigation between views is performed by pressing buttons or using the touchscreen. Most destructive changes, e.g. removing chains, will request confirmation. Operations that take time to complete may show an animated zynthian logo representing progress.
  
 
Navigation, default actions and common workflows are shown in the following graphs:
 
Navigation, default actions and common workflows are shown in the following graphs:
<gallery mode="slideshow" widths="420" heights="600">
+
 
Image:Main Views.png|''[[commons:Main Views|Main Views]]''
+
<gallery mode="packed" heights="800">
Image:Add chain workflow.png|''[[commons:Add Chain|Add Chain]]''
+
Image:Main Views.png|''[[#The_UI_Screens|Main Views]]''
Image:zynthian_ui_workflow_layer_options.png|''[[commons:Layer Options|Layer Options]]''
 
Image:zynthian_ui_workflow_snapshots.png|''[[commons:Snapshots|Snapshots]]''
 
Image:zynthian_ui_workflow_midi_learning.png|''[[commons:MIDI Learning|MIDI Learning]]''
 
 
</gallery>
 
</gallery>
  
Most destructive changes, e.g. removing chains will request confirmation. Operations that take time to complete may show an animated Zynthian logo representing progress.
+
<gallery mode="packed" heights="1400">
 +
Image:Add chain workflow.png|''[[#Main_Menu|Add Chain]]''
 +
Image:Snapshot workflow.png|''[[#Load_.2F_Save_Snapshot|Manage Snapshots]]''
 +
</gallery>
  
 
<br clear=all>
 
<br clear=all>
Line 126: Line 210:
 
=The UI Screens=
 
=The UI Screens=
  
==Audio Mixer==
+
==Mixer==
  
 
[[File:Audio mixer.png|400px|right]]
 
[[File:Audio mixer.png|400px|right]]
  
The audio mixer view is the main or home screen. Bold press BACK will navigate to this screen from most locations within the Zynthian UI. It displays a mixer strip (or equivalent) for each configured chain plus a strip for the main mixbus. The quantity of strips displayed may be configured using webconf. If there are more chains than can be displayed, the screen can be scrolled horizontally by selecting a higher / lower chain or dragging the bottom legend strip.
+
The mixer view is the home screen and pressing '''bold-BACK''' should always navigate to this screen. It displays a strip for each configured chain plus a strip for the main mixbus. The quantity of strips displayed may be configured using webconf. If there are more chains than can be displayed, the screen can be scrolled horizontally by selecting a higher / lower chain or dragging the bottom legend strip.
  
Each audio chain will have the following mixer controls:
+
===Audio Chains===
 +
Each audio chain has the following mixer controls:
  
 
* '''Fader''' adjusts the audio level
 
* '''Fader''' adjusts the audio level
Line 139: Line 224:
 
* '''Solo''' toggles the audio contribution to the solo mixbus<sup>*</sup>
 
* '''Solo''' toggles the audio contribution to the solo mixbus<sup>*</sup>
  
<sup>*</sup> When solo is enabled on any chain, all other chains are muted. Solo can be enabled for multiple chains, each contributing to the output. Operating the main mixbus solo will disable solo on all chains.
+
(*) When solo is enabled on any chain, all other chains are muted. Solo can be enabled for multiple chains, each contributing to the output. Operating the main mixbus solo will disable solo on all chains.
  
 
Each audio chain also has a stereo audio level meter indicating peak programme level with peak hold bar. This may be disabled in admin menu or webconf to reduce CPU load if required.
 
Each audio chain also has a stereo audio level meter indicating peak programme level with peak hold bar. This may be disabled in admin menu or webconf to reduce CPU load if required.
  
Non-audio (MIDI only) chains show in the mixer view without any audio mixer controls.
+
===MIDI Chains===
 +
MIDI only (non-audio) chains show in the mixer view without any audio mixer controls nor meter.
  
Use the SELECT knob or tap on a strip to select a chain.
+
===Contextual Actions===
Use the LAYER knob or drag the touchscreen to adjust the selected chain's fader.
+
* Rotate '''SELECT knob''' or tap on a strip to select a chain.
Use the BACK knob to adjust the selected chain's balance / pan.
+
* Rotate '''LAYER knob''' or drag the touchscreen to adjust the selected chain's fader.
Use the LEARN/SHOT knob or drag the touchscreen to adjust the main mixbus fader.
+
* Rotate '''BACK knob''' to adjust the selected chain's balance / pan.
Short press LAYER to toggle solo of the selected chain.
+
* Rotate '''LEARN/SHOT knob''' or drag the touchscreen to adjust the main mixbus fader.
Short press BACK to toggle mute of the selected chain.
+
* Press '''short-LAYER''' to toggle solo of the selected chain.
Short press LEARN/SHOT to enter MIDI learn mode.
+
* Press '''short-BACK''' to toggle mute of the selected chain.
Short press SELECT to access the chain's Control View.
+
* Press '''short-LEARN/SHOT''' to enter MIDI learn mode.
Bold press LAYER to access the main menu.
+
* Press '''short-SELECT''' to access the chain's Control View.
Bold press LEARN/SHOT to access snapshots.
+
* Press '''bold-LAYER''' to access the main menu.
Bold press SELECT to access the selected chain's options.
+
* Press '''bold-LEARN/SHOT''' to access snapshots.
 +
* Press '''bold-SELECT''' to access the selected chain's options.
  
 
==Main Menu==
 
==Main Menu==
Line 168: Line 255:
 
* '''New Generator Chain''' adds an audio generator chain
 
* '''New Generator Chain''' adds an audio generator chain
 
* '''New Special Chain''' adds a non-standard or special chain
 
* '''New Special Chain''' adds a non-standard or special chain
* '''Snapshots''' manipulate snapshots
+
* '''Snapshots''' manage snapshots
 
* '''Sequencer''' access the step sequencer
 
* '''Sequencer''' access the step sequencer
 
* '''MIDI Recorder''' access the standard MIDI file recorder / player
 
* '''MIDI Recorder''' access the standard MIDI file recorder / player
Line 175: Line 262:
 
* '''Admin''' access configuration menu
 
* '''Admin''' access configuration menu
 
* '''PANIC! All Notes OFF''' resets all MIDI engines
 
* '''PANIC! All Notes OFF''' resets all MIDI engines
 
<br clear=all>
 
 
==Chains==
 
 
Chains are a key concept of the Zynthian. The first thing you do after powering on your Zynthian is probably to create a chain. (It does little without any chains.)
 
 
A chain is one or more interconnected engines capable of generating or processing audio or MIDI. Each chain is normally assigned to a MIDI channel. These engines are chained in the same order they are created, but you can change the order from the '''Chain Options''' menu. The first engine in a chain is the '''root''' and it determines the chain's type:
 
 
* '''Synth Chain''' => Receives MIDI note-events and generate audio output
 
* '''Audio Chain''' => Receives audio-input and generates audio-output
 
* '''MIDI Chain''' => Receives MIDI-input and generates MIDI-output
 
* '''Generator Chain''' => Generate audio output using an algorithm
 
* '''Special Chain''' => Does not fit any other chain type, e.g. MOD-UI pedalboard, Pure Data patch, etc.
 
 
The root engine can't be re-arranged or changed. MIDI effects can be added to the start of a chain and audio effects can be added to the end of a chain. These can be arranged as serial or parallel paths.
 
 
All engines in a chain receive all the MIDI events on the assigned channel. Some special chains (MOD-UI) don't have an assigned MIDI channel and receive all MIDI channels.
 
 
<br clear=all>
 
 
When you select '''NEW Chain''', you create a new chain, choosing its root engine (first engine of the chain), a free MIDI channel and if available, a preset from a bank of presets. You can create up to 16<sup>*</sup> chains, one per MIDI channel, each having an independent MIDI chain and audio effect chain.
 
 
<sup>*</sup> If '''Master Channel''' is enabled then only 15 chains can be created.
 
 
Having several chains on the same MIDI channel is not allowed. If you want two or more chains to play in unison (like being on the same MIDI channel), you can use the "Clone" feature, which allow you to bind several chains while keeping MIDI CCs and other MIDI messages (Program Change, Channel Pressure, etc.) independent.
 
  
 
<br clear=all>
 
<br clear=all>
Line 211: Line 272:
  
 
* '''setBfree''': can create 1, 2 or 3 chains assigned to consecutive MIDI channels starting at the selected channel corresponding to the upper manual, lower manual and pedals sections of the Hammond B3 emulation.
 
* '''setBfree''': can create 1, 2 or 3 chains assigned to consecutive MIDI channels starting at the selected channel corresponding to the upper manual, lower manual and pedals sections of the Hammond B3 emulation.
* '''Pianoteq''': only one instance of Pianoteq may be created. (There is also a LV2 version which may be enabled and sevearl instances created.)
+
* '''Pianoteq''': only one instance of Pianoteq may be created. (There is also a LV2 version which may be enabled and several instances created.)
 
* '''Aeolus''': occupies MIDI channels 1, 2, 3 & 4, each one corresponding to the 3 manuals + 1 pedal of the Aeolus organ emulator. If all four MIDI channels are not available then Aeolus will be hidden from the list of available engines. You can change the MIDI channel assignments from the Aeolus native UI. If you want to use a different instrument definition, you will have to tweak the engine's code a little bit.
 
* '''Aeolus''': occupies MIDI channels 1, 2, 3 & 4, each one corresponding to the 3 manuals + 1 pedal of the Aeolus organ emulator. If all four MIDI channels are not available then Aeolus will be hidden from the list of available engines. You can change the MIDI channel assignments from the Aeolus native UI. If you want to use a different instrument definition, you will have to tweak the engine's code a little bit.
  
Line 223: Line 284:
 
This screen is shown in various contexts:
 
This screen is shown in various contexts:
  
* After you have selected the engine for a new chain. Only unused channels are listed.
+
* When creating a new chain, after you have selected the engine. Only unused channels are listed.
 
* When you change the assigned MIDI channel from the Chain Options menu. Only unused channels are listed.
 
* When you change the assigned MIDI channel from the Chain Options menu. Only unused channels are listed.
* When you clone MIDI for a chain from the Chain Options menu.
+
* When you clone MIDI for a chain, from the Chain Options menu.
  
 
Playing a note on a connected MIDI controller will cause the list to jump to the MIDI channel of the note played. This can assist with assigning chains to controllers.
 
Playing a note on a connected MIDI controller will cause the list to jump to the MIDI channel of the note played. This can assist with assigning chains to controllers.
Line 233: Line 294:
 
== Bank selector==
 
== Bank selector==
 
[[File:Zynthian_ui_bank_list.png|400px|right]]
 
[[File:Zynthian_ui_bank_list.png|400px|right]]
Presets (instruments, patches, sound designs, etc.) for engines may be organized into banks. Choose a bank to see the list of presets for the engine.
+
Presets (instruments, patches, sound designs, etc.) for engines may be organized into banks. You can access engine's bank list by pressing '''short-BACK''' from within its presets list. Choose ('''short-SELECT''') a bank to see the list of presets on it.
  
 
<br clear=all>
 
<br clear=all>
You can access an engine's banks by short press BACK from within its presets list.
+
'''Bold-SELECT''' or touch and hold a bank on the touchscreen will show the '''Bank Options menu'''. User banks may be renamed or deleted. Some engines do not allow banks to be manipulated in which case this will have no effect.
 
 
Bold press SELECT or touch and hold a bank on the touchscreen will show the Bank Options menu. A bank may be renamed or deleted. Some engines do not allow banks to be manipulated in which case this will have no effect.
 
  
Short press BACK to return to the Control View without changing the engine's configuration.
+
'''Short-BACK''' to return to the Control View without selecting.
 
<br clear=all>
 
<br clear=all>
  
 
==Preset selector==
 
==Preset selector==
 
[[File:Zynthian_ui_preset_list.png|400px|right]]
 
[[File:Zynthian_ui_preset_list.png|400px|right]]
Once you have chosen a bank, the preset screen will be shown. Choose a preset to load the instrument / sound / patch and the Control View will be shown.
+
Once you have chosen a bank, the preset screen will be shown. Choose a preset to load the instrument / sound / patch / etc. and the Control View will be shown.
 
<br clear=all>
 
<br clear=all>
  
To change preset of an existing engine, navigate to its Control View then short press BACK to access the list of presets. Use the SELECT encoder to highlight the required preset and short press SELECT or tap on the required preset in the list on the touchscreen to select the preset. The engine will configure with the preset values and the Control View will be displayed.
+
To change the selected preset for a engine in a chain, navigate to its Control View then short press BACK to access the list of presets. Use the SELECT encoder to highlight the required preset and '''short-SELECT''' (or tap, if using touchscreen) to select the preset. The engine will configure with the preset values and the Control View will be displayed.
  
Bold press SELECT or touch and hold a preset on the touchscreen will show the Preset Options menu. A preset may be added to or removed from a list of favorites, renamed or deleted. Some engines do not allow presets to be manipulated and will only show the Favourite option. (Saving presets is performed in the chain options menu described later.)
+
'''Bold-SELECT''' a preset (or touch and hold on the touchscreen) will show the '''Preset Options menu'''. A preset may be added to or removed from a list of favorites, renamed or deleted. Some engines do not allow presets to be manipulated and will only show the Favourite option. (Saving presets is performed in the chain options menu described later.)
  
If the '''preload with note-on''' feature is enabled in the admin menu or webconf, you can audition the presets by playing notes. When you do so, the highlighted preset will be pre-loaded without pressing SELECT. N.B. Some engines may be slow to load presets in which case it may be necessary to play the note more than once to hear the new preset sound.
+
If the '''preload with note-on''' feature is enabled in the admin menu or webconf, you can audition the presets by playing notes. When you do so, the highlighted preset will be pre-loaded without pressing SELECT. Note that some engines may be slow to load presets in which case it may be necessary to play the note more than once to hear the new preset sound.
  
You can return to the bank screen, without selecting any preset, by short press BACK. The previously selected instrument will be restored, e.g. if a preset has been pre-loaded (auditioned).
+
You can return to the bank screen, without selecting any preset, by pressing '''short-BACK'''. The previously selected instrument will be restored, e.g. if a preset has been pre-loaded (auditioned).
  
Press bold SELECT to manipulate the preset including adding to your favorites. The favorites list can be shown by short press LEARN/SHOT in the Bank or Preset View.
+
Press '''bold-SELECT''' to manage the preset including adding to your favorites. The favorites list can be shown by pressing '''short-LEARN/SHOT''' in the Bank or Preset View.
  
 
Not all engines support presets. If no presets are configured then this screen is not shown.
 
Not all engines support presets. If no presets are configured then this screen is not shown.
Line 263: Line 322:
 
==Control View==
 
==Control View==
 
[[File:Zynthian_ui_instrument_control_01.png|400px|right]]
 
[[File:Zynthian_ui_instrument_control_01.png|400px|right]]
The Control View shows the controls available for each engine within a chain. It is shown after adding a chain, adding an engine to a chain or by short press SELECT or tapping the bottom legend strip in the mixer view. Your instrument is now enabled and playable and you can modify its parameters.
+
The Control View shows the controls available for each engine within a chain. It is shown after adding a chain, adding an engine to a chain or by pressing '''short-SELECT''' (or tapping the bottom legend strip in the mixer view). Your instrument is now enabled and playable and you can modify its parameters.
  
 
The controls are shown in groups of four (or fewer) on several pages. Each hardware knob controls a parameter displayed in the control view or the control may be dragged up and down on the touchscreen. Controls may toggle between two values, e.g. on / off, lists of values, e.g. sine, square, triangle or continuously adjustable values, e.g. 0%..100%. If there are a lot of possible values the hardware knobs will accelerate progress if rotated fast, e.g. stepping by one value when turned slowly and stepping by 10 values when rotated fast. This allows fine and coarse selection of a parameter from a single knob.
 
The controls are shown in groups of four (or fewer) on several pages. Each hardware knob controls a parameter displayed in the control view or the control may be dragged up and down on the touchscreen. Controls may toggle between two values, e.g. on / off, lists of values, e.g. sine, square, triangle or continuously adjustable values, e.g. 0%..100%. If there are a lot of possible values the hardware knobs will accelerate progress if rotated fast, e.g. stepping by one value when turned slowly and stepping by 10 values when rotated fast. This allows fine and coarse selection of a parameter from a single knob.
Line 270: Line 329:
 
[[File:Zynthian_ui_instrument_control_03.png|400px|right]]
 
[[File:Zynthian_ui_instrument_control_03.png|400px|right]]
 
There is a list that shows the pages of controls available.
 
There is a list that shows the pages of controls available.
To change page, short press SELECT - the list of pages turns grey, rotate SELECT to highlight the required page then short press again to select the page. If there are fewer than three pages then short press SELECT will step through each page. Alternatively, tap the required page on the touchscreen. When a page is selected its controls will be shown. Depending on the configuration, some pages may have fewer than four controls and some engines have no adjustable parameters in which case there will be no control pages.
+
To change page, press '''short-SELECT''' - the list of pages turns grey, '''rotate SELECT''' to highlight the required page then short press again to select the page. If there are fewer than three pages then '''short-SELECT''' will step through each page. Alternatively, tap the required page on the touchscreen. When a page is selected its controls will be shown. Depending on the configuration, some pages may have fewer than four controls and some engines have no adjustable parameters in which case there will be no control pages.
  
 
The pages for the controls for each engine within a chain are shown separated by a title indicating to which engine subsequent pages belong.
 
The pages for the controls for each engine within a chain are shown separated by a title indicating to which engine subsequent pages belong.
Line 284: Line 343:
 
==Chain Options==
 
==Chain Options==
 
[[File:Chain options.png|400px|right]]
 
[[File:Chain options.png|400px|right]]
Bold press SELECT when in the Mixer View or Control View will show the Chain Options menu. Manipulation of the chain is possible:
+
Pressing '''bold-SELECT''' when in the '''Mixer View''' or '''Control View''' will show the '''Chain Options menu''', allowing to manipulate the chain:
  
 
* '''Save Preset''' will allow saving of a engine's configuration as a preset that may later be selected from the preset list. This is only available if the engine supports manipulation of presets. If a chain has several engines then a list of engines will be displayed before naming the preset.
 
* '''Save Preset''' will allow saving of a engine's configuration as a preset that may later be selected from the preset list. This is only available if the engine supports manipulation of presets. If a chain has several engines then a list of engines will be displayed before naming the preset.
Line 292: Line 351:
 
* '''Audio Output''' allows manipulation of the routing of the chain's audio outputs. This allows complex audio routing to be performed. If this is not sufficient, try MOD-UI engine with the MOD-UI web GUI. This option is not available for MIDI chains.
 
* '''Audio Output''' allows manipulation of the routing of the chain's audio outputs. This allows complex audio routing to be performed. If this is not sufficient, try MOD-UI engine with the MOD-UI web GUI. This option is not available for MIDI chains.
 
* '''Audio Capture''' allows manipulation of the routing of the chain's audio inputs. This option is only available on audio chains.
 
* '''Audio Capture''' allows manipulation of the routing of the chain's audio inputs. This option is only available on audio chains.
* '''MIDI Routing''' => Select the destiny of the chain's MIDI output. This option is only available on MIDI-FX chains.
+
* '''MIDI Routing''' => Select the destination of the chain's MIDI output. This option is only available on MIDI-FX chains.
 
* '''MIDI Channel''' allows changing of the chain's MIDI Channel. Only MIDI channels not assigned to other chains are available.
 
* '''MIDI Channel''' allows changing of the chain's MIDI Channel. Only MIDI channels not assigned to other chains are available.
 
* '''Replace Synth''' allows a synth engine to be replaced by another synth engine.
 
* '''Replace Synth''' allows a synth engine to be replaced by another synth engine.
Line 303: Line 362:
 
* '''Add Audio-FX''' adds an audio effect to the end of the chain. This option is not available for MIDI Chains.
 
* '''Add Audio-FX''' adds an audio effect to the end of the chain. This option is not available for MIDI Chains.
 
* '''Remove All Audio-FX''' removes all audio effects from the chain.
 
* '''Remove All Audio-FX''' removes all audio effects from the chain.
* The list of audio effects in the chain is displayed with arrows representing their relative position
+
* The list of audio effects in the chain is displayed with arrows representing their relative position. MIDI and audio effects can be added in series or parallel to the last corresponding (MIDI or audio) effect in the chain.
  
MIDI and audio effects can be added in series or parallel to the last corresponding (MIDI or audio) effect in the chain. Short press SELECT or tapping on an effect in the list will allow manipulation of the effect:
+
<br clear=all>
  
 +
[[File:Zynthian_ui_layer_effect_options.png|400px|right]]
 +
Select an effect in the list for opening the effect options menu, that allows manipulating chain elements:
 +
 +
* '''Presets''' shows list of available presets for the effect
 
* '''Replace''' offers the list of available effects to replace the effect in the chain
 
* '''Replace''' offers the list of available effects to replace the effect in the chain
 
* '''Move up chain''' moves the effect closer to the start of the chain. Only available if space in front of effect.
 
* '''Move up chain''' moves the effect closer to the start of the chain. Only available if space in front of effect.
 
* '''Move down chain''' moves the effect closer to the end of the chain. Only available if space behind effect.
 
* '''Move down chain''' moves the effect closer to the end of the chain. Only available if space behind effect.
 
* '''Remove''' removes the effect from the chain
 
* '''Remove''' removes the effect from the chain
 +
 +
Note that not all these options will be available all the time. For instance, if there is only one effect in the chain, "Move" options won't be shown. Same if the FX has not presets, etc.
  
 
<br clear=all>
 
<br clear=all>
  
 
==Note Range & Transpose==
 
==Note Range & Transpose==
#TODO:
+
[[File:Range transpose.png|400px|right]]
 
+
The MIDI sent to a chain may be transposed +/-5 octaves and +/-12 semitones. The range of MIDI notes that it will respond to can be limited. The Mote Range & Transpose View has controller knobs to adjust the octave transpose, semitone transpose and lower & upper key range limits. The key range is displayed on an onscreen piano keyboard that can be dragged with the touchscreen to set the range.
[[File:Zynthian_ui_layer_effect_options.png|400px|right]]
 
 
 
By bold-clicking on an FX-unit (Audio or MIDI) from the list, you will access the FX's Options:
 
 
 
* '''Presets'''
 
* '''Replace'''
 
* '''Move Upchain'''
 
* '''Move Downchain'''
 
* '''Remove'''
 
 
 
Note that not all these options will be available all the time. For instance, if there is only one effect in the chain, "Move" options won't be shown. Same if the FX has not presets, etc.
 
  
 +
Short press LEARN will enable MIDI learning. MIDI notes will set the limits of the note range.
 
<br clear=all>
 
<br clear=all>
  
====XY-Controller====
+
==XY-Controller==
 
[[File:Zynthian_ui_xy_select.png|400px|right]]
 
[[File:Zynthian_ui_xy_select.png|400px|right]]
  
Line 350: Line 405:
 
Snapshots are used for saving and restoring the status of Zynthian. A snapshot includes the full state, including chains, effects, parameter values, MIDI-learning, etc.
 
Snapshots are used for saving and restoring the status of Zynthian. A snapshot includes the full state, including chains, effects, parameter values, MIDI-learning, etc.
  
Bold press SNAPSHOT to access the Snapshot View. The first option allows the current state to be saves as a new snapshot. An on-screen keyboard will allow naming the new snapshot.
+
Bold press SNAPSHOT to access the Snapshot View. The first option allows the current state to be saved as a new snapshot. An on-screen keyboard will allow naming the new snapshot.
  
 
Highlighting a snapshot in the list then short press SELECT or tap on list with touchscreen shows options for the snapshot:
 
Highlighting a snapshot in the list then short press SELECT or tap on list with touchscreen shows options for the snapshot:
Line 362: Line 417:
 
* '''Delete''' removes the snapshot
 
* '''Delete''' removes the snapshot
  
It is possible to recall snapshots via MIDI Program Change. New snapshots are assigned the next available MIDI Program Change. This number prefixes the snapshot name in the list.
+
It is possible to recall snapshots via MIDI Program Change on the ''Master MIDI Channel''. New snapshots are assigned the next available MIDI Program Change. This number prefixes the snapshot name in the list but may be changed using the options menu.
  
 
====Snapshot Banks====
 
====Snapshot Banks====
Line 393: Line 448:
 
'''1.''' From the Control View, short press LEARN. The CC MIDI-learn view is shown. It’s identical to the Control screen except that the controllers show a green “??”.
 
'''1.''' From the Control View, short press LEARN. The CC MIDI-learn view is shown. It’s identical to the Control screen except that the controllers show a green “??”.
  
'''2.''' Move a zynthian controller. The “??” changes to yellow. The other three will go back to normal state.
+
'''2.''' Move a Zynthian controller. The “??” changes to yellow. The other three will go back to normal state.
  
 
'''3.''' Finally, move a knob / fader in your MIDI keyboard / controller and the binding is done. The new CC number should appear at the bottom of the learned controller, replacing the "??".
 
'''3.''' Finally, move a knob / fader in your MIDI keyboard / controller and the binding is done. The new CC number should appear at the bottom of the learned controller, replacing the "??".
Line 408: Line 463:
 
Unlearn operations require confirmation.
 
Unlearn operations require confirmation.
  
Of course, MIDI-learning configuration, including CC mappings, is stored and restored with snapshots.
+
Of course, MIDI-learning configuration, including CC & PC mappings, is stored and restored with snapshots.
 
 
'''Technical Note:''' MIDI-CC learning works with all engines. It uses the engine’s native MIDI-learning capabilities if available otherwise Zynthian’s MIDI-filter mappings are used. To be more explicit, native MIDI-learning is used for MOD-UI and ZynAddSubFX OSC parameters. All the other parameters are managed by Zynthian’s MIDI-filter mapping.
 
  
 
<br clear=all>
 
<br clear=all>
  
====MIDI Program Change & ZS3 (SubSnapShots)====
+
==== ZS3 (SubSnapShots): MIDI Program Change Learning ====
 
[[File:Zynthian_ui_midi_zs3_learn.png|400px|right]]
 
[[File:Zynthian_ui_midi_zs3_learn.png|400px|right]]
A ZS3 (SubSnapShot) saves the zynthian state in the context of the current snapshot. When recalled, the saved state is restored. The chains are defined in the snapshot but their selected preset, parameters and mixer settings are defined in the ZS3. Snapshots can be slow to load as each engine needs to be started. ZS3 is much faster as the presets are restored and parameters adjusted. Some ZS3 may be slower due to the way some engines load presets, e.g. changing instrument within Pianoteq is slower than recalling a preset of the same instrument.
+
A ZS3 (SubSnapShot) saves the Zynthian state in the context of the current snapshot. When recalled from the UI or by MIDI Program Change, the saved state is restored. The chain's layout is defined for the snapshot and it can't be changed across ZS3s, but the rest of state is saved in ZS3: bank/preset, engine parameters, mixer settings, clone & key range settings, etc. Snapshots can be slow to load as each engine needs to be started. ZS3 is much faster as the presets are restored and parameters adjusted. Some ZS3 may be slower due to the way some engines load presets, e.g. changing instrument within Pianoteq is slower than recalling a preset of the same instrument.
 
 
ZS3s may be loaded by MIDI Program Change.
 
  
 
The idea behind this feature is to have a fast preset-change mechanism that can be used on stage. In combination with the “Stage Mode” feature, it turns Zynthian into a “Stage-Beast”. You can prepare a snapshot for the full performance, and use ZS3s for fast changes between songs or even within a song.
 
The idea behind this feature is to have a fast preset-change mechanism that can be used on stage. In combination with the “Stage Mode” feature, it turns Zynthian into a “Stage-Beast”. You can prepare a snapshot for the full performance, and use ZS3s for fast changes between songs or even within a song.
Line 431: Line 482:
  
 
You can recall the stored ZS3 by sending the same MIDI Program Change or selecting it from the ZS3 list. ZS3s are saved and restored within snapshots so remember to save the snapshot.
 
You can recall the stored ZS3 by sending the same MIDI Program Change or selecting it from the ZS3 list. ZS3s are saved and restored within snapshots so remember to save the snapshot.
 +
 +
ZS3 will restore configuration for all chains in multitimbral mode and for the currently selected (active) chain only in stage mode.
  
 
Bold press SELECT to manipulate ZS3:
 
Bold press SELECT to manipulate ZS3:
Line 437: Line 490:
 
* '''Update''' replaces the ZS3 with the current configuration
 
* '''Update''' replaces the ZS3 with the current configuration
 
* '''Delete''' removes the ZS3
 
* '''Delete''' removes the ZS3
 
ZS3 behavior depends of the mode your zynthian is working on:
 
 
#TODO: Validate this behaviour:
 
* '''Stage Mode''': ZS3 list shows all the ZS3s stored, no matter the chain. Recalling a ZS3 changes the active chain, so the chain associated with the recalled ZS3 will receive *ALL* the MIDI input. Only 127 ZS3s can be stored.
 
* '''Multi-timbral Mode''': ZS3 list shows the ZS3 of the currently active chain only. Recalling a ZS3 changes the active chain, but every chain receives MIDI input from its channel. You can use several keyboards on different channels and store 127 ZS3s by MIDI channel.
 
 
 
<br clear=all>
 
<br clear=all>
 
 
  
 
==MIDI Recording and Playback==
 
==MIDI Recording and Playback==
Line 476: Line 520:
 
'''NOTE:''' Simultaneous record and playback is possible.
 
'''NOTE:''' Simultaneous record and playback is possible.
  
During playback a BPM control will be shown to adjust the transport speed. The same transport is used for step sequencer so tempo adjustments afect both SMF and step sequence playback.
+
During playback a BPM control will be shown to adjust the transport speed. The same transport is used for step sequencer so tempo adjustments affect both SMF and step sequence playback.
  
 
===Deleting===
 
===Deleting===
Line 483: Line 527:
  
 
<br clear=all>
 
<br clear=all>
 
  
 
==Audio Recording and Playback==
 
==Audio Recording and Playback==
  
#TODO: Upload audio player screenshot
+
[[File:Audio player.png|400px|right]]
  
 
Zynthian has an audio recorder that will, by default record the stereo output of the audio mixer's main mixbus output (post effects, post fader).
 
Zynthian has an audio recorder that will, by default record the stereo output of the audio mixer's main mixbus output (post effects, post fader).
 +
 +
=== Recording Audio ===
  
 
1. From the Mixer View, highlight the main mixbus (far right strip) and bold press Select or tap and hold the main mixbus legend strip on the touchscreen. The Chain Options menu is shown. Select the option "Start Audio Recording".
 
1. From the Mixer View, highlight the main mixbus (far right strip) and bold press Select or tap and hold the main mixbus legend strip on the touchscreen. The Chain Options menu is shown. Select the option "Start Audio Recording".
Line 497: Line 542:
 
3. Within the main mixbus Chain Options menu select  "Stop Audio Recording" for finishing the capture. The red circle will disappear.
 
3. Within the main mixbus Chain Options menu select  "Stop Audio Recording" for finishing the capture. The red circle will disappear.
  
To playback audio:
+
=== Playback Audio ===
  
 
1. From Main Menu select "New Special Chain"
 
1. From Main Menu select "New Special Chain"
Line 506: Line 551:
  
 
4. Select the audio recording from the preset list
 
4. Select the audio recording from the preset list
 +
 +
=== General Usage ===
  
 
The audio player shows transport and other configuration controls and draws a waveform image. Start playback by changing the transport from "stopped" to "playing". Playback position is indicated by a vertical line on the waveform and the "position" controller value (in seconds). Playback position can be adjusted. One-shot or loop playback is available. Selection of which channel in the audio file (or a mix of all odd / even channels) is sent to each output, e.g. for a 4 track audio file you may select any of the four tracks to feed left or right output or select mixdown to mix tracks 1 & 3 to left output and 2 & 4 to right output. There is also a gain control.
 
The audio player shows transport and other configuration controls and draws a waveform image. Start playback by changing the transport from "stopped" to "playing". Playback position is indicated by a vertical line on the waveform and the "position" controller value (in seconds). Playback position can be adjusted. One-shot or loop playback is available. Selection of which channel in the audio file (or a mix of all odd / even channels) is sent to each output, e.g. for a 4 track audio file you may select any of the four tracks to feed left or right output or select mixdown to mix tracks 1 & 3 to left output and 2 & 4 to right output. There is also a gain control.
Line 512: Line 559:
  
 
The audio player also has a controller to control the audio recorder. Each time the "record" controller is asserted a new recording is started which may be ended by resetting the "record" controller. This is the same audio recorder accessible from the mixer's main mixbus options menu.
 
The audio player also has a controller to control the audio recorder. Each time the "record" controller is asserted a new recording is started which may be ended by resetting the "record" controller. This is the same audio recorder accessible from the mixer's main mixbus options menu.
 +
 +
=== Audio Recording Output Config ===
  
 
There is a configuration in webconf to enable multitrack audio recording. If this is enabled then there is an extra option in the audio options within each chain's options menu to toggle "Recording Primed". With none of these enabled, the audio recorder will record will be a stereo file from the main mixbus output (post effects, post fader). If any are enabled then a multitrack recording is made with a pair of tracks for each enabled chain. The main mixbus may also be enabled to add a stereo mix pair of tracks to the multitrack recording.
 
There is a configuration in webconf to enable multitrack audio recording. If this is enabled then there is an extra option in the audio options within each chain's options menu to toggle "Recording Primed". With none of these enabled, the audio recorder will record will be a stereo file from the main mixbus output (post effects, post fader). If any are enabled then a multitrack recording is made with a pair of tracks for each enabled chain. The main mixbus may also be enabled to add a stereo mix pair of tracks to the multitrack recording.
Line 542: Line 591:
  
 
You can configure the Audio Level controllers from the webconf's hardware->audio menu. Simply click the '''+''' button on the "Mixer Controls" text area.  
 
You can configure the Audio Level controllers from the webconf's hardware->audio menu. Simply click the '''+''' button on the "Mixer Controls" text area.  
 +
 +
The settings vary between sound cards. The official V4 soundcard has these settings enabled in webconf by default:
 +
 +
* ADC Left - Level adjustment of the left input
 +
* ADC Right - Level adjustment of the right input
 +
* ADC Left Input - Configure left input connector:
 +
** No Select - Disconnect input
 +
** VINL1[SE] - Tip & sleeve single ended/unbalanced
 +
** VINL2[SE] - Ring & sleeve single ended/unbalanced
 +
** VINL2[SE] + VINL1[SE] - Tip, ring & sleeve single ended/unbalanced
 +
** [VIN1P, VIN1M][DIFF] - TRS differential/balanced
 +
* ADC Right Input - Configure left input connector:
 +
** Same options as ADC Left Input
 +
* Digital Left - Level adjustment of left output
 +
* Digital Right - Level adjustment of right output
 +
* PGA Gain Left - Gain adjustment of left input
 +
* PGA Gain Right - Gain adjustment of right input
 +
 +
Note that the gain adjustment allows coarse control of the overal gain of an input, allowing configuration for line, mic, etc. The level adjustment is an overal 0…100% level.
 +
 +
The input connector configuration can be useful for a few variations:
 +
 +
* Balanced signals on TSR - [VIN1P, VIN1M][DIFF]
 +
* Unbalanced mono on TS - VINL1[SE]
 +
* Two unbalanced (e.g. stereo) on TSR mixed to mono - VINL2[SE] + VINL1[SE]
  
 
<br clear=all>
 
<br clear=all>
  
==Step Sequencer==
+
==Step Sequencer - ZynSeq==
  
Zynthian has a step sequencer which provides methods to create patterns and arrange them into sequences.
+
Zynthian has a step sequencer called ZynSeq which provides methods to create patterns and arrange them into sequences.
  
 
The step sequencer may be accessed from the main screen or by long press LAYER.
 
The step sequencer may be accessed from the main screen or by long press LAYER.
Line 556: Line 630:
 
* Note entry can be performed from the Zynthian user interface or using an external MIDI controller.
 
* Note entry can be performed from the Zynthian user interface or using an external MIDI controller.
 
* Sequences can be started and stopped from the Zynthian user interface or using an external MIDI controller.
 
* Sequences can be started and stopped from the Zynthian user interface or using an external MIDI controller.
 +
 +
 +
=== Zynseq Views ===
  
 
These are three main views:
 
These are three main views:
  
[[File:Zynpad 4x4 playing starting.png|400px|right]]
+
[[File:Sequencer_pad_view_2_playing.png|400px|right]]
  
 
'''Pads'''<br>
 
'''Pads'''<br>
Line 616: Line 693:
  
  
{{NoteBox| The resistive touchscreen works better with a stylus. Finger is too coarse. It's strongly recommended to run the calibration using a stylus. }}
+
{{NoteBox| The resistive touchscreen works better with a stylus. Finger is too coarse. It's strongly recommended to run the calibration using a stylus.
 +
Screen calibration is beneficial to resistive touch screens and less likely to be useful for capacitive touchscreens which tend to be well absolutely aligned.}}
  
 
<br clear=all>
 
<br clear=all>
Line 627: Line 705:
 
Short tapping the top-bar acts as a back button. Bold tap will show an appropriate menu or return to the mixer view.
 
Short tapping the top-bar acts as a back button. Bold tap will show an appropriate menu or return to the mixer view.
  
You can "emulate" the switches by tapping (not dragging) the controller widgets (squares in the 4 corners of the screen) where these controllers are presented. (Not all screens have controllers. Some have just one. The '''zynthian logo''' (top-right) may be tapped to emulate LEARN/SNAP). There are short, bold and long actions, the same behavior as the rotary encoders workflow.  
+
You can "emulate" the switches by tapping (not dragging) the controller widgets (squares in the 4 corners of the screen) where these controllers are presented. (Not all screens have controllers, some have just one). The '''Zynthian logo''' (top-right) may be tapped to emulate LEARN/SNAP). There are short, bold and long actions, the same behavior as the rotary encoders workflow.  
  
 
You can change the controller values by "sliding" up / down over the widgets. (See the green arrow in the figure) This is the same as turning the knob. If you are using a mouse, the mouse wheel also can be used to change the controller value and acts to adjust parameters in some other views.
 
You can change the controller values by "sliding" up / down over the widgets. (See the green arrow in the figure) This is the same as turning the knob. If you are using a mouse, the mouse wheel also can be used to change the controller value and acts to adjust parameters in some other views.
Line 637: Line 715:
 
=CUIA: Callable UI Actions=
 
=CUIA: Callable UI Actions=
  
The Zynthian UI can be controlled remotely using a set of commands called CUIA: Callable UI Actions. These CUIA are available on several interfaces: Key Bindings, MIDI, OSC, etc.
+
The Zynthian UI can be controlled remotely using a set of commands called CUIA: Callable UI Actions. These CUIAs are available on several interfaces: Key Bindings, MIDI, OSC, etc.
 +
 
 +
==Key Bindings: Controlling the UI with a computer keyboard==
 +
 
 +
[[File:webconf_key_bindings.png|600px|right]]
  
==KeyBindings: Controlling the UI with a computer keyboard==
+
The user interface may be driven using a computer keyboard (QWERTY, Dvorak, etc.). Key assignment map can be consulted and configured from the webconf tool:
  
The user interface may be driven using a USB keyboard, e.g. QWERTY, Dvorak, etc. Key assignment and their combinations can be modified with the webconf tool. The default key bindings are:
+
'''Interface->UI Key Binding'''
  
{| class="wikitable"
+
<br clear=all>
|+ Keyboard shortcuts
 
|-
 
! Action !! Modifier !! Key
 
|-
 
| ALL_NOTES_OFF || None|| Space
 
|-
 
| ALL_OFF || Ctrl || Space
 
|-
 
| ALL_SOUNDS_OFF || Shift || Space
 
|-
 
| BACK_DOWN || CapsLock || Down
 
|-
 
| BACK_UP || CapsLock || Up
 
|-
 
| LAYER_DOWN || Shift || Down
 
|-
 
| LAYER_UP || Shift || Up
 
|-
 
| POWER_OFF || Ctrl || End
 
|-
 
| REBOOT || Ctrl || Home
 
|-
 
| RELOAD_MIDI_CONFIG || Ctrl || Insert
 
|-
 
| RESTART_UI || Shift || Home
 
|-
 
| SELECT_DOWN || None || Down
 
|-
 
| SELECT_UP || None || Up
 
|-
 
| SNAPSHOT_DOWN || Ctrl || Down
 
|-
 
| SNAPSHOT_UP || Ctrl || Up
 
|-
 
| START_AUDIO_PLAY || Ctrl || a
 
|-
 
| START_AUDIO_RECORD || None || a
 
|-
 
| START_MIDI_PLAY || Ctrl || m
 
|-
 
| START_MIDI_RECORD || None || m
 
|-
 
| STOP_AUDIO_PLAY || Ctrl+Shift|| a
 
|-
 
| STOP_AUDIO_RECORD || Shift || a
 
|-
 
| STOP_MIDI_PLAY || Ctrl+Shift || m
 
|-
 
| STOP_MIDI_RECORD || Shift || m
 
|-
 
| SWITCH_BACK_BOLD || Shift || BackSpace, Escape, Left
 
|-
 
| SWITCH_BACK_LONG || Ctrl || BackSpace, Escape, Left
 
|-
 
| SWITCH_BACK_SHORT || None || BackSpace, Escape, Left
 
|-
 
| SWITCH_LAYER_BOLD || Shift|| l
 
|-
 
| SWITCH_LAYER_LONG || Ctrl || l
 
|-
 
| SWITCH_LAYER_SHORT || None|| l
 
|-
 
| SWITCH_SELECT_BOLD || Shift || Return, Right
 
|-
 
| SWITCH_SELECT_LONG || Ctrl || Return, Right
 
|-
 
| SWITCH_SELECT_SHORT || None || Return, Right
 
|-
 
| SWITCH_SNAPSHOT_BOLD || Shift || s
 
|-
 
| SWITCH_SNAPSHOT_LONG || Ctrl || s
 
|-
 
| SWITCH_SNAPSHOT_SHORT || None || s
 
|-
 
| TOGGLE_AUDIO_PLAY || CapsLock+Shift || a
 
|-
 
| TOGGLE_AUDIO_RECORD || CapsLock || a
 
|-
 
| TOGGLE_MIDI_PLAY || CapsLock+Shift || m
 
|-
 
| TOGGLE_MIDI_RECORD || CapsLock || m
 
|}
 
  
 
==Controlling the UI with MIDI messages==  
 
==Controlling the UI with MIDI messages==  
  
CUIA may be triggered by MIDI messages on the Master Channel (disabled by default, but configurable with the webconf tool), specifically, note-on messages (0x9) are used so you can use a MIDI keyboard for controlling the Zynthian UI. For instance, to Power Off the zynthian, you send this message:
+
CUIA may be triggered by MIDI messages on the Master Channel (disabled by default, but configurable with the webconf tool), specifically, note-on messages (0x9) are used so you can use a MIDI keyboard for controlling the Zynthian UI. For instance, to Power Off the Zynthian, you send this message:
 
   
 
   
 
  0x9F  (Channel 16 Note ON)  
 
  0x9F  (Channel 16 Note ON)  
Line 735: Line 735:
 
  0x00  (Velocity / parameter)
 
  0x00  (Velocity / parameter)
  
or play the C-1 key, if your keyboard has it.
+
or play the C-0 key, if your keyboard has it.
  
Note that you can use the velocity for sending the CUIA parameter when it's required by the action (SELECT & LAYER_CONTROL).
+
Please, note that you can use the velocity for sending the first CUIA parameter when it's required by the action (for instance, SELECT or CHAIN_CONTROL).
  
This is the full map of CUIA to MIDI notes:
+
[[File:webconf_midi_options_master_key_actions.png|600px|right]]
  
'''Num'''  '''CUIA'''                      '''Note'''        '''System Real-Time'''
+
You can check the map of MIDI-CUIA actions in the webconf tool:
0    POWER_OFF                  C-1
 
1    REBOOT                    C#-1
 
2    RESTART_UI                D-1
 
3    RELOAD_MIDI_CONFIG        D#-1
 
4    RELOAD_KEY_BINDING        E-1
 
5    LAST_STATE_ACTION          F-1
 
  
  10    ALL_NOTES_OFF              A#-1
+
  '''Interface->MIDI-options->Master Key Actions'''
11    ALL_SOUNDS_OFF            B-1
 
12    ALL_OFF                    C0
 
  
23    TOGGLE_AUDIO_RECORD        B0
+
From there, you can also reconfigure the map to better suit your needs.
24    START_AUDIO_RECORD        C1
 
25    STOP_AUDIO_RECORD          C#1
 
26    TOGGLE_AUDIO_PLAY          D1
 
27    START_AUDIO_PLAY          D#1
 
28    STOP_AUDIO_PLAY            E1
 
  
35    TOGGLE_MIDI_RECORD        B1
+
For a detailed list of available CUIAs, [[Accessing Zynthian from your computer#CUIA:_Callable_User_Interface_Actions|check this section]].
36    START_MIDI_RECORD          C2
 
37    STOP_MIDI_RECORD          C#2
 
38    TOGGLE_MIDI_PLAY          D2
 
39    START_MIDI_PLAY            D#2          Start / Continue: 0xFA, 0xFB
 
40    STOP_MIDI_PLAY            E2            Stop: 0xFC
 
  
51    SELECT                    D#3
+
<br clear=all>
52    SELECT_UP                  E3
 
53    SELECT_DOWN                F3
 
54    BACK_UP                    F#3
 
55    BACK_DOWN                  G3
 
56    LAYER_UP                  G#3
 
57    LAYER_DOWN                A3
 
58    SNAPSHOT_UP                A#3
 
59    SNAPSHOT_DOWN              B3
 
 
 
64    SWITCH_BACK_SHORT          E4
 
63    SWITCH_BACK_BOLD          D#4
 
62    SWITCH_BACK_LONG          D4
 
 
 
65    SWITCH_SELECT_SHORT        F4
 
66    SWITCH_SELECT_BOLD        F#4
 
67    SWITCH_SELECT_LONG        G4
 
 
 
60    SWITCH_LAYER_SHORT        C4
 
61    SWITCH_LAYER_BOLD          C#4
 
59    SWITCH_LAYER_LONG          B3
 
 
 
71    SWITCH_SNAPSHOT_SHORT      B4
 
72    SWITCH_SNAPSHOT_BOLD      C5
 
73    SWITCH_SNAPSHOT_LONG      C#5
 
 
 
80    SCREEN_MAIN                G#5
 
81    SCREEN_LAYER              A5
 
82    SCREEN_BANK                A#5
 
83    SCREEN_PRESET              B5
 
84    SCREEN_CONTROL            C6
 
 
 
90    MODAL_SNAPSHOT_LOAD        F#6
 
91    MODAL_SNAPSHOT_SAVE        G6
 
92    MODAL_AUDIO_RECORDER      G#6
 
93    MODAL_MIDI_RECORDER        A6
 
94    MODAL_ALSA_MIXER          A#6
 
95    MODAL_STEPSEQ              B6
 
96    MODAL_ADMIN                C7
 
 
 
100  LAYER_CONTROL              E7
 
 
 
[[File:2Oct_Keyboard_CUIA.png|600px|Keyboard]]
 
  
[[File:Midi-note-chart.jpg]]
+
==Controlling the UI with OSC (Open Sound Control) messages==
  
==Controlling the UI with OSC messages==
+
CUIA may be triggered using OSC (Open Sound Control protocol) on UDP port 1370, with the path prefix "/cuia", e.g. "/cuia/reboot". Take a look at "[[Accessing_Zynthian_from_your_computer#OSC|Calling CUIA with OSC]]".
  
CUIA may be triggered using OSC on UDP port 1370, with the path prefix "/cuia", e.g. "/cuia/reboot". Take a look at "[[Accessing_Zynthian_from_your_computer#OSC|Calling CUIA with OSC]]".
+
Also see [https://en.wikipedia.org/wiki/Open_Sound_Control Open Sound Control] at Wikipedia and [https://youtu.be/rf8YNPjVvF4 this explanatory video] for more information about the protocol.

Latest revision as of 01:01, 7 April 2024

1 General Concepts

The core Zynthian UI consists of a display and four knobs with push switches. You can also control the UI with a touchscreen, a mouse or a keyboard (computer keyboard or MIDI keyboard, both!)

The four knobs with switches are the primary control mechanism to navigate the UI:

  • Accessing the different screens
  • Selecting options on menus and lists
  • Adjusting parameters

Most operations may be performed with the touchscreen but some may not be intuitive. See the section on touchscreen and comments throughout this documentation.

There are two main screen-layout types:

  • Selector Screen: a list of items that you can scroll and select with the SELECT knob (CTRL-4)
  • Controller Screen: 4 control widgets in the corners (one for each knob), with label and value indicators (graphic and numeric). In the middle there is a list of controller screens, each one mapping 4 controllers which you can use to change the engine parameters.

Most of Zynthian UI screens belongs to one of these 2 categories, however, other screen-layouts do exist:

  • Confirmation Screen: It will ask you to confirm some operation.
  • XY Controller Screen: It allows to modify 2 parameters at once using the touch interface.
  • Info Screen: It displays info about an operation, like "Update Software", or "Network Info".
  • Key Range & Transpose Screen: It allows to choose the key range and transpose notes by octaves or semitones.
  • Mixer: The main screen from you manage the chains.
  • etc.

There are 3 types of push actions that can be performed, depending on how long you hold down the knob / button (or hold your finger on the touch-display).

  • Short push: Less than 0.3 seconds
  • Bold push: Between 0.3 and 2 seconds
  • Long push: More than 2 seconds (until the long-action is triggered!)

These timing values are the default ones. You can adjust them to your personal feeling from the UI options in the web-based configuration tool (webconf).

Some push actions depends of context. The SELECT knob is mainly used to navigate and a short push on it will select an item on a "Selector Screen". Inside a "Controller Screen", short pushes can be used to rotate between chains (LAYER knob) or between controller pages (SELECT knob). "Bold-pushes" are normally intended as shortcuts for jumping to specific screen like "chain options", "main menu", etc. Pushing the BACK knob generally close the current modal-screen or jumps to the previous screen in the workflow sequence.

Although some push actions depend of context (current screen), there are some actions that are global and will work from any screen:

  • Bold-Back: Mixer
  • Long-Layer: Step Sequencer
  • Long-Back: Admin Menu
  • Long-Learn: All Notes Off
  • Long-Select: Power Off

Later versions of Zynthian kits include 4 extra push buttons, labelled as S1 to S4. By default, these buttons are assigned to MIDI Program Change 1-4, but this can be easily changed from the webconf's Wiring Layout menu.


1.1 The Title Bar

The title bar has 2 functions:

  • Kind of Breadcrumb, normally showing the screen title or current chain information: MIDI channel, engine, bank & preset
  • Back-button, when using the touch-interface (Not very intuitive, but Zynthian-UI was not designed with touch-navigation in mind)


1.2 The Status Area

On the top-right corner is an area where some useful information is displayed in real time:

  • Audio peak-meter or CPU load-bar: horizontal bars indicating peak audio level or CPU load (configured in webconf)
  • Status Icons: indication of various states
1st row: Health & Load
Cpu Load Heart, indicating CPU load. It displays as green when under 50%, yellow when load is over 50% and red over 75%.
Software update available When a software update is available, the green recycle symbol is shown. You can update from the admin menu, webconf or terminal.
XRun It's shown when there are XRuns. This may be accompanied by clicks and pops on audio output. This means the CPU can't process or transfer audio fast enough and you should consider disabling some CPU-hungry option (like VNC, headphones, etc.) or reducing the complexity of your chains.
Under-voltage Zynthian is working in a degraded state, with the CPU frequency capped to 600-800 MHz, trying to stabilize the system and avoid a system crash. You shouldn't see that icon and if you do so, you should consider looking for a better power source.
Over-temperature Zynthian is working in a degraded state, with the CPU frequency capped to 600-800 MHz, trying to stabilize the system and avoid a system crash. You shouldn't see that icon and if you do so, you should improve heat dissipation (using a heat sink, etc.)
2nd row: MIDI activity & Playing/Recording
m MIDI-IN It's shown when MIDI messages are received. Underscore indicates system message such as MIDI clock.
Recording Audio Audio is being recorded.
Playing Audio Audio track is being played.
Recording MIDI MIDI is being recorded.
Playing MIDI MIDI track is being played.
Recording Pattern A sequencer's pattern is being recorded.
Playing Sequence A sequence or pattern is being played.

1.2.1 The Peak Meter

The Audio Peak meter is shown by default. The meter covers the range -50dBFS to 0dBFS, i.e. maximum permissible level at full scale (far right) down to 50dB below (far left):

  • The green segment covers the range -50dBFS to -10dBFS.
  • The yellow segment covers the range -10dBFS to -3dBFS.
  • The red segment covers the range -3dBFS to 0dBFS.

There are independent meters for left and right channels which monitor the system output, i.e. the mix of audio that feeds the Zynthian output. Level decays with a logarithmic rule, taking one second to decay to -200dBFS so will decay to -50dBFS (the displayed range) in about quarter of a second. Peaks are displayed instantly, i.e. the attack of the meter is immediate (*). The peak hold bar remains for two seconds or until a higher peak is reached.

(*) Meter is updated 5 times per second so there can be 200 ms delay in peak being displayed.

Alternately, the "CPU-load" bar can be enabled from webconf, replacing the Audio Peak meter. The CPU-load bar shows the CPU usage as calculated by the Jack Audio Server:

This is a running average of the time it takes to execute a full process cycle for all clients as a percentage of the real time available per cycle determined by the buffer size and sample rate.

2 The Zynthian UI Workflow

Zynthian workflow is based around chains of audio/MIDI generators & processors feeding an audio summing mixer.


2.1 Chains

Chains are a key concept of the Zynthian. The first thing you will do after powering-on your Zynthian is probably to create a chain. (It does little without any chains!)

A chain is composed of one or more interconnected blocks, capable of generating or processing audio & MIDI. Each chain is normally assigned to a MIDI channel. These blocks are chained in the same order they are created, but you can change this order from the Chain Options menu. The first block created in a chain is the root and it determines the chain's type:

  • Synth Chain => Receives MIDI note-events and generate audio output. It must have a synth processor.
  • Audio Chain => Receives audio-input and generates audio-output. It only has audio-FX processors.
  • MIDI Chain => Receives MIDI-input and generates MIDI-output. It only has MIDI processors.
  • Generator Chain => Generate audio output using an algorithm. The first processor is an audio generator.
  • Special Chain => It can contains special processors, like an AudioPlayer (sampler), a MOD-UI pedalboard or a Pure Data patch, etc.


The chain's type can't be changed. Depending of the chain's type, MIDI processors can be added to the start of the chain and audio processors can be added to the end of the chain. Chain processors can be re-sorted and arranged as serial or parallel paths.


(*) If Master Channel is enabled, this is excluded from the MIDI channels available for chain assignment.

Having several chains on the same MIDI channel is not allowed currently. If you want two or more chains to play in unison (like being on the same MIDI channel), you can use the "Clone" feature, which allows you to bind several chains while keeping MIDI CCs and other MIDI messages (Program Change, Channel Pressure, etc.) independent.


2.2 MIDI input

Each chain receive MIDI input from selected devices (keyboards and other MIDI controllers). You can configure the MIDI input devices from the chain's option menu. Use short-push for selecting the devices and bold-push for changing the input mode. All input devices are selected by default when creating a new chain.

Each input device can work in 3 different modes:

  • ACTI: only the active chain receives all MIDI input from the device and all MIDI events are translated to the active chain's MIDI channel. It's the default mode.
  • OMNI: each chain receives all MIDI input from the device and all MIDI events are translated to each chain's MIDI channel.
  • MULTI: each chain receives MIDI from the input device in the configured MIDI channel. No MIDI channel translation is done.

When using ACTI mode you don't need to worry about the MIDI channel your keyboard/controller is using. You change the instrument you play by changing the active chain in your zynthian. You can change the active chain by simply rotating the select knob (#4) in the Mixer view or using the the left/right arrows.

In the other hand, MULTI mode allows receiving and managing separately every MIDI channel. Each MIDI controller will drive the chains assigned to the controller's MIDI channel. If you are using a MIDI controller that can sequence multiple tracks (Beatstep Pro, Keystep Pro, Novation Circuit etc.) then you will generally want to use this mode.

Finally, OMNI mode allows one or several chains to receive all MIDI input from your device translated to chain's MIDI channel. This can be useful for some use-cases. Be warned that this mode will be dropped in the near future so you should avoid it.

Note that MIDI CC (Continuous Controllers) events are handled differently and they are not routed to chains. See section on MIDI Learning & binding.


2.3 Navigation

The home screen is the Mixer and it's always reachable by pressing bold-Back. Navigation between views is performed by pressing buttons or using the touchscreen. Most destructive changes, e.g. removing chains, will request confirmation. Operations that take time to complete may show an animated zynthian logo representing progress.

Navigation, default actions and common workflows are shown in the following graphs:


3 The UI Screens

3.1 Mixer

The mixer view is the home screen and pressing bold-BACK should always navigate to this screen. It displays a strip for each configured chain plus a strip for the main mixbus. The quantity of strips displayed may be configured using webconf. If there are more chains than can be displayed, the screen can be scrolled horizontally by selecting a higher / lower chain or dragging the bottom legend strip.

3.1.1 Audio Chains

Each audio chain has the following mixer controls:

  • Fader adjusts the audio level
  • Balance / Pan adjusts the position or balance within the output stereo image
  • Mute toggles the audio feed to the main mixbus
  • Solo toggles the audio contribution to the solo mixbus*

(*) When solo is enabled on any chain, all other chains are muted. Solo can be enabled for multiple chains, each contributing to the output. Operating the main mixbus solo will disable solo on all chains.

Each audio chain also has a stereo audio level meter indicating peak programme level with peak hold bar. This may be disabled in admin menu or webconf to reduce CPU load if required.

3.1.2 MIDI Chains

MIDI only (non-audio) chains show in the mixer view without any audio mixer controls nor meter.

3.1.3 Contextual Actions

  • Rotate SELECT knob or tap on a strip to select a chain.
  • Rotate LAYER knob or drag the touchscreen to adjust the selected chain's fader.
  • Rotate BACK knob to adjust the selected chain's balance / pan.
  • Rotate LEARN/SHOT knob or drag the touchscreen to adjust the main mixbus fader.
  • Press short-LAYER to toggle solo of the selected chain.
  • Press short-BACK to toggle mute of the selected chain.
  • Press short-LEARN/SHOT to enter MIDI learn mode.
  • Press short-SELECT to access the chain's Control View.
  • Press bold-LAYER to access the main menu.
  • Press bold-LEARN/SHOT to access snapshots.
  • Press bold-SELECT to access the selected chain's options.

3.2 Main Menu

This is the first screen you would see when you power on your zynthian for first time and no default or last-state snapshot has been saved yet. The Main Menu gives easy access to the Zynthian-UI's main features:

  • New Synth Chain adds a synthesis chain
  • New Audio Chain adds an audio processing / effect chain
  • New MIDI Chain adds a MIDI processing chain
  • New Generator Chain adds an audio generator chain
  • New Special Chain adds a non-standard or special chain
  • Snapshots manage snapshots
  • Sequencer access the step sequencer
  • MIDI Recorder access the standard MIDI file recorder / player
  • Clean All remove all chains and sequences
  • Audio Levels adjust hardware audio parameters
  • Admin access configuration menu
  • PANIC! All Notes OFF resets all MIDI engines


3.3 Engine Selector

When you create a new chain, you are asked which engine or plugin you want to use for it. An engine creates or processes MIDI or audio. A list of engines to choose from is displayed. They can be synthesizers, effects, generators or special engines, depending on the type of chain you are creating. When you select an element from the list, the Zynthian logo on the top-right will be animated while the engine is being started.

Some engines have special behavior regarding chains and MIDI channels:

  • setBfree: can create 1, 2 or 3 chains assigned to consecutive MIDI channels starting at the selected channel corresponding to the upper manual, lower manual and pedals sections of the Hammond B3 emulation.
  • Pianoteq: only one instance of Pianoteq may be created. (There is also a LV2 version which may be enabled and several instances created.)
  • Aeolus: occupies MIDI channels 1, 2, 3 & 4, each one corresponding to the 3 manuals + 1 pedal of the Aeolus organ emulator. If all four MIDI channels are not available then Aeolus will be hidden from the list of available engines. You can change the MIDI channel assignments from the Aeolus native UI. If you want to use a different instrument definition, you will have to tweak the engine's code a little bit.
  • MOD-UI: only one MOD-UI chain is allowed and it will receive ALL MIDI channels. If you want to filter the messages by channel, you can do it within the MOD-UI patch. (There are plans for improving this behavior.)
  • PureData: only one PureData chain is allowed.


3.4 MIDI Channel selector

This screen is shown in various contexts:

  • When creating a new chain, after you have selected the engine. Only unused channels are listed.
  • When you change the assigned MIDI channel from the Chain Options menu. Only unused channels are listed.
  • When you clone MIDI for a chain, from the Chain Options menu.

Playing a note on a connected MIDI controller will cause the list to jump to the MIDI channel of the note played. This can assist with assigning chains to controllers.


3.5 Bank selector

Presets (instruments, patches, sound designs, etc.) for engines may be organized into banks. You can access engine's bank list by pressing short-BACK from within its presets list. Choose (short-SELECT) a bank to see the list of presets on it.


Bold-SELECT or touch and hold a bank on the touchscreen will show the Bank Options menu. User banks may be renamed or deleted. Some engines do not allow banks to be manipulated in which case this will have no effect.

Short-BACK to return to the Control View without selecting.

3.6 Preset selector

Once you have chosen a bank, the preset screen will be shown. Choose a preset to load the instrument / sound / patch / etc. and the Control View will be shown.

To change the selected preset for a engine in a chain, navigate to its Control View then short press BACK to access the list of presets. Use the SELECT encoder to highlight the required preset and short-SELECT (or tap, if using touchscreen) to select the preset. The engine will configure with the preset values and the Control View will be displayed.

Bold-SELECT a preset (or touch and hold on the touchscreen) will show the Preset Options menu. A preset may be added to or removed from a list of favorites, renamed or deleted. Some engines do not allow presets to be manipulated and will only show the Favourite option. (Saving presets is performed in the chain options menu described later.)

If the preload with note-on feature is enabled in the admin menu or webconf, you can audition the presets by playing notes. When you do so, the highlighted preset will be pre-loaded without pressing SELECT. Note that some engines may be slow to load presets in which case it may be necessary to play the note more than once to hear the new preset sound.

You can return to the bank screen, without selecting any preset, by pressing short-BACK. The previously selected instrument will be restored, e.g. if a preset has been pre-loaded (auditioned).

Press bold-SELECT to manage the preset including adding to your favorites. The favorites list can be shown by pressing short-LEARN/SHOT in the Bank or Preset View.

Not all engines support presets. If no presets are configured then this screen is not shown.

3.7 Control View

The Control View shows the controls available for each engine within a chain. It is shown after adding a chain, adding an engine to a chain or by pressing short-SELECT (or tapping the bottom legend strip in the mixer view). Your instrument is now enabled and playable and you can modify its parameters.

The controls are shown in groups of four (or fewer) on several pages. Each hardware knob controls a parameter displayed in the control view or the control may be dragged up and down on the touchscreen. Controls may toggle between two values, e.g. on / off, lists of values, e.g. sine, square, triangle or continuously adjustable values, e.g. 0%..100%. If there are a lot of possible values the hardware knobs will accelerate progress if rotated fast, e.g. stepping by one value when turned slowly and stepping by 10 values when rotated fast. This allows fine and coarse selection of a parameter from a single knob.

There is a list that shows the pages of controls available. To change page, press short-SELECT - the list of pages turns grey, rotate SELECT to highlight the required page then short press again to select the page. If there are fewer than three pages then short-SELECT will step through each page. Alternatively, tap the required page on the touchscreen. When a page is selected its controls will be shown. Depending on the configuration, some pages may have fewer than four controls and some engines have no adjustable parameters in which case there will be no control pages.

The pages for the controls for each engine within a chain are shown separated by a title indicating to which engine subsequent pages belong.

Some engines have a graphical representation of controls / monitoring available. This will be shown in place of the list of pages. Pages can still be selected in the same manner as described above except the list is not available for touchscreens.

Tapping (and not dragging) one of the four controls on a touchscreen will simulate pressing its associated knob, i.e. tap on the bottom right control to show the list of pages.

3.8 Chain Options

Pressing bold-SELECT when in the Mixer View or Control View will show the Chain Options menu, allowing to manipulate the chain:

  • Save Preset will allow saving of a engine's configuration as a preset that may later be selected from the preset list. This is only available if the engine supports manipulation of presets. If a chain has several engines then a list of engines will be displayed before naming the preset.
  • Note Range & Transpose allows configuration of the key-range and transpose by octaves or semitones applied to the chain.
  • Clone MIDI to... allows MIDI events targetted at this chain to be sent to other MIDI channels. By default only note-on, note-off, pitchbend and key-pressure messages are cloned. CC, channel-pressure, program change, etc. can be enabled by bold SELECT on a channel within the Clone menu
  • Audio Options allows mono and phase reverse to be toggled for the audio mixer strip. If enabled in webconf this menu also allows the chain to be primed to be recorded as a separate channel in the audio recorder. This option is not available for MIDI Chains.
  • Audio Output allows manipulation of the routing of the chain's audio outputs. This allows complex audio routing to be performed. If this is not sufficient, try MOD-UI engine with the MOD-UI web GUI. This option is not available for MIDI chains.
  • Audio Capture allows manipulation of the routing of the chain's audio inputs. This option is only available on audio chains.
  • MIDI Routing => Select the destination of the chain's MIDI output. This option is only available on MIDI-FX chains.
  • MIDI Channel allows changing of the chain's MIDI Channel. Only MIDI channels not assigned to other chains are available.
  • Replace Synth allows a synth engine to be replaced by another synth engine.
  • Remove Chain will remove the chain.
  • Add MIDI-FX adds a MIDI effect to the chain. The MIDI effect will be inserted before synth engines.
  • Remove All MIDI-FX removes all MIDI effects from the chain
  • The list of MIDI effects in the chain is displayed with arrows representing their relative position
  • Add Audio-FX adds an audio effect to the end of the chain. This option is not available for MIDI Chains.
  • Remove All Audio-FX removes all audio effects from the chain.
  • The list of audio effects in the chain is displayed with arrows representing their relative position. MIDI and audio effects can be added in series or parallel to the last corresponding (MIDI or audio) effect in the chain.


Select an effect in the list for opening the effect options menu, that allows manipulating chain elements:

  • Presets shows list of available presets for the effect
  • Replace offers the list of available effects to replace the effect in the chain
  • Move up chain moves the effect closer to the start of the chain. Only available if space in front of effect.
  • Move down chain moves the effect closer to the end of the chain. Only available if space behind effect.
  • Remove removes the effect from the chain

Note that not all these options will be available all the time. For instance, if there is only one effect in the chain, "Move" options won't be shown. Same if the FX has not presets, etc.


3.9 Note Range & Transpose

The MIDI sent to a chain may be transposed +/-5 octaves and +/-12 semitones. The range of MIDI notes that it will respond to can be limited. The Mote Range & Transpose View has controller knobs to adjust the octave transpose, semitone transpose and lower & upper key range limits. The key range is displayed on an onscreen piano keyboard that can be dragged with the touchscreen to set the range.

Short press LEARN will enable MIDI learning. MIDI notes will set the limits of the note range.

3.10 XY-Controller

From the Control View, simultaneously bold press two knobs to enter the XY-select mode.

The two controllers will be green, indicating they are pre-selected for XY-control. You can change the pre-selection by rotating any knob. (The knob must be rotated through several values before it will be detected.) Use the SELECT switch to navigate through the controller pages to select different controllers if required.

After selecting the two required parameters, touch the display to enter the XY-control pad and use the touchscreen ala Kaoss-Pad.

Short press BACK to return to XY-select and BACK again to return to the Control View.

3.11 Load / Save Snapshot

Snapshots are used for saving and restoring the status of Zynthian. A snapshot includes the full state, including chains, effects, parameter values, MIDI-learning, etc.

Bold press SNAPSHOT to access the Snapshot View. The first option allows the current state to be saved as a new snapshot. An on-screen keyboard will allow naming the new snapshot.

Highlighting a snapshot in the list then short press SELECT or tap on list with touchscreen shows options for the snapshot:

  • Load replaces the current configuration with the saved snapshot
  • Load Chainsreplaces the chains with those in the saved snapshot
  • Load Sequences replaces the step sequencer with the sequences in the saved snapshot
  • Save replaces the saved snapshot with the current configuration
  • Rename shows an on-screen keyboard to rename the selected snapshot
  • Set Program assigns a MIDI Program Change to the snapshot
  • Delete removes the snapshot

It is possible to recall snapshots via MIDI Program Change on the Master MIDI Channel. New snapshots are assigned the next available MIDI Program Change. This number prefixes the snapshot name in the list but may be changed using the options menu.

3.11.1 Snapshot Banks

By default, snapshots are stored as a single list and bank-related stuff is not shown by Zynthian-UI. If you want to use banks for organizing your snapshots, you simply create a second bank using the webconf tool and the hidden bank functionality will be enabled.

When using snapshot banks, if you want to go up one level (from snapshot list to bank list), you must use the ".." entry. The back button will close the snapshot screen.

3.11.2 Default Snapshot

Zynthian can load a default snapshot at startup. This snapshot should be called, "Default Snapshot".

3.11.3 Restore Last State

If "Restore last state on startup" option is enabled on webconf (it's enabled by default), then the state will be saved when powering off (using long-click select or from Admin Menu) and restored on next boot. This option has priority over the "Default Snapshot".


3.12 MIDI-learning / binding

MIDI-learning allows you to bind MIDI events to Zynthian-UI actions. There are 2 types of MIDI events you can learn:

  • MIDI CC binds MIDI continuous controllers to adjust engine parameters
  • MIDI PC binds MIDI program change to recall snapshots

3.12.1 MIDI CC

You can map any parameter in the Zynthian UI to a CC knob / slider on your external MIDI controller. It is intended to extend this feature to other MIDI messages but currently only CC messages are supported. Until then, MIDI-filter rules can be used instead.

Learning a MIDI-CC is quite easy:

1. From the Control View, short press LEARN. The CC MIDI-learn view is shown. It’s identical to the Control screen except that the controllers show a green “??”.

2. Move a Zynthian controller. The “??” changes to yellow. The other three will go back to normal state.

3. Finally, move a knob / fader in your MIDI keyboard / controller and the binding is done. The new CC number should appear at the bottom of the learned controller, replacing the "??".

To unbind a MIDI learned CC binding:

1. From the Control View, short press SNAPSHOT. The CC MIDI-learn view is shown. 2. Bold press LEARN to unlearn all controls or adjust a control to select it for MIDI learn 3. Bold press LEARN to unlearn the selected controller

MIDI learn with a touchscreen is performed by swiping right on a control to show the yellow "??" then sending the MIDI CC. MIDI unlearn with a touchscreen is performed by swiping left on a control then selecting the option from the menu to unleanr the control or all controls.

Unlearn operations require confirmation.

Of course, MIDI-learning configuration, including CC & PC mappings, is stored and restored with snapshots.


3.12.2 ZS3 (SubSnapShots): MIDI Program Change Learning

A ZS3 (SubSnapShot) saves the Zynthian state in the context of the current snapshot. When recalled from the UI or by MIDI Program Change, the saved state is restored. The chain's layout is defined for the snapshot and it can't be changed across ZS3s, but the rest of state is saved in ZS3: bank/preset, engine parameters, mixer settings, clone & key range settings, etc. Snapshots can be slow to load as each engine needs to be started. ZS3 is much faster as the presets are restored and parameters adjusted. Some ZS3 may be slower due to the way some engines load presets, e.g. changing instrument within Pianoteq is slower than recalling a preset of the same instrument.

The idea behind this feature is to have a fast preset-change mechanism that can be used on stage. In combination with the “Stage Mode” feature, it turns Zynthian into a “Stage-Beast”. You can prepare a snapshot for the full performance, and use ZS3s for fast changes between songs or even within a song.

Creating a SubSnapShot is obscenely easy:

0. Ensure "Program Change ZS3" is enabled in the admin menu.

1. From the Control View, short press SNAPSHOT to enter MIDI control learn mode then short press SNAPSHOT again. You will see the current list of ZS3s (initially empty) and a message: “Waiting for Program Change…”

2. Send a “MIDI Program Change” from your keyboard / controller and the ZS3 will be stored in memory, associated with the Program Number you pushed on your keyboard / controller. Alternatively select "Save as new ZS3" from the menu to save ZS3 without MIDI Program Change assigned.

You can recall the stored ZS3 by sending the same MIDI Program Change or selecting it from the ZS3 list. ZS3s are saved and restored within snapshots so remember to save the snapshot.

ZS3 will restore configuration for all chains in multitimbral mode and for the currently selected (active) chain only in stage mode.

Bold press SELECT to manipulate ZS3:

  • Rename shows an on-screen keyboard to rename the ZS3
  • Update replaces the ZS3 with the current configuration
  • Delete removes the ZS3


3.13 MIDI Recording and Playback

3.13.1 Overview

Zynthian provides a tool to record and playback MIDI standard file format (SMF), using the internal SD-card or an USB memory stick for file storage.

Access the MIDI recorder / playback tool from the Main Menu

WARNING! Using the internal SD card to store the captured files will increase the risk of corruption. It is recommended to use an USB memory stick instead.

3.13.2 Recording

1. Press "Start Recording" to start a new capture.

2. A red circle "record" symbol appears in the status area, indicating that a recording is active.

3. Press "Stop Recording" for finishing the capture. The red circle will disappear and the recorded file will be added to the list. The filename is generated automatically from the current chain configuration. The prefix "SDC" or "USB" indicates where the file is stored and the duration in minutes and seconds is shown.

Files are saved to USB storage if connected otherwise they are saved to internal SD card.

3.13.3 Playing

You can play files by simply selecting and clicking the file. A green triangle "play" symbol will be displayed in the UI status area. To loop the file, enable "Loop Play" before or during playback. Disable "Loop Play" to stop playback at end of track.

NOTE: Simultaneous record and playback is possible.

During playback a BPM control will be shown to adjust the transport speed. The same transport is used for step sequencer so tempo adjustments affect both SMF and step sequence playback.

3.13.4 Deleting

Bold press SELECT will offer to delete the selected file.


3.14 Audio Recording and Playback

Zynthian has an audio recorder that will, by default record the stereo output of the audio mixer's main mixbus output (post effects, post fader).

3.14.1 Recording Audio

1. From the Mixer View, highlight the main mixbus (far right strip) and bold press Select or tap and hold the main mixbus legend strip on the touchscreen. The Chain Options menu is shown. Select the option "Start Audio Recording".

2. A red circle "record" symbol appears in the status area, indicating that a recording is active.

3. Within the main mixbus Chain Options menu select "Stop Audio Recording" for finishing the capture. The red circle will disappear.

3.14.2 Playback Audio

1. From Main Menu select "New Special Chain"

2. Select "Audio File Player"

3. Select a spare MIDI channel

4. Select the audio recording from the preset list

3.14.3 General Usage

The audio player shows transport and other configuration controls and draws a waveform image. Start playback by changing the transport from "stopped" to "playing". Playback position is indicated by a vertical line on the waveform and the "position" controller value (in seconds). Playback position can be adjusted. One-shot or loop playback is available. Selection of which channel in the audio file (or a mix of all odd / even channels) is sent to each output, e.g. for a 4 track audio file you may select any of the four tracks to feed left or right output or select mixdown to mix tracks 1 & 3 to left output and 2 & 4 to right output. There is also a gain control.

The audio recorder's preset list contains all the files within the selected directory. The bank list contains the internal storage location (SDC) and its immediate subdirectories and any attached USB storage and its immediate subdirectories.

The audio player also has a controller to control the audio recorder. Each time the "record" controller is asserted a new recording is started which may be ended by resetting the "record" controller. This is the same audio recorder accessible from the mixer's main mixbus options menu.

3.14.4 Audio Recording Output Config

There is a configuration in webconf to enable multitrack audio recording. If this is enabled then there is an extra option in the audio options within each chain's options menu to toggle "Recording Primed". With none of these enabled, the audio recorder will record will be a stereo file from the main mixbus output (post effects, post fader). If any are enabled then a multitrack recording is made with a pair of tracks for each enabled chain. The main mixbus may also be enabled to add a stereo mix pair of tracks to the multitrack recording.

Files are recorded as a floating point WAV (or WAVX for multitrack recordings) at the Zynthian's native samplerate (default is 44100 samples per second) and named with the current date and time. Recordings are made to the root directory of any attached USB storage or internal SD card if no external storage is attached.


3.14.5 Managing recordings from your computer

Audio & MIDI recordings can be managed from your computer by accessing the webconf's captures section. From this section you can:

  • rename recordings
  • delete recordings
  • convert audio recordings to .ogg format, e.g. for upload to websites.
  • download recordings to your computer
  • playback the audio recordings in your browser. If .wav files doesn't work in your browser, try converting to ogg.

It is a good idea to rename your recordings so they can be easily identified.


3.15 Audio Levels

The Audio Levels view is accessed from the Main Menu and allows adjustment of the soundcard's input & output levels and other audio-hardware related options. Technically speaking, it's an interface to the ALSA (Audio Linux Sound Architecture) mixer.

You can configure the Audio Level controllers from the webconf's hardware->audio menu. Simply click the + button on the "Mixer Controls" text area.

The settings vary between sound cards. The official V4 soundcard has these settings enabled in webconf by default:

  • ADC Left - Level adjustment of the left input
  • ADC Right - Level adjustment of the right input
  • ADC Left Input - Configure left input connector:
    • No Select - Disconnect input
    • VINL1[SE] - Tip & sleeve single ended/unbalanced
    • VINL2[SE] - Ring & sleeve single ended/unbalanced
    • VINL2[SE] + VINL1[SE] - Tip, ring & sleeve single ended/unbalanced
    • [VIN1P, VIN1M][DIFF] - TRS differential/balanced
  • ADC Right Input - Configure left input connector:
    • Same options as ADC Left Input
  • Digital Left - Level adjustment of left output
  • Digital Right - Level adjustment of right output
  • PGA Gain Left - Gain adjustment of left input
  • PGA Gain Right - Gain adjustment of right input

Note that the gain adjustment allows coarse control of the overal gain of an input, allowing configuration for line, mic, etc. The level adjustment is an overal 0…100% level.

The input connector configuration can be useful for a few variations:

  • Balanced signals on TSR - [VIN1P, VIN1M][DIFF]
  • Unbalanced mono on TS - VINL1[SE]
  • Two unbalanced (e.g. stereo) on TSR mixed to mono - VINL2[SE] + VINL1[SE]


3.16 Step Sequencer - ZynSeq

Zynthian has a step sequencer called ZynSeq which provides methods to create patterns and arrange them into sequences.

The step sequencer may be accessed from the main screen or by long press LAYER.

  • There may be up to 999 patterns, each with as many simultaneous notes (polphonic) as required over a set of steps and beats that are configurable for each pattern.
  • Patterns are arranged into tracks within sequences.
  • Sequences may be configured to loop or play once and may be grouped so that starting one sequence stops another. Sequences may start and stop at the start of each bar.
  • Note entry can be performed from the Zynthian user interface or using an external MIDI controller.
  • Sequences can be started and stopped from the Zynthian user interface or using an external MIDI controller.


3.16.1 Zynseq Views

These are three main views:

Pads
Grid of pads to launch sequences


Arranger
Track / timeline editor for complex manipulation of sequences


Pattern Editor
Manipulation of individual events within patterns


Using ZynSeq is a detailed tutorial on the use of the step sequencer.

3.17 Admin Menu

The Admin menu is accessed from the Main Menu and gives access to some configuration options (most of them also accessible from the webconf tool). It also includes basic testing options for audio and MIDI and indication of network configuration.


3.17.1 Touchscreen Calibration

Zynthian supports touchscreen operation for most operations. To ensure good alignment of the touch interface there is a calibration screen that is accessed from the Admin menu.

When the screen opens it shows a target crosshair in the center of the screen and a countdown timer. If the timer expires the screen will close without applying any calibration. Touch the target to detect the screen and begin calibration.


The name of the detected display is shown at the bottom of the screen. Further targets will appear. Touch the screen, drag to centre of target and release.

When the screen is pressed the target will show red. When released the measurement is taken and the next crosshair target appears white.


After releasing the last target, calibration is applied and the screen closes. Touch is ignored if too close to previous touch.

Use BACK button or wait for timeout to cancel calibration. Timer is reset to 15s when screen is touched and paused until released. The purpose of the timeout is to avoid users of Zynthians without back button being stuck in calibration screen view.


Note:

The resistive touchscreen works better with a stylus. Finger is too coarse. It's strongly recommended to run the calibration using a stylus. Screen calibration is beneficial to resistive touch screens and less likely to be useful for capacitive touchscreens which tend to be well absolutely aligned.


4 Touch Screen UI

You can navigate and control the Zynthian UI without knobs / encoders / switches at all, using only the touchscreen (or mouse).

Short tapping the top-bar acts as a back button. Bold tap will show an appropriate menu or return to the mixer view.

You can "emulate" the switches by tapping (not dragging) the controller widgets (squares in the 4 corners of the screen) where these controllers are presented. (Not all screens have controllers, some have just one). The Zynthian logo (top-right) may be tapped to emulate LEARN/SNAP). There are short, bold and long actions, the same behavior as the rotary encoders workflow.

You can change the controller values by "sliding" up / down over the widgets. (See the green arrow in the figure) This is the same as turning the knob. If you are using a mouse, the mouse wheel also can be used to change the controller value and acts to adjust parameters in some other views.

There is a configuration in webconf UI Options to "Enable Onscreen Buttons". With this enabled some touchscreen helper functions are enabled including the display of buttons where required. This is kept to a minimum to avoid interfering with user workflow. Most operations are possible without the onscreen buttons so they only appear when required, e.g. within the Control View. It is recommended to enable this option when using the touchscreen as your primary user interface.


5 CUIA: Callable UI Actions

The Zynthian UI can be controlled remotely using a set of commands called CUIA: Callable UI Actions. These CUIAs are available on several interfaces: Key Bindings, MIDI, OSC, etc.

5.1 Key Bindings: Controlling the UI with a computer keyboard

The user interface may be driven using a computer keyboard (QWERTY, Dvorak, etc.). Key assignment map can be consulted and configured from the webconf tool:

Interface->UI Key Binding


5.2 Controlling the UI with MIDI messages

CUIA may be triggered by MIDI messages on the Master Channel (disabled by default, but configurable with the webconf tool), specifically, note-on messages (0x9) are used so you can use a MIDI keyboard for controlling the Zynthian UI. For instance, to Power Off the Zynthian, you send this message:

0x9F  (Channel 16 Note ON) 
0x00  (Note code for POWER_OFF as below)
0x00  (Velocity / parameter)

or play the C-0 key, if your keyboard has it.

Please, note that you can use the velocity for sending the first CUIA parameter when it's required by the action (for instance, SELECT or CHAIN_CONTROL).

You can check the map of MIDI-CUIA actions in the webconf tool:

Interface->MIDI-options->Master Key Actions

From there, you can also reconfigure the map to better suit your needs.

For a detailed list of available CUIAs, check this section.


5.3 Controlling the UI with OSC (Open Sound Control) messages

CUIA may be triggered using OSC (Open Sound Control protocol) on UDP port 1370, with the path prefix "/cuia", e.g. "/cuia/reboot". Take a look at "Calling CUIA with OSC".

Also see Open Sound Control at Wikipedia and this explanatory video for more information about the protocol.