Changes

Jump to navigation Jump to search
no edit summary
Line 252: Line 252:  
==Admin Menu==
 
==Admin Menu==
 
[[File:Zynthian_ui_admin.png|400px|right]]
 
[[File:Zynthian_ui_admin.png|400px|right]]
 +
[[File:Zynthian_ui_admin_02.png|400px|right]]
 
Pressing the Back knob, when you are in the Layer List screen, brings you to the Admin menu.  
 
Pressing the Back knob, when you are in the Layer List screen, brings you to the Admin menu.  
   Line 270: Line 271:     
<br clear=all>
 
<br clear=all>
      
==Audio & MIDI Recording==
 
==Audio & MIDI Recording==
Line 326: Line 326:  
<br clear=all>
 
<br clear=all>
   −
=Key bindings=
+
=MIDI-learning=
 +
 
 +
MIDI-learning allows you to easily bind specific MIDI events with Zynthian-UI actions. There are 2 types of MIDI events you can learn:
 +
 
 +
====MIDI CC====
 +
[[File:Zynthian_ui_midi_cc_learn_01.png|400px|right]]
 +
[[File:Zynthian_ui_midi_cc_learn_02.png|400px|right]]
 +
You can map any parameter in the Zynthian UI to a CC knob/slider on your external MIDI controller. I intend 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 screen, you click the snapshot button. You will be in CC MIDI-learn screen. It’s identical to the Control screen except that all the controllers have a tiny yellow “???” in the bottom.
 +
 
 +
'''2.''' Move a zynthian controller. Its tiny “???” will change to green while the other 3 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 in the bottom of the learned controller, replacing the tiny "???".
 +
 
 +
Of course, MIDI-learning configuration, including CC mappings, is stored and restored with snapshots.
 +
 
 +
'''Technical Note:''' MIDI-CC learning works with all the engines. It uses the engine’s native MIDI-learning capabilities when available. Zynthian’s MIDI-filter mappings are used for the rest. 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>
 +
 
 +
====MIDI Program Change====
 +
[[File:Zynthian_ui_midi_zs3_learn.png|400px|right]]
 +
You can map "SubSnapshots" (ZS3) to MIDI programs. The idea behind this feature is to have a fast preset-change mechanism that can be used on stage. In combination with the “Single Layer” feature, it turns Zynthian in a “Stage-Beast”. You can prepare a snapshot for the full performance, and use ZS3 for fast changing from a song to another, or between parts inside the same song.
 +
 
 +
Learning a SubSnapShot is obscenely easy:
 +
 
 +
'''1.''' From the control screen, you click the snapshot button '''twice'''. You will see the current list of ZS3s and a message: “Waiting for Program Change…”
 +
 
 +
'''2.''' Simply push a “Program Change” button in your keyboard/controller and the ZS3 will be stored in memory, associated with the Program number you send.
 +
 
 +
After that, you can recall any stored ZS3 by simply pushing the same PC button again. Of course, the memory-stored zs3s will be saved with your snapshot and restored when loaded again.
 +
 
 +
Every zs3 includes:
 +
 
 +
    - Layer ID
 +
    - Bank
 +
    - Preset
 +
    - Controller values
 +
 
 +
As you can see, it has sense in a SnapShot context, where a set of layers are defined. Zs3 changing is very fast, as no engine must be started.
 +
<br clear=all>
 +
 
 +
====MIDI-CC Learning with touch interface====
 +
 
 +
First, you need a working touch interface in your display. If you don't have a touchscreen, you could use a mouse ...
 +
 
 +
[[File:Zynthian_ui_midi_learning.png|400px|right]]
 +
'''Learning:'''
 +
1. In the "Instrument Control" screen, navigate through the parameter screen list to get to the parameter you want to learn.
 +
2. In the parameter/controller area, slide with your fingernail from '''left to right'''. A green "??" should appear at the bottom.
 +
3. On your MIDI controller, move the desired knob/slider (or a CC-assigned pad).  The green "??" should be replaced by a tiny number, and the parameter should change when you move the knob/slider or push the pad. CC-assigned pads can be very useful for on/off parameters. 
 +
<br clear=all>
 +
 
 +
[[File:Zynthian_ui_midi_unlearning.png|400px|right]]
 +
'''Unlearning:'''
 +
1. In the "Instrument Control" screen, navigate through the parameter screen list until you get to the parameter you want to unlearn.
 +
2. In the parameter/controller area, slide with your fingernail from '''right to left'''. The tiny number, indicating the current CC assignment, should disappear or change. If the parameter is an engine-specific controlled engine, the number will disappear. If the parameter is a hardcoded MIDI-mapped parameter, then the number will change.
 +
<br clear=all>
 +
 
 +
=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.
 +
 
 +
==Key Bindings: Controlling the UI with a computer keyboard==
    
The user interface may be driven using a USB keyboard, e.g. QWERTY, Dvorak, etc.
 
The user interface may be driven using a USB keyboard, e.g. QWERTY, Dvorak, etc.
Line 397: Line 463:  
|}
 
|}
    +
==Controlling the UI with MIDI messages==
   −
