Information Technology Reference
In-Depth Information
research in audio analysis and retrieval. Since
then every publication by George Tzanetakis and
many by others have used MARSYAS . In 2000
it was clear that certain major design decisions
needed to be revised. A major rewrite/redesign of
the framework was initiated and the first public
version was released (numbered 0.1). Soon after
Sourceforge (http://sourceforge.net/index.php)
was used to host MARSYAS . Version 0.1 is still
widely used by a variety of academic groups
and industry around the world. It is well known
in Software Engineering that even though major
rewrites can be time consuming they are inevi-
table for complex software and typically result in
much better code structure and organization. A
second major rewrite was initiated in 2002 while
George Tzanetakis was a PostDoctoral Fellow at
Carnegie Mellon University working with Roger
Dannenberg. The motivation was the desire to
port algorithms from the Synthesis Toolkit (STK)
(Cook & Scavone, 1990) into MARSYAS . This ef-
fort, as well as many interesting discussions with
Roger Dannenberg, informed the new design.
The new version (numbered 0.2) uses a dataflow
model of audio computation with general matrices
( Slices ) instead of 1-D arrays as data and an Open
Source Control (OSC) (Wright & Freed, 1997)
inspired hierarchical messaging system used to
control the dataflow network. This is the version
described in this chapter.
Even though not immediately obvious, sup-
porting audio synthesis is important for a success-
ful MIR software framework. The main reason is
that the ability to hear the results of audio analysis
algorithms can be very useful for debugging and
understanding algorithms. For example the ability
to listen to extracted chords or beat patterns can
provide insights that are impossible to achieve
just by looking at numbers or graphs.
Since the beginning, a major decision was to
provide MARSYAS as free software under the
GNU public license (GPL). Some of the common
motivations and reasons behind free software in
general are: (1) freedom to modify the software to
suit the needs of individual users; (2) better quality
by having many people working and looking at
the source code; (3) support for multiple operat-
ing systems and porting by the ability to change
the code appropriately; (4) easier adoption/lower
cost compared to proprietary software. In addition
to these motivations there are additional specific
motivations behind free software when it is used
in research. These include: (1) source code is
a means of communication. This is especially
important in research where publications can
not possibly describe all the nuances and details
of how an algorithm is implemented; (2) replica-
tion of experiments is essential for progress in
research especially in new emerging areas such
as MIR. For complex systems and algorithms it
is almost impossible to know if a reimplementa-
tion is correct and therefore the ability to run
the original code is crucial; (3) researchers have
limited financial resources and therefore making
the software free encourages adoption. One of
the common objections to free software is why
should someone invest all this time and effort into
building something and then give it away for free.
Most academics are comfortable with this idea as
they do so with publications, reviewing and other
activities. Even though many of these activities
might not have direct financial reward they are
part of the responsibilities of any academic. In
addition, there are indirect benefits with develop-
ing research software such as peer recognition,
opportunities for collaboration and international
visibility. Finally, as will be describing in more
detail in the section about projects, it is possible
to use free software developed in academia in
industrial settings and receive money for it.
A frequent dilemma facing graduate students
and researchers is whether to build their own tools
or use existing ones. This decision frequently
involves a tradeoff between short and long term
investment. For example using a combination of
existing tools a particular task might be accom-
plished in 1 hour. By spending one week writing
your own tool, the task might be accomplished
Search WWH ::




Custom Search