TranceAddict Forums

TranceAddict Forums (www.tranceaddict.com/forums)
- Production Studio
-- Real Time Collaboration Interfaces in Sequencers?


Posted by Rob on May-29-2005 06:20:

Real Time Collaboration Interfaces in Sequencers?

After trying the FL collab software, I was bitterly dissapointed at how it wasn't a real time LIVE collaboration interface (Maybe I just got my hopes up for nothing? )

The convo:

Can two people work on the same Fruity Loops Project at the SAME time and hear it, edit it, tweak it LIVE?
ie. Mix it, throw down more samples
<~c[-.-]p~> no its not a live interface
FUCK
Only one person can work on it at a time,
Well that's pointless then

Not really
Why can't it be live?!?!?
That would be BRILLIANT
I don't know,
<~c[-.-]p~> it's more of just an exchange thing for people
It would be better if people could edit the file together in real time
<~c[-.-]p~> we should mention this to gol and others
and work on the track together
if it was live then one person would have to wait for the other to finish what they were doing anyway
No they wouldn't
They could hear it live
and make changes to it
That would be REAL live collaboration
<~c[-.-]p~> we talking bout a live interface for collab
what we talkin bout?
oh ok
I think it's a good idea
that'd be cool, but, i think you're thinking too far into the future
maybe talk to a head-person @FLstudio.com
kuz i think it's an awesome idea
it's not that complicated, just add a feature where if two people have the same file, there should be a certain feature where it lets people talk to each other in FL itself
but that would take a lot of work designing for the staff
it is a really good idea though
somebody should bring that up on the collab forum
I'm sure it's been thought of before
probly, but we'll never know til we try
and thinking about the idea and actually trying to make it work are two completely different scenarios
I think it's a great idea
but the trick is to make them think it's a great idea too
Well we're not programmers
But they could do it easily:P
probly


Thoughts?


Posted by djyouth on May-29-2005 06:26:

It can be done already. Without help from the FL Team..
By using Remote Assistance
It has a chat window as well and you can press esc at anytime in case your 'mate' goes crazy and destroys your PC by deleting the windows folder and injecting a virus... Just in case.

Good luck with your collabs people


Posted by Rob on May-29-2005 06:43:

heh, yeah

I was thinking about something a bit more secure that doesn't give the person you're collaborating with unrestricted access to every aspect of your system I was thinking it would be good to collab with just some random person and throw down a few samples you know?


Posted by djyouth on May-29-2005 06:48:

Indeed.
But again, you can stop the whole thing in a tenth of a second by pressing esc or the stop button.
He (or she) won't be able to download or upload files from or to you without your permission anyway.
So it is basically safe unless you have your bankcard information and password as your desktop background.

For those who doesn't want to take the risk, it's best to wait for the FL team or just keep out from collabs with strangers.


Posted by twisted on May-29-2005 07:27:

ive never seen that app before. that is going to be VERY usefull. im actually thinking about working with someone/somepeople on a remix of Woob - Strange. I have a VERY unfinished sample. its basicly the original, just cut up, streched so it fits my tempo, with some VERY minor pathetic percussion, it was just a experiment. i got the little vocal in there too. looking for anyone to collab with. im keen on having drums in there, but thats about it. style doesnt really matter. reason i took the chance to post this info here, is because i truthfully dont want That many people replying. just one or two even for a look at the track is all i want. ill let you hear it, like what there is so far, you can take a nab at what i got. its not a big deal, im VERY fond of working alone, and all my projects have been like that so far. the title of the thread just gave me this impulsive idea to ask this impulsive question. heh, thanks.

ps. using fruity loops as the host.

pm me or email me/add me to msn at [email protected]


Posted by Corteoz on May-29-2005 13:04:

Exclamation

Let�s be rational people.
There are many reasons that remote controlled music-production won�t be available for everyone in at least a couple of years.

It requires an insane connection. I�m talking about a connection of minimum 2/2 mbit. That�s what�s called SDSL. The problem is the UPLOADING SPEED. Most countries who have broadband have ADSL where the upload speed is much less than the download speed.
Just to make you understand why you need a good connection:

If you are the host of the session.
- You have to send a copy of you screen every nth seconds. Let�s say you have a refresh rate that sends pictures to your friend one time per second. You�re using a 1024x768 desktop resolution. With some heavy JPG compressing (noticeably grainy image) you get a picture that�s around 6 kb (and that�s with 1024x768, which is a �low� resolution for many). That�s not really a problem. You just need to accept that a smooth gradient on your screen will be a set of single colored bars on your mates screen. If you�re saying �why don�t you resize the pics before sending�. Well, that would require some CPU-power, and when already hosting a remote-controlling client and using a music application, you should spare some CPU for the music app.
So at this point we�re using around 6kb/s if we�re compressing the hell out of every image we send.
I estimate around 20kb/s for a high quality pictures.

