Setup Guide: Ninjam for zero latency nonrealtime online jamming

Ninjam is a free plugin within the Reaper DAW for Windows, Mac or Linux
used for zero latency nonrealtime online jamming. Keep in mind that Ninjam time is weird.

Reaper + Ninjam Setup Guide:

Use headphones to avoid feedback noise.
Uncheck the Ninjam->File->Preferences boxes to stop Ninjam from saving all jam recordings to your HDD.
Connect to a server. We connected to the server here.
Make sure you have the track armed for recording (little red circle icon).
Make sure record monitoring is on (little speaker icon).
Make sure your “Monitoring mix” bar is moving up and down when you play.
Make sure the “Recv” bars of other people are moving left and right when they play.
Adjust the Master/Metronome/Recv volume sliders.
Adjust the Monitoring volume slider so that you hear yourself. What you hear is what the others get.
Type !vote bpi 32 to change the BPI.
Type !vote bpm 40 to change the BPM.
Reaper will auto-mute very loud tracks. Keep sound levels around -10db.
Check xmit box on to start transmitting sound.

Reaper auto-mute
Reaper automute

Reaper + Ninjam Installation Steps:

  1. Download and install the Reaper DAW from
  2. Make sure your microphone and headphones are plugged in.
  3. Start Reaper.
  4. On first run Reaper should prompt you to set up your input and output devices. But if it doesn’t just go to Options->Preferences->Device and set up your microphone as the input and your headphones as the output.
  5. On PC best to run reaper in Windows WASAPI Exclusive Mode or with ASIO4ALL drivers to reduce latency.
  6. Create a new track (Ctrl+T or Track->Insert New Track).
  7. Click the Record Armed button on the track (little red circle button).
  8. Click the Record button (Ctrl+R) (big red circle button).
  9. Make some noise.
  10. You should see the waveform of your recording moving.
  11. Stop and play it back. Congratulations, you have recording and playback capabilities.
  12. Make sure a track is armed for recording (little red circle button).
  13. Make sure monitoring is enabled (little speaker icon).
  14. Find the FX master button and click it.
  15. From the list of plugins, select All Plugins and filter for ReaNINJAM.
  16. A new small window will appear and click “Show RealNINJAM Console”.
  17. Click Connect.
  18. You will see a list of public servers (some servers automatically record jam sessions) to which you can connect anonymously **OR** if you’d like to be in complete control install your own private server.
  19. Connect to a server like
  20. Run through the recommended checks when joining a server.
  21. Reaper will auto-mute very loud tracks. Best to keep your sound levels around -10db.

More Guides:

Other Software:

Ninjam Modes:

  • Normal NINJAM mode – a strange beast in which one hears the previous BPI interval that other players played. No latency issues, but it takes getting used to. We usually set up the interval for an entire song of 32 measures. Works best when used in conjunction with push-to-talk Skype calls.
  • Voice Chat mode – regular voice chat, will have latency issues. These can be mitigated somewhat by installing your own private Ninjam server and playing with local friends.

Explanation of how Normal NINJAM mode works:

2020 internet connections usually have enough latency to make playing live music uncomfortable. Ninjam works around the latency problem by extending the latency on all received audio until it can be synchronized with all other players.  This is done through the BPI interval. Then you set the BPM. So if you wanted to play a 32 bars song at 160 BPM you could:

  1. Set the BPI for 32 measures, and the BPM to 40 (160 beats/4) or
  2. Set the BPI for 128 (32 measures x 4) and the BPM to 160

or more complex

Update: Turns out that the a player does not always hear the previous BPI interval of the other players. See this thread. For a better way of trading solos see this post.


  • Some public servers will automatically record the jam sessions and post it to
  • Uncheck the Ninjam->File->Preferences boxes to stop Ninjam from recording all jam sessions to your HDD.
  • A track must be armed for recording and monitoring has to be turned ON for Ninjam to work.
  • In the Ninjam window there are sliders for adjusting the Master volume, the Metronome volume, the Monitoring volume, and also sliders for adjusting audio received from the other participants.
  • You can protect your hearing by adding a limiter to your FX.
  • Typing /bpi 16 in chat changes the interval on the server (if you have permission).
  • Typing !vote bpi 16 will vote for a change in BPI (if enabled on the server).
  • Typing /bpm 160 in chat changes the BPM on the server (if you have permission).
  • Typing !vote bpm 160 will vote for a change in BPM (if enabled on the server)

Ninjam Etiquette:

  • Quietly join a server. Before you join a server it is polite to stop transmitting sound by un-checking the xmit box, so that you don’t disturb an ongoing jam.
  • Use the chat to introduce yourself and ask what songs are being played.
  • Mind the BPI interval and the metronome. Because of the way Ninjam works everything has to happen within a BPI interval.
  • Mind your sound levels. Reaper will auto-mute very loud tracks, so keep your sound levels on Ninjam around -10DB.

How to listen to and remix a recorded jam

All jams can be recorded by all participants, if they set the Ninjam -> File -> Preferences -> Save multitrack recordings to ON.

To view one of the recordings find and open the clipsort.log file of the jam session in Reaper. Reaper will then generate a project with different tracks for each of the participants in the jam.

Ninjam -> File -> Preferences -> Save multitrack recordings to ON
Find and open the clipsort.log file of the jam session in Reaper
Reaper will then generate a project with different tracks for each of the participants in the jam

Ninjam admin commands (if given permission):

Create a private server that has !join #roomname capability

Ninjam is a is a GPL project, so source code is available

Hope it helps