Jump to content

Playing together across an internet connection


Recommended Posts

On 3/19/2020 at 7:32 AM, alex_holden said:

What you could possibly do is record a track, send it to a collaborator, have them record themselves playing along with it (in headphones), then mix the two together afterwards.

 

Surely that’s what’s going on here (but with more than two):

 

The Sacred Harp Quarantine Chorus - pg. 146 Hallelujah

Edited by David Barnert
Fixed link
Link to comment
Share on other sites

On 3/23/2020 at 3:40 AM, Jody Kruskal said:

I spent the past three hours on JamKazam tonight playing live music with a random bunch of folks from all over the world and had fun. It was sort of like a festival where new musicians would join unexpectedly and new influences would occur. Very cool!

 

 

Interesting, Jody. I hadn't bothered with JamKazam because the site looks moribund, quite frankly. The JamKazam FB page was last updated in August 2016, the last news item on their website is dated 6th August 2014 (!) and clicking on JamKazam Support just gives a 404 error. Since you've done OK I'll have another look, but if it takes a lot of techy input then it may still prove impractical. Anne (my wife, for people who don't know us, and a fine EC player) wants to find some way for her band Fiery Dragon Company to practice online and, of course, Zoom doesn't cut it. We shall see.

 

Cheers,

 

Chris

Link to comment
Share on other sites

On 3/26/2020 at 11:03 AM, Paul_Hardy said:

I’ve also been trying to find a way of musicians playing together from home, and have written up a two-page essay on the subject, particularly concerning latency, Zoom, and avoiding concertinas being interpreted as background noise and suppressed.  –  you can read it at https://pghardy.net/greenshoots/virtual/virtual_music_sessions.html.

 

Thanks, Paul, for that comprehensive and very useful summary!

 

