Networked Tracking :d

Bob: Hey Jim, let’s track a tune in Renoise together!
Jim: But how?! I’m in Timbuktu and your in Amsterdam!
Bob: With Renoise TCP/IP Network Tracking!
Jim: That’s amazing! You mean we can track the same song at the same time over the internet? See each others’ pattern and instrument changes?
Bob: That’s the idea!
This would be a fun feature. :dribble: To be able to track with other Renoise users over tcp/ip, allowing two or more people to collaborate anywhere in the world. Perhaps even multiple users could work on a song with a simple chat system. I’ve experienced this with Impulse Tracker before and it was a lot of fun. It looks like FL Studio has their own take on it called Collab but I have not used it before. A basic implementation of this would still work very well even without any chat functions or allowing only 2 people. But with the first tracker acting as a host there could be possiblities like chat channels and teams of people all working on the same Renoise project.

I know the Renoise team are very busy but this would be a nice feature to have some day. :D


Bob (Amsterdam): Damnit Jim! you crapped on my bassline!
Jim (Kathmandu): Heh, thats what you get for changing my track 5 lead! Didn’t think I would notice huh?!
Bob (Amsterdam): I had to change it, it was making my cat vomit all over the desk. …

Sorry, I forgot to log on.

I never used it, by the time Jeffrey came with this feature i was already high tide to the internet.
The answer upon the request for an TCP/IP stack driver was “maybe in the future”
I guess this would also mean a Win32 based version of IT 2 by now.

The Impulse Tracker driver worked via local network but we used Kali or Kahn to enable it to work over the internet. It was very cool. :walkman: I imagine it would be a popular feature at demo parties! It would bring whole new dimension to coops. :) Renoise Deathmatch!

That is great idea! Working live on the same track over internet, damn :dribble:

I had no idea this was possible with Impulse Tracker. Shame on me! :lol: Must try it out some day.

I always asked myself how this worked in detail. Samples where not transfered, right? What happened then if someone loaded a sample or instrument?

just stumbled upon the OSC protocol:

http://www.ixi-software.net/content/info/osc.html

might be the future of midi. :)

I see one advantage in having a network link other than participating with others:deviding CPU resources across more host machines without having to sacrifice a MIDI channel for it.
But in that case delay compensiation is required.

Theoretically it would synchronise 2 or more Renoise clients, then watch for changes made to pattern, instrument, dsp,etc data. These changes would be updated to connected clients.

For example:
2 people ( User A and User B ) start up Renoise and each load up the same song with 1 pattern in it.

The network driver starts and synchronises the host with the connecting client. All relevant song data (instruments,patterns,dsp,etc) is checked and verified against the host upon connection. Input is halted and an “Synchronising” message displayed while the check/verify song data routine is run against the host and new client. After the song data is checked/verified then tracking can begin.

User A then loads Native Instruments FM7 VST into the instrument list. User B network driver sees this change and adds FM7 to the instrument list.

The network driver would check for existance and version of FM7 on User B’s client, then add FM7 if everything is ok. If User B doesn’t have FM7 or the version is different, alert appropriate warning and/or deny addition of FM7 to User A. If it checks out, the VST is added and tracking can continue.

As notes are inputed and patterns are added/changed, data is updated to the clients.

I imagine added samples would have to be verified similar to adding VSTs (filename & filesize perhaps). Prior to connection there might be a map of all available samples created per each client. The list of VSTs Renoise keeps could be used for host/client checking of VSTs. When samples or VST are added by any a client, other clients can check their map to see if the vst/sample is available.

Duplicate filename/filesize of samples could be an issue here (ie: Joe has snare.wav at 5k which sounds different than Bob’s snare.wav which is also 5k). One possibility could be, like Taktik mentioned, transfering samples. This could, however, pose it’s own problems such as some monkey adding a 300mb sample wrecking bandwidth havoc to all clients. Transfering samples is not a bad idea though probably not needed till later. There could be a sample filesize limit setup with the host. Transfering VST is probably not feasable and wouldn’t be expected.
Impulse Tracker always scattered those .ITS files all over the drive, maybe this had something to do with it’s Network Driver?

Functions such as playback and file saving would all run independently with no need for network communication. A chat server with channels would be a nice feature but initially you could just grab mIRC or an instant messenger. Benefits of having a chat server would be to be the ability to exchange messages inside Renoise, while tracking, without having to tab out to another program. A program such as Skype with voice conferencing could be used while using Renoise.