- You have to stream the music for your mate. When producing music, isn�t the point that the music should be of high quality? Imagine EQ-ing or compressing with 128 kbps quality. If you�re new to producing, this won�t be a problem since tweaking is an art that has to be learned with time. To achieve an �acceptable� result when mixing and tweaking, you need at least 360kbps. I�m aware that the audio is often compressed when streaming.
I�m not sure how much bandwidth is use, so I won�t say. But I�m sure it�s around 30kb/s at 360kbps. When streaming there�s a buffer, and when buffering you loose the whole point with real-time tweaking. So we have to look away from traditional streaming, and look at raw data transmission. We now have a problem, if we were to send 360kbps uncompressed, the size of the data sent per second would amazingly be 360kb/s. Do you have 4 mbit upload? Do all your friends have it?
Well, I�m not an expert on sending audio, but that�s the biggest obstacle for live music production!

- The friend you�re working with also send you some data, but I doubt that will be a big problem since all the things he does can be transformed into binary data and sent.
Also, the host needs a high end computer to handle all the tasks. I�m talking about P4 > 3.4 or AMD64 (with 64 bit O/S) and 1gb RAM and etc.

I�m just saying that music production across the internet isn�t for everyone yet, but in time it�ll be possible!


Posted by Rob on May-29-2005 13:56:

There's NO WAY you would you need a fast connection Corteoz, not with a proper collaboration interface. Infact you could probably run it on 56k.

This is how I envisage it.

