NinjamZap User Guide

A beginner's guide to jamming online with NINJAM

What is NINJAM?

NINJAM stands for "Ninjam Is Not Just Another MP3 Jamming" tool. It was created by Justin Frankel, the same person who created Winamp (the legendary media player) and Reaper (the popular digital audio workstation).

Unlike video calls or other jamming apps that try to fight internet latency and usually fail, NINJAM takes a completely different approach: it embraces the latency.

How does it work?

NINJAM uses an interval-based approach. Instead of trying to send audio in real time (which always has noticeable delays over the internet), it organizes music into synchronized loops called intervals. Here is the key idea:

How intervals work
Time
Interval 1
Interval 2
Interval 3
- - - - - - - - - - - - - - - - - - - - - - - - -
You hear
Others' Int. 1
Others' Int. 2
You record
Your Int. 1
Your Int. 2
Your Int. 3
What you record
What you hear from others

During Interval 1 you only record — there is nothing from others yet. Starting from Interval 2, while you record your new part, you hear what others played during the previous interval. This one-interval offset is what makes NINJAM work over any internet connection, regardless of distance.

This means NINJAM works best with improvisational music: jazz, blues, ambient, experimental, funk, and anything where you can react to what you hear. It is not designed for playing pre-written songs note-for-note, but for creative, free-flowing jams where musicians respond to each other.

Understanding BPM and BPI

Two settings control the timing of every NINJAM session:

Together, they determine the interval length: (BPI / BPM) x 60 = seconds. For example, at 120 BPM / 16 BPI, each interval lasts 8 seconds (16 / 120 x 60 = 8).


Why NinjamZap?

The name says it all: NINJAM + Zap. “Zapada” is Argentine slang for an informal jam session — getting together with friends to play music, improvise, and have fun with no pressure. That spirit is at the heart of this app.

NinjamZap was born during the pandemic, when a group of musician friends from Córdoba, Argentina could no longer meet to play together. Searching for a way to keep jamming, they discovered NINJAM — and fell in love with it. What started as weekend “zapadas” over the internet became a six-year passion for the platform and its community.

The app was created by Javier Cordero, an independent developer and drummer from Córdoba with over 25 years of experience in software engineering, who simply wanted a mobile NINJAM client that didn’t exist yet. NinjamZap is a personal project and a love letter to the NINJAM community — built to make online jamming accessible to everyone, right from your phone.

Have questions, ideas, or just want to say hi? Reach out at [email protected].


Getting Started

NinjamZap is the first mobile NINJAM client for iOS. You can join jam sessions with musicians around the world directly from your iPhone or iPad.

When you first open NinjamZap, you will see the login screen:

NinjamZap login screen with sign-in options and Continue as Guest button

The login screen — sign in or continue as guest

You have two options to get started:

Tip: If you just want to try NINJAM for the first time, Guest mode is the fastest way in. You can always create an account later.


Connecting to a Server

After logging in or entering guest mode, you will see the Connection screen. This is where you configure your session before joining a jam.

NinjamZap connection screen with server field, audio routing, and latency settings

The connection screen — configure and connect

NINJAM Username

Choose a name that will be visible to other musicians in the session. This can be anything you like — your name, your instrument, or a creative alias.

Server Address

Enter the address of a NINJAM server you want to join, for example ninbot.com:2049. If you do not know any servers, tap "Browse" to open the Server Browser, which shows a list of available public servers along with the number of musicians currently connected to each one.

Audio Routing

Select your audio input and output devices. For the best experience:

Latency Settings

Choose a latency preset based on your audio setup:

Connect

Once everything is configured, tap Connect to join the session. The app will connect to the server and start syncing with the current interval.


The Session

Once connected, you are in the Session screen — the main jamming interface. Here is what you will find:

Master Volume, Mute and Metronome

NinjamZap session screen showing Master volume, Metronome toggle, and Local Channels

Master controls and local channels

Local Channels (Your Audio)

This section shows your audio input. The key control here is the "Xmit" toggle (short for Transmit). When Xmit is enabled, your audio is sent to the server and other musicians can hear you. When it is disabled, you are in "listen only" mode.

Tip: When you first join a session, start with Xmit off. Listen for a few intervals to get a feel for the music, then enable Xmit when you are ready to play.

Remote Channels (Other Musicians)

NinjamZap remote channels showing multiple musicians with volume sliders and VU meters

Remote channels — each musician has their own controls

Each musician in the session appears as a separate channel with their own controls:


Chat

The chat panel lets you communicate with other musicians via text messages. It is an essential part of the NINJAM experience.

NinjamZap chat panel showing messages between musicians

The chat panel — communicate with other musicians


BPM / BPI

Tap the green BPM/BPI bar at the bottom of the session screen to open the BPM/BPI panel. This is where you can view and propose changes to the session tempo and interval length.

NinjamZap BPM/BPI modal with sliders, Vote buttons, and Tap Tempo

The BPM/BPI panel — adjust tempo and interval length

Common BPM/BPI combinations

Setting Duration Style
120 / 16 8 sec Standard jam — 4 bars of 4/4, works for most genres
85 / 16 11.3 sec Relaxed groove — blues, soul, laid-back funk
90 / 8 5.3 sec Short loops — fast call and response
70 / 32 27.4 sec Ambient — slow, evolving soundscapes

Audio Setup Tips

Use headphones! Without headphones, your microphone picks up the playback audio and creates a feedback loop. This ruins the experience for everyone in the session.

Recommended setups (best to good)

  1. Audio interface (iRig, Focusrite iTrack, etc.) + wired headphones — the gold standard. Best audio quality, lowest latency, no feedback.
  2. Wired headphones with the built-in iPhone microphone — great for getting started. Low latency, no feedback.
  3. Bluetooth headphones — works, but adds latency. Use the "Safe" latency preset. Good enough for casual jams.
  4. Speaker with Echo Cancellation — when the built-in microphone is selected, tap the phone icon on the microphone row to enable Echo Cancellation. Audio quality will be reduced.

Audio interface tips

If you use an external audio interface (like an iRig), plug it in before opening NinjamZap. The app will automatically detect it and route audio through it. You can verify the selected device in the Audio Routing section on the Connection screen.

Technical details

NinjamZap processes all audio internally at 48 kHz. If your audio device runs at a different sample rate (common with Bluetooth), the app automatically resamples to match. This is handled transparently — you do not need to configure anything.


Tips for Great Jam Sessions


Troubleshooting

"I can not hear myself"

Turn up the volume slider on your local channel — this controls how loud you hear yourself in the mix. Also make sure Xmit is enabled so that others can hear you too, and that your Master Volume is up.

"Others can not hear me"

Make sure you have granted microphone permission to NinjamZap (check iOS Settings > NinjamZap > Microphone). Also verify that Xmit is turned on for your local channel.

"Audio is glitchy or crackling"

Switch to the "Safe" latency preset in Audio Routing on the Connection screen. Close other apps that might be using audio. If you are on Bluetooth, try switching to wired headphones.

"Can not connect to server"

Check your internet connection. Verify the server address is correct (including the port, e.g., ninbot.com:2049). Some servers may be temporarily offline — try a different one from the Server Browser.

"I hear echo or feedback"

Use headphones. Without them, your microphone picks up the playback and sends it back to the server. If you must use the speaker, tap the phone icon on the built-in microphone row to enable Echo Cancellation.

"The music sounds out of sync"

That is normal! In NINJAM you always hear the previous interval. This is by design. Turn on the metronome to help you stay on beat, and give it a few intervals to adjust your ear to the concept.

If you are experiencing other issues or need help, contact us at [email protected].