Jump to content

Remote Rocking in the Metaverse


Jeff da Weasel

Recommended Posts

  • Members

I did a particularly fun show last night, and thought you all would enjoy knowing about this stuff.

 

All of you know by now that I perform several gigs per week in the virtual world of Second Life (SL). Last night, for the first time, I did a show along with another performer. He lives in Seattle, while I'm in LA. How did we do this?

 

It's called multi-streaming. In a nutshell, for my shows in SL, I use broadcast software and stream my live audio (just like an Internet radio station), and it can be accessed in SL or anywhere that has an Internet connection via iTunes or the like. Well, with multi-streaming, my stream is picked up by another musician, who adds his/her parts, and then sums the signals into a new stream.

 

The upside is that the listeners hear us both, with the feel that we're in the same room, jamming for them. The downside? Check this out: as the first person in line, I can't hear the other guy playing! There's no technology that allows people to broadcast live full-bandwidth audio over thousands of miles with zero latency; if I were to monitor what people were hearing at the end of the stream, it's about 40 seconds behind what I'm playing. The laws of physics (including the speed of light) are the limiting factor here.

 

So, you have to work with someone you trust to be able to pick up the ball and run with it. There's no eye contact, no head nod, no way of knowing what the audience is hearing. He and I spoke earlier in the day and decided on 6-7 songs that would work for this, but other than that, it was all on the fly. However, it apparently sounded terrific, and we had a big crowd who was way into it. While I did basic rhythm guitar and lead vocals, he added leads and harmonies. I'll be getting a recording of the show later today to check it out for myself.

 

Anyway, here's my pal Lyndon and I on a virtual stage, rocking out in real time (as far as the audience could tell), 1,000 miles away from each other in reality...

 

zak_lyndon_gig%20091511_003900.jpg

Link to comment
Share on other sites

  • Members

If some of you tech-heads are trying to figure out a way to make it work in actual real-time, here's something to keep in mind.

 

The signal path goes like this:

 

1. Me and my microphones in LA.

2. My mixer.

3. My audio interface.

4. My computer.

5. A Shoutcast server somewhere.

6. Lyndon's home in Seattle.

7. Lyndon's mixer (combined w/his audio).

8. Lyndon's audio interface.

9. Lyndon's computer.

10. Lyndon's Shoutcast server somewhere.

11. Listener's computers.

 

In between there, the signal might be going to space and back, for all I know. Either way, you have a) distance along fiber and wireless paths, b) server latency, and c) local system latency to factor in. The fact that we can do it at all boggles my mind. The final result, by the way, is similar in quality to a 128kbps, 44.1kHz stereo file. Good enough!

Link to comment
Share on other sites

  • Members

 

If some of you tech-heads are trying to figure out a way to make it work in actual real-time, here's something to keep in mind.


The signal path goes like this:


1. Me and my microphones in LA.

2. My mixer.

3. My audio interface.

4. My computer.

5. A Shoutcast server somewhere.

6. Lyndon's home in Seattle.

7. Lyndon's mixer (combined w/his audio).

8. Lyndon's audio interface.

9. Lyndon's computer.

10. Lyndon's Shoutcast server somewhere.

11. Listener's computers.


In between there, the signal might be going to space and back, for all I know. Either way, you have a) distance along fiber and wireless paths, b) server latency, and c) local system latency to factor in. The fact that we can do it at all boggles my mind. The final result, by the way, is similar in quality to a 128kbps, 44.1kHz stereo file. Good enough!

This cracks me up -- since there is an outfit that posts around here from time to time promoting their 'real-time interactive' jamming. When they first showed up in one of the HC forums -- quite a while ago -- insisting their engineers were busy putting the finishing touches on a system that would allow 'real' interactive jamming across the country or around the world, I was among those who pointed out that unless the laws of physics were repealed, that would be impossible. When they said they had beta tests of such a service working 'across town' I pointed out that the implicit latencies might be OK for some but that many folks can't even stand 5 to 10 ms of latency in hearing what they're trying to track. They've since scaled back their fabulist promises considerably but still dangle absurd promises in front of presumably naive users. It's absurd -- and more than a little pathetic.

 

Actually, I just found an article from 2007 on the subject which is probably the most cogent writing I've seen on the subject of this particular service -- and lays out some of the absurd premises the company bases its ludicrous promises around: http://www.technologyreview.com/web/18783/page2/

 

My favorite quote:

 

 

The company is promising to reduce the delay experienced over the network to, at most,
hundreds of milliseconds
(depending on upload speed and geographic distance between musicians)--
a delay to which
, Glueckman says,
most musicians can adjust with practice.

[bold added]

 

And...

 

 

Each eJamming musician must wear headphones because his or her sound, as well as the audio from jam partners, is played back at a delay of about 30 to 100 milliseconds.
"The whole point is to focus on the music" that one hears, as opposed to on the sounds coming directly from one's instrument,
says Glueckman.

[bold added]

 

That's gotta be easy, huh?

 

And they want you to pay good money to use this bogusware.

Link to comment
Share on other sites

  • Members

