Difference between revisions of "Accessing Zynthian from your computer"
(→OSC) |
|||
Line 193: | Line 193: | ||
{| class="wikitable" | {| class="wikitable" | ||
− | |+ | + | |+ |
|- | |- | ||
− | ! | + | ! CUIA Name !! Parameters !! Description |
|- | |- | ||
| ACTION_MIDI_UNLEARN || || | | ACTION_MIDI_UNLEARN || || |
Revision as of 16:21, 16 August 2023
Using either ethernet or wifi connection, Zynthian offers additional ways to access the system from your computer. The Zynthian Web Configuration Tool is a web interface to view and configure settings e.g. midi devices, preset libraries etc. Graphical user interfaces for synth engines and the pedalboard style LV2 plugin patch MOD-UI are also accessible from your web browser.
1 Network Connection
The easiest way to connect your Zynthian is to use the Ethernet RJ45 connector with a CAT-5 cable to connect your unit to your local network (DHCP) or directly to your computer (Ethernet to Ethernet, aka link-local). Your Zynthian box uses the link-local name "zynthian.local" or "zynthian.lan", depending on your system.
If the link-local address (zynthian.local or zynthian.lan) is not found, make sure that the link-local feature is enabled in your system. Sometimes it's disabled and link-local names are not recognized (windows). If you can't manage to get link-local names to work, you can use the Zynthian's IP address. The zynthian's IP address can be found int the UI's "Admin->Network Info" menu, and it's also printed on the zynthian's error screen. See: Finding your IP address
1.1 Connecting via SSH and Accessing the File System
The filesystem can be accessed with sftp and scp (If you are using Windows, use Winscp - free software needed to communicate using this Internet protocol).
You can also login with ssh to access the Linux console. see Command_Line_User_Guide (use PuTTY for Windows). The username and default password is:
user=root password=raspberry
2 Wifi Hotspot
You can connect to your Zynthian using the built-in Wifi Hotspot mode. This is less convenient than using Ethernet or an existing Wifi network, and is mostly useful to configure connections to other wifi networks.
- Open the Admin screen on your Zynthian.
- Select the "Wifi Hotspot" option. This could take up to 30 seconds to complete.
- Connect to the "zynthian" network with another device.
- In the Admin screen on your Zynthian, select "Network Info".
- Connect to the displayed IP address with the browser on your other device.
Note that the wifi network created in hotspot mode allows anyone to connect. If using the wifi hotspot in a public place, ensure you've changed your Zynthian password.
3 Accessing the Web Configuration Tool
You can access the web configuration tool using the web browser from your computer:
- Connect your Zynthian to your local network using the ethernet connector (RJ45) or directly to your computer (Ethernet to Ethernet)
- Open the browser in your computer and type in the address bar:
http://zynthian.local or http://zynthian.lan (or the IP address of your Zynthian)
Note:
If zynthian.local does not work, see Finding your IP address
If you can't access WebConf with your browser, there is a command-line option. See Command_Line_User_Guide#Configuration_without_WebConf
The web config tool will load and ask for the admin password. The default password is "raspberry".
Here are the details on using the Web configuration tool: Zynthian Web Configuration Tool User Guide
4 Wifi Configuration
Wifi credentials can be set via the web config tool: System - Wifi - Add Network. Wifi must be enabled in the Zynthian Gui: press the Back button until you are in the Admin menu. Then select 'Start WIFI'.
5 Accessing the MOD-UI web interface
You can access the MOD-UI web interface using the web browser from your computer:
- Create a Special Layer with a "MOD-UI" engine from the Zynthian's UI
- Connect your Zynthian to your local network using the ethernet connector (RJ45) or directly to your computer (ethernet to ethernet)
- Open the browser in your computer and navigate to:
http://zynthian.local:8888 or http://zynthian.lan:8888
The MOD-UI webpage should appear.
When a MOD-UI layer exist, this link is also accessible from the webconf's software menu (reload webconf after creating the layer).
If the link-local address (zynthian.local or zynthian.lam) is not found, test that the link-local feature is enabled in your system. Sometimes is disabled and local names are not recognized. You can use the zynthian's IP address instead. See: Finding your IP address
6 Viewing Zynthian UI and Synth Engine Native GUIs on your Computer
Some engines have a native GUI that can be accessed from your desktop/laptop computer. Zynthian provides a VNC viewer for a desktop that allows access to these native GUI. By default VNC is disabled and it is recommended to disable for performance (as it has a small overhead which is best saved for your audio). To enable VNC and access the desktop and engines' native GUI:
- Connect via web browser to webconf
- Navigate to INTERFACE->UI Options
- Assert Enable VNC Server option and press Save
- Reload webconf and navigate to INTERFACE->UI-Engines
- Enter the Zynthian password (default: raspberry)
Note: There is also an option to access the Zynthian main UI by navigating to INTERFACE-VNC UI. This is a mirror of the main UI and may be driven from VNC and/or the physical interface.
The VNC views may be accessed directly via the URLs:
- http://zynthian.local:6080/vnc.html (Main UI)
- http://zynthian.local:6081/vnc.html (Engines desktop)
or with a VNC client by connecting to ports:
- 5900 (Main UI)
- 5901 (Engines desktop)software can be launched, like qjackctl or a virtual MIDI keyboard for testing.
Tip: You can automatically connnect and login to web-based VNC by appending parameters to the URL, e.g. http://zynthian.local:6080/vnc.html?autoconnect=true&password=raspberry
6.1 Supported Engines with Native GUI
Many LV2 plugins (NoizeMaker, OBX-d, Surge, DragonFly Reverbs, ...) and some of the standalone engines (ZynAddSubFX, Aeolus, Pianoteq and PureData) have support for remotely displaying their native GUIs. If VNC is enabled, the engine's GUI will be launched automatically when added to a chain.
Note:
Using an ethernet-to-ethernet (cable) connection will reduce remote GUI latency and improve usability.
7 Uploading your presets & soundfonts to Zynthian
The easiest way of getting your presets & soundfonts inside your zynthian is by using the webconf's preset manager:
http://zynthian.local/lib-presets
From there you manage your preset & soundfont libraries: renaming, deleting, and uploading, including automatic conversion from some native formats:
- DX7 SysEX files
- OBXd FXB files
- synthv1 native format
- padthv1 native format
If if this doesn't work for you, or you prefer to do it by hand, you can copy your presets/soundfonts/pedalboards into the next folder:
/zynthian/zynthian-my-data
This is the subfolder structure:
+ presets + zynaddsubfx + puredata + pianoteq + lv2 + mod-ui + soundfonts + sf2 + bank-1.sf2 + ... + bank-n.sf2 + sfz + bank-1 + sfz-bundle1 + ... + sfz-bundle2 + ... + bank-n + gig + bank-1 + instrument-1.gig + ... + instrument-n.gig + ... + bank-n + snapshots + capture
SFZ and GIG soundfonts are used with LinuxSampler. SF2 soundfonts are used with FluidSynth. SFZ and GIG soundfonts must be organized in 'bank' subfolders. SF2 files are considered "banks" by itself.
If you have doubts of how to store your data, take a look in this directory:
/zynthian/zynthian-data
Here you will find the same folder structure, and could help you to understand.
Also it's interesting:
/zynthian/config
If you are really interested, you could, for instance, edit the setBfree configuration, and change the CC assignments, etc.
WARNING!!
If you add or change something inside the zynthian-data folder, your changes will be lost on the next update, or, in a worst case scenario, you could break the update system.
8 OSC
Open Sound Control (OSC) is a protocol for networking sound synthesizers, computers, and other multimedia devices for purposes such as musical performance or show control. Zynthian implements OSC in various ways.
8.1 CUIA: Callable User Interface Actions
The CUIA is an unidirectional remote API that can be used to send simple control messages to zynthian UI. The CUIA can be accessed in several ways, as described in the user's guide and this section explains how to access the CUIA using OSC on port UDP 1370.
The OSC base path for CUIA messages is:
/cuia
Example:
/cuia/restart_ui
Note that CUIA paths are case insensitive, e.g.
/cuia/reboot
is interpreted the same as
/CUIA/REBOOT
Some examples using the command line tool "send_osc":
# send_osc 1370 /CUIA/SCREEN_MAIN # send_osc 1370 /CUIA/LAYER_CONTROL 2
An example Python script to start a MIDI recording:
import liblo liblo.send(('zynthian.local', 1370), "/CUIA", ('s', 'START_MIDI_RECORD'))
And finally, the full list of CUIAs:
CUIA Name | Parameters | Description |
---|---|---|
ACTION_MIDI_UNLEARN | ||
ALL_NOTES_OFF | ||
ALL_SOUNDS_OFF | ||
ARROW_DOWN | ||
ARROW_LEFT | ||
ARROW_NEXT | ||
ARROW_PREV | ||
ARROW_RIGHT | ||
ARROW_UP | ||
AUDIO_FILE_LIST | ||
BACK | ||
BANK_PRESET | ||
CHAIN_CONTROL | %i | Set active layer to %i and show control screen. Defaults to current chain. |
CHAIN_OPTIONS | %i | Show options for chain %i. Defaults to current chain. |
CLEAN_ALL | ||
ENTER_MIDI_LEARN | ||
EXIT_MIDI_LEARN | ||
EXIT_UI | ||
HIDE_BUTTONBAR | ||
HIDE_SIDEBAR | ||
HIDE_TOPBAR | ||
LAST_STATE_ACTION | ||
LAYER_CONTROL | %i | Alias of CHAIN_CONTROL. DEPRECATED!! |
LAYER_OPTIONS | %i | Alias of CHAIN_OPTIONS. DEPRECATED!! |
MENU | ||
MIDI_LEARN_CONTROL | %i | Learn control knob %i |
MIDI_LEARN_CONTROL_OPTIONS | % | Learn control options for knob %i |
MIDI_UNLEARN_CHAIN | ||
MIDI_UNLEARN_CONTROL | %i | Unlearn control knob %i |
MIDI_UNLEARN_MIXER | ||
MIDI_UNLEARN_NODE | ||
POWER_OFF | ||
PRESET | ||
PRESET_FAV | ||
PROGRAM_CHANGE | ||
REBOOT | ||
RELOAD_KEY_BINDING | ||
RELOAD_MIDI_CONFIG | ||
RELOAD_WIRING_LAYOUT | ||
RESTART_UI | ||
SCREEN_ADMIN | ||
SCREEN_ALSA_MIXER | ||
SCREEN_ARRANGER | ||
SCREEN_AUDIO_MIXER | ||
SCREEN_BANK | ||
SCREEN_CALIBRATE | ||
SCREEN_CONTROL | ||
SCREEN_MAIN_MENU | ||
SCREEN_MIDI_RECORDER | ||
SCREEN_PATTERN_EDITOR | ||
SCREEN_PRESET | ||
SCREEN_SNAPSHOT | ||
SCREEN_ZS3 | ||
SCREEN_ZYNPAD | ||
SELECT | %i | Highlight element %i in the list |
SET_TEMPO | %t | Set tempo BPM |
SHOW_BUTTONBAR | ||
SHOW_SCREEN | ||
SHOW_SIDEBAR | ||
SHOW_TOPBAR | ||
START_AUDIO_PLAY | ||
START_AUDIO_RECORD | ||
START_MIDI_PLAY | ||
START_MIDI_RECORD | ||
STOP | ||
STOP_AUDIO_PLAY | ||
STOP_AUDIO_RECORD | ||
STOP_MIDI_PLAY | ||
STOP_MIDI_RECORD | ||
TAP_TEMPO | ||
TEMPO | ||
TEMPO_DOWN | ||
TEMPO_UP | ||
TEST_MODE | ||
TOGGLE_ALT_MODE | ||
TOGGLE_AUDIO_PLAY | ||
TOGGLE_AUDIO_RECORD | ||
TOGGLE_MIDI_LEARN | ||
TOGGLE_MIDI_PLAY | ||
TOGGLE_MIDI_RECORD | ||
TOGGLE_PLAY | ||
TOGGLE_RECORD | ||
TOGGLE_SCREEN | ||
V5_ZYNPOT_SWITCH | %i, %t | Simulates V5 rotary-switch %i action of type %t (Push ,Short, Bold, Long) |
Z2_ZYNPOT_TOUCH | %i, %s | Simulates Z2 capacitive touch-switch %i |
ZYNAPTIK_CVIN_SET_NOTE0 | %n | Set base note for CV/Gate input |
ZYNAPTIK_CVIN_SET_VOLTS_OCTAVE | %f | Set scale for CV/Gate input |
ZYNAPTIK_CVOUT_SET_NOTE0 | %n | Set base note for CV/Gate output |
ZYNAPTIK_CVOUT_SET_VOLTS_OCTAVE | %f | Set scale for CV/Gate output |
ZYNPOT | %i, %s | Simulates rotary %i tick of size %s |
ZYNSWITCH | %i, %t | Simulates button %i action of type %t (Push, Short, Bold, Long) |
You can see the details in the Zynthian UI's source code.
8.2 TouchOSC
The TouchOSC protocol is supported if the option is enabled in the Zynthian admin menu. This accepts OSC on port 12101 using UDP datagrams and includes raw MIDI data interpretation on OSC path
/midi
This path accepts an OSC MIDI type message. An example Python script to send MIDI note on / off messages:
import liblo import time cmdNoteOn = 0x90 cmdNoteOff = 0x80 note = 60 vel = 100 liblo.send(('zynthian.local', 12101), "/midi", ('m', (vel,note,cmdNoteOn,0))) time.sleep(1) liblo.send(('zynthian.local', 12101), "/midi", ('m', (0,note,cmdNoteOff,0)))