=MIDI-learning=
+
These actions are available using MIDI messages on the Master Channel (default 16, 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:
 
+
MIDI-learning allows you to easily bind specific MIDI events with Zynthian-UI actions. There are 2 types of MIDI events you can learn:
+
0x9F  ( Channel 16 Note ON)
 
+
  0x00  ( Note code for POWER_OFF as below )
====MIDI CC====
+
0x00  (Velocity/parameter)
[[File:Zynthian_ui_midi_cc_learn_01.png|400px|right]]
  −
[[File:Zynthian_ui_midi_cc_learn_02.png|400px|right]]
  −
You can map any parameter in the Zynthian UI to a CC knob/slider on your external MIDI controller. I intend 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 screen, you click the snapshot button. You will be in CC MIDI-learn screen. It’s identical to the Control screen except that all the controllers have a tiny yellow “???” in the bottom.
  −
 
  −
'''2.''' Move a zynthian controller. Its tiny “???” will change to green while the other 3 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 in the bottom of the learned controller, replacing the tiny "???".
  −
 
  −
Of course, MIDI-learning configuration, including CC mappings, is stored and restored with snapshots.
  −
 
  −
  '''Technical Note:''' MIDI-CC learning works with all the engines. It uses the engine’s native MIDI-learning capabilities when available. Zynthian’s MIDI-filter mappings are used for the rest. 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>
  −
 
  −
====MIDI Program Change====
  −
[[File:Zynthian_ui_midi_zs3_learn.png|400px|right]]
  −
You can map "SubSnapshots" (ZS3) to MIDI programs. The idea behind this feature is to have a fast preset-change mechanism that can be used on stage. In combination with the “Single Layer” feature, it turns Zynthian in a “Stage-Beast”. You can prepare a snapshot for the full performance, and use ZS3 for fast changing from a song to another, or between parts inside the same song.
  −
 
  −
Learning a SubSnapShot is obscenely easy:
     −
'''1.''' From the control screen, you click the snapshot button '''twice'''. You will see the current list of ZS3s and a message: “Waiting for Program Change…”
+
or play the A-3 key, if your keyboard have it ;-)
   −
'''2.''' Simply push a “Program Change” button in your keyboard/controller and the ZS3 will be stored in memory, associated with the Program number you send.
+
This is the full list:
   −
After that, you can recall any stored ZS3 by simply pushing the same PC button again. Of course, the memory-stored zs3s will be saved with your snapshot and restored when loaded again.
+
"0": "POWER_OFF",
 +
"1": "REBOOT",
 +
"2": "RESTART_UI",
 +
"3": "RELOAD_MIDI_CONFIG",
   −
Every zs3 includes:
+
"10": "ALL_NOTES_OFF",
 +
"11": "ALL_SOUNDS_OFF",
 +
"12": "ALL_OFF",
   −
    - Layer ID
+
"51": "SELECT",                    D#3/Eb3
    - Bank
+
"52": "SELECT_DOWN",                E3
    - Preset
+
"53": "SELECT_UP",                  F3
    - Controller values
     −
As you can see, it has sense in a SnapShot context, where a set of layers are defined. Zs3 changing is very fast, as no engine must be started.
+
"64": "SWITCH_BACK_SHORT",         E4
<br clear=all>
+
"63": "SWITCH_BACK_BOLD",           D#4/Eb4
 +
"62": "SWITCH_BACK_LONG",           D4
   −
====MIDI-CC Learning with touch interface====
+
"65": "SWITCH_SELECT_SHORT",        F4
 
+
"66": "SWITCH_SELECT_BOLD",        F#4/Gb4
First, you need a working touch interface in your display. If you don't have a touchscreen, you could use a mouse ...
+
"67": "SWITCH_SELECT_LONG",        G4
 +
 +
"60": "SWITCH_LAYER_SHORT",        C4
 +
"61": "SWITCH_LAYER_BOLD",         C#4/Db4
 +
"59": "SWITCH_LAYER_LONG",         B4
   −
[[File:Zynthian_ui_midi_learning.png|400px|right]]
+
"71": "SWITCH_SNAPSHOT_SHORT",      B5
'''Learning:'''
+
"72": "SWITCH_SNAPSHOT_BOLD",       C5
1. In the "Instrument Control" screen, navigate through the parameter screen list to get to the parameter you want to learn.
+
  "73": "SWITCH_SNAPSHOT_LONG"       C#5/Db5
  2. In the parameter/controller area, slide with your fingernail from '''left to right'''. A green "??" should appear at the bottom.
  −
3. On your MIDI controller, move the desired knob/slider (or a CC-assigned pad).  The green "??" should be replaced by a tiny number, and the parameter should change when you move the knob/slider or push the pad. CC-assigned pads can be very useful for on/off parameters. 
  −
<br clear=all>
     −
[[File:Zynthian_ui_midi_unlearning.png|400px|right]]
+
[[File:2Oct_Keyboard_CUIA.png|600px|Keyboard]]
'''Unlearning:'''
  −
1. In the "Instrument Control" screen, navigate through the parameter screen list until you get to the parameter you want to unlearn.
  −
2. In the parameter/controller area, slide with your fingernail from '''right to left'''. The tiny number, indicating the current CC assignment, should disappear or change. If the parameter is an engine-specific controlled engine, the number will disappear. If the parameter is a hardcoded MIDI-mapped parameter, then the number will change.
  −
<br clear=all>
 

Navigation menu