It seems like the best order would be to have the drummer play first, then the bass, then the guitars, then the vox. It'd be just like tracking.
;)

 

If you had a full band, that's exactly how you'd want to do it. Since the sounds are being received in the order of the stream, you'd approach it precisely like you would tracking/overdubbing, for all the same reasons. The soloists are always last, perhaps with the exception of the lead vocalist, who may need to be pushed toward the front for the next people in the chain to harmonize with.

 

Anyway, yes: you got the concept exactly. :thu:

Link to comment
Share on other sites

  • Members

If you had a full band, that's exactly how you'd want to do it. Since the sounds are being received in the order of the stream, you'd approach it precisely like you would tracking/overdubbing, for all the same reasons. The soloists are always last, perhaps with the exception of the lead vocalist, who may need to be pushed toward the front for the next people in the chain to harmonize with.


Anyway, yes: you got the concept exactly.
:thu:

 

:D

 

I fooled around with the Ninjams utility for Reaper, which is really mostly useful for a sort of loop-based jamming. The foldback from your jamming partners is delayed by a fixed amount of time -- which hopefully coincides with x bars which would let you then jam with yourself and your jamming partners as the sound goes round and round and hopefully comes out someplace...

 

One kind of fun aspect to what you and your virtual pal do -- you (as the foundational player) get a nice (hopefully nice) little surprise when you finally get to listen to a capture of the whole performance.

Link to comment
Share on other sites

  • Members

One kind of fun aspect to what you and your virtual pal do --
you
(as the foundational player) get a nice (hopefully nice) little surprise when you finally get to listen to a capture of the whole performance.

 

I can't wait! He should be FTP'ing me the file sometime later today. According to all reports, it was fantastic. At the moment, I'm the only one there who didn't hear my own show. :lol:

Link to comment
Share on other sites

  • Members

 

This cracks me up -- since there is an outfit that posts around here from time to time promoting their 'real-time interactive' jamming.

...

That's gotta be easy, huh?


And they want you to
pay good money
to use this bogusware.

 

 

To be completely fair, Shoutcast never made a point of minimizing latency. The technology wasn't made for the purpose of people interacting live, but just for streaming (relatively) live audio over the Internet to a large audience, a la radio (and there is some delay with broadcast radio too). People in Second Life do use Shoutcast in the way Jeff did, but it's not a typical use of the technology. It just happens to be the technology SL uses and it's a popular streaming protocol, so it makes sense.

 

I don't doubt that somebody who made it their explicit goal to minimize latency for the purpose of musicians jamming together online could vastly improve on the latency vs. Shoutcast. I still doubt the latency would be acceptable with anything less than the highest speed connection over a fairly short distance, though.

Link to comment
Share on other sites

  • Members

I still doubt the latency would be acceptable with anything less than the highest speed connection over a fairly short distance, though.

 

100% agreed. And when we're talking about 1,000 mile difference as per my show last night, it's simply impossible without a time machine and fantastic musicians. :D

 

I really didn't mind not hearing his parts. I was just very careful not to go off on any musical tangents, or stray from my melody, or do anything else I knew would screw me up if I were the next person down the line.

Link to comment
Share on other sites

  • Members

You know, there used to be a product called GoBack, where you could go back in time a day or week or month and get files as they existed then.

 

What we need now is GoAhead, so you can simply intend to play music, then fire up the program so it goes forward in time, and pick the .WAV file you want from all the possible alternative future timelines... Simple, right? :thu:

 

I think it could be jiggered to solve all these messy latency issues as well. ;)

 

Maybe we could recruit a little help from Steven Hawking? Worth a try...

Link to comment
Share on other sites

  • Members

 

To be completely fair, Shoutcast never made a point of minimizing latency. The technology wasn't made for the purpose of people interacting live, but just for streaming (relatively) live audio over the Internet to a large audience, a la radio (and there is some delay with broadcast radio too). People in Second Life do use Shoutcast in the way Jeff did, but it's not a typical use of the technology. It just happens to be the technology SL uses and it's a popular streaming protocol, so it makes sense.


I don't doubt that somebody who made it their explicit goal to minimize latency for the purpose of musicians jamming together online could vastly improve on the latency vs. Shoutcast. I still doubt the latency would be acceptable with anything less than the highest speed connection over a fairly short distance, though.

Right. And, of course, as I know you understand (but I'll make explicit for those just joining the conversation), I wasn't referring to Shoutcast, which is, after all, intended as a 'net broadcast platform.

 

And online collaboration programs that allow non-realtime overdubs and realtime, Skype-style audio and video communication make a lot of sense. You could easily write and record a song together almost as 'naturally' as if you were in the room together. (But, of course, it would all have to be overdubbing. But with close-enough-to-realtime audio/video for communication, you could write the song via that give and take and then record it via overdub almost as fast as you could do a similar overdub production in a single studio.

 

 

But when I hear salesmen for an online 'realtime jamming' service talking about how musicians can get used to multi-hundred millisecond latencies while jamming, something in my head just goes =snap= ...

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...