*** Welcome to piglix ***

NINJAM

NINJAM
NINJAM.PNG
NINJAM Console
Original author(s) Brennan Underwood, Justin Frankel, with notable work by Tom Pepper
Developer(s) various
Initial release July 9, 2005; 11 years ago (2005-07-09)
Stable release
v0.06 (client & server), / July 20, 2005 (client), May 3, 2007 (server)
Operating system Windows, Mac OS X, Linux
Available in English
Type Collaborative musical jamming
License GNU General Public License
Website www.ninjam.com

NINJAM stands for Novel Intervallic Network Jamming Architecture for Music. The software and systems comprising NINJAM provide a non-realtime mechanism for exchanging audio data across the internet, with a synchronisation mechanism based on musical form. It provides a way for musicians to "jam" (improvise) together over the Internet; it pioneered the concept of "virtual-time" jamming. It was originally developed by Brennan Underwood, Justin Frankel, and Tom Pepper.

Creating music naturally relies on players' ability to keep time with each other. Latency between players causes natural time keeping to be thrown awry. The internet does not provide a low-latency data exchange mechanism that can be used over global distances. In order to approach latency-free collaboration, NINJAM extends the latency, by delaying all received audio until it can be synchronised with other players. The delay is based on the musical form. This synchronisation means that each player hears the others in a session and can play along with them. NINJAM defines the form in terms of the "interval" - the number of beats to be recorded before synchronising with other players. For example, with an interval of 16, four bars of common time would be recorded from each player, then played back to all others.

The process was described in Wired as "glitch-free", and "designed for musicians who enjoy realtime collaboration." In MIT Technology Review, the software's users are described as "really loyal" due to its free and open source status. Other music product vendors have added support for NINJAM; Expert Sleepers, a vendor of electronic music hardware and software, added plugin support for NINJAM in 2006.

Each player in a NINJAM session feeds audio data from their client to a server via a connection to a specific port (commonly in the range 2049 upwards, depending on the host).

The "client" here is only the component that the player uses to connect to a NINJAM server, encode and transmit their audio stream, receive and decode remote players' streams and handle the chat (IRC-like) session. Each player will also need some way of feeding audio information to the NINJAM client - either by using the client as a plugin in a DAW or by using the standalone version with a direct audio input.


...
Wikipedia

...