Delay and indirectly synchronization prevent the effective use of Jamulus, let me explain. The accepted value of 20-30 ms of round trip delay (not Ping Time) would be the goal which is similar to a chorus rehearsal environment based on sound travel time (1ft/ms) to the director or member to member ( a range of 2-30ms depending on distance) along with synchronization errors.
Let’s follow the path sound takes thru the Jamulus system. From the singer to the microphone one could expect a delay of 1ms for every foot away from the mic. Proper use of a mic would make that about 1-4 inches or less than 1/12th to 1/3th of a ms (millisecond). Travel from the mic through a preamplifier and analog to digital conversion is usually under 1 ms. Transmission to the computer via USB adds no more than a 1ms. Next would be a buffering and digital conversion from USB format to Ethernet packet in the computer and out to the router/modem. This would add not more than another 2-5 ms depending on the performance of the computer and router/modem. So far it’s a little delay in the average amount of about 4.3 ms. This portion is somewhat under your control with the purchase of the right hardware but it will have little effect on the overall experience as you will see.
The next phase is where the real issue exists, your ISP (Internet Service Provider) and the Internet. The topology of the Jamulus system is a classic star configuration with the server as the center and clients (Jamulus users) individually communicating with the Jamulus server. The servers job is to combine all the communication (sound in this case) and sending it back to the clients (individual Singers/Musicians). Here again the processing/mixing and buffering time for a reasonable server is only 3-5 ms. So where is all the delay coming from? Unfortunately it’s from a source you have little control over. A little history is required here. The ARPAnet/Internet was designed to provide a robust communications means during a Nuclear War. Routing around affected areas was a design goal. This is what you now have, which means that each packet of information can take a different route to its destination, to both server and client. This can also lead to out of order arrival times of data (streaming sound in this case). This all needs to be sorted out by the server and clients adding some delay due to buffering. This still doesn’t explain round trip delays in the 40+ms range. The problem is with the route taken by a packet of information. Tracing the route on the internet from the client to the server and back reveals the problem. Your packet may go thru 10 to 30 Internet equipment's each adding to the overall delay even if it’s only 1ms per device. This can add up to 20-60ms round trip and add 8.6ms for your computer (both directions about equal to reach you Headphones) and the server with another 3-5ms adds up quickly. It is however quite clear that the bulk of the delay rest with the Internet routing. If you are lucky enough to have all your members on the same ISP within a limited geographic range you will most likely reduce this delay time to make the rehearsal tolerable. One member off by 20-30ms will severely affect this making muting this member necessary.
Server location and its Internet service is of course a potential problem. For instance my Spectrum service of 400Mbs only specs download speed and not upload speed which is around 25Mbs. For a server the lowest speed will determine the number of users that it can handle. In my case of 25Mbs. with high quality audio it requires 0.726Mbs for streaming speed without dropouts. In theory I should be able to handle 34 clients but factoring in REALITY makes that about 60% of the total or 20 clients. For large groups of 50+ the minimum upload speed needs to be 100Mbs or better along with equal or better download speed. A more common solution is to lease a Cloud server from the many Cloud service providers and locate your server on it. This will at least remove the speed issue to the internet. Check with them for speeds provided that will serve your needs. There is a up and coming service now in major cities in the USA that provide for real time applications such as Jamulus. Two in the LA area I am aware of are AWS local zones and VOLTR high speed service. These will limit the amount of equipment in the path of you and the server reducing the delay. The other solution eventually will be 5G broadband service with claims of 1-2ms delay in theory. Right now Verizon list it at 34ms but test show 50ms so they have a ways to go. Its claim to fame is mobility since some broadband modems are designed for travel. Satellite service is at around 20Mbs and great for remote locations where there are no other Internet services.
There are some upcoming changes to Jamulus V3.7 that may be of interest to some. Since the Genre on public list servers (5 all total to serve the whole world) only handle 150 server entries each and with the popularity of this app a need to add more capacity ended up splitting classical from chorus/barbershop and adding another list server. This was completed end of January but I haven’t seen it up yet. Possibly since the originator (Volker Fisher) of Jamulus has taken a much deserved rest from this task. A reshuffle in responsibilities is no doubt underway causing release delays. My observation of these servers over the past 9 months has the usage to about 5% and the squatters not releasing their spot makes it difficult to add more servers. Use of private servers will not affect this limitation. Most groups are only in 2 to 20 member range as well. There is some discussion about removing unused servers but not now. All public servers are shared even if they state “private” but please observe their reserved time which should be in their welcome message. If they don't want others to use their server they should make them private or remove themselves from the list when not in use As a courtesy they will allow server usage by others when not in use by them. Always mute before joining any group as a common courtesy and not to destroy their session especially if your delay is large. Use the message board for any questions you may have.
Add “listener” to you name if you’re browsing sessions.
Post any additional information that would be pertinent to Jamulus use.
Enjoy
Some timings adjusted for buffering delays.