Recently I discovered this nice project and as my band is not able to play for quite a while due to Corona, this would be perfect for us.
Currently we have severe problems, mostly latency related. I read a lot in the manuals and this forum and also elsewhere in the internet, but still our private server doesn't show acceptable values.
I startet with a RPI zero with the latest Raspbeerry OS, much too slow --> upgrade to RPI 4B ---> This gave 25ms overall in the local network --> applied the PREEMT_RT patch to the kernel, bringing me down to 19ms --> added fastupdate und multithreading option and changed the client to 64kb network buffer: down to 10ms.
This sounds good, but accessing it from the outside is horrible: From a Mac in the same city overall latency is 65ms, from Windows even 80ms. Windows clients are running also always only with big interrupts. Ping is 35ms from the Mac client outside.
I have a VDSL connection with 10/50 Mb/s up/down, my band mates have similar network connections. The server is configured as private and the router has port forwarding activated.
Looking into the directory of server I can find even below 20ms, playing works fine. How can I get my own server to a level of around 20ms?
Thanks, Christof
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Most of the servers you see listed are on the cloud, not at home. ISPs not necessarily interconnect among them in your city, so the signal could go to some larger city and then back even if you are close. And also their internal paths are likely not optimised for having servers in homes. Cloud servers are well interconnected with other providers.
From what you write, you are able to manage a Linux server: you may try the free tier of Amazon AWS, which gives you a free server for one year, very basic but sufficient to play and test. If performance is not sufficient, it is very easy to escalate, and having a server running only during rehearsals is still very cheap (I spend about 3€/month).
Last edit: Vincenzo 2021-01-14
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Tangentially (and I don't know if it applies to the OP here so apologies if not) - I get the impression that at least some people assume that to use Jamulus effectively you have to set up your own server. At least, there are regular posts about server optimisation and problems where it appears the authors have not thought to connect to a public host at least at first. And there is also the phenomenon of large numbers of empty servers too, which may or may not be related to the mistaken assumption that running a server is required.
Do you think this points to a flaw in the documentation/website, or some deeper issue? Do people read about Jamulus, and the minute it mentions "servers" assume they are then on a mission to set one up? The page we put together here is quite explicitly designed to discourage setup in fact.
😄
1
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I am for sure among those that, because shy (or aware of his own limitations :) ), preferred to install a private server since the beginning, thus I understand most of those willing the same (shy, or also playing own songs and not willing others to listen).
Regarding the empty servers, in other places there has been some discussion on the different role Jamulus took with Covid: not only jams, but regular tool for (private) rehearsals.
However, a number of people without technical expertise (not the OP, I would say) is trying to install servers, and to those in particular some better advice could be given. In my opinion, since at present there are (at least) commercial 3 spinoffs supporting on the server side, I would list them in some place of the site, before suggesting the installation of a private server.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
As I'm afraid you've discovered (and you are by no means the only one), that the server is not the main determinant of the quality of a Jamulus session. In fact it's probably the least important aspect of the chain for groups less than about 6-10 players.
From what you describe, I would guess that the issue is your ISP, router or a network quality problem between the clients and your server. I would therefore first try to have a session on a public server which has acceptable latency for you all (assuming you can find one). If that seems better (and you may still find some individuals need to adjust things at their end to get it right), then you can either stick with that and mute each other to prevent intrusion, or investigate setting up a cloud server. There is of course no guarantee that the cloud host you choose will have good latency for all your players, but you can try it and see. This is one of the advantages of using public servers by the way - you can switch to another one if you want.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
thanks for the quick answer. I was also thinking about using a hoster instead of my own. I found another post which links to 1fire hosting. They offer linux based solutions which is more familiar to me than AWS....
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
AWS is Amazon Web Services - on their servers you can install what you want. Actually, the usual solution is Ubuntu 18.04 + Jamulus. However, there are scripts for installing Jamulus on Debian and Fedora too.
However, it depends on where you are. Google Cloud, Azure, Vultr, etc are alternatives, the best thing with cloud is that you may experiment without spending much. You will need a server located "close" to you, although it is not the main determinant.
Last edit: Vincenzo 2021-01-14
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Gilgongo,
we tried that already, with public servers it worked ok. The one we checked out yesterday seemed to have negative influence on the sound quality, though. Also we're shy :-) I'd like to have a private solution...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I see (re. my meta comment about server hosting above). And apologies if I assumed wrongly about your connection to a public server. You can of course always simply solo each other and you won't be interrupted but I quite understand the desire for total privacy,
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
since you are answering right now, I suppose you are in EU. If so, at the beginning I compared AWS and Google Cloud in equivalent regions, and performance was the same, however Google free tier allows servers only located in US regions (no good for us). However, if you run a server just for few hours a month, prices are always low. If you run a traditionally hosted service, you have to pay full months/year.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
As I wrote before, I consider that one: https://1fire.hosting./vserver/kvm-hdd/
In one the posts I found that this is the solution for the central server which I can reach in 20ms. And for 1.25 EUR/month it's probably worth a try...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
it's worth a try, however 512MB RAM is under the minimum suggested for running Jamulus (1GB). Anyway, at those prices, testing is almost free :)
(in Frankfurt you have both AWS and Google regions too).
Last edit: Vincenzo 2021-01-14
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I didn't know 1GB is specified as minimum. On the raspberry with the running Jamulus server and a single connection memory consumption is 230MB in total with cache. Therefore I thought it should be plenty enough...!?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi @Christof
As Vincenzo mentioned, there are a few solutions out there that aim to reduce the pain you're experiencing.
At Koord we are operating as a social enterprise with the simple objective of making it easier for musicians like yourself to play online. We do all the system configuration, OS optimization and cloud stuff - so you don't have to, and the servers are private and on-demand with recordings automatically saved to your own cloud storage.
We are supporting 8 city regions at the moment, with another 16 on the way within a few weeks.
Fully free and no obligation, just sign-up involved. https://koord.live
Sorry, this wasn't meant as a commercial push - we are a free community-oriented service and we just want to make Jamulus easier for everybody!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ah yes :) we have some stale info on the FAQ - we have a lot of frontend updates backed up.
Currently there is a session limit of 2 hours, but no limit on the number of sessions you can make - just one at a time. You can start a new one as soon as the old one is over.
(Also there is no connection limit on the number of users. All sessions run on CPU-optimized servers with custom VM images optimized (with extensive testing) to run the Jamulus process with the highest performance.)
And yes, we already support Frankfurt, so you should get nice low latency from there ;)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Glad to hear that, @Christof.
Haha - yes we are managing for now by aggressively minimizing our costs - and doing a lot of free work! :D
Lots of updates are in the pipeline, and feel free to ping us at any time with thoughts about what else we can offer to streamline the whole Jamulus experience.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It's working Jao Graca, it seems to work great, a nice solution for a lot of people.
One thing, the download links to download Jamulus, downloads a very old Jamulus version.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Short update after some more testings:
Last week Friday we tried with 4 people first our own Linux based server at my home. Result: Good audio quality, but far too high latency. Then we tried Koord with much better latency. But we had so may drop outs, it was also unplayable. Then we tried a public server with good ping and no participants, which still had dropouts, but less. People stepping in and out was also not helpful.
Finally, I rented now a virtual server at 1fire. Latency is perfect, but the question is how about drop outs. We try that tomorrow...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
@Luuk, thanks! We hope you find it useful. (Download links also updated now among other things)
@Christof
Sounds like the 1fire datacenter is even closer to you guys than the Koord Frankfurt datacenter.
If you are getting dropouts whichever server you are using, the problem is most likely with one or more of your clients. How do the dropouts sound?
If all your musicians have got their audio interfaces configured well, then the problem is likely the quality of one or more of the client internet connections. Quite often, when there is contention from multiple devices on a home Wifi router, and it is a cheap consumer router, then you will notice a low-frequency distorted rumble when the Jamulus traffic is being squeezed out by (for example) streaming video service requests.
Good luck with your local setups and feel free to keep on using koord.live for your jams.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Another update: Today we played with the whole band over the 1fire server I configured. Already in the first minutes it was clear it wouldn't work as well. Server load went up to 100% after the 2nd mate joined.
Luckily the support of 1fire is incredible. I sent them a mail that I want to upgrade from the smallest server to the smallest dual core (NVME). The migration was done in 5 minutes ! This changed everything ! No dropouts at all. This was the first time after months that we could play together as usual. I had a stable total latency of 31ms, some of the mates hat up to 35ms but it worked well with fantastic sound and minimal delay and no dropouts over hours.
We also discovered that Jamulus has also some advantages over playing together over the PA:
Due to the fact that we can play without ear plugs, the sound is way better
Everybody has his own mix, you tend to try to make your own instrument loudest, no pronlem with Jamulus !
@Joao: Still I believe that your solution is fantastic, maybe after some optimization it will become as good as a dedicated server. I'd be willing to pay if it works like I do now with 1fire.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Recently I discovered this nice project and as my band is not able to play for quite a while due to Corona, this would be perfect for us.
Currently we have severe problems, mostly latency related. I read a lot in the manuals and this forum and also elsewhere in the internet, but still our private server doesn't show acceptable values.
I startet with a RPI zero with the latest Raspbeerry OS, much too slow --> upgrade to RPI 4B ---> This gave 25ms overall in the local network --> applied the PREEMT_RT patch to the kernel, bringing me down to 19ms --> added fastupdate und multithreading option and changed the client to 64kb network buffer: down to 10ms.
This sounds good, but accessing it from the outside is horrible: From a Mac in the same city overall latency is 65ms, from Windows even 80ms. Windows clients are running also always only with big interrupts. Ping is 35ms from the Mac client outside.
I have a VDSL connection with 10/50 Mb/s up/down, my band mates have similar network connections. The server is configured as private and the router has port forwarding activated.
Looking into the directory of server I can find even below 20ms, playing works fine. How can I get my own server to a level of around 20ms?
Thanks, Christof
Most of the servers you see listed are on the cloud, not at home. ISPs not necessarily interconnect among them in your city, so the signal could go to some larger city and then back even if you are close. And also their internal paths are likely not optimised for having servers in homes. Cloud servers are well interconnected with other providers.
From what you write, you are able to manage a Linux server: you may try the free tier of Amazon AWS, which gives you a free server for one year, very basic but sufficient to play and test. If performance is not sufficient, it is very easy to escalate, and having a server running only during rehearsals is still very cheap (I spend about 3€/month).
Last edit: Vincenzo 2021-01-14
We both responded at the same time :-)
Tangentially (and I don't know if it applies to the OP here so apologies if not) - I get the impression that at least some people assume that to use Jamulus effectively you have to set up your own server. At least, there are regular posts about server optimisation and problems where it appears the authors have not thought to connect to a public host at least at first. And there is also the phenomenon of large numbers of empty servers too, which may or may not be related to the mistaken assumption that running a server is required.
Do you think this points to a flaw in the documentation/website, or some deeper issue? Do people read about Jamulus, and the minute it mentions "servers" assume they are then on a mission to set one up? The page we put together here is quite explicitly designed to discourage setup in fact.
I am for sure among those that, because shy (or aware of his own limitations :) ), preferred to install a private server since the beginning, thus I understand most of those willing the same (shy, or also playing own songs and not willing others to listen).
Regarding the empty servers, in other places there has been some discussion on the different role Jamulus took with Covid: not only jams, but regular tool for (private) rehearsals.
However, a number of people without technical expertise (not the OP, I would say) is trying to install servers, and to those in particular some better advice could be given. In my opinion, since at present there are (at least) commercial 3 spinoffs supporting on the server side, I would list them in some place of the site, before suggesting the installation of a private server.
HI Christof,
As I'm afraid you've discovered (and you are by no means the only one), that the server is not the main determinant of the quality of a Jamulus session. In fact it's probably the least important aspect of the chain for groups less than about 6-10 players.
From what you describe, I would guess that the issue is your ISP, router or a network quality problem between the clients and your server. I would therefore first try to have a session on a public server which has acceptable latency for you all (assuming you can find one). If that seems better (and you may still find some individuals need to adjust things at their end to get it right), then you can either stick with that and mute each other to prevent intrusion, or investigate setting up a cloud server. There is of course no guarantee that the cloud host you choose will have good latency for all your players, but you can try it and see. This is one of the advantages of using public servers by the way - you can switch to another one if you want.
Hi Vincenzo,
thanks for the quick answer. I was also thinking about using a hoster instead of my own. I found another post which links to 1fire hosting. They offer linux based solutions which is more familiar to me than AWS....
AWS is Amazon Web Services - on their servers you can install what you want. Actually, the usual solution is Ubuntu 18.04 + Jamulus. However, there are scripts for installing Jamulus on Debian and Fedora too.
However, it depends on where you are. Google Cloud, Azure, Vultr, etc are alternatives, the best thing with cloud is that you may experiment without spending much. You will need a server located "close" to you, although it is not the main determinant.
Last edit: Vincenzo 2021-01-14
Ah, OK. I always thought Amazon means a proprietary solution. I'll check it out and let you know my solution and result.
Hi Gilgongo,
we tried that already, with public servers it worked ok. The one we checked out yesterday seemed to have negative influence on the sound quality, though. Also we're shy :-) I'd like to have a private solution...
I see (re. my meta comment about server hosting above). And apologies if I assumed wrongly about your connection to a public server. You can of course always simply solo each other and you won't be interrupted but I quite understand the desire for total privacy,
I understand. I guess with my own server it won't work. I'll have a look on hosting solutions. Thanks !
since you are answering right now, I suppose you are in EU. If so, at the beginning I compared AWS and Google Cloud in equivalent regions, and performance was the same, however Google free tier allows servers only located in US regions (no good for us). However, if you run a server just for few hours a month, prices are always low. If you run a traditionally hosted service, you have to pay full months/year.
As I wrote before, I consider that one: https://1fire.hosting./vserver/kvm-hdd/
In one the posts I found that this is the solution for the central server which I can reach in 20ms. And for 1.25 EUR/month it's probably worth a try...
it's worth a try, however 512MB RAM is under the minimum suggested for running Jamulus (1GB). Anyway, at those prices, testing is almost free :)
(in Frankfurt you have both AWS and Google regions too).
Last edit: Vincenzo 2021-01-14
I didn't know 1GB is specified as minimum. On the raspberry with the running Jamulus server and a single connection memory consumption is 230MB in total with cache. Therefore I thought it should be plenty enough...!?
Hi @Christof
As Vincenzo mentioned, there are a few solutions out there that aim to reduce the pain you're experiencing.
At Koord we are operating as a social enterprise with the simple objective of making it easier for musicians like yourself to play online. We do all the system configuration, OS optimization and cloud stuff - so you don't have to, and the servers are private and on-demand with recordings automatically saved to your own cloud storage.
We are supporting 8 city regions at the moment, with another 16 on the way within a few weeks.
Fully free and no obligation, just sign-up involved.
https://koord.live
Sorry, this wasn't meant as a commercial push - we are a free community-oriented service and we just want to make Jamulus easier for everybody!
Oh wow, sounds great ! Do you have a server in Germany? What I found is that a session is limited to 45mins. What if I want to play longer?
Ah yes :) we have some stale info on the FAQ - we have a lot of frontend updates backed up.
Currently there is a session limit of 2 hours, but no limit on the number of sessions you can make - just one at a time. You can start a new one as soon as the old one is over.
(Also there is no connection limit on the number of users. All sessions run on CPU-optimized servers with custom VM images optimized (with extensive testing) to run the Jamulus process with the highest performance.)
And yes, we already support Frankfurt, so you should get nice low latency from there ;)
Absolutely perfect: Ping time of 20ms and total latency of 35ms. This is far better than what I achieved !
Unbelievable! How can you do this for free. I singed up already, I'm trying it out !
Thanks !!!!!!
Glad to hear that, @Christof.
Haha - yes we are managing for now by aggressively minimizing our costs - and doing a lot of free work! :D
Lots of updates are in the pipeline, and feel free to ping us at any time with thoughts about what else we can offer to streamline the whole Jamulus experience.
It's working Jao Graca, it seems to work great, a nice solution for a lot of people.
One thing, the download links to download Jamulus, downloads a very old Jamulus version.
Short update after some more testings:
Last week Friday we tried with 4 people first our own Linux based server at my home. Result: Good audio quality, but far too high latency. Then we tried Koord with much better latency. But we had so may drop outs, it was also unplayable. Then we tried a public server with good ping and no participants, which still had dropouts, but less. People stepping in and out was also not helpful.
Finally, I rented now a virtual server at 1fire. Latency is perfect, but the question is how about drop outs. We try that tomorrow...
@Luuk, thanks! We hope you find it useful. (Download links also updated now among other things)
@Christof
Sounds like the 1fire datacenter is even closer to you guys than the Koord Frankfurt datacenter.
If you are getting dropouts whichever server you are using, the problem is most likely with one or more of your clients. How do the dropouts sound?
If all your musicians have got their audio interfaces configured well, then the problem is likely the quality of one or more of the client internet connections. Quite often, when there is contention from multiple devices on a home Wifi router, and it is a cheap consumer router, then you will notice a low-frequency distorted rumble when the Jamulus traffic is being squeezed out by (for example) streaming video service requests.
Good luck with your local setups and feel free to keep on using koord.live for your jams.
Another update: Today we played with the whole band over the 1fire server I configured. Already in the first minutes it was clear it wouldn't work as well. Server load went up to 100% after the 2nd mate joined.
Luckily the support of 1fire is incredible. I sent them a mail that I want to upgrade from the smallest server to the smallest dual core (NVME). The migration was done in 5 minutes ! This changed everything ! No dropouts at all. This was the first time after months that we could play together as usual. I had a stable total latency of 31ms, some of the mates hat up to 35ms but it worked well with fantastic sound and minimal delay and no dropouts over hours.
We also discovered that Jamulus has also some advantages over playing together over the PA:
@Joao: Still I believe that your solution is fantastic, maybe after some optimization it will become as good as a dedicated server. I'd be willing to pay if it works like I do now with 1fire.