In particular, the disillusioning section on latency should make it very clear that (regardless of how much more bandwidth one can shell out of the internet) it will be impossible to accomplish good enough turnaround times for Online jamming purposes. Which for me is good news because (even though and probably because I'm a computer pro) it implies yet again that there are occasions in which real human interaction and togetherness can't be replaced by machinery. I'll be happy to be proven wrong though!

 

Let's hope, then, that the time after the crisis will leave enough room to make up for all the isolation forced upon us now.

 

For the time being, though, let's try to be creative concerning musical cooperation. I remember Alan posting a recording a few years ago onto which everyone was encouraged to piggyback his/her own addition. Unfortunately back then the resonance wasn't exactly overwhelming. So why not try to do something like this: I encourage everyone here on the forum to download a favorite track of another member's soundcloud or youtube presence, play along, record the mixture and repost the result to the forum? Something like a TOTM 2.0?

 

Edited by RAc
Link to comment
Share on other sites

I think that's a brilliant idea RAc.  I'll try and record something appropriate this weekend and upload a link here.  I'm happy to fiddle about mixing tracks too, pretty sure I have the necessary software / motivation!  I'll then share the results on here.

Link to comment
Share on other sites

On 3/17/2020 at 8:26 AM, AndrewCollins said:

Hello,

 

Just wondering whether anyone has any successful experiences of playing tunes with others across an internet link ( eg as per a skype chat ) ?

 

I suspect it's not possible ( or not cheap enough ) due to latency .... but as I'm busy removing sessions and playing groups from my diary I thought I'd ask ....

 

Andrew

 

After hearing various versions of this question posed over and over the last couple of weeks and reading various answers (some expert and some not), I have boiled my standard answer down to the following. Sorry it isn’t more hopeful.
 

Quote

 

There is no way to overcome the third to half second time lag, which is built into the internet, not introduced by any particular app.

 

A telephone signal is carried from sender to receiver by one single connection. If the wire goes down, the connection is lost and communication cannot continue. But while it is working, transmission is at the speed of light, virtually instantaneous. You can sing together over the phone (at least over a land line).

 

The internet can’t afford to go down if a single connection is lost, so data is divided into packets and sent via multiple routes with much redundancy so that the complete message will certainly reach the receiver but will need to be reassembled from all the little packets, and if any are missing they need to be re-requested and resent. All this happens in the third or half second buffer between the time a sound happens at one end and the time it is heard at the other end.

 

So unless the internet is completely redesigned from the bottom up, no app will be able to make it possible to sing or play music synchronously.

 

 

Link to comment
Share on other sites

@Jody:

 

Well, there is nothing to dispute, really. If the music you use for jamming can bear the latency (as you say yourself, slow blues is an example of music that can), everything is fine.

 

The other issue is that under optimal circumstances, the latency CAN be tolerable even regarding professional requirements (I've heard about pro bands doing virtual concerts over the internet). Unfortunately, however, it is nothing controllable for the musicians involved, not even against $$$. If everybody who jams together is within a close and high quality digital proximity (meaning there are few "hops" that every individual packet must pass before reaching the destination and there is negligible packet loss), the overall turnaround of a TCP data stream can be very small.

 

So, if you and all of your buddies live in the same neighborhood in, say, NYC (where there is a sophisticated internet infrastructure), and all of your have the same internet provider, chances are that almost all of your internet packets are passed back and forth only across the infrastructure (routers etc) that is local to your neighborhood. If also you are fortunate enough that the bandwidth can bear all of your other neighbors exchanging high res cat videos concurrently, your results can be very satisfactory.

 

But nobody will be able to give you a guarantee that this happens all the time. All it takes for your session to deteriorate is a stray packet that has to take a detour over Singapore (for example when any router's bandwidth in the proxomity is temporarily exhausted, or there is a disturbance that enforces temporary rerouting. Can happen always and everywhere).

As a corollary, the further your internet nodes are digitally away from each other, the more likely you will suffer from latency problems. Since there is a rough correlation between digital and physical proximity, your chances of a satisfactory musical cooperation experience sink with physical distance.

 

So the bottom line is that the software you install on your machine is not in the critical path. Although there are doubtlessly some packages written better than others, not even the best software can make up for the bottleneck outlined by Paul and David.


 

Link to comment
Share on other sites

12 hours ago, David Barnert said:

So unless the internet is completely redesigned from the bottom up, no app will be able to make it possible to sing or play music synchronously.

 

That's not strictly true. Most Internet communication uses TCP/IP which is a reliable protocol due to its support for reordering and re-sending of lost packets. However there is another Internet protocol called UDP (User Datagram Protocol) which is aimed at low-latency, loss-tolerating connections. UDP is a 'best efforts' protocol, and may drop packets, but has much lower latency than TCP.

 

I suspect that JamKazam uses UDP not TCP, so getting low latency. This would work well over fast lines in a regional neighbourhood, but would fall apart if tried across slower lines and the wider Internet.

  • Thanks 1
Link to comment
Share on other sites

29 minutes ago, Paul_Hardy said:

 

That's not strictly true. Most Internet communication uses TCP/IP which is a reliable protocol due to its support for reordering and re-sending of lost packets. However there is another Internet protocol called UDP (User Datagram Protocol) which is aimed at low-latency, loss-tolerating connections. UDP is a 'best efforts' protocol, and may drop packets, but has much lower latency than TCP.

 

I suspect that JamKazam uses UDP not TCP, so getting low latency. This would work well over fast lines in a regional neighbourhood, but would fall apart if tried across slower lines and the wider Internet.

 

I think pretty much all audio/video streaming platforms including Zoom use UDP. A bigger issue is the size of the buffer, which is used to avoid an audible glitch if a few incoming packets get delayed slightly. You don't really notice it much in a spoken conversation but it's more of a problem for music.

Link to comment
Share on other sites

1 hour ago, Paul_Hardy said:

 

That's not strictly true. Most Internet communication uses TCP/IP which is a reliable protocol due to its support for reordering and re-sending of lost packets. However there is another Internet protocol called UDP (User Datagram Protocol) which is aimed at low-latency, loss-tolerating connections. UDP is a 'best efforts' protocol, and may drop packets, but has much lower latency than TCP.

 

I suspect that JamKazam uses UDP not TCP, so getting low latency. This would work well over fast lines in a regional neighbourhood, but would fall apart if tried across slower lines and the wider Internet.

 

Is it time to outnerd each other? ;-)

 

If so, here's my (for the public completly useless) remark:

 

When using UDP, you trade off latency for quality because the "late" packets will (as you point out correctly) be discarded instead of delaying the stream, leaving "holes" in the sound experience. Depending on how big and frequent the holes are, "intelligent" software may up to a certain point extrapolate the contents of the holes and fill those in with sorrounding data. May or may not be a good guess. So whereas TCP based streaming protocols buy quality with higher latency, UDP based protocols buy lower latency with lower quality. Win some, lose some, I guess.

 

In any case, we certainly agree that the protocol architecture of the internet can not guarantee a high quality real time virtual music cooperation experience, but if all benevolent circumstance unite (well thought out software along with digital proxomity between nodes, sufficient computing power on both sides, sufficient available bandwidth AND no wolves howling against the full moon) it may work satisfactorily. Now let's NOT bring up the issue of ecological footprint needed to satisfy all of the requirements...

 

Edited by RAc
Link to comment
Share on other sites

9 hours ago, David Barnert said:

 

Are you saying there was no latency or that the jams were fine even though there WAS latency?

 

Hi David and all. I'm not an internet expert but I can tell you more about my JamKazam music experiences.

 

Things improved quite a lot when I stopped using wifi and plugged in directly from my router to my computer with an ethernet cable. That took some effort, buy a cable, drill holes in the floor and walls, string the cable through, etc.

 

Not every session I've joined has been equally satisfying or latency free. Some are glitchy. Most sessions are trying to play music where the musicians don't really know the songs, more like a party than a rehearsal. The most satisfying sessions have been with only one other musician. Slow tempos work better than fast ones. Location does not seem to matter. I'm in New York City. I've had good sessions with players in Indiana, Texas, California, Rome Italy, England. Perhaps there is some luck involved. Perhaps the players hardware and internet connection set up "matched" mine in some fortunate way.

 

My musician friend Cindy advised me to use my computer audio output to listen (headphones of course), rather than the output from my mixer or audio interface unit. When I do that, now I hear myself delayed, like a slap back effect. When playing with others, I need to turn myself down at the JK window and play in sync with the other musicians in the session, not myself.

 

This seems to improve things. It's a bit hard/odd at first, but I got used to it.

 

JK will never be as good as playing face to face in the same location, but I'm having fun with it.

Link to comment
Share on other sites

It looks like things are starting to coalesce around a common understanding here.

 

1 hour ago, Jody Kruskal said:

Things improved quite a lot when I stopped using wifi and plugged in directly from my router to my computer with an ethernet cable. That took some effort, buy a cable, drill holes in the floor and walls, string the cable through, etc.

 

Do you know whether the others you play with are also bypassing wifi?

 

1 hour ago, Jody Kruskal said:

Most sessions are trying to play music where the musicians don't really know the songs, more like a party than a rehearsal.

 

That is, of course, an unrelated problem. My rule for sessions is that we should try to restrict ourselves to tunes that at least one of us knows.

 

1 hour ago, Jody Kruskal said:

Slow tempos work better than fast ones.

 

Of course, because the latency is a smaller fraction of the note length.

 

1 hour ago, Jody Kruskal said:

When playing with others, I need to turn myself down at the JK window and play in sync with the other musicians in the session, not myself.

 

If you’re playing in time with what you hear it will sound good at your end, but since what you hear is actually a little later than when the others are actually playing, when your contribution plays out of the speakers at the other locations it will be late by double the latency.

Link to comment
Share on other sites

Another very fun jam tonight on JK with musicians on the west coast.

 

We played slow blues and I sang and played Anglo. It was righteous. Almost as good as live... but not quite. Really no serious latency issues, just a bit of fuzzy tempo from time to time. To stay together, we all had to push the tempo or the songs tended to slow down.

 

A good song to sing and play is "Summertime" because most of these folks are rockers and they have all heard Janis Joplin's version with Big Brother and the Holding Co. back in the late 60's. I love that song. That classic performance is slow and folks seem to know it, so it makes a good model of how to play in this weird JK universe.

 

 

Edited by Jody Kruskal
Link to comment
Share on other sites

Aside from the disappointment jams tonight (glitchy, latency bedeviled, mixing difficulties, poor musicianship, pop tunes I don't know and so on), I did have a sweet JK session with a pair of Old-time musicians from Bristol UK. A fiddler and bass player from there came through loud and clear and for large segments of the session, latency free for some satisfying playing. They were playing buddies with a shared rep. and that helped too.

 

I heard us playing well together and my new Bristol friends claimed to hear us playing together too. Seems impossible, yet there it is. We played Old-time classics at moderate tempos. Liberty, Billy in the Low Ground, Turkey in the Straw and a few other tunes etc... nice folks and it was fun to join UK musicians for some American trad. tunes.

 

Would I spend time with this flawed JK stuff if things were as they used to be? Probably not, given its defects. But I'm certainly enjoying messing around with it, now that there are no other live playing opportunities. I love how the location of players does not seem to matter. Good connections and bad connections seem to happen irregardless of physical distance.

 

I would love to figure out how to optimize the playing experience.

 

Edited by Jody Kruskal
Link to comment
Share on other sites

Let's see,

 

I want to play with someone in London, 3459 miles away. The speed of light is 670,616,629 mph, so

mps is about 186,282.4

 

Distance divided by mps is about 0.0186 seconds. So a round trip would take just a bit over 1/3 of a second. Did I do that right?

 

That's enough to make a down beat sound like an up beat.

Presumably, JK has some cleaver algorithm involving added delay that attempts to mitigate this inherent difficulty in playing together over distance.

 

It kind of works... some of the time.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...