An audio workflow with SVN (Rant)
Posted on 08.22.06 by Mike K @ 5:04 am

I’ve got workflow on the brain, and a discussion about backups on IG got the brain juices flowing. The post is of similar quality and length to what I’d normally constitute a “blog post”, so I’m dropping it here so I don’t forget. It’s certainly not a surefire answer to anything, just a stroll through me solving a problem.

The set up: SVN, a great tool for backups, versioning, and synchronization, can and should be used in all aspects of development. But what about audio?

There’s a few sides to audio. First, unless you’re still doing music with non VST driven trackers, you use several gigs for your sample libraries. Those you can (annoyingly) reloaded from their DVDs just fine. Your compositions are usually nice and small, or several megs if they embed instances of samples/loops in the file. And at this point, you’re perfectly capable for electronic music production.

A Fruity Loops, Live, Renoise, Buzz track is reasonably versionable here. You make some changes, and you can commit it. But an oddity of music here, you may decide you liked a track a few versions ago (crappy tweaks to filters, removed tracks, etc…), but you’ve introduced a bit of an annoyance having to check out older versions to go back to where you were. So because of that, it’s almost worth keeping numbered additional revisions (i.e. MyCoolSong02.rns) whenever you do something neat, or branch off in a different direction. You could then append sub-revisions via more numbers if you find an old version a worthwhile derivative (i.e. MyCoolSong02-01.rns). Then just be sure to note somewhere what file is “Gravy Train - Trainwreck Mix” once it’s final . The reason I don’t suggest using SVN’s branching facilities, is it adds complexity to the work flow. You’d have to, outside your program, create a new working folder, and the branch. Branching features are designed to facilitate the idea that you want to try something outside the main tree, and potentially could want to merge it back. Dealing with binary files, you can’t merge, and will never return to the original branch, so your hierarchy becomes a tree that never converges.

So that works great for small sample/virtual instrument driven music. You commit your songs and variants, and let SVN handle versioning of the little changes that don’t take the track in to distinctly different directions. And you can do it nicely with a several gig SVN repository. Just be sure to keep your sample library out of the repository.

However, once you introduce recording (guitar, vocals, voice overs), or per track mixing/mastering in external software, it explodes. A raw mere 20 minute session as a 32bit float samples at 96khz is nearly 500 megs. To not use gigs of space, you’ll have to compress your tracks. It’s a shame more software doesn’t support FLAC. Fortunately (at least for me), Adobe Audition 2.0 can save high/variable kbps 96khz OGG’s (though I forgot to check if it keeps the 32bit sample space), and I suspect Audacity does as well. So that’s one option. However, we’re still talking tens to a hundred of megs per track per session. SVN’s is out of the question here, though despite that you can’t merge binary, you won’t need to. The whole note taking aspect of SVN per change is a huge benefit of it’s process, but you can probably get by with voice recordings (notes) or a text file, if there’s something you’d like to remember.

The one thing Audio has going for it, unlike code, is it’s short time frame. And short of samples, there isn’t much re-use, and when there is, it’s the final product. The steps you took to get to the final track, while important and relevant, don’t do you much good anymore. When you pass a track on for remixing, you pass a final. The only exceptions being out-takes, which have nostalgia and entertainment value, and for re-mastering, though it’s unlikely you’d keep a bad quality final.

Alright. Because it’s more “nice” than necessary to have access to older tracks, a setup of stability (Mirrored RAID), hard copies for finals (DVD backup, with as much source/unused takes as you can cram) and a recent work archive (finals for the last few, and mix downs for everything else) should work nicely. A server doesn’t do you much good here, unless you want to offload the archive. An SVN archive of finals “could work”, but the point of SVN is being able to recover any version of something.

So it seems Audio is an example of a situation where you could overload your server/repository after several projects. A means of gutting a repository entirely of all traces of something *could* make it work, but that’s outside the scope of SVN currently (I suspect). Gutting for removal, or gutting as in exporting a repository subset of the original, for explicit backup.

Hooray!


Filed under: Stuffing and Technobabble and Sound
Comments:

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment

Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

(required)

(required)



Too Normal is about Mike, a kid with a healthy game making history.  From a youth of Indie Game development, to game industry code monkey in '99, to the adventures of establishing an Indie Games studio in 2005.

The Too Normal project is an archive of notes, doodles, mutterings, and meticulous analysis of seemingly inane things that peak Mike's interest.

The opinions expressed here are his own, and are not the opinion of any companies he may represent, or partners thereof.

Current Projects
PuffBOMB Having Fun!

Recent Projects
Smiles Filler

Worth mentioning
Classic PuffBOMB (Updated Protoype) Atomic Betty GBA Zooble Prototype Barbie Gotta Have Games PS1
Polly Pocket: Super Splash Island GBA PuffBOMB Prototype Sheep Strike Prototype Secret Agent Barbie GBA
Diva Starz GBC Jump Start: Dino Adventure GBC Emperors New Groove GBC Hoyle Card Games GBC
Syko*War Poke Da Mon and Combat Soccer (GB/GBC) Islandgates Murmur's Dungeon

Main Menu
Home
Stuffing
The Business of Things
Scribbles
GameTunnel
Technobabble
PuffBOMB
IGF
Opinion
The Spider
Nostalgia
In The Media
Zooble
Fun
Ludumdare
Sound
Design Review
Design
VST
Ballistic Force
Smiles

Search

Mike on the Net
Sykhronics Entertainment
MobyGames (Incomplete)

Project Sites
Smiles-Game.com
PuffBOMB.com

Other Projects
Ludum Dare 48 Hour Compo
GameCompo Mailing List

Previously
GameTunnel
Big Blue Bubble
Digital Illusions

Words
Code Dojo
Digital Sailor
Dan MacDonald
DrPetter
Free Lunch
Gee-off Howland
Graham Goring
Hamu Journal
loomsoft
Mark Fassett
metablog
Phil Hassey
qatfish
Russell Carroll
Screaming Duck
Stub
Tiger Sauce
Tim!

Credits and Copyright
© 2005-20xx Mike Kasprzak
No animals were harmed

Powered by a WordPress
Theme from a jive turkey

Articles
  • *About Mike
  • *Indie Softography
  • *Retail Softography
  • Game Prototype: Zooble
  • Inside Sykhronic Studios

  • Archives
    November 2008
    October 2008
    September 2008
    August 2008
    July 2008
    June 2008
    May 2008
    April 2008
    March 2008
    February 2008
    January 2008
    December 2007
    November 2007
    September 2007
    July 2007
    June 2007
    May 2007
    April 2007
    March 2007
    February 2007
    January 2007
    December 2006
    November 2006
    October 2006
    September 2006
    August 2006
    July 2006
    June 2006
    May 2006
    April 2006
    March 2006
    February 2006
    January 2006
    December 2005
    November 2005
    October 2005
    September 2005
    August 2005
    July 2005
    June 2005
    May 2005

    Recent Entries
    Finally, a weekend
    Smiles Zen submitted to Apple
    Smiles Website Update
    Smiles Marketing Week
    Sykhronics grins on to iPhone with Smiles
    Final Smiles "Hands on" Video
    Smiles "5 Stars" on Finger Gaming
    Smiles "hands on" video now available
    Smiles "Press Pack" now online
    Smiles is Gold
    "Smiles" sent to Apple
    I love the TRC
    Release Candidate 1
    Now leaving Bumpy Terrain Ville
    Getting Close

    Syndication
    RSS 2.0
    Comments RSS 2.0