The sequencer (which we'll pretend is Reason) will have everything controllable via midi and a special intstruction set used for collaboration only.

Two people connect to each other, and via the instruction set, will enable you to control every aspect of the same project you BOTH have up on your screen. If one person adds a synth, a few bytes will be sent to the other person instructing their sequencer to do the same.

This could be done easily on a 56k connection and would be faster then webcam conferencing, as nothing is streamed. It's merely an instruction set for triggering events within the sequencer (adding a sampler, a reverb unit etc).

Samples are a bit more tedious to work with. If one person arranges the percussion samples, sequences it in the redrum, then the samples will have to be sent as each person adds a particular sample.

So in summary, no streaming is done whatsoever, and the whole system primarily runs on triggering both collab sequencers at the same time. Sure there will be some latecy issues, but it shouldn't be worse then say....



50000ms




Posted by Corteoz on May-29-2005 15:16:

That's always a possibility, but I was talking about remote controlling.
And don't come here and say that you can send HIGH QUALITY audio/images through a 56k line realtime! :-P

There's always the possibility that one can send only the instructions for the program, but then it's critical that both users have the same software and versions. Both the hosts and VSTs.
I was really disapointed with Collab. IMHO it doesn't have more functionality than a random IRC client. It doesn't even log or announce changes done! I'm just an automation lover...

Maybe there's time for a programming collabration on TA?
A host that can handle Reason, FL, Cubase and so on... It is possible if we use a ReWire SDK or something. The program are programmed to interact with eachother to a certain extent via. MIDI. Maybe a remote (internet) controlled MIDI interface. :-D Get some sponsors and stuff.
All this with features like: "Sync samples" 'n stuff!


Posted by Dickie-T on May-29-2005 15:39:

quote:
Originally posted by Corteoz
And don't come here and say that you can send HIGH QUALITY audio/images through a 56k line realtime! :-P

well that's not necesairy, because both collaborating users have the synth in their fl opened, so it synthesizes in their own pc, all that is sent over the internet is changes to knobs, and note changes etc etc....

So it would be just a few bytes each time


Posted by DigiNut on May-29-2005 15:52:

It's already established that you don't need a high-bandwidth or low-latency connection to transmit the graphics - just look at MS's Remote Desktop in XP/2003 (I believe they actually licensed Citrix technology for this, and so could Steinberg/Imageline/Apple/Digidesign if they wanted to).

So the only real question is sound streaming. which I agree is tricky, but certainly not impossible. A decent broadband connection has at least 320 kbps upstream, and very few people can hear the difference in sound at 192 kbps. Given that it takes about 1 minute to encode a 10-minute MP3 at this quality, it could DEFINITELY be done in realtime.

Besides, when most people think of collaboration, they're probably thinking of the mix and not the master - 128k or even 64k is more than sufficent for the production stages which don't require attention to fine detail, assuming you've got someone on the other end whom you trust not to let it sound like total shite.

Personally, I think the real reason that collab hasn't been implemented to any significant extent is because there isn't much demand for it. It's something I would classify as "neat" - a feature that is cool but would seldom be used, because different producers usually have different creative directions that can't be expressed too well over the computer.


Posted by Rob on May-29-2005 15:59:

quote:
Originally posted by Corteoz
That's always a possibility, but I was talking about remote controlling.
And don't come here and say that you can send HIGH QUALITY audio/images through a 56k line realtime! :-P


Yeah, you said: "There are many reasons that remote controlled music-production won�t be available for everyone in at least a couple of years". Why on earth not? No high quality images or audio has to be sent, just the mere tiny miniscule bytes of instructions that trigger events within the sequencer.


quote:
Originally posted by DigiNut

So the only real question is sound streaming.

No audio is being streamed. Nothing bigger then 30kb's will ever be sent unless one person doesn't have a sample, or a particular soundbank etc.


Posted by DigiNut on May-29-2005 16:06:

You'd be surprised at how much data gets sent back and forth between hosts, VST, sequencers, etc. It's anything but "miniscule". Open up your process list and take a look at how quickly the memory usage is changing for your flstudio.exe or cubasesx.exe - that'll give you some basic idea as to how many bits and bytes are getting pushed around.

Besides, the concept you're talking about would only work if both people were using all-software studios. What if someone is using hardware? And even though most people here probably don't care about this, it would get pretty expensive as both people would need to have their hosts/instruments/etc. fully licensed.

It makes no difference anyway, because audio streaming would not be that difficult. The real problem is demand.


Posted by Rob on May-29-2005 16:32:

I can only see such a system being implemented easily in a closed production environment like Reason. FL/Cubase, anything that uses external VSTi's could run into alot of compatibility issues.

These "issues" could be easily solved if the respective sequencers were limited to a closed system environment during collab. This however would severly hamper any open production enviroments like FL/Cubase as both sequencers rely so heavily on exteral plugins.


Posted by Corteoz on May-29-2005 17:48:

quote:
Originally posted by DigiNut

So the only real question is sound streaming. which I agree is tricky, but certainly not impossible. A decent broadband connection has at least 320 kbps upstream, and very few people can hear the difference in sound at 192 kbps. Given that it takes about 1 minute to encode a 10-minute MP3 at this quality, it could DEFINITELY be done in realtime.


One of the things with streaming is that is has a buffer, that's the point with streaming. The alternative is something like Skype.
As for compressing; 10 minute MP3 in 1 minute with 100% CPU, yes!
Do it realtime without effecting mixing.

I haven't said it's impossible, I'm just saying you won't get good quality or good latency. As for that Windows remotethingy, I know it's quick, but when I help people on 56k it takes about 5 - 10 seconds from when I click something till it apears. And it doesn't send the entire picture, just what's updated.

I would love helping out mkaing a program for FL that could send information between two clients. I know it's sometimes large amounts of data, but it could be done. Not excactly "realtime" but simmilar to CVS.
Let's say I make a pattern, then it would appear on his screen that I've made an update and if he wish to merge it into his project file. That's one way to cope with it.


Posted by Dickie-T on May-29-2005 18:28:

quote:
Originally posted by DigiNut
You'd be surprised at how much data gets sent back and forth between hosts, VST, sequencers, etc. It's anything but "miniscule". Open up your process list and take a look at how quickly the memory usage is changing for your flstudio.exe or cubasesx.exe - that'll give you some basic idea as to how many bits and bytes are getting pushed around.

Besides, the concept you're talking about would only work if both people were using all-software studios. What if someone is using hardware? And even though most people here probably don't care about this, it would get pretty expensive as both people would need to have their hosts/instruments/etc. fully licensed.

It makes no difference anyway, because audio streaming would not be that difficult. The real problem is demand.

you don't understand

ALL THAT NEEDS TO BE TRANSFERRED OVER THE INTERNET ARE THE CHANGING OF VST SETTINGS (SIMPLE NUMBERS OF POT METERS) AND ADDING/REMOVING OF VST'S (ALSO SOME SIMPLE LINES) ETC ETC (VOLUME SETTINGS, NOTES ... ... ... )...

It's just as if a .flp file is sent every 5 seconds or something, the actual cpu processing comes from the vst on the user's pc

no audio needs to be transfered, only simple settings, dont u understand? also no graphics, just the two collaborating users each open fl on their own pc and the rest.. well duh

and now to show my feelings on the subject:


Posted by DJDIRTY on May-29-2005 18:36:

Nuendo

Nuendo has colaboration feature implemented in the software.

The Network Collaboration capabilities of Nuendo 2.1 allow true networking and teamworking on projects. It allows users to connect multiple Nuendo workstation computers via standard LAN network cards. An entire project or just selected tracks can be opened on multiple computers for other members of the network to access and edit. Complete management of access rights and user groups makes it easy to collaborate on large-scale projects.
The following list of features is only available in Nuendo:

Exclusive Features

Network Collaboration
The User Manager is the place to view all users in the network and define what other Nuendo users are allowed to do with your project. Are they able to read just some or all tracks? And even more important: Are they allowed to edit them as well? This
decision is naturally made by the owner of a project.
Network Permission Presets are real time savers. Once permissions are defined, they can be stored as presets and be recalled or edited for other projects.
Committing changes is the most important feature of the network
collaboration feature set. Edits made to you tracks or the tracks of others are transferred to the other systems connected.
Loading Changes will update one or more tracks of a project so the work of other team members is integrated.
Automatically Apply Changes applies immediate updates as soon as they
are available in the network.
The Shared Projects List provides an overview on all projects that have been opened for network access by their owners. The viewer�s personal access rights are visible next to the projects.
Locking Tracks makes it possible to get exclusive access to a certain track in case multiple users have editing rights. A track stays locked for the user who placed the lock until he himself or the owner of the corresponding project removes the lock.
A Chat Window is available for direct textual communication between all Nuendo users participating in a collaboration project.

But I don't think you can get it to work over the net. It is LAN only.


Posted by The Drow on May-29-2005 20:56:

I'm a programmer.
I think that it is possible to be done easily with the system that some pepole suggested here (to transfer bits on every action)...

You don't have to stream audio or pics.
Think Simple
thats what programming is all about.


Posted by Corteoz on May-29-2005 20:56:

And the reason for LAN-only is... read my previous posts!

Anyway, it's possible to do what Dickie-T is saying in Reason, not so easy with FruityLoops since it has VST's.

The problem is, the instructions has to be implented into the program on an early stage. I don't know if you can use the excisting MIDI controllers, but it could ease of the programming.
But Reason is only ONE program with only patches and samples to be sent back and forth! So it's possible to do, but with some minor delay! But, it would be awsome to see it happen!
As for FL it's only possible to make if you only use built in generators. Bah! That would've sucked! Might be a workaround... but, since this never has been tried, it's possible that it's not too hard either!


Posted by Corteoz on May-29-2005 21:12:

quote:
Originally posted by The Drow
I'm a programmer.
I think that it is possible to be done easily with the system that some pepole suggested here (to transfer bits on every action)...

You don't have to stream audio or pics.
Think Simple
thats what programming is all about.


It's not possible without Imageline (in FL's case) programming a new module. You're thinking too easy.
If it's a 3rd-party application, it'll be hard as hell. If it comes from the creators they have to rewrite large amout of their coding.
Could've been interesting to see what the FL crew has to say about this. I'll post it on FLstudio.com


