Hacker News new | past | comments | ask | show | jobs | submit login

While there is definitely some latency, we’ve found it to be bearable. Last week we just performed a jam session of 10 people live on the PyCon APAC online conference using Jamulus, and here’s the video clip: https://www.youtube.com/watch?v=rvb_n1fwH4E and one more https://www.youtube.com/watch?v=inGQdo1nrt0

Most new people who try out Jamulus and join our servers would complain about the latency (especially professional musicians), to which I give the same advice: 1) Use a fiber-optic internet service. 2) Use a LAN cable. 3) Use wired headphone (no bluetooth/wireless headphone/AirPods). 4) Use an audio interface with ASIO device or use a Mac. Finally, and most important: 5) Just play 100 songs on Jamulus, and you’ll eventually get used to it.

Most friends are jamming with latency of around 20ms. I have found that for vocals and drums, maximum latency tolerance is around 30ms. For me I play the keyboard and most of the time I’m jamming over a 4G mobile network, I have increased my latency tolerance to about 100ms now.

Its baffling to think that the latency between computer and headphones might add multiples of latency added to the signal going hundreds of miles from one computer to another..

If you're sitting 5 meters from your speakers, you add about 15 ms of latency and, in some cases, people all the way across the globe will hear your sound before you hear it yourself.

It's pretty wild to think about. My dad used to point out to me that, if I was watching a live concert on the TV, the sound would reach me before it reached much of the live audience.


I found that most of the latency in networked audio applications, when jamming within 800 km within domestic internet, mostly comes from (a) a large network buffer (to prevent sound stutter when the network isn’t reliable, e.g. due to wi-fi interference) and (b) extra audio processing on top (echo cancellation, noise suppression), and not the limitation of light speed.

> in some cases, people all the way across the globe will hear your sound before you hear it yourself.

You're vastly exaggerating. FTL communication is not here yet.

The theoretical limit for half the planet is ~67ms, in practice it's north of 100ms for Jamulus (plus the additional delay of a user's sound reproduction system).

FTS, not FTL.

I believe the example above is more about sound speed than light speed.

I experienced concerts in stadiums, in the back rows, where the distance from the stage makes the sounds arrive noticeably later than the visuals.

The delay is really perceptible, and disturbing, to a point.

A TV audience would not suffer from it (assuming a live broadcast, with negligible broadcast latency, for the example to make sense).

In case it wasn't clear, parent commenter probably means "don't use bluetooth headphones." There's no latency for wired headphones.

Apt-X "low latency" is 33ms - the equivalent of being about 11m away from the sound source.

Standard Apt-X is 100ms, or equivalent to 33m distance in open air.

SBC codec is 200ms.

Then there's the buffering headphone bluetooth chipsets may do to avoid customers complaining about clicking/popping. If you're on a crowded subway train there can be a shitload of bluetooth traffic bouncing around, in which case having a healthy buffer is helpful.

USB soundcards were so featureful compared to onboard or even the pci stuff when they came out, like the sound blaster extigy. I liked positional audio and all of the spdif and toslinks. However, it, by itself, even with ASIO had latency up around 30-50ms.

I have an external "headphone out and 2 microphone in" USB interface now, and it's latency is still in the 5-15ms range, so I use onboard to write and headphones to master. At one point I bought a macbook air and a FireWire interface, but the screen was no good and the single FireWire interface tied my hands. I also have a few pci cards that I've been collecting parts for, like an m-audio 8x8 interface, there's a box that connects to the back of the soundcard with some 30-40 pin d-sub. I finally got all 5 or 6 parts and don't really have a computer to put it in anymore! I wanted that card for around 10 years by the time I found all of it...

I'm assuming anything midi-ish can just use quantization and only the player will notice, the final mix should sound ok.

> I have increased my latency tolerance to about 100ms now.

Every musical instrumented (voice too) has a latency. The practiced musician is trained on the latency of themselves and their instrument and will initiate a musical note at the right time. That might even be a few seconds in advance.

Part of learning an instrument is learning its latency. Jamulus adds a bit on top of that. That requires some getting used to. A good tip is to listen to your sound over the internet. So wear insulating headphones that keep out your real-time sound.

I'd say that listening to your own instrument with latency does not work at all. Making good tone/timbre/pitch etc all depend on a very short feedback loop between hands/ears/brain.

edit: replace hands with whatever is needed to produce the sound: vocal chords, mouth, feet, arm, ...

Listening to your own instrument with latency is what makes it actually work and is essential for online jamming.

Those videos are great! Where were you all located, physically? I'm trying to get some sense for the geographical limits of this sort of thing.

Thailand. Ping time using fiber obtic internet is 4 milliseconds.

Playing from Thailand in a Singapore server, add 27 milliseconds.

Playing from Thailand in a Hong Kong server, add 65 milliseconds.


Hey! Those video clips sound great. I especially liked the first one. It’s really encouraging to see that people can make music together remotely.

You should check Jamulus WorldJam channel: https://www.youtube.com/c/WorldJam

Next event scheduled for Dec 4th 17:00 GMT

Your jams are beautiful! Thanks for sharing! I can't believe this is actually possible at this quality.

> 4) Use an audio interface with ASIO device or use a Mac.

...or GNU/Linux, where Jamulus on JACK works wonderfully with low latency and easy audio routing across apps.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact