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

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

Reply
 
Thread Tools Display Modes
Old 12-15-2020, 06:44 PM   #1
merk
Human being with feelings
 
Join Date: Dec 2020
Posts: 5
Default Question About Syncing Count Between Clients

Ninjam is great. I have been jamming with a friend for a few months with it. We are playing electronic music. I have a modular synth and he has some samplers. This makes it important for us to be perfectly in sync.

After a couple months of struggling to stay synced, we started looking deeper into Ninjam's settings and behavior. What we noticed is that while our bpm seems to stay the same and in sync, the start point of our clocks was different. I asked my friend to count his clock and what we discovered is that while he was counting 24, 25, 26, my clock was at 10, 11, 12. Not only that, but I don't believe they are even advancing on the same tick.

This makes me wonder what is the point of the count advancing and the metronome? It seems that there can be no useful function for them. I don't understand why you would want to start your DAW at the beginning of a cycle either. It is useless to do that if my cycle is starting in the middle of my friend's cycle.

I also discovered that the count can be paused by bypassing the Ninjam plugin.

Am I missing something here? Is it possible that this used to work and now it does not? Or vice versa, it is a feature that never got implemented properly?

Finally, does anyone know of an alternative plugin that does the same thing, but better?

Thanks for any help, advice, or just general instruction to make things work better.

- merk
merk is offline   Reply With Quote
Old 12-16-2020, 12:17 AM   #2
pljones
Human being with feelings
 
pljones's Avatar
 
Join Date: Aug 2007
Location: London, UK
Posts: 767
Default

The NINJAM tick is the only tick.

You can't try syncing to anything else, it won't work.

If NINJAM says it's "1" out of "16", then it's "1" out of "16".

If you don't follow the NINJAM clock, you won't be in sync with anything.


