Changes

m
Line 145: Line 145:  
<br clear=all>
 
<br clear=all>
 
===Chains===
 
===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!)
 
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:
 
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
+
* '''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
+
* '''Audio Chain''' => Receives audio-input and generates audio-output. It only has audio-FX processors.
* '''MIDI Chain''' => Receives MIDI-input and generates MIDI-output
+
* '''MIDI Chain''' => Receives MIDI-input and generates MIDI-output. It only has MIDI processors.
* '''Generator Chain''' => Generate audio output using an algorithm
+
<!--* (Oram) '''MIDI + Audio Chain''' => Receives MIDI + Audio input and generates MIDI + Audio output. It has MIDI and audio-FX processors.-->
* '''Special Chain''' => Does not fit any other chain type, e.g. MOD-UI pedalboard, Pure Data patch, etc.
+
* '''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 effects can be added to the start of the chain and audio effects can be added to the end of the chain. These can be arranged as serial or parallel paths.
+
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.
   −
All audio effects in a chain receive all the MIDI events on the assigned channel (this should be improved!).
+
<!--
 +
(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'''.
   −
When you select '''NEW Chain''', you create a new chain, choosing its root engine, a free MIDI channel and if available, bank & preset. You can create up to 16<sup>*</sup> chains, one per MIDI channel.
+
(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 then only 15 chains can be created.
+
(*) 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.
 
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>
 
<br clear=all>
===Stage and Multitimbral Modes===
     −
By default Zynthian starts in '''stage mode'''. Stage mode is a kind of ''Omni-On'' mode, what means all MIDI messages are sent to the selected chain in your zynthian. You don't need to worry about the MIDI channel your keyboard/controller is using. You can change the instrument you play by selecting it in your zynthian or using ZS3's Programs Change feature (see below).
+
===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:
   −
In the other hand, '''multitimbral mode''' allows receiving and managing separately every MIDI channel. Each external MIDI controller will drive the chain that is assigned to that controller's MIDI channel, e.g. a chain assigned to MIDI channel 1 will listen for MIDI messages on MIDI channel 1 only<sup>*</sup>. 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 setting.
+
* '''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.
   −
(*) MIDI Continuous Controllers are handled differently. See section on [[#MIDI-learning_.2F_binding|MIDI Learning & binding]].
+
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>
 
<br clear=all>
Line 430: Line 446:  
Learning a MIDI-CC is quite easy:
 
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 “??”.
+
'''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 '''yellow''' “??”.
   −
'''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 '''green'''. 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 451: Line 467:  
<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 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.
 
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:
+
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.
   −
'''0.''' Ensure "Program Change ZS3" is enabled in the admin menu.
+
===Creating a SubSnapShot===
   −
'''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…”
+
#Ensure "Program Change ZS3" is enabled in the admin menu.
 +
#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…”
 +
#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.
   −
'''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.
+
===Recalling a SubSnapShot===
    
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.
Line 517: Line 534:     
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 524: Line 543:  
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 533: Line 552:     
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 540: Line 561:  
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.
   −
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.
+
=== 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 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.
 
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.
Line 608: Line 631:  
* 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:
Line 726: Line 752:  
<br clear=all>
 
<br clear=all>
   −
==Controlling the UI with OSC messages==
+
==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 "[[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.
189

edits