Flash Audio Mixer

By Bobby on Fri, 2 Jan 2009 06:22:57 +0000

: flash, drum, audio, mixer, machine, multiuser, collaboration,

The Audio Mixer is a Flash based implementation of the drum machine concept. It allows users to mix samples by loading them into tracks and manipulating the volume on a number of frames. Multi-user collboration on a given mix is supported by making use of the Flash Communication Server (now the Flash Media Server). This was my senior design project at Uconn, the original site was built with Ajax.NET (then named Atlas) and is available here.

Demo

Below is a demo of the single user version.

Implementation

The multi-user collaboration capabilities are achieved by making use of the Lobby Component.

On the server there is a Java program that is used to combine the samples into an actual MP3 - the samples are in AIF format so they're easily combined and passed through the LAME MP3 encoder.

Remarkably, playback is one of the most challenging features to implement. Flash, like Javascript, doesn't have a steady clock that developers can use(this is one area where i think SilverLight has a better implementation, even though overall i think Flash is superior at this point). These difficulties are aggravated when playing back multiple samples (in particular, when high-definition samples are used). One popular solution to the clock-problem is to loop a blank sound and use its onComplete event as the clock trigger, this works fairly well but it's hard to understand why one must resort to these tactics to simulate a reliable clock when synchronization is so often necessary in building animations and presentations (which happen to be the primary domain of Flash). I hope that this particular area improves in newer Flash versions, i also would like to see support for threading.
Creative Commons License The Flash Audio Mixer article by Bobby Soares, unless otherwise expressly stated, is licensed under a Attribution-Noncommercial-Share Alike 3.0 United States License.


Comment moderation is on, so your comments may not be visible immediately after posting.




(see all) web service, tile engine, google docs, flash, window, penn, pixel, python, game, compiler, server, tlslite, token, reference, rtmp, vmware, p vs np, Google Docs, poweredge, javascript, component, vbulletin, proxy, networking, vmware esxi, GData, forum, plugin, gwt, outlook, scales, puzzle, GWT, java, attach, shining force, subsets, appengine, permutations, pong, authentication, roland, screenshot, np-complete, gdata, neural net, php, latex, audio, AppEngine