Efficient use of media files
Submitted by maestro on Tue, 11/25/2008 - 19:38
This is a content management issue at its heart. How do we integrate DAW functionality with URI based media files and make this freely available on the web? For example, I want to upload a bass track and then someone else might layer a guitar part over that and someone else will take it from there. The obvious thing would be to import the file into your DAW of choice, add your part and then upload this as a new track. But what if the next person wanted to bring up the bass and leave the guitar where it was? No can do. Instead let's design a scheme where the individual tracks are referenced by an URI. So in this case the guitar player would be uploading his bare guitar track and some sort of XML document that links it with the bass track. Now, the third person can not only modify the mix but there is also the freedom to use that guitar track with a completely different bass (keyboard, etc) track! To this end I have the beginnings of a java application that will provide multiple services. At its core there is the ability to record and play back multitrack audio and MIDI, your basic DAW functionality. Layered onto that is the content management part that lets the user browse and audition tracks (they could be on jamspace.com, local hard drive or on any URI). Once the project is ready to be saved the application will upload any new or changed files to jamspace.com along with the updated XML manifest which contains all of the mixing information and any other metadata that would be interesting to keep. My java program (I call Jasmin) is based on the javasound API and I have developed a good bit of the basic functionality such as the ability to record, play and loop audio, select the audio inputs and outputs, display realtime waveform and level meters, some basic editing capabilities and the ability to save and reload files. In its most recent iteration I am using the software synthesizer Gervil for the sound production since it solves a huge number of issue regarding timing and other important details. However Gervil is really a MIDI software synthesizer and may not be the best backend for audio reproduction. I ultimately would like to upload Jasmin as a sourceforge project but the code is currently in need of cleanup and it's been a few months since I've worked on it so I'll have to come back up to speed on my own code so I can get it in shape to expose to the world :) I don't want to reinvent the wheel, and while I haven't found the exact software I'm looking for I'm sure that there are some pieces and more importantly some existing standards that may already be established. I would greatly appreciate any feedback, the chance to brainstorm on this idea, help with the code and a heads up about existing work or standards that we can leverage.
Thanks! |