Difference between revisions of "Accessing Zynthian from your computer"

From ZynthianWiki
Jump to navigation Jump to search
(48 intermediate revisions by 6 users not shown)
Line 1: Line 1:
 
== Network Connection ==
 
== Network Connection ==
  
The easier way of connecting your Zynthian is to use the Ethernet RJ45 connector with a CAT-5 cable to connect your unit to your local network or directly to your computer (Ethernet to Ethernet). Your Zynthian box uses the link-local name "zynthian.local" and its files can be accessed with '''sftp''' and '''scp''' (If you are using Windows, get '''Winscp''' - free software needed to communicate using this Internet protocol).  
+
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" and 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''' software for Windows). The username and password are:
+
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
 
  user=root
 
  password=raspberry
 
  password=raspberry
  
If the link-local address (zynthian.local) is not found, test that the link-local feature is enabled in your system. Sometimes is disabled and local names are not recognized (i.e. on Windows).
+
If the link-local address (zynthian.local) 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]]
Instead, you can use the Zynthian's IP address.  Find out what that is using the "Network Info" utility in the Zynthian's Admin menu. or See: [[Finding your IP address]]  
+
 
 +
== 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 will take up to thirty 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.
  
 
== Accessing the Web Configuration Tool ==
 
== Accessing the Web Configuration Tool ==
  
You can access web configuration tool using the web browser from your computer:
+
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)
 
# 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:
 
# Open the browser in your computer and type in the address bar:
  
  zynthian.local  (or the IP address of your Zynthian)
+
  http://zynthian.local  (or the IP address of your Zynthian)
  
(If zynthian.local does not work, see [[Finding your IP address]] )
+
{{NoteBox|If zynthian.local does not work, see [[Finding your IP address]]  
  
The web config tool will load and prompt for the admin password. It is "raspberry".
+
<br>''If you can't access WebConf with your browser, there is a command-line option. See [[Command_Line_User_Guide#Configuration_without_WebConf]]''}}
  
[[File:ZynLogin.png]]
+
The web config tool will load and ask for the admin password. The default password is "raspberry".
  
Here's details on using the Web configuration tool: [[Configuration_Users_Guide]]
+
[[File:zynthian_webconf_login.png]]
 +
 
 +
Here are the details on using the Web configuration tool: [[Configuration_Users_Guide]]
  
 
== Wifi Configuration ==
 
== Wifi Configuration ==
  
When you are logged in with ssh, you can configure the wifi access by editing this file:
+
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'.
  
$ sudo vi /etc/wpa_suppplicant/wpa_supplicant.conf
+
== Accessing the MOD-UI web interface ==
  
Note that this file is protected and you have to edit as root user (sudo).
+
You can access the MOD-UI web interface using the web browser from your computer:
  
After editing the WPA settings, you can restart the network interface using a command like this:
+
* 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:
  
  $ sudo ifdown wlan0
+
  zynthian.local:8888
$ sudo ifup wlan0
 
  
==Audio Configuration==
+
The MOD-UI webpage should appear.
  
[[Configuring_Audio_Devices]]
+
When a MOD-UI layer exist, this link is also accessible from the webconf's software menu (reload webconf after creating the layer).
  
== Accessing the MOD-UI web interface ==
+
If the link-local address (zynthian.local) 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]]
  
If you have a recent zynthian image with MOD integration (Gorgona or later), you can access the MOD-UI web interface using the web browser from your computer:
+
== Viewing Zynthian UI and Synth Engine Native GUIs on your Computer ==
  
# Connect your Zynthian to your local network using the ethernet connector (RJ45) or directly to your computer (ethernet to ethernet)
+
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:
# Open the browser in your camputer and type in the address bar:
 
  
zynthian.local:8888
+
* 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)
  
The MOD-UI webpage should appear. Enjoy! ;-)
+
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.
  
If the link-local address (zynthian.local) is not found, test that the link-local feature is enabled in your system. Sometimes is disabled and local names are not recognized.
+
The VNC views may be accessed directly via the URLs:
Instead, you can use the zynthian's IPaddress.  Find out what that is using the "Network Info" utility in the Zynthian's Admin menu.
 
  
== Opening Synth Engine Native GUIs in your Computer ==
+
* http://zynthian.local:6080/vnc.html (Main UI)
 +
* http://zynthian.local:6081/vnc.html (Engines desktop)
  
You can attach an HDMI monitor, mouse and keyboard to your Zynthian, run '''startx''' to display the LINUX desktop and access the various synth engines,
+
or with a VNC client by connecting to ports:
  
or
+
* 5900 (Main UI)
 +
* 5901 (Engines desktop)software can be launched, like ''qjackctl'' or a virtual MIDI keyboard for testing.
  
