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 04-02-2020, 03:23 AM   #1
AnttonC
Human being with feelings
 
Join Date: Apr 2020
Posts: 6
Default Live band concert using Ninjam with Backing track

Hello,

Due to circumstances I got interested in ways to keep playing live music, but through Internet, and I digged the Ninjam solution on the past 2 weeks.

My idea was to use Ninjam in a different way from what it is made for.
I have a folk band, we made 2 albums and the idea is to play while listening not to other musicians, but to these albums as a backing track. I made a private server and I didn't manage to use the command to play sound files, so here is our setup :

-Ninjam loop set to 16 bpi 110 BPM

-Metronome not considered, muted everywhere

-1 computer sending the backing track

-4 computers (musicians) soloing the backing track and playing over it

-1 computer muting the backing track and streaming the 4 musicians' sound (together with the Skype videos in which he adds delay)

While doing tests, we realized that the metronome was in a different position depending on the exact moment when any computer connects. For this setup to work, we need to have the 4 musicians connecting at the same moment (their 1st click happens at the same time), and the 2 other computers at a different moment (their 1 is when the musicians are at 8). Otherwise there is a 1 loop delay between musicians, either because of the backing track not arriving at the same loop either because of the recieving computer.

Then we observed that the relative position in the loop is moving over time. Do you have an explanation for this ? This is why we couldn't do a loop smaller than 16bpi, because the "relative click position" changes too fast and induces 1 loop delay somewhere, thus instantly killing the musicality.
So we will try to do a live concert tonight, but I guess we will have to disconnect and connect again several times during the concert, which is annoying...

Sorry for the long message, I hope it is clear, the goal is to share my experience and ask your opinion about it. In the future I'm dreaming of a software that would allow near-live concerts, this solution, even if it seems over-complicated, is the only one I found...

The concert will be streamed here at 8pm GMT+1 (7h37 from now) : https://www.facebook.com/euski/
AnttonC is offline   Reply With Quote
Old 04-02-2020, 07:42 AM   #2
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,636
Default

Welcome to the Reaper Forums !
Quote:
Originally Posted by AnttonC View Post
-1 computer sending the backing track
This is only possible with the pre-release version of Reaper, as here you can synchronize the Reaper session to NinJam. See -> https://forum.cockos.com/showthread.php?t=233593
-Michael
mschnell is offline   Reply With Quote
Old 04-02-2020, 09:28 AM   #3
pljones
Human being with feelings
 
pljones's Avatar
 
Join Date: Aug 2007
Location: London, UK
Posts: 765
Default

I'm not sure what's causing the issue but hopefully you've read and understood this:
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 04-02-2020, 01:20 PM   #4
AnttonC
Human being with feelings
 
Join Date: Apr 2020
Posts: 6
Default

Hi,
Thank for your replies.

