jamulussoftware / jamulus

Jamulus enables musicians to perform real-time jam sessions over the internet.
https://jamulus.io
Other
997 stars 222 forks source link

Individual output channel mapping #1305

Closed olibac closed 3 years ago

olibac commented 3 years ago

Describe the solution you'd like I would like to mix a performance using a DAW (Reaper) to be able to insert effects (compressor, eq...) in each channel received from Jamulus.

It could be done mapping every channel in the Jamulus mixer to a ReaRoute input. This way every Jamulus channel could be sent to Reaper and in Reaper assign the ReaRoute input to a channel. Maybe in an Advanced Mapping Settings (to avoid clutter Settings) add the mapping of each channel to an output. Or maybe something similar to what has been done with Groups, where you can assing a channel to a group. Make a "Ch. send" button/check and show a list of possible outputs when clicking. Attached rough GUI representation of the first option. ![Jamulus-Settings](https://user-images.githubusercontent.com/5333361/111811202-1b29c300-88d7-11eb-9194-0c09a883bc70.jpg) ![Jamulus-AdvMapping](https://user-images.githubusercontent.com/5333361/111811215-1e24b380-88d7-11eb-8eb8-7d34a24936df.jpg)
ann0see commented 3 years ago

Hi! Thank you for opening this feature request. I'm afraid that this is impossible with the way Jamulus works:

Currently all the mixing is done on the server (not the client where you only set the levels on the server) and you only receive a stereo signal from the server (and we can't change that easily). This has many advantages like the fact that the required bandwidth is low.

However work is going on to get the audio signal directly from the server: https://github.com/jamulussoftware/jamulus/pull/967

Maybe it could be adapted in future to support multiple channels.

olibac commented 3 years ago

Ooops! I totally missunderstood how mixing was going on... I thought every client was receiving channels separately. Nice to know :). I am using one PC for Jamulus server and my laptop as a client for me (drummer), both in the same network (at home). Me and my band are doing this in order to keep the source of tempo (drummer) closest to server to play more in time. So another idea would be to route every client audio arriving to the server to Repaer (or other DAW) using ReaRoute (or other virtual cables). In fact something similar (in my total ignorance) is already done when recording: every client audio is being routed to a file. Maybe is possible to route to a virtual cable instead.

ann0see commented 3 years ago

Yep. That would be possible. I suggest you to follow/ask in the Pull Request I mentioned. In the meantime I'll convert this to a discussion since it probably needs more discussion ;-).