I am working on creating an online rehearsal/jamming space for a group I play in (due to the pandemic). I have set up a Jacktrip server on AWS and connected the participants by way of QJacktrip (a graphical interface available on Windows for jacktrip). In our physical workflow, we were used to having one of us mixing our instruments and voices on a mixer, and I am trying to replicate that mode of operation for the online rehearsal space. We have learned that we need it even more for the online space, as Jack+Asio4All on Windows often leaves participants on integrated audio without a way to adjust their volume (most common problem is that it is too low).
I have experimented with ecasound, until tests revealed that it is not multicore and thus would not scale well, and I am aware that some folks have set this kind of mixing using SuperCollider. However, either approach does not give us the flexibility inherent in having someone just operating a DAW.
I am familiar with DAWs, and since Ardour is built with Jack in mind, it seems ideal for mixing, adding effects, etc., to a bunch of Jacktrip participants. However, I am not sure how to proceed and would welcome your thoughts and recommendations! Here are some ideas we are currently entertaining:
- The first approach that comes to mind is running Ardour on the server and using X-forwarding or some other remote desktop technology to use the GUI. It has the disadvantage that server resources are wasted running the GUI.
- The second approach would be having Ardour running headless in some way, and controlling it remotely. I have found some not entirely conclusive threads on whether this could be done. Is it possible to run Ardour headless? If yes, how would one go about controlling it? Is there any way to run the full GUI on a client machine, or would the interaction have to be programmed over OSC or Web-sockets? If the latter, are there any full-featured control clients available?
- It would be ideal to have a base setup, with a full mix and personal mixes for each participant, available from the get-go. Would this be possible using an Ardour project, given that Jacktrip clients may come and go during the session? Would a scripting approach using Lua be more appropriate?
At this time we are exploring available options, so any ideas are welcome!