From Things and Stuff Wiki
Jump to navigation Jump to search


  • NINJAM - 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.

  • Wahjam - a fork of NINJAM and remains compatible with the network protocol. It also includes support for the jammr online jamming platform.
  • Jamtaba - a free (and open source) software to connect in ninjam servers and play music jam sessions with people around the world. JamTaba can be used as a multiplatform standalone software, VST (Windows) or AU (Mac OSX) plugin. Using the standalone version you can use your audio and MIDI devices and load VST/AU plugins inside JamTaba (JamTaba standalone is a VST/AU host). Using the VST/AU plugin you can use JamTaba in your preferred DAW and send your audio tracks to JamTaba, and Jamtaba will stream these audio tracks to ninjam servers. Off course JamTaba will receive and play the other musicians audio streams, so you can play with others and have some fun playing online!

  • http://ninbot.com/ - Jam online with musicians from around the world. Record and share your sessions.

  • Selected Jam Sessions - selections from jam sessions recorded through the wonders of NINJAM, the intervalic real-time online jam software. Most jams take place on the servers at ninbot and Ninjamer. Both servers have robotic listeners that capture jam sessions and archive the results to The Internet Archive. Jams are also streamed live over Icecast2 (ninbot - stream URL links work; ninjamer - stream URLs need manually entering or use the M3U links). The ninbot site provides a limited facility for editing captured jams.


TeamStream began development in February 2012 and is an open-source project which aims to continue where NINJAM left off; adding new visual and usability enhancements, in the hopes of making NINJAM-ing simpler and more enjoyable, especially for non-technical musicians. If you are a developer and would like to help out; feel free to fork this repo. The following is a list of some of the new features that have been added so far (more to come).


  • https://github.com/linjam/linjam/ - a cross-platform NINJAM client utilizing the libninjam library and built upon the JUCE framework. The first milestone (cross-platform NINJAM 0.06 equivalent) is now 84% complete.

The highest goal of the LinJam project (and it's predecessor TeamStream) is to flatten the pro-audio learning-curve; easing the intimidation that most non-technical musicians experience when they are first introduced to NINJAM. Some of the ways proposed to accompliish this include: offering a minimal interface with some reasonable default settings, some normalizing/conditioning features such as auto-gain and limiter, and the option to elect a "sound man" to actively set levels for other peers. It is hoped that these, along with the convenience features introduced with TeamStream, will make NINJAM welcome musicians without prior experience with audio production; which today is essentially a pre-requisite for getting decent sound into and out of NINJAM.


  • Jamulus - enables musicians to perform real-time jam sessions over the internet. There is one server running the Jamulus server software which collects the audio data from each Jamulus client, mixes the audio data and sends the mix back to each client. Jamulus is Open Source software (GPL, GNU General Public License) and runs under Windows (ASIO), MacOS (Core Audio) and Linux (Jack). It is based on the Qt framework and uses the OPUS audio codec. The required minimum internet connection speed is 200 kbps for the up- and downstream. The ping time (i.e. round trip delay) from your computer to the server should not exceed 40 ms average.