NINJAM - Make Real Music With Your Friends Via The Internet

What is NINJAM?
NINJAM is open source (GPL) software to allow people to make real music together via the Internet. Every participant can hear every other participant. Each user can also tweak their personal mix to his or her liking. NINJAM is cross-platform, with clients available for Mac OS X, Linux, and Windows. REAPER (our digital audio workstation software for Windows and OS X) also includes NINJAM support (ReaNINJAM plug-in).
NINJAM uses compressed audio which allows it to work with any instrument or combination of instruments. You can sing, play a real piano, play a real saxophone, play a real guitar with whatever effects and guitar amplifier you want, anything. If your computer can record it, then you can jam with it (as opposed to MIDI-only systems that automatically preclude any kind of natural audio collaboration1).
Since the inherent latency of the Internet prevents true realtime synchronization of the jam2, and playing with latency is weird (and often uncomfortable), NINJAM provides a solution by making latency (and the weirdness) much longer.
Latency in NINJAM is measured in measures, and that's what makes it interesting.
The NINJAM client records and streams synchronized intervals of music between participants. Just as the interval finishes recording, it begins playing on everyone else's client. So when you play through an interval, you're playing along with the previous interval of everybody else, and they're playing along with your previous interval. If this sounds pretty bizarre, it sort of is, until you get used to it, then it becomes pretty natural. In many ways, it can be more forgiving than a normal jam, because mistakes propagate differently.
Part tool, part toy, NINJAM is designed with an emphasis on musical experimentation and expression.
How does NINJAM work?
NINJAM uses OGG Vorbis audio compression to compress audio, then streams it to a NINJAM server, which can then stream it to the other people in your jam. This architecture requires a server with adequate bandwidth, but has no firewall or NAT issues. OGG Vorbis is utilized for its great low bitrate characteristics and performance. Each user receives a copy of other users audio streams, allowing for each user to adjust the mix to their liking, as well as remix later. This uses more bandwidth than having a server encode a single stream, but has numerous benefits (including lower server CPU use and the client having the full multichannel data for later use).
NINJAM can also save all of the original uncompressed source material, for doing full quality remixes after the jam.
(1): While MIDI has many wonderful uses, it also has substantial limitations when working with real instruments.
(2): Limitations of note: sound hardware latency (>5ms), perceptual CODEC latency (>20ms), plus typical and theoretical network latency (>40ms).
Download NINJAM
REAPER:
REAPER is a Digital Audio Workstation for Windows and OS X that also provides native NINJAM support, and allows you to use VST/VSTis/ReWire/MIDI hardware/etc with NINJAM. REAPER also can import NINJAM sessions directly for remixing/editing.
NINJAM Client:
The NINJAM client requires a fair amount of CPU power, a moderate amount of inbound bandwidth (192kbps for a typical 4 person jam, 512kbps for an 8 person jam) and less outbound bandwidth (100kbps typical).
-
Client for OS X (Last updated July 15, 2005)
- Requires: OS X 10.3 or later, G4 (1GHZ or faster recommended)
- License: GPL
- Download OS X client v0.02a ALPHA (600kb DMG)
- Download OS X client source code v0.02a (150KB TAR.GZ)
-
Client for Windows (Last updated July 20, 2005)
- Requires: Windows 98+ (2000+ recommended), 2GHZ P4 (or Athlon 2000+) or faster recommended.
- License: GPL
- Download Windows client v0.06 (880KB installer)
- Download Windows client source code v0.06 (212KB ZIP)
-
Client for Linux (Last updated August 30, 2005)
- Requires: ALSA, ncurses, libogg, libvorbis installed.
- License: GPL
- Download Linux client source code v0.01a (80kB TAR.GZ)
NINJAM Server:
The main requirement for running the server is outbound bandwidth. For example, a 4 person jam needs approximately 768kbps of outbound (and only 240kbps inbound) bandwidth, and a 8 person jam requires approximately 3mbps of outbound (and 600kbps inbound) bandwidth. We are planning on updating the architecture to support a more distributed model, but this is just an alpha release.
A server setup guide is here.
-
Server for Win32
Requirements: Windows 2000 or later, 500MHZ CPU, 4MB RAM use typical.
Version: v0.06 (Last updated 5/03/2007)
Download NINJAM Server for Windows (60KB ZIP)
-
Server for OS X
Requirements: OS X 10.3 or later, G3. 4MB RAM use typical.
Download NINJAM Server v0.01a ALPHA for OS X (60KB DMG)
-
Server source code
Compiles on Linux, FreeBSD, Darwin/OS X, Windows, and more.
License: GPL
Current version: v0.06 (last updated 5/03/2007)
Download NINJAM Server source code [80KB ZIP|55KB TAR.GZ]
Additional NINJAM downloads:
-
Wasabi-based client for Windows (Last updated August 1, 2005)
- License: GPL
- Download Wasabi-based client for Windows v0.04 ALPHA (644KB ZIP)
- Download Wasabi-based client source code
- More information on the Wasabi dev toolkit can be found at wasabi.t0x.org.
- Download text-mode client for Windows v0.01a ALPHA (500kb ZIP)
- Download text-mode client for OS X v0.01a ALPHA (300kb DMG)
- Download text-mode client source code for OS X and Linux v0.01a (80kb TAR.GZ)
Translate
Related Content
|
12/29/2011 - 18:36 |
|
09/30/2011 - 18:25 |
|
09/11/2011 - 17:09 |
|
09/04/2011 - 21:29 |
|
08/25/2011 - 13:43 |
Music news

























Recent Comments