-
Notifications
You must be signed in to change notification settings - Fork 227
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Multi Channel Fader on one Jamulus #96
Comments
You can hook up a DAW to Jamulus - but it depends on having routing that both ends understand. JACK on Linux is fine. I can't comment on MacOS. On Windows, I run it using Reaper with about 60 or 70 different local channels running through the mixing desk before being routed out to Jamulus and the return audio fed back again. |
Ok but all the channel are local, only for you... The other member see only one channel. I was asking for a way to send multiple channel like I was using multiple Jamulus, so every member can adjust their own audio. |
You can run multiple instances of Jamulus, too, if you do it right - that gives that level of control, too. |
But running multiple Jamulus add up also all the output from the server, but they are not needed... So I was thinking at a solution to send multiple separate channel in a Jamulus Server, but to have only one feed to ear from the server. |
Two input channels on one client of software adds to the server just as much as two input channels on two clients. It makes no difference - it's just as much network load and CPU load. |
Yes, if I send two signal it's the same as two client, but if I use two client I receive two mix down audio from the server... but I only need to ear one. So in this case the server is creating a mix track that i never listen and so utilizing cpu and internet. Also in the current state i have Mono/Mono, Mono in/Stereo out but can't send a stereo signal but earing a mono mixdown (Stereo in/Mono out) |
Actually, yes, you're right about the amount of data from server to two clients being more... (By the one downward stream, plus, if you use them the couple of bytes for the levels.) -edit- Oh dear, must have been a bad day: yes, everything to the second client would be extra... |
If you're under Windows, Voicemeeter might be a good solution for you. You can mix up signals from different audio sources and it lets you control each signal's output, so you can adjust volumes as you'd like. I'm using it so I can have my guitar and my computer's microphone going into Jamulus at the same time, so only one Jamulus client needs to be running. The same can be accomplished under Linux by using Jack and alsa_in to mix multiple audio interfaces together. In MacOS, from a fast google search, it appears this is also possible by creating an "Aggregate Device". |
Yes. But as saied already, in this way every other member in Jamulus get only ONE fader in their mixer! And because I use this in a live streaming situation some friends have a "sing mic" (mono), and instrument (stereo or mono) and a "non live mic" (mono).
Only you are able to set the mix about mic and instrument volume... so if another person in jamulus don't want your voice so loud they can't do anything... in our setup with multiple Jamulus client we can have fader for every things! So everyone can have their right mix in their ears! All of this create pointless use of server cpu and bandwith! I don't know if it's simple or not to implement. But a first step is to divide the "send" from the "receive" so later it's just more socket that has to be open to send multiple channel... and we can receive what we need only one time! Also in this situation we could send a stereo signal (so if someone use stereo as return can listen the instrument in stereo) but recive a mono mixdown! |
Perhaps an easier way to implement this functionality is for the Jamulus client to start as a secondary/slave mode in second/third/... instances on the same machine, where it only contributes with an upload stream and doesn't request a download mix from the server. |
I'm a happy camper who would be even happier with the multiple fader feature. |
@kilcup you can use --clientname to rename each instance |
Thanks for the tip @Snayler ! I was experimenting with multiple clients yesterday and found out that using |
If the option to split somebody's stereo (or dual mono) feed to two faders would also include the pan control (plus level meter, mute and solo) - we would be able to do true panning of stereo/dual mono feeds, both signals independently. No more forcing everybody else to hear my guitar in one ear only and my singing in the other :) As implemented now, for stereo feeds, the pan control actually acts as a balance control (not pan). Only if the source is mono it acts as a pan control. Of course - the performance hitting work-around is to run multiple Jamulus clients - as mentioned. |
A compromise I have tested is to change the server's implementation of how to pan a stereo signal. Assuming I send in stereo (but really dual mono A and B): The compromise is others still cannot set A and B:s levels individually (or mute or solo them). |
I would greatly appreciate the ability to control the volume level of each of the two channels individually. The solution to use multiple Jamulus clients for the individual channels will work with sophisticated user in a band that rehearses regularly, but is not practical for casual jam sessions with folks you meet on Jamulus. Most users have voice in one channel and instrument in another and set the relative balance to suit themselves. The balance a user sets, takes into account acoustic energy from their instrument or voice in addition to what they hear back from Jamulus in their headphones. The relative balance the musician sets for themselves may be very different than what other musician on the session require. |
Being able to have a client show up as two channels (left and right - mono) would be an excellent feature. slimvince stereo spread control as an option on a Stereo channel would be an acceptable first step - perhaps sharing the Pan control (toggle from Pan to Spread - or set from a client setting). |
I'm another voice in the crowd that would love to see an implementation of this. I'm also a professional software developer, so I'm going to take a crack at the code and see if I can find a path that isn't too intrusive. The idea of a send-only client is a good one, and would theoretically mean minimum changes server-side (just knowledge to not send a mix back to the client). On the client side, a first pass could be a separate instance with a very reduced UI (only really need the level meter, as the "master" instance gives all the network health and mixing interface needed). Anyway, I'm going to fork and play with the idea a while. I'm primarily a Windows and Linux developer (although, ironically, I'm running Jamulus on a Mac Mini), so I might not be able to do good UI work for the Mac version. |
@Lotharyx Would your idea of a send-only client look like an output device to the client computer? Then it could play an mp3 on one channel? |
@gene96817 That's not my current intent, no. However, that would certainly be a useful feature. I also think it would be useful to have Jamulus be able to serve as a VST plugin for better DAW integration, but that's definitely not what I'm looking at right now. |
Better audio routing is a very important feature. Almost everyone jamming has a mic in addition to their instrument, usually for talkback and often for singing. Having separate controls for these two signals is key for musicians to be able to set up a clean mix for themselves. For anyone looking to use jamulus for a live broadcast, the remote audio engineer needs control over vocals/instruments. Being able to assign each instrument to a discrete USB audio interface output would be huge for professional applications. Using multiple clients might be a temporary workaround, but these features should be high priorities on the roadmap as they affect adoption. |
Hi all - so that we can keep Issues to actionable backlog items, I'm moving this to a discussion if that's OK. Once we have some agreement on how best to implement this we can add the relevant issue(s). |
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
I play with some friends... All of them have a simple request...
A way to send to the Jamulus Server multiple audio over different fader in the mixer, all of this can be Mono or Stereo.
Example:
I have a microphone, it's mono, so in the first channel I set it in mono, then i can select what device, and the input channel of that device.
After that I have a Keyboard, so in the second channel i can set it in stereo (stereo->stereo, for send two channel, or a stereo->mono to mix down a mono track), then i can select what device, and then i can select the two channel.
After the input I can select if i want a mono or stereo return from the server to hear in the headphone.
We ask this because we all have to open more Jamulus each time, and this leads us to throw away server bandwidth.
We need everyone to do their own mix on headphones, some musicians have two or more keyboards and a microphone, so they start jamulus many times.
If you put together all the open Jamulus as a second or more channel (99% in stereo) we find ourselves having a lot of bandwidth thrown away by the server because the server sends the mix to all the jamulus.
It would be nice to have a setting for unlimited channels. every channel could be mono or true stereo or a strereo mix down mono, every channel could select a different audio device and different channels, also a different name.
In this way you can eliminate the complexity of running multiple Jamulus client and the extra bandwith trown away.
The text was updated successfully, but these errors were encountered: