• jon@schemawound.com

The Distributed Recording Studio

As someone with a very busy work and home life, I work on my songs where and when I get the opportunity.  Since I regularly use 3 different machines for my work, keeping them all in sync can be quite a challenge.  E-mailing files to myself quickly became an unwieldy solution.

Sync

I considered setting up my source control repository to get around this issue until Google released a new service called Drive.  Drive creates a directory on your computer that is automatically synced to Google’s servers.  You can install the product on multiple computers and it will automatically sync the files between all of them.  This has made my task much easier as the service generally works without a hitch.  There is even a basic version of version control included so that you can go back to earlier versions of a file.

Conflict

Drive seems like the ideal solution until the first time you hit a situation like below.  If it is unable to determine the proper way to sync a file it will append the word [conflict] to the file name and save both copies.

This is good as it protects you from loosing data but it can be difficult to sort out the correct version of the file.  In these cases my suggested solution is WinMerge.  This application will compare two text files and show you any differences between them.  It then becomes very easy to sort out the differences and merge any needed changes back to the main file.

Remote Control

I have run into a few situations using Drive where the files did not sync properly.  This was usually caused by the Drive application being shut down after a reboot.  In this situation I use LogMeIn.com.  This site will allow you to install software on each of your machines so that you can remotely control them through the internet.  This is a good way to get things up and running again.

Collaboration

I have several projects going with The Icarus Descent that we coordinate through the internet.  We are both too busy to ever get into the studio at the same time so all our work is done independently.  The shared spreadsheets in Google Docs have been essential for keeping track of who currently is scheduled to work on each track and to share notes.

Machine Differences

When I started doing work with buffers in Supercollider I ran into an issue.  The physical directory layouts of all my machines varied greatly.  In order to avoid changing file paths each time I switched to a different machine I put the following code into my startup file.

~schema = ();
~schema.computerName = "CEREBUS";
~schema.mediaDirectory = "C:/Users/Jonathan/SuperCollider/AudioSource/";

I created and event that will store any global variables that I will need set differently on each of the machines I use.  When I want to reference a file in my code I can now do it in a way that works across all my systems.

//Load Buffer
deusBuf = Buffer.read(Server.default, ~schema.mediaDirectory ++ "16-Schemawound-My_Time_As_A_Rat-Deus_Ex_Machina.wav"); //Stereo
poutBuf = Buffer.read(Server.default, ~schema.mediaDirectory ++ "pout - 000.wav"); //Mono
Tags :