You can remote login from another computer/laptop. To do this, you need an XServer running on your computer. Linux is best, but i've tested with Mac and Windows too.
+
====Supported Engines with Native GUI====
The only thing you have to do is login into your Zynthian Box with '''ssh''' using the "-Y" option to tunnel the X connection (or the equivalent option if you are not using a standard ssh client):
 
  
  $ ssh -Y root@zynthian.local
+
Currently ''ZynAddSubFX'', ''Aeolus'', ''Pianoteq'' and ''Pure Data'' have support for remotely displaying their native GUIs, which is launched automatically when layer is created. Other GUI
 +
{{NoteBox|Using an ethernet-to-ethernet (cable) connection will reduce remote GUI latency and improve usability.}}
  
 +
== Uploading your presets/soundfonts to Zynthian ==
  
Currently only ZynAddSubFX has a supported native GUI. Other GUI software can be installed to control other synths, also virtual MIDI keyboard software can be used - for testing.
+
The easiest way of getting your presets & soundfonts inside your zynthian is by using the webconf's preset manager:
  
 +
  http://zynthian.local/lib-presets
  
'''IMPORTANT:''' Try to use an ethernet-to-ethernet connection as it will reduce latency and improve usability.
+
From there you manage your preset & soundfont libraries: renaming, deleting, and uploading, including automatic conversion from some native formats:
  
== Copying your presets/soundfonts to Zynthian ==
+
* DX7 SysEX files
 +
* OBXd FXB files
 +
* synthv1 native format
 +
* padthv1 native format
  
You can copy your presets/soundfonts/pedalboards in the next forlder:
+
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
 
  /zynthian/zynthian-my-data
  
There are different subfolders:
+
This is the subfolder structure:
  
  + mod-pedalboards
+
  + '''presets'''
  + soundfonts
+
  + zynaddsubfx
   + gig
+
  + puredata
   + sfz
+
  + pianoteq
   + sf2
+
  + lv2
  + snapshots
+
  + mod-ui
  + zynbanks
+
  + '''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'''
  
In 'mod-pedalboards' you will find your stored MOD-UI pedalboards.
+
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.
Use SFZ and GIG soundfonts with LinuxSampler. SF2 soundfonts must be used with FluidSynth. SFZ and GIG fonts must be stored in 'category' subfolders.
 
User's ZynAddSubFX presets/banks must be stored in the "zynbanks" directory.
 
  
 
If you have doubts of how to store your data, take a look in this directory:
 
If you have doubts of how to store your data, take a look in this directory:
Line 100: Line 142:
 
  /zynthian/zynthian-data
 
  /zynthian/zynthian-data
  
Here you will find the same folder structure, with some additions.
+
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.
 
If you are really interested, you could, for instance, edit the setBfree configuration, and change the CC assignments, etc.
  
'''IMPORTANT:''' after adding or changing something in 'zynthian-data', you can’t update the zynthian-library from the Admin menu. (The "git-based" updating system should be improved...)
+
{{WarningBox|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.}}
  
If you are using an old SD image (prior to Gorgona), the username and password are the default for Raspbian:
+
== OSC ==
  
  user=pi
+
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.
  password=raspberry
+
 
 +