@pljones Very nice explanations, if I had found this post earlier we would save some testing time... What is questionning me is the last sentence of your 2nd post (sorry i can't find quote syntax)

"You don't really know when the others in the room will hear you, except that what you play on "1" will get delayed until some future time and heard on "1", whilst you're hearing something that's from the past and that's been delayed until you heard "1"..."

Actually if we are on skype and make sure we are in a very different position of a loop, we should know how many loops we will wait their sound. But after many tests, i think we misunderstood something of the logic of the algorythm...



@mschnell If I understand well, syncing reaper and Ninjam would prevent Ninjam from moving the relative position of the "1"s, thanks to its internal clock ? I will consider this option thanks ! (too bad our show was tonight, it was a funny little mess where we were constantly fighting the loop shifts by adding manual delays and desync/sync procedure...)
AnttonC is offline   Reply With Quote
Old 04-02-2020, 03:07 PM   #5
akademie
Human being with feelings
 
Join Date: Mar 2007
Posts: 3,967
Default

Quote:
Originally Posted by AnttonC View Post
...
<snip>...
@mschnell If I understand well, syncing reaper and Ninjam would prevent Ninjam from moving the relative position of the "1"s, thanks to its internal clock ? I will consider this option thanks ! (too bad our show was tonight, it was a funny little mess where we were constantly fighting the loop shifts by adding manual delays and desync/sync procedure...)
No, I don't think so. "1" (although delayed by interval) is not at the same (absolute) time at your place as at your remote partners' places.

You can test it with two Reapers (portable install) running on your computer and connecting both to a ninjam server. You will find out that "1" depends directly on a moment of becoming connected. When connection is relized then "1" immediately happens...
akademie is offline   Reply With Quote
Old 04-03-2020, 03:20 AM   #6
AnttonC
Human being with feelings
 
Join Date: Apr 2020
Posts: 6
Default

Quote:
Originally Posted by AnttonC View Post
Hi,

@mschnell If I understand well, syncing reaper and Ninjam would prevent Ninjam from moving the relative position of the "1"s, thanks to its internal clock ?
@akademie yes I know there is a "absolute interval" between the "1"s of different computer. I don't want it to dissapear, I want it to be constant over time. That's what i mean by "prevent from moving the relative position"


By the way

Quote:
Originally Posted by mschnell View Post
This is only possible with the pre-release version of Reaper, as here you can synchronize the Reaper session to NinJam. See -> https://forum.cockos.com/showthread.php?t=233593
-Michael
I just realized you were only talking about the backing track. I don't see the problem, the backing track part worked well, we just put the audio tracks in the Ninjam track of Reaper in a separate computer, and launched them with a MIDI controller. But that synchronization might solve my problem

Actually I installed JamTaba whitch offers as well syncing with the tempo of a DAW. But if I understood well, this option syncs just the first beat, and everybody says it will stay in sync. But if internet connexion slows down or I don't know what reason, ninjam changes its timing , it will get out of sync no ? I will try it anyway, nothing better than experimenting...

Last edited by AnttonC; 04-03-2020 at 04:17 AM. Reason: Adding the last parts
AnttonC is offline   Reply With Quote
Old 04-03-2020, 04:17 AM   #7
pljones
Human being with feelings
 
pljones's Avatar
 
Join Date: Aug 2007
Location: London, UK
Posts: 765
Default

The entire purpose of NINJAM is to make sure everyone's "1" aligns.

If your network latency increases or decreases so that in real time, your "1" arrives at someone else sooner or later than the previous "1", NINJAM doesn't just ignore "1" -- it'll still not play your "1" until that remote person's next "1" after they receive your "1".

That's what it does.

You're not in sync with each other. You're in sync with the interval.
__________________
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 04-03-2020, 04:34 AM   #8
AnttonC
Human being with feelings
 
Join Date: Apr 2020
Posts: 6
Default

Quote:
Originally Posted by pljones View Post
If your network latency increases or decreases so that in real time, your "1" arrives at someone else sooner or later than the previous "1", NINJAM doesn't just ignore "1" -- it'll still not play your "1" until that remote person's next "1" after they receive your "1".
So the reason of the "1" moving is the network latency ? So it should move up and down and stay bounded inside an interval.

In our case, we have a 110bpm 16beat loop (which is almost 9 seconds), all the musicians connect at the same time, and the backing track/recieving computers connect 8beat later. Can the network latency reach 4 seconds ?
AnttonC is offline   Reply With Quote
Old 04-03-2020, 04:44 AM   #9
akademie
Human being with feelings
 
Join Date: Mar 2007
Posts: 3,967
Default

Quote:
Originally Posted by AnttonC View Post
So the reason of the "1" moving is the network latency ? So it should move up and down and stay bounded inside an interval.

In our case, we have a 110bpm 16beat loop (which is almost 9 seconds), all the musicians connect at the same time, and the backing track/recieving computers connect 8beat later. Can the network latency reach 4 seconds ?
Well, I think you are aware that technically it is not true / not possible. You all maybe connect 3, 2, 1, click connect Now (synchronizing your manual action of clicking the button, by mobile phone I think). But it may be hundreds of miliseconds or up to second of difference in establishing a connection, and very different for each of participated.
akademie is offline   Reply With Quote
Old 04-03-2020, 08:39 AM   #10
pljones
Human being with feelings
 
pljones's Avatar
 
Join Date: Aug 2007
Location: London, UK
Posts: 765
Default

Quote:
Originally Posted by AnttonC View Post
Can the network latency reach 4 seconds ?
I've seen that much in video conferencing apps. When we were all in the office, you'd hear the person sitting next to you sometimes start speaking on the video feed well over four seconds after they started speaking in real life. And that did vary hugely. So it depends on how you're making your comparative observations.
__________________
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 04-04-2020, 02:41 AM   #11
AnttonC
Human being with feelings
 
Join Date: Apr 2020
Posts: 6
Default

@akademie I mean about the same time, not exacly, but with a shift very small compared the length of the loop.

@pljones So we need to observe what can be the max latency, set a loop length according to that and hope it won't go further...
AnttonC is offline   Reply With Quote
Old 04-05-2020, 11:18 PM   #12
pljones
Human being with feelings
 
pljones's Avatar
 
Join Date: Aug 2007
Location: London, UK
Posts: 765
Default

Quote:
Originally Posted by AnttonC View Post
@pljones So we need to observe what can be the max latency, set a loop length according to that and hope it won't go further...
I don't follow your logic. NINJAM doesn't display latency. The interval is the number of beats in the repeating phrase that you're playing to.

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 04-07-2020, 03:56 AM   #13
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,636
Default

Quote:
Originally Posted by AnttonC View Post
So we need to observe what can be the max latency, set a loop length according to that and hope it won't go further...
The Internet latency (usually called "ping") is rarely more than a second. The loop length in NinJam (BPI multiplied by 60 then devided by BPM) is usually more than a second. So close to never a problem here.

You need to understand that BPI defines the musical (chord progression) loop length. E.g. with a standard 12 bar blues it needs to be 48.
-Michael
mschnell is offline   Reply With Quote
Old 04-08-2020, 05:15 AM   #14
AnttonC
Human being with feelings
 
Join Date: Apr 2020
Posts: 6
Default

Quote:
Originally Posted by pljones View Post
That's why we made tests by increasing the loop length, and even at 16 BPI 110bpm (which shoud be 8.8s if i remember well), we observed an additional loop delay for one musician. That seems huge as I expected the latency to be no more than 1-2 seconds...

I will keep doing tests (including syncing with the DAW) and let you informed
AnttonC is offline   Reply With Quote
Old 04-08-2020, 12:21 PM   #15
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,636
Default

Quote:
Originally Posted by AnttonC View Post
That's why we made tests by increasing the loop length, and even at 16 BPI 110bpm (which shoud be 8.8s if i remember well), we observed an additional loop delay for one musician. That seems huge as I expected the latency to be no more than 1-2 seconds...
By desing, NinJam Latency (between one client xmit and another client receive) is between one and two intervals (loops) with 16BI 11 BPM that is between 8.72 and 17.44 seconds.

-Michael
mschnell 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:18 AM.


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