[linux-audio-dev] music engine

Lance Blisters geoff at riyal.ugcs.caltech.edu
Thu Apr 6 16:25:13 UTC 2006


On Thu, Apr 06, 2006 at 04:14:32AM -0800, Patrick Stinson wrote:
> I've been looking for a high-performance music engine. It must have an
> asynchronous control (socket, pipe?) mechanism to seperate the
> application from the audio thread.

Everytime this comes up, i hesitantly recommend GDAM.  Its an 8 year old 
C and glib project, a server/client music engine with various music interfaces
on top.  Its core goal was DJ mixing, back when there were few software
dj apps available.  The design for this was not at all "mimic a turntable
or cd deck's interface" but rather "digital music files, each with one
or more areas with regular rhythm, combined and symchronized in
different ways".  So there are server-side, sample-accurate synch functions
based on defining tempo-and-downbeat for two tracks and commanding one
to beatmatch to the other.  It will even walk the audio tree and take
filters which change tempo, resample, or add latency into account.  It
is truly sample accurate, you can play two copies of a song, invert one,
beatmatch, and get silence.

GDAM also has seamless queueing of upcoming tracks, numerous builtin 
effects and LADSPA and JACK support.  You could implement the GDAM 
protocol yourself in any language, or program against the "client" 
library which handles the protocol, or program against the "model"
library where a number of higher level client-side concepts (turntables,
sequencers etc) are implemented.  Also a GTK-based GUI library is 
available with pixmap-based widgets.

Why the hesitance?  I can't promise any time at all to explain or help.
Development of GDAM has been ongoing but i haven't made a release in
years, and the documentation is quite old, and doesn't cover developer
topics.

GDAM server audio engine really should be able to handle nearly anything
you can dream up, its just a matter of all the organization and interface
work.  I was close to doing a live-alike myself (and have a half-finished
attempt at a matrix-style loop mixing skin in CVS).  If you search for GDAM
or ableton in the list archives you'll find some other responses with
more details.

http://gdam.ffem.org/

  -geoff



More information about the Linux-audio-dev mailing list