==== 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 [[Zynthian_UI_Users_Guide#CUIA:_Callable_UI_Actions|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 "osc_send":
 +
# 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:
 +
 
 +
{| class="wikitable"
 +
|+ CUIA list
 +
|-
 +
! Action !! Parameters !! Description
 +
|-
 +
| POWER_OFF || ||
 +
|-
 +
| REBOOT || ||
 +
|-
 +
| RESTART_UI || ||
 +
|-
 +
| RELOAD_MIDI_CONFIG || ||
 +
|-
 +
| RELOAD_KEY_BINDING || ||
 +
|-
 +
| LAST_STATE_ACTION || ||
 +
|-
 +
| ALL_NOTES_OFF || ||
 +
|-
 +
| ALL_SOUNDS_OFF || ||
 +
|-
 +
| ALL_OFF || ||
 +
|-
 +
| TOGGLE_AUDIO_RECORD || ||
 +
|-
 +
| START_AUDIO_RECORD || ||
 +
|-
 +
| STOP_AUDIO_RECORD || ||
 +
|-
 +
| TOGGLE_AUDIO_PLAY || ||
 +
|-
 +
| START_AUDIO_PLAY || ||
 +
|-
 +
| STOP_AUDIO_PLAY || ||
 +
|-
 +
| TOGGLE_MIDI_RECORD || ||
 +
|-
 +
| START_MIDI_RECORD || ||
 +
|-
 +
| STOP_MIDI_RECORD || ||
 +
|-
 +
| TOGGLE_MIDI_PLAY || ||
 +
|-
 +
| START_MIDI_PLAY || ||
 +
|-
 +
| STOP_MIDI_PLAY || ||
 +
|-
 +
| SELECT || %i || Highlight an element in the list
 +
|-
 +
| SELECT_UP || ||
 +
|-
 +
| SELECT_DOWN || ||
 +
|-
 +
| BACK_UP || ||
 +
|-
 +
| BACK_DOWN || ||
 +
|-
 +
| LAYER_UP || ||
 +
|-
 +
| LAYER_DOWN || ||
 +
|-
 +
| SNAPSHOT_UP || ||
 +
|-
 +
| SNAPSHOT_DOWN || ||
 +
|-
 +
| SWITCH_BACK_SHORT || ||
 +
|-
 +
| SWITCH_BACK_BOLD || ||
 +
|-
 +
| SWITCH_BACK_LONG || ||
 +
|-
 +
| SWITCH_SELECT_SHORT || ||
 +
|-
 +
| SWITCH_SELECT_BOLD || ||
 +
|-
 +
| SWITCH_SELECT_LONG || ||
 +
|-
 +
| SWITCH_LAYER_SHORT || ||
 +
|-
 +
| SWITCH_LAYER_BOLD || ||
 +
|-
 +
| SWITCH_LAYER_LONG || ||
 +
|-
 +
| SWITCH_SNAPSHOT_SHORT || ||
 +
|-
 +
| SWITCH_SNAPSHOT_BOLD || ||
 +
|-
 +
| SWITCH_SNAPSHOT_LONG || ||
 +
|-
 +
| SCREEN_MAIN || ||
 +
|-
 +
| SCREEN_LAYER || ||
 +
|-
 +
| SCREEN_BANK || ||
 +
|-
 +
| SCREEN_PRESET || ||
 +
|-
 +
| SCREEN_CONTROL || ||
 +
|-
 +
| MODAL_SNAPSHOT || ||
 +
|-
 +
| MODAL_AUDIO_RECORDER || ||
 +
|-
 +
| MODAL_MIDI_RECORDER || ||
 +
|-
 +
| MODAL_ALSA_MIXER || ||
 +
|-
 +
| MODAL_STEPSEQ || ||
 +
|-
 +
| MODAL_ADMIN || ||
 +
|-
 +
| LAYER_CONTROL || %i || Set active layer to %i and show control screen
 +
|}
 +
 
 +
==== 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)))

Revision as of 21:04, 29 August 2021

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" and 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

If the link-local address (zynthian.local) 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

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.

  1. Open the Admin screen on your Zynthian.
  2. Select the "Wifi Hotspot" option.
    • This will take up to thirty seconds to complete.
  3. Connect to the "zynthian" network with another device.
  4. In the Admin screen on your Zynthian, select "Network Info".
  5. 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:

  1. Connect your Zynthian to your local network using the ethernet connector (RJ45) or directly to your computer (Ethernet to Ethernet)
  2. Open the browser in your computer and type in the address bar:
http://zynthian.local   (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".

Zynthian webconf login.png

Here are the details on using the Web configuration tool: Configuration_Users_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:
zynthian.local: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) 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:

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.

6.1 Supported Engines with Native GUI

Currently ZynAddSubFX, Aeolus, Pianoteq and Pure Data have support for remotely displaying their native GUIs, which is launched automatically when layer is created. Other GUI

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 "osc_send":

# 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 list
Action Parameters Description
POWER_OFF
REBOOT
RESTART_UI
RELOAD_MIDI_CONFIG
RELOAD_KEY_BINDING
LAST_STATE_ACTION
ALL_NOTES_OFF
ALL_SOUNDS_OFF
ALL_OFF
TOGGLE_AUDIO_RECORD
START_AUDIO_RECORD
STOP_AUDIO_RECORD
TOGGLE_AUDIO_PLAY
START_AUDIO_PLAY
STOP_AUDIO_PLAY
TOGGLE_MIDI_RECORD
START_MIDI_RECORD
STOP_MIDI_RECORD
TOGGLE_MIDI_PLAY
START_MIDI_PLAY
STOP_MIDI_PLAY
SELECT %i Highlight an element in the list
SELECT_UP
SELECT_DOWN
BACK_UP
BACK_DOWN
LAYER_UP
LAYER_DOWN
SNAPSHOT_UP
SNAPSHOT_DOWN
SWITCH_BACK_SHORT
SWITCH_BACK_BOLD
SWITCH_BACK_LONG
SWITCH_SELECT_SHORT
SWITCH_SELECT_BOLD
SWITCH_SELECT_LONG
SWITCH_LAYER_SHORT
SWITCH_LAYER_BOLD
SWITCH_LAYER_LONG
SWITCH_SNAPSHOT_SHORT
SWITCH_SNAPSHOT_BOLD
SWITCH_SNAPSHOT_LONG
SCREEN_MAIN
SCREEN_LAYER
SCREEN_BANK
SCREEN_PRESET
SCREEN_CONTROL
MODAL_SNAPSHOT
MODAL_AUDIO_RECORDER
MODAL_MIDI_RECORDER
MODAL_ALSA_MIXER
MODAL_STEPSEQ
MODAL_ADMIN
LAYER_CONTROL %i Set active layer to %i and show control screen

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