Posted by The Drow on May-29-2005 21:26:

trust me.
a vst can act as a linker...
like rewire.


Posted by DigiNut on May-29-2005 22:00:

quote:
Originally posted by Dickie-T
you don't understand

ALL THAT NEEDS TO BE TRANSFERRED OVER THE INTERNET ARE THE CHANGING OF VST SETTINGS (SIMPLE NUMBERS OF POT METERS) AND ADDING/REMOVING OF VST'S (ALSO SOME SIMPLE LINES) ETC ETC (VOLUME SETTINGS, NOTES ... ... ... )...

It's just as if a .flp file is sent every 5 seconds or something, the actual cpu processing comes from the vst on the user's pc

no audio needs to be transfered, only simple settings, dont u understand? also no graphics, just the two collaborating users each open fl on their own pc and the rest.. well duh

Dude, you're talking to an electrical engineer who's been doing software for 3 years. I understand that you may have a vision in your mind of how this should be done, but you're not accomplishing anything by flying off the handle and talking to me like I'm an idiot.

The point is, implementation is not always as easy as it sounds from the "big picture" point of view. The phrase we use in the software world is: anything's possible with enough money and development time. The question is whether or not it's worth it for these companies to commit to such an undertaking - it's a simple cost/benefit scenario, and as I said, there's simply not much demand for what you're suggesting, so why invest so many resources into it?

