Hi,
Playing music over the Internet from different locations but at the same time, has always been a dream and all the attempts so far have all encountered the same problems due to latency that has always been considered as drawbacks of today technology rather than tools to incorporate into music composition.
I am using pd at the moment to construct an application that allows three musicians (or group of) to play together from different locations (New York, Biarritz in France and London). I use the Olaf' s shout*~ and Ogg*~ objects and have a system that records audio on a tempo, sends it through a shoutcast/icecast server and re-synchronizes it on the computer of the listener. Latency,here is used in two ways and makes essential part of the composition:
division of it) according to the will of the players.
and compose unique piece depending on their location. It is very experimental but I think it brings new ways of thinking and tackling the musical composition. It is still at its experimental phase but I am constantly working on it.
note: The official gig online will be presented the 3.4.5.6 of July at Common Wealth Conference Center in London, Festival of Electronic Music in Vera (Basque Country) and at The University of Digital Arts in New York. The three different streams will also be available to stream.
On Friday, April 18, 2003, at 03:12 am, Hans-Christoph Steiner wrote:
Along that vein, is there a method for sending/receiving arbitrary values and/or module layout and/or audio streams, etc, via a TCP or UDP connection?
A friend and I have a dream; we live a thousand kilometres apart, but would love to be able to collaborate in real time on a music work. PD seems perfect for our needs (different operating systems, for a start).
You're only really going to get acceptable latency if you stick to using messages. There is a lot of latency to streaming audio on the web.
Some research projects at universities have managed to get audio streaming at close to realtime, but that was using Internet2, which is a restricted access high-speed network.But on the other hand its pretty easy to make a Pd patch that interacts over a network. You might even be able to get decent latency.
[netsend] and [netreceive] are built-in, but [netserver] and [netclient] in Olaf Matthes' maxlib are much easier to use.