On Thu, 10 Mar 2005, JP Mercury wrote:
My take on this is that we can allow several users to
connect together to form
a session, or room. A room is populated by users, and also loops. The users
have both live audio (inputs and outputs) and possibly their own library of
loops. When we enter a room, we are able to preview the live audio of
different users to hear what they are doing.
Yes, I like this concept. Once connected, each person would make
available a dynamic collection of loops, live audio outputs
(which become inputs to others), and the metadata that describes
which of the globally available loops they are using in their own
mix at the time.
In this way, I see a session as being a kind of
quantum field of musical
possibilities. Different users contribute new loops as they are inspired. We
can peer into another user's sound, but we can also work on our own.
Absolutely.
Besides loops, we can share live audio, but we will
always be hearing it with
some latency. Perhaps we can choose whether we want the lowest possible
latency, or to quantize to the next beat.
Sharing live audio streams does become troublesome, but giving
the option to quantize the latency to a musical time makes a lot
of sense.
Wolfgang mentioned bandwidth. I agree that's an
issue. I think good results
could be achieved with different codecs, OGG springs to mind. Good quality
OGGs of loops could be shared quite quickly.
Yes, oggs for active looping is good, but since each person
involved has easy access to the full quality loops they created,
the combined meta-data that makes up a session can be created at
full quality "offline" by doing the file transfers later.
And if this works, we could allow rooms to persist, so
that a server stores
the loops and 'scenes' (collections of playing loops and settings), allowing
others to connect later and add to the palette.
Excellent idea.
It sounds like both of you would be into testing such
a system. If you have
more design ideas, please let me know. And while this won't save the world, I
do think that there is a lot of potential for a unique type of collaborative
music making here. And I do think there are social implications whenever we
change the way music is made.
I'm in. I'll be coming at it from more the technical side, but
that's usually a good thing. We should consider designing the
system as a library API, so different apps can integrate the
jamroom. For instance FreeWheeling, SooperLooper, or even Ardour
could all be good environments to create and work in this
context. If not a library, at least a piece of software
completely decoupled from UI, with some network-accessable
interface (OSC, etc).
Of course, extending the concept to midi/osc loops is also wide
open. Bandwidth issues disappear in that case.
jlc