What YOU don't understand is that there's more to a track than "simple numbers of pot meters" and so on. Tracks have enormous amounts of automation and sysex data that all have to be transmitted on a MIDI clock with a resolution of something like 1/192. In order for the feature you're talking about to be useful to anyone, it would have support realtime playback and recording, so if I'm sitting in front of my keyboard twisting 5 or 6 knobs and playing some chords, the other person should be able to hear it in realtime. In order for this to work, ALL the MIDI data has to be transmitted during playback & recording.

Without realtime support, you might as well just be sending your project file back and forth on MSN. And incidentally, you may be used to small project files from using Fruityloops, but Cubase projects (I'm talking about JUST the .cpr file, not including images or peak files or clips or any other parts of the project) can easily go over 10 MB, and I can't even imagine how big an Ableton or ProTools project gets. So once again, the project data is not of a trivial size.

So maybe we'll say, okay, forget the whole project data, let's just transmit the MIDI clock and all event data. That works great assuming that the project actually has MIDI set up properly, which is almost never the case with a software-based studio and almost impossible using programs like FL Studio and Reason which don't even use MIDI for event handling.

And what about hardware instruments? You're still ignoring that. What if person A is doing a collab with person B and person A has a bunch of fancy hardware that person B doesn't? Is A just supposed to throw away that hardware? Or tell person B that he'll just have to imagine the way it sounds, because the collab architecture doesn't support it?

What about audio clips? Okay, again, if we ASSUME that person B has all of the exact same audio clips as person A, then we can just transmit data about when to cue them up. But how do we KNOW that person B has all the necessary clips, and how do we know that they are the correct versions? You'd need a complete version control system for this, which is a massive undertaking on its own! What if A added effects to some clip using Wavelab and re-imported it into the project - that ENTIRE CLIP would now have to be sent over to B in order to do what you're suggesting. If the clip is 32 bits and 30 seconds long, that's a 10 meg transfer we're talking about.

And what about multisamples, like those in Kontakt or HALion? Some of these are 100 megs, 500 megs, even 3 gigabytes long. How can we possibly verify that person B is using the exact same sample as person A - and if they aren't the same, how are we supposed to get them in sync? Send the entire 3 gig multisample?

And once again, are you ignoring licensing issues because you pirate all your software and instruments, or do you actually expect that all users in a collab project should pay for their own separate versions of every single plugin that every single other user has?

I'm intimately familiar with the KISS (Keep It Simple Stupid) rule in both software development and music production, but there is such a thing as oversimplifying. If a company like Steinberg or Image-Line wanted to implement a feature like this, they'd have to implement it in a way that was guaranteed to work and produce repeatable results, otherwise the feature would be useless to everyone.

You can't simply make the assumption in a collab project that both people have everything they need in the correct versions. A collab system that made this assumption would be guaranteed to almost NEVER work correctly. It *is* possible to develop a collab system that doesn't use audio streaming, but that's not going to guarantee performance over a low-bandwidth connection - in many or most cases, it would require a lot MORE bandwidth.

So rather than kicking and screaming about how you know it's possible to do it the way you think it should be done, why don't you e-mail Steinberg or Imageline or any one of these companies and suggest it to them, and see what their reaction is.


Posted by Dickie-T on May-29-2005 22:08:

quote:
Originally posted by DigiNut
Dude, you're talking to an electrical engineer who's been doing software for 3 years. I understand that you may have a vision in your mind of how this should be done, but you're not accomplishing anything by flying off the handle and talking to me like I'm an idiot.

lol sorry i got frustrated!

EDIT: and yes you are right i was thinking a bit narrow minded, but my idea was more for producer n00bs who want to have fun, you are talking about what pro's need and stuff


Posted by Corteoz on May-29-2005 23:10:

quote:
Originally posted by The Drow
trust me.
a vst can act as a linker...
like rewire.

What do you mean by "linker"?
The way the sequencers are programmed now, it's not possible to realize any of the ideas in this thread right now.

DigiNut has said most of things worth saying about transferring data, but what he say about not transferring project files is a problem that is possible to solve. Let's say User A starts a new project and User B connects. Then the size is under 10kb. When they start working every little change is added to both users project, and if there is a difference they'll be compared and synced accordingly. I know there are some factors i'm not mentioning here, but it's possible to make workarounds for most problems that could occour.



Powered by: vBulletin
Copyright © 2000-2021, Jelsoft Enterprises Ltd.