Open main menu

CDOT Wiki β

How to Collaborate On-line

Revision as of 19:24, 8 July 2010 by Msaul (talk | contribs)

Break the misconception that once you have a home recording studio, you can do it all yourself. I perform in a band, and benefit from the expertise of my other group members...

Like the saying goes, "The result is greater than the sum of all of the parts"...

There are several methods to collaborate online with other users using Ardour and Ninjam...


Using Ardour session-exchange

Purpose

The problem with collaborating online with Ardour is that the files that are generated when you record an auditory product are very LARGE. For example, if you decide to create a zipped tarball (a method to build a single file from a group of directories/files and then compress or "zip" that file to save space) a simple 5 minute song with just percussion and bass guitar could take up somewhere between 90 Mb to 120 Mb of hard disk space... Imagine posting that file on the cloud, or making available on a distribution server!


If you are not concerned with collaborating simultaneously on a project, there is a python script (program) that will will allow the user to visually share ongoing Ardour projects for collaboration with other online users of Ardour. The name of this program is called session-exchange, and it has been around for several years...


The advantage of session-exchange is that the user can allow for uploading and downloading of files to other users, and only have the musicians work on the most recent edits of the auditory product (i.e. "songs"). When you create a song in Ardour, you are required to either create a session, or open an existing session. This allows ardour to create subdirectories to store all audio data into a concise location on your computer system. Ardour uses the term snapshot to relate to a new session file that is generated (i.e. not affecting the original session) that simply stores the current state of the edited session. No doubt, all of the original files are shared with the other users, but as other users add their own contributions to the song, then only the snapshot needs to be shared, thus saving space and transmission time. This is an efficient method of collaborating a song via the Internet...


An analogy: This may be an oversimplification, but relate it to how the vi text editor works: there is a swap file (editing transaction) file and the original file. Only upon saving the editing session is the original file updated with the newer information... No doubt, the swap file is smaller than the actual file, and thus easier to transfer between computer systems. Also, the swap file is useful for backup purposes (eg. in case of accidental disconnection from your remote editing session)...


Installing Ardour Session Exchange

The easiest method to install session-exchange is to download the source from Ardour SVN site. SVN stands for Apache Subversion which is a method to make it easier for programmers to collaborate together on complex programming projects. This basically the online version of RCS which stands for Revision Control System.


Here are some WIKIs for definitions of SVN and RCS:


http://en.wikipedia.org/wiki/Apache_Subversion

http://en.wikipedia.org/wiki/Revision_Control_System


Steps to Install Ardour Session Exchange:

  1. Go to the Ardour Download site: http://ardour.org/download_full
  2. Go to the section labelled: Public read-only SVN access
  3. Open a shell terminal window, and login as root or super-user (eg. sudo su )
  4. Switch to the Ardour Download site, copy and paste the command (listed in the Public read-only SVN access section) into your shell window:

    svn co http://subversion.ardour.org/svn/ardour2/branches/2.0-ongoing

    (It is recommended to use the command stated on the site, since the version may change over time...)
  5. After the above executed command is completed, there will be a subdirectory created in your current directory
    (In this case called 2.0-ongoing).
  6. Change into the 2.0-ongoing subdirectory, and change to the other subdirectory called tools.
  7. Issue the following command to run session-exchange:

    ./session_exchange.py

  8. A Session Exchange application window should appear on your screen.

    (Note: You can right-click on the desktop, and create a launcher to run this application in the specified pathname, so you can just double-click on your desktop to launch this application...


Configuring Ardour Session Exchange

Now that you have installed and have launched Ardour's session-exchange program, we need to configure the application to allow us to share our recorded Ardour projects with other users. Perform the following steps to configure your Ardour session-exchange application:


Steps to Configure Ardour Session Exchange:

  1. Before you start configuring Ardour Session Exchange, make certain that you have an Ardour session on your computer to share. Also, note the pathname to your Ardour session directory that you want to share.
  2. Next, you need to give yourself a username so other members will be able to identify you. Click on the edit menu, and select preferences. Type in a username for yourself (I have used the username msaul just as an example), and then click OK.
  3. We need to create a session for sharing purposes. In this way, we can focus on a particular session until we complete our project.
  4. You have two choices: Create Session (start a new session, and open in Ardour to create a song, then save, and collaborate with other user), or Add Session (specify the pathname to an already existing Ardour session).[[Image:session-ex9.png|thumb|350px|right ]
  5. For this tutorial, we will add an Ardour session to be shared (I created one called doors_demo.
  6. Click File then Add Session. An Add Session dialog box will appear.
  7. Specify the pathname of the session to be shared (usually created in the user's home directory, and then select the session name that ends with the .ardour extension, then click OK.

    (You can add as many sessions to share as you wish...)
  8. Next you need to add another user or users in order to help collaborate or work on your song.


To be completed...


Using Ninjam

To be completed...


Additional Resources