Replies: 15 comments
-
This might go well with my ask #704, to allow the Jamulus Client to send commands to a remote Jamulus Server, essentially launching Jamulus in Remote Server mode (rather than Local Server) to control cloud server functions via the user interface. |
Beta Was this translation helpful? Give feedback.
-
I think this request is probably in forking territory really, but I recently used Zoom's remote control feature to install and configure Voicemeeter on somebody's machine so that they could play background music on Zoom (and other) calls. Other than being a bit slow, it was fairly easy. I wonder if you could do the same with Jamulus so that you could then use Zoom to hear what the client was hearing and adjust the mix that way? |
Beta Was this translation helpful? Give feedback.
-
I have not played with it but apparently RealVNC has some provision for getting audio from the remote computer. Unfortunately, it's not offered in the free version so it's $40 per year per server (in this case a Jamulus client)! I have set up a mechanism to route Jamulus audio into Zoom for distributing virtual concerts to those that don't run Jamulus. So there is a path to get that audio to an "engineer's station". Then VNC would provide the control path. However, this means that the engineer would need to leave Jamulus for two other apps: one to control and one to hear. The engineer's station would also need a way to switch audio from their normal Jamulus client to a remote one's audio via Zoom or whatever. The alternate approach I outlined above which uses Load and Save Mixer Setups would allow the engineer to remain in Jamulus for control and monitoring of other clients. User interface changes would be reduced to additional menu items to get mixer setups from another client and send the modified mixer setup back to the client. Under the hood, data paths to transfer mixer setups from one client to another that would be needed. This path would probably need to route though the Jamulus server to avoid issues with firewalls. I think one additional feature of this approach would be to set all clients to the same mix. I think this would help large groups like choirs so that the musician's experience can be simplified to just turning on and singing. This has the advantage over an alternate posting that would send the same mix to all clients: once the mix was sent to all clients, each client could then make minor adjustments to their mix for "more me". |
Beta Was this translation helpful? Give feedback.
-
That is a very complicated and error prone process in the code and therefore should not be implemented. One possible alternative would be that you share your mixer settings in the Chat dialog. So you make your mix, send it in the chat and the other user just has to click on the link and all settings are applied. Unfortunately, the implementation is tricky since the amount of data send through the chat is larger than the maximum number of bytes allowed for one chat message. And also this "I just checked, and Save and Load Mixer Setup doesn't work while connected, so that needs to change." has to be changed, too. So this alternative solution would be a lot of work, too. |
Beta Was this translation helpful? Give feedback.
-
Part of the use case for having one user make level changes for another is that some users have no aptitude for setting up a mix so it sounds good for them. In fact I have one user who is running his Jamulus client with no user interface at all. We VNC in to make changes FOR him. But we can't hear the mix we are creating. Sending the mix somehow (like chat) to another user assumes they are savvy enough to see the new mix and click on the link. |
Beta Was this translation helpful? Give feedback.
-
I agree. This is an open issue. So, maybe this solution would not help for your usecase.
First step is done: Now you can store the mixer settings during a connection (loading still requires a disconnect): 3d213e4 |
Beta Was this translation helpful? Give feedback.
-
Second step is also done (wasn't a big deal). So, loading the mixer settings during an active connection is now also possible: a298638 |
Beta Was this translation helpful? Give feedback.
-
I implemented another nice feature. Now it is possible to drag'n'drop mixer setup files into the Jamulus software: |
Beta Was this translation helpful? Give feedback.
-
I totally see these concerns if the server shall trigger a transmit "onChange". Do you see the same high danger for requesting a mixer-setting (of a chosen other participant) from the server and auto-loading the response upon receiving? This could then also be triggered automatically e.g. every 0.5s |
Beta Was this translation helpful? Give feedback.
-
One way would be to upload the current settings file to a cloud server and post the link in the Jamulus chat dialog. |
Beta Was this translation helpful? Give feedback.
-
That is a valuable option already. |
Beta Was this translation helpful? Give feedback.
-
Do you think you have to re-adjust the mix all the time? I assume once you have a good sound, you just distribute the mix to all participants and do your rehearsal without having to modify any faders at all. |
Beta Was this translation helpful? Give feedback.
-
I think tweaking from time to time will be wanted. From experience, singers adjust their voice intuitively to what they hear. It depends on their experience-level how strongly, especially with any kind of voice-amplification. And it varies from song to song. Instruments are more constant. I'd expect 2-3 iterations of sing, adjust, distribute at the begin of rehearsal, and then maybe an adjustment every 30 min (when switching song). |
Beta Was this translation helpful? Give feedback.
-
That sounds reasonable. In that case, a distribution of the settings via a could drive and a link postet in the chat window seems to be a good solution to me. |
Beta Was this translation helpful? Give feedback.
-
Hi All - until we have an actionable specification for what to do here, I'm moving this to a discussion if that's OK. Once a spec is firmed up we can add it as an Issue to be worked on. |
Beta Was this translation helpful? Give feedback.
-
We have one user that is having difficulty using Jamulus because of the need for each musician to adjust their own mix. This user just wants to turn on the computer running Jamulus (a Raspberry PI in this case) and play. The display confuses them and a faceless box controlled by another person remotely may be unavoidable. We are planning to VNC into their system for configuration changes. VNC could also be used for level adjustments but you would not be able to hear the client's audio.
When mixing on-stage monitors live with a console located on the stage, the engineer has the ability to "flip" the faders to one of the musician's mixes and hear that mix in the engineer's cue monitor. With the mixer for Jamulus located at the server, it seems possible to route the mix for any client to any other client for the purposes of adjusting the unskilled client's mix. The server knows that each channel level and pan are for that client, but if another client were to make level changes, those would need to be communicated to the original client so their faders move too.
"Client Solo" buttons could be added below each client's fader in the Jamulus mixer to route that client's audio to the "engineer's client" and to make level changes. You would probably want an enable for this mechanism in settings to avoid unexpected interactions.
Another approach would be to copy a mix from another client into your mixer, make changes and copy it back to the other client. Jamulus already provides menu items for saving and loading the current mix, so adding two more menu items would make this work from a U/I standpoint. I just checked, and Save and Load Mixer Setup doesn't work while connected, so that needs to change. The server knows every client's levels (and pan) but sending the modified mix back to the client may need a new data path.
Beta Was this translation helpful? Give feedback.
All reactions