[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Discuss-gnuradio] jMax audio processing workbench / AGNULA audio proce

From: John Gilmore
Subject: [Discuss-gnuradio] jMax audio processing workbench / AGNULA audio processing
Date: Sun, 11 May 2003 22:14:05 -0700

There's a digital signal processing software system being worked on
in France that might benefit from GNU Radio integration.

It has a nice graphical interface for plugging together components,
which GNU Radio lacks.

I haven't run it, don't know how the guts compare, etc.  But it would
be interesting to see, particularly if interfaces can be built between
the two packages, so that all the audio-related DSP code that runs in
jMax can be run under GNU Radio.

I've appended the summary of jMax that came from Georg's Brave GNU World.




As regular readers of the Brave GNU World should know, the Free
Software Foundation Europe is partner in the AGNULA project, [10]
which aims at putting together an entirely Free Software GNU/Linux
distribution for professional audio users.

Another partner of the AGNULA project is the "Institut de Recherche et
Coordination Acoustique/Musique" (IRCAM) ? the center of music of the
Centre Pompidou in Paris, France. One of the applications written by
IRCAM is jMax, [11] a graphical development environment for
interactive multimedia applications.

Audio applications traditionally had the problem that they were often
written for specific hardware and therefore very platform
dependent. Because of the rapid development in hardware, programs had
to be rewritten every three years for a new platform, otherwise the
music written for these programs was in danger of getting lost.

This motivated the development of a pure software solution that would
not depend on a specific platform.

The paradigm employed in jMax allows creating creating and/or
combining certain basic elements like frequency generators, signal
filters, effects, input- and output-modules, sliders, DSPs and
amplifiers with each other and assembling them to so-called "patches."

These patches integrate their components and can be combined into
almost infinitely complex constructs, making it generally possible to
implement any kind and type of digital signal processing, effect or

One implementation of this paradigm that is rather well-known among
musicians is the proprietary "Max." In 1995 jMax started out with the
intention of creating a platform independent version of Max. In
mid-1999 it was then released as Free Software under the GNU General
Public License (GPL).

The IRCAM jMax team working on the project consists mainly of François
Déchelle and Patrice Tisserand. François, who also filled out the
Brave GNU World standard questions, sees the main advantages of jMax
in its platform independence ? it runs on GNU/Linux, Mac OS X and
Windows ? and the higher flexibility when compared with other
implementations of the paradigm, such as Max or PD.

One of the key advantages is also that jMax consists of two
components. The central component is a server, a real-time engine
written in C, which does all the work. This allows running the engine
with GUI, writing alternative GUIs or integrating the engine into a
plugin environment (LADSPA).

Normally, this server is controlled via a client written in Java. Java
was chosen to make sure that the client would run on as many platforms
as possible with the minimum amount of problems. Unfortunately the
situation of Java is not unproblematic with reference to to Free
Software.  Java dependencies

The problem of Java is neither its technical specification not its
implementation. Although some people have different opinions about
them, they are not the cause of the problem for Free Software.

The cause of the problem is how Java itself is developed and
distributed, since there are essentially only two wide-spread
implementations, both of which are proprietary: one is maintained by
Sun, the other by IBM. Although these may be distributed without
licensing cost, they do not offer the freedoms necessary to make them
Free Software.

In consequence every application running on these platforms ? even
software that is under a Free Software license ? is putting the
freedom of the user at risk. A situation not unlike Free Software
running on Windows.

There are some approaches and initiatives to implement Java entirely
in Free Software (see "GNU and the Java language" [12]). But since the
dominant reference implementations are proprietary, the free projects
always need to reimplement the features the proprietary versions have
come out with.

Not every developer likes participating in such a biased race that
cannot be won. Free Software is put at a disadvantage and therefore
offers a smaller degree of functionality.

When developers of Java applications make use of the more advanced
features of proprietary Java implementations, these can usually not be
run on Free Software Java implementations anymore and in consequence
are dependent on the proprietary platforms. A situation not at all
unlike Free Software only running on Windows that cannot be used on
any Free Software operating system.

This is precisely the problem of the jMax client. And since adding
proprietary software into AGNULA is out of question for all partners,
AGNULA may not be capable of including jMax with a fully functional
GUI.  pyMax

"After none of the alternatives seemed very likely to resolve the
problem in time ? more information is available on the FSF Europe home
page [13] ? it was now decided to do without Java entirely and
reimplement the client in Python.

The choice for Python was influenced by its platform independence,
which is comparable to Java, and the fact that it allows rapid
development while (naturally) being entirely Free Software.

It is not clear whether IRCAM will be capable of finishing that client
in time, though. Therefore they are looking for volunteers that can
help them writing the Python-client for jMax.

According to François, IRCAM cannot make large promises, but they
offer to provide priority support to people working on the Python
client and guarantee a response time of 24hrs during working days. So
if you are interested in this, you could take a look at the jMax
developers mailing list. [14]

[10] AGNULA home page http://www.agnula.org
[11] jMax home page http://www.ircam.fr/jmax/
[12] GNU and Java home page http://www.gnu.org/software/java/
[13] AGNULA Java issues http://fsfeurope.org/projects/agnula/java.html
[14] jMax developer mailing list http://listes.ircam.fr/wws/info/jmax

reply via email to

[Prev in Thread] Current Thread [Next in Thread]