Sending RNS files via email is a simple solution but not quite the same as tracking realtime with other trackers over the internet. I don’t mean to get into comparing which features are more important and don’t claim this to be a high priority feature. I’m aware the Renoise team is very busy with many very needed features and bug fixes. This would just be an awesome, “fun” feature to see someday.

That looks like it might be along the lines of what I’m thinking of. I Didn’t get to read it all but perhaps more programs than Fruity Loops and Impulse Tracker will have these kinds of features in the future? :o

If this could be done it would seem like an incredible advantage for Renoise! :dribble:

IT comes with a network driver but me and my friend were in different locations so we loaded up Kali and tracked over the internet! It was pretty neat! The IT network driver is very basic but it works. :D

ahhhhhhhhhhhh

i love this! more talk of OSC.

i sit back and wait…

here is something similar done with puredata:
http://at.or.at/serendiPd/
(i posted that link in another post)

the biggest problem with this, is when someone decides they want to start testing the security of this idea :ph34r:


on another note, implementing OSC into renoise would allow for the ability to network with other OSC capable software. (like the vid software fluxus) givng the rise to networking with users using reaktor, bidule,max/msp,pure data, sc3, tracktor, chuck, yadda yada.

maybe the samples could be distributed similar to how you download maps from game servers?

That’s interesting, collaborating on a patch. :o There are many possiblities.

Ahhh security, fun fun fun. I think it would be pretty sad to see someone hack a Renoise host to sabotage a song. Some measures to guard against it could be an IP list so that only trusted IP’s could join the tracking. The host could elect to host an open or closed session. Banning of IP’s to kick out unwanted users. I don’t know much about network programming but this should help make it secure. If a trusted IP starts hacking your Renoise then maybe you have a bad friend heh. It should be understood that anyone using this feature would be doing so at their own risk too. The ultra-paranoid could stick to local area networks which would work at parties etc.

This would be ‘choice’! I would love to see this. It would take some work though I imagine, beyond the basic synchronising and watched for tracking changes.

Using bittorrent or other p2p protocols seems more idealistic in this concept.

well i know osc runs on udp, so i would bet the sample transferring would be best going through tcp.

what i wonder is what happens when someone doesnt have a certain vst.
i thought about this for abit an only really came up with the idea to have vsts sitting in some virtual domain, that could be accessed by everyone on the host server. bad thing about that idea is, i’m sure that in the future after getting wind of this, developers would pose some type of license restrictions. so that it would be hard for this to continue.

maybe its truly best just to only use samples. unless of course in the near future renoise adopts a synthesis. one that we could use as an instrument & effects. cuz seriously, i dont think anyones really happy with the state of vst. an there would be soo many problems with buggy vsts bringing down the network.
one fine point of renoise adopting a synthesis, is having an instrument be able to link/communicate with the effects, & vice versa. i could see in the far future. no real need for samples at all. everything could just be resynthesized, load up a wav that converts to a resynthesized instrument then control parameters sent out to everyone. i think the future of sound could flourish in this enviroment.

Interesting how everyone has different ways of using Renoise. Personally I have no use for a Renoise VSTi or tempo limit increase.

Anyone knows OSC ? doesnt seems so. osc inside renoise :huh: isnt very plausible.
compared to the actual state of renoise, i would say thats another chapter.
many users mentioned very good gimmicks and enhancements before.
i prefer more accurate bpm, visual layer-able automation and mixer- view (!!!) …

i do know osc, an man, it would work with renoise. although it would make use of osc much better if it was at renoise’s core. also if renoise had dsp. we could do even more insane things… maybe i was confused about your post, were actually speaking of the developers? (if so then this post is pretty much pointless.)
when i began learning dsp, i helped a friend test osc by making patch that was able to send messages over the net from germany to saint louis missouri.
(middle of america) the latency wasnt noticable at all, i built a small oscillator that he controlled from his pc’s midi keyboard. we also made some prewritten chat type messsages to tell each other how things were going.

osc works by sending minute amounts of control data to other osc servers, giving the ability for my friend to sit at his home while someone else set up a pc at a club that he controlled for his set.

so yes there is at least 1 person, and from the sound of this thread there are others either interested or involved in using it.
but yeah, i dont really ever forsee this at all (at least with this project) but we can dream cant we?


btw i like that idea of yours “visual layer-able automation” it would be nice to see that! as long as the colors of the automation splines werent the same :lol:

after writing that i think we should have another poll. maybe a public poll this time. to see, what the current state of desirable features is among regged users an illegyals!
when you see ppl posting in threads de-emphasizing desirable functions maybe its a sign.