A system for enabling collaboration between musicians, said system comprising: a server configured to be connected to remote clients via a wide area network, said server being configured to receive session tracks associated with a session, said session tracks defining a session vector, each of said session tracks containing data representative of music created by a corresponding music source during said session, to store said session vector in a session database, said session database including a plurality of session data units, each of said session data units including session tracks for a session and session metadata associated with said session tracks, wherein the session metadata includes server-generated metadata and user-generated metadata, wherein each user maintains an account with the system, wherein, through the account, a user is able to create, alter, inspect, and manipulate the user-generated metadata, wherein: said server is further configured to receive instructions from a first user at a first remote client to modify said user-generated session metadata to define a session transform, and to create a plurality of different session transforms corresponding to different mixes of a session vector, each session transform corresponding to the first user's saved editing and mixing commands for the session vector; and wherein a filtering streamer is configured to accept, as inputs, a session vector and a session transform selected from said plurality of session transforms created by the first user and to output streamed audio to a second user at a second remote client, said audio representing the session vector as modified by the editing and mixing commands of the selected session transform. to receive session tracks associated with a session, said session tracks defining a session vector, each of said session tracks containing data representative of music created by a corresponding music source during said session, to store said session vector in a session database, said session database including a plurality of session data units, each of said session data units including session tracks for a session and session metadata associated with said session tracks, wherein the session metadata includes server-generated metadata and user-generated metadata, wherein each user maintains an account with the system, wherein, through the account, a user is able to create, alter, inspect, and manipulate the user-generated metadata, wherein: said server is further configured to receive instructions from a first user at a first remote client to modify said user-generated session metadata to define a session transform, and to create a plurality of different session transforms corresponding to different mixes of a session vector, each session transform corresponding to the first user's saved editing and mixing commands for the session vector; and wherein a filtering streamer is configured to accept, as inputs, a session vector and a session transform selected from said plurality of session transforms created by the first user and to output streamed audio to a second user at a second remote client, said audio representing the session vector as modified by the editing and mixing commands of the selected session transform. said server is further configured to receive instructions from a first user at a first remote client to modify said user-generated session metadata to define a session transform, and to create a plurality of different session transforms corresponding to different mixes of a session vector, each session transform corresponding to the first user's saved editing and mixing commands for the session vector; and wherein a filtering streamer is configured to accept, as inputs, a session vector and a session transform selected from said plurality of session transforms created by the first user and to output streamed audio to a second user at a second remote client, said audio representing the session vector as modified by the editing and mixing commands of the selected session transform. to accept, as inputs, a session vector and a session transform selected from said plurality of session transforms created by the first user and to output streamed audio to a second user at a second remote client, said audio representing the session vector as modified by the editing and mixing commands of the selected session transform.