(If you are following the clock, make sure you've set the channels to "Normal NINJAM" rather than any other setting.)
__________________
Quote:
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.
pljones is offline   Reply With Quote
Old 12-16-2020, 11:23 AM   #3
merk
Human being with feelings
 
Join Date: Dec 2020
Posts: 5
Default

Thanks for the message pljones.

My problem is that the NINJAM clock is not in sync between the two clients.

If I set the bpi to 64, my clock may be at 15 while my friend's clock is at 39. That is my problem. I also confirmed this behavior with a random person in a public room. Furthermore, bypassing the plugin makes NINJAM's count pause and it will resume when re-enabled.

I suggest that there is NO syncronisation of the NINJAM count between the clients. Check it with people you jam with if you can. Or bypass NINJAM and see if you witness it "resetting" to a clock that is being produced from the server.

Again, this is not a problem if you are just loosely jamming and playing with real instruments. It is a problem if you want to sync up your DAW to play / record on the down beat of the first kick "Number 1 on the NINJAM metronome".

I really hoped that I was doing something wrong, and maybe I am.
merk is offline   Reply With Quote
Old 12-16-2020, 12:51 PM   #4
pljones
Human being with feelings
 
pljones's Avatar
 
Join Date: Aug 2007
Location: London, UK
Posts: 767
Default

The NINJAM clock IS THE CLOCK.

16 beats on one machine takes the same length of time as 16 beats on another machine at the same BPM.

There you have it.

So you both start on 1.

You hear what the other party plays on 1. Not immediately. That's impossible if you think about it. It's the entire reason NINJAM exists to put it a bit more forcefully.

The other party hears what you play on 1. Not immediately.

But what each of you plays on 1 is heard on 1.


So long as you're both on "Normal NINJAM" and that the only way you hear what you play is through NINJAM.


See also https://forum.cockos.com/showthread....59#post2230659
__________________
Quote:
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.
pljones is offline   Reply With Quote
Old 12-16-2020, 02:13 PM   #5
merk
Human being with feelings
 
Join Date: Dec 2020
Posts: 5
Default

I understand that there is a delay as long as the bpi. I'm not disputing that. I will also admit that this is somewhat trivial because we can "sync" up by manually starting our hardware correctly, essentially "catching the beat" like a DJ would with two records.

I think you are missing my point though.

The NINJAM count that is displayed at the bottom of the plugin window is not identical between my plugin and the person I am jamming with. If I were to try drawing it here in text, it would look like this.

My Count - 4 5 6 7 8 9 10 11 12 13 14 ..... etc
His Count - 9 10 11 12 13 14 15 16 1 2 ..... etc

The ticks are at the same bpm, but the numbers are always off by the same amount. I thought that the counts should both start at 1 and be locked like a metronome between both of our plugins. I totally hear you saying that "NINJAM IS the clock".

I also found that by bypassing the NINJAM plugin, the count can be paused and restarted, to try making the numbers closer together. Try it yourself and you will see that you can pause the count and resume it. If the count was being generated server side, surely it would jump to whatever the current count is at when the plugin is re-enabled.

I don't know any better way to explain this. Sorry, I am not trying to just go on and on about it.

edited to add this:
I should mention that the reason I want both NINJAM plugins to start on the 1 is so that both Reaper DAWs will start together and provide clocks to our hardware that are in sync. Maybe I am just asking too much, but it does seem like the tick count numbers should be the same. If they are not the same then what is the point of giving the option to start playback at beginning of next loop?

Last edited by merk; 12-16-2020 at 02:25 PM. Reason: spelling
merk is offline   Reply With Quote
Old 12-16-2020, 03:59 PM   #6
akademie
Human being with feelings
 
Join Date: Mar 2007
Posts: 3,978
Default

There is option to set Reaper tempo and start Reaper timeline playback synchronized with ReaNINJAM, just look at the "Sync..." button (under "Connect.." button) with options:
Start REAPER playback on next loop
Set project tempo and loop at project start
Set project tempo
Set loop at edit cursor


Generally maybe you still misinterpret how NINJAM works. You can not try to connect two PC in one room to try that and think that you will see/hear beat numbers aligned 1-1 2-2 ob both computers at the same time... That is not possible. It will start just like you wrote... but your "1" will be interpreted as "1" at another computers, for sure.

Last edited by akademie; 12-16-2020 at 04:35 PM. Reason: corrections
akademie is offline   Reply With Quote
Old 12-17-2020, 12:19 AM   #7
pljones
Human being with feelings
 
pljones's Avatar
 
Join Date: Aug 2007
Location: London, UK
Posts: 767
Default

Quote:
Originally Posted by merk View Post
If I were to try drawing it here in text, it would look like this.

My Count - 4 5 6 7 8 9 10 11 12 13 14 ..... etc
His Count - 9 10 11 12 13 14 15 16 1 2 ..... etc
That's not taking NINJAM's clock as THE clock, though, is it?

You're not accepting what NINJAM is.

Quote:
Originally Posted by akademie View Post
Generally maybe you still misinterpret how NINJAM works. You can not try to connect two PC in one room to try that and think that you will see/hear beat numbers aligned 1-1 2-2 ob both computers at the same time... That is not possible. It will start just like you wrote... but your "1" will be interpreted as "1" at another computers, for sure.
__________________
Quote:
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.
pljones is offline   Reply With Quote
Old 12-17-2020, 10:30 PM   #8
merk
Human being with feelings
 
Join Date: Dec 2020
Posts: 5
Default

I'm going to take the risk of beating a dead horse and try once more, even though I think I have come to terms with NINJAM not working how I want it to.

BTW - I am using ReaNINJAM if that makes any difference at all.

My expected behavior of NINJAM and starting Reaper on the next loop for both myself and my friend that I am jamming with.

NINJAM creates a clock that appears in the plugin window. We both see the same number counting up at the same time. Let's assume the bpi is set to 8. We both tell Reaper to begin on next loop. The NINJAM clock comes back to 1 and both of our DAWs begin playing at the same time. We both begin to hear each other's audio on the next loop.

NINJAM's actual behavior.

NINJAM's count in my plugin window says 5 when my friend's says 2 (there is always a difference of 3 in this case). We both hit start Reaper on next loop. My DAW starts first when my NINJAM count hits 1 and then my friend's DAW starts when his NINJAM count hits 1. Now we are both at the same bpm and the same bpi, but my daw is 3 steps ahead in the playback so everything is "off". If we both play a drumbeat, my kick should be aligned with his kick, but it is not, it is off by 3 steps. We still hear each others audio 8 steps or 1 bpi loop late. That is fine, I know that is how it works.

Our workaround.

Manually starting / reseting our hardware clocks so that even though NINJAM's count is off by whatever number, we compensate for it in real time. We like to use a really long bpi (64 with the tempo set to half speed). So it takes a really long time to get things dialed in initially.

Please don't think I am being argumentative. I appreciate you guys trying to help me. At this point I think NINJAM is just lacking the "feature" that I am looking for. However, I don't understand what the point of having a metronome or ability to start the DAW is if the metronome is not the same for all participants. I'm sure no one cares about using the metronome, so this problem I am describing just gets overlooked.

- merk
merk is offline   Reply With Quote
Old 12-18-2020, 12:24 AM   #9
pljones
Human being with feelings
 
pljones's Avatar
 
Join Date: Aug 2007
Location: London, UK
Posts: 767
Default

Quote:
Originally Posted by merk View Post
We both see the same number counting up at the same time.
And there you fail.

No.

You each see NINJAM counting from 1 when you connect, at the same speed.

That count -- and nothing else, no one else's count -- tells you where "1" is.

So if you join a session when your friends count is on "4", your count will be on "1".

But that's irrelevant. NINJAM will not play you their "1" until your next "1".

Actually, as you missed being there for their most recent "1", you'll have to wait until their next "1" to get to you and be sync'd. And that point is important, too. You cannot predict, precisely, how much delay NINJAM will need to add to other parties' intervals to align with your "1". Different people may be delayed by differing amounts. Which, again, emphasises that NINJAM's "1" is the only "1" - and it's "1" every time NINJAM says it is.
__________________
Quote:
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.
pljones is offline   Reply With Quote
Reply

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 03:23 AM.


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