Playing together
MELD Jam vs NINJAM: which way of jamming online is right for you?
They are two different answers to the same problem, and the difference is one sentence. NINJAM does not try to play in real time at all: everyone hears everyone else one whole interval late — a bar or more — exactly on the beat, so distance stops mattering. MELD Jam plays in real time first, measures the round trip, tells you when the distance is too great, and only then offers the same one-bar-late trick, in a browser tab, with nothing to install. If your bandmate is in the next city, real time works and MELD is the shorter road. If they are across an ocean, neither product can beat physics, and the interval model — NINJAM's since 2005, MELD's delay jam now — is the only one that keeps time.
What does NINJAM actually do?
A note on where this comes from first. We have run MELD Jam's two modes ourselves, including the delay mode, with two players and a measured clock. What we say about NINJAM below is taken from its own documentation — the Cockos NINJAM page, the server guide and the community user guide — not from a session we sat in. Where the documentation is silent, we say so rather than guess.
NINJAM's idea is the one every other approach eventually arrives at when the distance is large enough. In its own words: "Latency in NINJAM is measured in measures." Everybody agrees a tempo (BPM) and an interval length in beats (BPI). Your playing is recorded one interval at a time and sent to a server; "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." Nobody is ever in time with the live you. Everybody is perfectly in time with the you of one interval ago.
Three practical consequences follow from the design, all from the documentation. It needs a server — a separate program somebody runs, with a default BPM and BPI set in its config. The audio is compressed with OGG Vorbis on the way to that server and out to everyone else. And the natural home for it today is REAPER, whose ReaNINJAM plugin is the maintained client; the standalone clients on the site date from 2005. It is GPL and the source is on GitHub.
The developers describe the feeling honestly: "bizarre" at first, then "pretty natural", and in some ways "more forgiving than a normal jam". That matches what people who use it say. It is a different instrument, and people who learn it like it.
What does MELD Jam do differently?
MELD Jam starts from the other end. It connects two browsers directly (WebRTC, peer to peer where both networks allow it) and plays in real time. In the first second it measures the actual round trip between you and shows you the number. Under about 100 ms you play together the ordinary way; above it, you are told plainly that the two of you are too far apart to keep time, with two choices: keep looking for someone nearer, or play anyway.
And now a third choice: a delay jam. It is NINJAM's model, one bar late and on the beat, with two differences that come from being built in 2026 rather than 2005. There is no server — the bar travels over a data channel between the two browsers, as raw 16-bit audio rather than a compressed stream. And the two players' clocks are agreed directly between them, NTP-style over that same channel, so the grid on both screens is derived from one instant. We measured the two grids against each other with a deliberately skewed clock on one side: they agree to within a few milliseconds.
The other half is what happens to what you played. MELD records while you jam, in the browser, and the take goes to the Studio timeline, to a download, or to a post — it never has to touch a server. NINJAM, by design, records everything at the server, which is what makes its sessions remixable later and also what makes it a thing you have to host.
How do you set each one up?
Side by side, the steps as each product's own material describes them.
| NINJAM (from its documentation) | MELD Jam (hands-on) | |
|---|---|---|
| Install | REAPER with ReaNINJAM, or one of the 2005 standalone clients | Nothing. A browser tab. |
| Account | None required for public servers; some servers use passwords | None. Sign in only if you want the take on a Studio timeline. |
| Find people | Pick a server from the public server list, or run your own | Press Jam to be matched, or send a friend a link for a private room |
| Connect | Enter the server address and a port (2049–2052 by convention) | The link or the match does it |
| Tempo | Set by the server config; players can !vote bpm and !vote bpi in chat | Real time needs none. A delay jam takes a BPM from whoever proposes it, and both must accept |
| Hearing each other | Always one interval late | Live, with the round trip on screen; one bar late if you both choose it |
| The recording | Kept on the server, per player, for later remixing | Kept in your browser; both sides only if both switch it on |
The honest cost of MELD's simplicity: the public lobby is often empty this early, so the invite link is the reliable way in. NINJAM's public servers have twenty years of regulars.
Which one has less delay?
This is the question people mean when they ask which is better, and it has two answers depending on distance.
Close enough for real time, MELD is not delayed in the musical sense at all: you hear the other player as the network delivers them, and the number on screen is the truth about how late that is. Within a few hundred kilometres that is a handful of milliseconds from physics plus whatever your headphones and network add (the arithmetic is here). NINJAM has no real-time mode; its shortest possible delay is one interval, which at 120 BPM and 4 beats per interval is two seconds, and at a 16-beat interval is eight.
Too far for real time, the two are the same idea, and the delay is whatever a bar is at your tempo. Here the difference is not the delay but what happens around it. MELD's bar leaves your browser as it is being played, in pieces, and reaches the other side with most of a bar to spare; the audio is uncompressed and nothing sits in the middle. NINJAM's bar goes through a server and a codec, which its documentation is upfront about, and which is the price of supporting a room of ten rather than a pair.
One number we can stand behind because we measured it: in MELD's delay mode, an impulse played on beat 3 of bar 2 on one machine arrived on beat 3 of bar 3 on the other to within a few milliseconds, with the two machines' clocks deliberately set 1.2 seconds apart. That is the property that makes the mode musical — not that it is late, but that it is exactly one bar late.
Which kinds of music work in each?
The interval model rewards anything that repeats. Grooves, vamps, twelve-bar forms, ambient and drone, modal jams, loop-based electronic music: if the bar you are about to hear is much like the bar you just played, hearing it one bar late is barely a constraint, and often a feature — you are playing to a rock-steady version of the band.
It punishes anything that turns on a dime. A song with a bridge, a stop, a pick-up into a chorus, a rubato ending: the person who leads the change hears everyone else follow it a bar after they hear the change themselves. Bands manage this on NINJAM with a leader who plans a bar ahead and a chat window, and the same discipline applies in a MELD delay jam. But it is a discipline, and a song with a lot of changes is more fun in real time.
Real time, then, is for everything with structure, dynamics and conversation — provided you are near enough. The rule of thumb from the research is that ensembles hold together up to somewhere between 25 and 40 ms one way (Chafe et al., 2004 found the accuracy optimum tighter still, at 11.5 ms), which MELD's round-trip readout lets you check rather than guess.
Who is each one for?
- NINJAM is for people who already run REAPER, who want a standing room with regulars, a server that records everything for later, and rooms of more than two. The interval feel is the whole point, not a fallback, and its community has two decades of practice with it.
- MELD Jam is for two people who want to play now, on whatever they have — a phone counts — with nothing installed, and who would rather be told the connection is too far than have it hidden. Real time when the distance allows, one bar late when it does not, and the take goes straight into a browser studio.
- Both are for the same musician on different days. Nothing stops you from keeping a NINJAM room for the Thursday regulars and sending a MELD link to the singer who will never install anything.
How MELD Jam handles it
Open MELD Jam, pick what you play, and press Jam, or send someone a link and you get a private room. The round trip appears in the first second. If it is too long, the page says so and offers the delay jam; either of you can propose it at any time, and it starts only when both have said yes. Stop it and you are back to live.
The take you keep goes to the Studio, where it becomes one lane of many, and from there to a master at a loudness that survives streaming. None of it leaves your browser unless you post it.
Questions people ask
Is NINJAM real time?
No, by design. NINJAM plays everyone one whole interval late, on the beat, so that the distance between players stops mattering. At 120 BPM with four beats per interval that is two seconds. Its documentation puts it as "latency in NINJAM is measured in measures". The trade is a steady groove for the ability to change direction instantly.
Does MELD Jam have a NINJAM-style delay mode?
Yes. MELD Jam plays in real time first and shows the round trip; when two players are too far apart to keep time, either can propose a delay jam, in which each hears the other one bar late and exactly on the beat. It runs between the two browsers with no server, and starts only when both have accepted.
Do you need to install anything to use NINJAM or MELD Jam?
NINJAM needs a client, in practice REAPER with the ReaNINJAM plugin, and a server to connect to. MELD Jam runs in a browser tab with no install and no account; you are matched with someone online or you send a friend a link for a private room.
Which is better for jamming across long distances?
Neither can beat physics: across an ocean the round trip alone is 80 ms or more, which is past real-time ensemble playing. Both products then use the same idea, hearing each other one bar late on the beat. NINJAM has done it since 2005 with a server and rooms of many; MELD does it between two browsers with no server and uncompressed audio.
What kind of music works when you hear each other one bar late?
Anything that repeats: grooves, vamps, twelve-bar forms, ambient, loop-based electronic music. Songs with sudden changes, stops and pick-ups are harder, because the person leading a change hears everyone follow it a bar later. Bands manage with a leader who plans a bar ahead, but it is a discipline.
Send someone a link and the two of you get a private room, with the real round trip on screen and a delay jam one button away.
Open MELD JamSources
- Cockos — NINJAM (how it works, clients, GPL licence)
- Cockos — NINJAM server setup guide (DefaultBPM, DefaultBPI, hosting)
- NINJAM User Guide (community, PDF: !vote bpm / !vote bpi, ports 2049-2052, server list)
- justinfrankel/ninjam — source on GitHub
- Chafe, Gurevich, Leslie & Tyan — Effect of Time Delay on Ensemble Accuracy (ISMA 2004)
- ITU-T G.114 — One-way transmission time (fibre at 5 µs/km)