Synerg(e)ia (Συνέργεια) is an experimental project for Networked Collaborative live coding
Synergia is a Raspberry pi SSH and OscGroups server located in Greece
Synergia based on tmux collaborative editing, Emacs server/clients and SuperCollider
Emacs is free, powerfull, and thus an attractive option to start with collaborative livecoding
Synergia uses Emacs Client for collaborative editing
With Emacs Client you do not start a new Emacs instance
In Emacs you can customise your own designs for Networked Collaborative Live Coding. You can use various tools and you can write emacs-lisp to build your own emacs configuration
Prerequisites
SuperCollider
Download SuperCollider here: https://supercollider.github.io/download
OSCGroups
How to install oscgroups: https://github.com/RossBencina/oscgroups
OPENVPN
Download open-vpn here: https://openvpn.net/download-open-vpn/
Alternative method - UNIX only
Mac
install open vpn with brew
brew install openvpn
Linux
https://openvpn.net/cloud-docs/openvpn-3-client-for-linux/
Synergia is a remote access VPN server located in Athens - Greece
Live coders can log on to the network server using the open-vpn app
Open terminal and clone this repository into your home directory
cd ~/ && git clone https://github.com/Vasileios/Synergia-Collaborative-Live-coding.git && cd ~/Synergia-Collaborative-Live-coding
Manual connection to Synergia server with open-vpn app
To manually connect with OpenVpn app read the manual in ovpns
folder for more information
To Connect to the server you need to download and install open-vpn
https://openvpn.net/download-open-vpn/
open openvpn application and upload a user.ovpn that you will find in ovpns
folder
For more information about open-vpn see here: https://openvpn.net/cloud-docs/user-imports-received-profile-into-connect-client/
Automatically connection to Synergia server with openvpn command
To automatically connect to Synergia server with openvpn go to /shell_scrips folder and run the 1_vpn_connect.sh
If you successfully logged in to the server with open-vpn you are ready to ssh as user in the server
run the below command to connect via ssh
ssh user1@10.8.0.1
the password is ‘user1’ without the quotes ”
If you successfully logged in to the server you will see an emacs scratch buffer.
You can do C-x b
(switch-to-buffer) to select usr1, 2, 3 .scd files
You can now run SuperCollider code with Shift 2
Inside the repository go to shell_scripts
folder and run the script that is
related to your usr.ovpn connection.
In a few words, if you have connected with usr1.ovpn in the server via OpenVPN
app then you will use ‘usr1_oscgroups_sclang.sh’
You might need to change the sclang path in the script
To run this from you terminal do the following:
./usr1_oscgroups_sclang.sh
This will run OscGroupClient and SuperCollider on your machine.
To manually run the OscGroups client binary onto your machine you need to:
open the terminal and to cd to Synergia Github repository
then run the bellow command
./bin/OscGroupClient 10.8.0.1 22242 22243 22244 22245 username pass sccolgroup sccolpass
You need to change the ‘username’ and ‘pass’
Example:
./bin/OscGroupClient 10.8.0.1 22242 22243 22244 22245 john 1234 sccolgroup sccolpass
To run OSCGroups in SuperCollider you need to install an extension
clone the below repository into your SuperCollider Extensions folder to run oscgroups in SuperCollider:
https://github.com/iani/sc-hacks-redux/
sc-hacks-redux by Iannis Zannos contains OSCGroups classes for SuperCollider (OscGroups and Notification)
More information about running OSCGroups client binary on Synergia SuperCollider
help file. (client_sclang_config
folder).
Place the startup file and the Synergia folder with the SuperCollider help file (client_sclang_config
folder) into your SuperCollider Extensions directory
Recompile class library and boot the server.
Voila!
Now you can switch to Synergia interface to do some collaborative musical live coding
You can experiment with classes for live coding such as BA and sc-hacks
https://github.com/Vasileios/BA
TIP: You do not need to create new files to start coding. You can use the existing buffers usr1_synergia_scws.scd,usr2_synergia_scws.scd, and usr3_synergia_scws.scd instead.
Have fun!!
Read the instructions in the windows_installation
folder