Subject: [linux-audio-dev] some items of interest, perhaps...
From: Dave Phillips (dlphilp_AT_bright.net)
Date: ti joulu 01 1998 - 12:58:11 EST
Far too much of my time is used in checking out the ever-widening
variety of Linux audio & MIDI software. I have been continuously looking
into some specific items, and I thought I'd share some of my recent
experiences with William Schottstaedt's Snd, Martin Wilz's KWave,
Michael Gogins' Silence, Jean-Pierre Lemoine's HPKComposer, Jean Piche &
Alex Burton's Cecilia, and the latest Linux Csound development
Snd has been around long enough that you might think I'd have learned
more about it by now. It still surprises me: I've frequently whined
about its lack of a tracking cursor, but this morning I was dumbfounded
to learn that not only did it have one, it's a tracking cursor with a
vengeance. It's all there in the docs, I'm not going to get into the
details, but prepare to be impressed. Check out the amplitude
I also thought that this was neat: I can load soundfiles of various
formats, even at the command-line, so that 'snd my.aif my.snd my.wav'
will stack 'em up in the display.
I should note that I built Snd 2.4 from the sources, and I used
'configure' to accomodate my system peculiarities. I changed the default
ivory colors to LightSkyBlue for a better look, I had to add some lines
to snd-xmain.c to fix a crashing bug (probably fixed in the sources by
now), and I used LessTif 0.87 for the Motif calls. I've built Snd
before, but I always came up with a build that would fail in some way.
This one builds and runs.
Compared to Snd, Martin Wilz's KWave is much more modest, but it shows
signs of becoming a 1st-rate soundfile editor for Linux. Yes, it's a KDE
application and yes, that means Qt. However, Trolltech has devised a
licensing scheme which, although it's not the GPL, is satisfactory
enough for Richard Stallman and Linus Torvalds.
KWave offers some neat surprises of its own. A powerful additive
synthesis panel, a pulse-train generator, and graphic envelope editors
are very well-implemented, and KWave can be compiled to support threads;
however, I can't seem to get stable threading under my antique libc5
system, so I'll have to wait to check out that feature. In the future,
KWave will probably support CORBA.
Finally, the interface is well-planned and should be comfortable to
anyone who has worked with Win95 audio editors. For simple file editing
along with some interesting experimental features, KWave is recommended.
Michael Gogins wrote Silence originally for Windows, but most recently
he has prepared versions for Java. Silence 3.1 beta 2 requires only the
JDK 1.1.6 (freely available for Linux from the Blackdown organization)
and the Swing 1.1beta3 package from Sun (also free). Csound is required
for actually compiling soundfiles, but Silence can also import/export
So what is this software ? Here's how the author begins his
documentation: "Silence 3.1 is an extensible system for making music on
computers by means of software alone. It is an instrument for music that
could not be performed, composed, or even imagined without computers. It
is specifically designed to support algorithmic composition using
software synthesis. If you have ever composed by writing a program, or
by doing mathematics, or wanted to, then Silence is for you."
Lindenmayer systems, fractal geometries, strange attractors,
GIF-to-music translation, MIDIfile rendering, soundfile
analysis/resynthesis, and other nodes can be used to create, edit, and
combine some rather amazing event streams. Along with all that, Silence
can be used as a straightforward Csound composition environment,
complete with editors for instrument definitions and score events.
Silence 3.1 is not particularly easy to learn, but it is unlike any
other music/sound software available for Linux, and its design certainly
reflects the compositional aesthetics of its author. It is also
demanding on the hardware side: a fast Pentium is recommended for any
large-scale work, and of course all the typical sound hardware
(soundcard, big fast hard-disk, lots of RAM) should be there too.
HPKComposer 1.2 is from Jean-Pierre Lemoine and the HplanK group.
Blending elements of Andre Bartetzki's Cmask with elements of Csound,
HPKComposer provides another interesting environment for music/sound
composition under Linux. Its requirements are the same as for Silence:
yes, it's a Java application, so don't expect speed on anything less
than a >300 MHz machine.
I especially like the GUI for Cmask. Since Cmask is not directly
available for Linux, this front-end is most welcome, and adding a GUI
for Csound instrument design seems a natural thing to do. However, it
should be noted that while a collection of preset instruments is
provided (as in Silence), HPKComposer is designed to accept user-defined
instrument plug-ins. This design consideration will hopefully make it
easy for new instruments to be continually added to the basic
One other note: HPKComposer can create VRML "scenes", offering an
uncommon visualization tool for your scores. Unfortunately I have no
experience using this feature since my machine is not powerful enough to
do much with it.
Cecilia is likely familiar to anyone reading this message. Created by
Jean Piche and Alexandre Burton, it provides a complete composing
environment and GUI for Csound. Lately I've been playing with the Tk
graphing capabilities and the realtime i/o possibilities.
As you may already know, Cecilia can direct output to devaudio instead
of disk, but you may not know that MIDI i/o is also possible. "Preview
Command-line", "Csound Window Open" and "MIDI Control" must all be set;
then, when the command-line window opens, change the defaults to
something like 'csound -o devaudio -Wdm6 -M/dev/midi my.orc my.sco'. You
can now play your Csound instrument from your MIDI input device. Seems
great, yes ? There's a downside: it seems that all subsequent calls to
the preview window will fail, and the MIDI setup will stay at the
defaults. For effortless MIDI i/o under Linux Cecilia, we'll need
/dev/midi selections instead of the default /dev/tty.
It seems to me that Cecilia is still the most "open-ended" Csound
environment. It tries to avoid imposing any particular compositional
bias or approach, while providing an ample toolkit for composers of any
style. Cecilia also has the virtue of running very well on my lowly
486/120, which is no doubt due to being a compiled Tcl/Tk application. I
assume it will fly on any better machine.
Finally, Csound itself. If you haven't been reading the developers
group mail-list or the Csound mail-list, well, you should be. Linux
Csound development has seen great progress since the developers group
was founded, including support for the ALSA drivers, a 64-bit Alpha
build, a high-priority scheduler, an improved random-number generator,
autoconfiguration aids, a shared-library installation, Gabriel
Maldonado's opcodes, and various package formats (RPM, DEB, and
tar.gz/tgz are now available). These and other amenities are all due to
the work of Nicola Bernardini, Robin Whittle, Fred Floberg, Ed Hall,
Gabriel Maldonado, and Paul Barton-Davis (my apologies to anyone I
forgot). I should also note that Silence, HPKComposer, and Cecilia have
all worked well with the development versions.
Whew, what a lot of words. Well, back to the hack...
== Dave Phillips
This archive was generated by hypermail 2b28 : ma maalis 13 2000 - 12:05:16 EST