NINJAM server:



  • Open Reaper
  • Create a track with your instrument of choice
  • Create another track, call it ninjam. Everything you want the other side to hear should be routed into this track only.
  • Route your instrument track to the ninjam track
  • Remove master out routing of your instrument track
  • Insert a ReaNINJAM effect to the ninjam track
  • In the NINJAM console, there is
    • Master — this is the mix of all channels, both remote and local
    • Metronome — A metronome, can be muted with the little “M” button on the right
    • Local channels — your personal channels.
      • If you want to send one stereo pair (recommended for beginners), you’re fine with the defaults. You might want to change names of the channels to make it easy for others to identify you.
      • If you play Otherwise, route more channels to this track (e.g. 1/2 -> 3/4) and add local channels accordingly.
      • Make sure to keep the volume of your incoming audio is at a decent level (-12dB) to prevent clipping.
      • Xmit stands for transmit, so keep this on to have your signal being sent to others.
    • Remote channels — channels of others. here you can see who else is playing and can do a personal rough-mix.
  • In the menubar (OSX), select File>Preferences Here you can select a folder where to record ninjam material. Once connected, recording is done automatically and files are sorted by timestamp. See importing ninjam sessions for details on how to import recorded material.
  • In the Menubar (OSX), select File>Connect...
  • fill in details fo the server to connect to (see above) and your login credentials.
  • press connect and you should be connected
  • Play!

general considerations on ninjam

After a post by jasonw22.

Ninjam syncs with your music, i.e. it is intentionally delayed (a lot) in order to make things sync (with an offset) at the bar (for whatever definition of “bar” you might have). This means you will be hearing everybody else’s prior “interval” (NINJAM term) while you play your current one.

Before you play, you agree on a BPM and a BPI. BPM is a familiar concept. BPI stands for beats per interval. There are reasons for making the number larger or smaller than the default 8 depending on genre and intent.

It’s an approach that works well for repetitive or cyclical music. But you aren’t going to be seeing your friend’s hands in real time. The beats will be synced, but you will be seeing and hearing their past, and they yours.

Sounds confusing but for many common types of electronic music it just works. You really don’t even notice the delay because things are in sync.

Chat commands

  • !vote bpm 130 — starts a vote for tempo change, e.g. 130 bpm
  • !vote bpi 16 — starts a vote for bpi change, e.g. 16 bpi
  • /clear — clears all text in chat window
  • /msg Nickmanak@73.112.55.XX message sends a private message to another player


Jamtaba is a standalone/VST plugin implementing ninjam that includes webcam support. IT also runs in hosts other than Reaper.