Cockos : REAPER : NINJAM : Forums
Forum Home : Register : FAQ : Members List : Search :

Go Back   Cockos Incorporated Forums > NINJAM Discussion > NINJAM User Discussion

Thread Tools Display Modes
Old 05-11-2019, 04:15 PM   #1
Human being with feelings
Join Date: Jul 2018
Posts: 8
Default ReaNINJAM server, voice chat and how to disable the input monitoring

Hey Guys,

how are you?

I've found ReaNINJAM fantastic for his simple configuration and idea.

I want to use it both for Online Jam tools and also as "Voice Chat" (I've found the option).

My problems and curiosity are 3:

1) What is the difference between "Normal NINJAM", "Voice Chat" and "Session Mode" and why is better to use one than other? In particular I want to know if Voice Chat has some particular stuff than other.

2) If I use the Voice Chat, I don't want to ear my voice in local, but only to send it on the server and listen in my local output only the received signal. I know I have to set input monitoring to have a real time condition, but I want to use it only to send my input signal to the receiver online.

3) The last question is: how I could create a private server for NINJAM? I read on the cockos NINJAM official website about a little program to download named NINJAM server or something similar, but I found nothing. There are updated methods to do it? How could I find a good guide to do it?

Thank you for the attention
massyntesium is offline   Reply With Quote
Old 05-12-2019, 12:29 AM   #2
Human being with feelings
pljones's Avatar
Join Date: Aug 2007
Location: London, UK
Posts: 665

1) This is a fundamental "what is NINJAM" question.

NINJAM works, in "normal" mode, by delaying received audio until it's synchronised to the interval - that's on top of the network delay.
- Player A joins the server and their interval starts locally
- Player B joins the server two seconds after Player A, their interval starts locally
- Player A starts receiving Player B but delays the received signal until the start of their own next interval. Thus, if the BPM is 120 and the BPI is 64, the interval is 32 seconds. The start of Player B's first interval will be delay locally by Player A for 30 seconds.
- Player B starts receiving Player A immediately they join but they don't know where the start of Player A's interval is until the start of Player A's next interval, slightly over 30 seconds later (allowing for network latency), so that then gets delayed until the start of Player B's next interval.
- Player C then joins with Player A having started an interval 60ms earlier and in this case, Player C misses the start despite their network latency being 55ms; they do get the start of Player B's interval.
- Player D then joins with Player A having started an interval 65ms earlier and in this case, Player D catches the start as their network latency was 120ms; they also get the start of Player B's interval.

You'll recognise that you need to understand the form of the music that you're playing so that the interval length can be used to have each player fit the piece. For example, here, despite Player C and D joining 5ms apart, they're hearing different intervals of audio from Player A but the same from Player B (and Player C will obviously hear Player D after a delay and vice versa).

"Voice" mode just drops the synchronisation delay - you hear the audio when it arrives.

"Session" mode is incomprehensible, as far as I've been able to tell -- I think the idea was to use the interval buffer for looping segments or recording takes or something.

Basically, if you don't want to make music, you can use any network voice chat application. If the network latency between you and the people you're playing with is under 10ms, you might use any of the online jamming tools, including NINJAM "voice" mode. If you want to make music and you network latency is above 10ms, you want "normal" mode.

2) You should never use local monitoring with NINJAM. You should only ever hear sound that's going to NINJAM from NINJAM's output. Otherwise you'll have no clue as to what's going on and it'll be a complete disaster area.

3) You need to compile the server.
Originally Posted by Tony Williams
...Playing fast around the drums is one thing. But to play with people for others, to listen to, that's something else. That's a whole other world.

Last edited by pljones; 05-12-2019 at 12:57 AM.
pljones is offline   Reply With Quote

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT -7. The time now is 02:11 AM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.