Visual Patcher with Native Backend

Veneer comes with an embedded DSP compiler targeting WebAssembly. That works directly in your browser. However, you can also an run Veneer as a frontend for the native compute engine. This way you can benefit from the visual user interface, yet run your DSP with full native power, low latency, and the capacity of your audio interface.

In this workflow, you run two processes: a browser instance for the user interface, and a local compile server for code compilation and execution. The browser connects to the server via a websocket.

The rest of this article helps you set that up.

krpcsrv

Install the native compiler to obtain krpcsrv, the websocket compile server.

Let's pause for a moment. Please understand that in this scheme, you are running a server program on your machine that receives arbitrary programs over the network and executes them. Because this is very, very dangerous, the server will only accept connections from the localhost by default. If you really know what you are doing and wish to accept remote code execution. please run krpcsrv --help.

To proceed, please run krpcsrv from your terminal. The application will print out the port it is listening to, which is 15051 by default.

Launch Veneer by going to [https://kronoslang.io/veneer] or opening your local copy. Switch to the local compile server by appending ?srv=localhost:15051. If you run over the network or use a different port, please change the parameter accordingly.

Veneer will try to connect over the websocket, and once the server responds, you should see this:

Websocket connection estabilished

There's a connection status icon on the top-right corner. Should the Websocket connection break, the icon will indicate this and Veneer will keep trying to reconnect.

You should now be able to use Veneer as normal. Please note that using browser-based audio assets in the native backend is a work-in-progress.

You can view additional settings, including the audio interface, by running krpcsrv --help.