interview: Dave Phillips
Dave Phillips is known to a lot of Linux users
for his Linux Sound and Music Apps page which
has a pretty complete list of Linux audio apps.
Dave has recently written a book on making music
with Linux (available Oct 00 from No Starch Press).
Here we talk to him about the general situation
in Linux Audio, his music, and his book.
|
related links:
Linux Sound and Music Apps page
Linux Audio Dev list
Music and Sound book review
|
m-station:
> The first question I'd like to ask is what is your sense
> of the acceptance of Linux as a music making OS and
> what do you think are the important next steps (if any)?
Dave Phillips:
Activities such as the work done on the low-latency kernel patches,
the ALSA open-source sound drivers, and the Linux Audio Developers
Simple Plugin Architecture (LADSPA) bode very well for Linux as a
music-makers choice OS. I believe that such directions will help convince
engineers and software designers that the system is viable and offers a
technically superior platform for work in DSP, realtime audio synthesis,
network audio, and so forth.
Before suggesting what I believe are the important next steps, perhaps
it would be illuminating to consider just what we have now, what's weak
and where we're strong. Here's my assessment of a few obvious categories:
MIDI sequencing ***
hard-disk recording ****
realtime synthesizers *****
software synthesis languages *****
media players/recorders ***
soundfile editors ****
IMO, MIDI sequencing remains a weak sister, but I want to especially
point out KeyKit and Jazz++. I also want to mention the "odious
comparison" syndrome: "But where's Cubase/Cakewalk/Logic Audio ?". Well,
they don't seem to be very interested in joining the party, but that
doesn't mean we lack tools to do similar things. KeyKit and Jazz++ are
quite sophisticated applications. I believe that their lack of snazzy
interfaces puts off some people from investigating them for their real
power. And yes, users migrating from Windows will have to learn new things
and new ways of working. Only the individual user can determine if he or
she is ready to make the effort.
Hard-disk recording got a real shot in the arm with the development of
Ardour, a 24-track hdr (hard-disk recorder) that utilizes the powerful
digital i/o available on the RME Hammerfall digital audio card. However,
Ardour isn't the only hdr available to Linux users: Nick Copeland's SLab
is an outstanding 64-track recorder with an amazing features list. Again,
users coming from Windows will likely scratch their heads when seeing SLab
for the first time, but it isn't at all difficult to use, and it is very
powerful software. My book includes a chapter on hard-disk recording, and
SLab is profiled there. I should also mention Kai Vehmanen's ecasound, a
superb multi-track recorder and realtime soundfile processor. Ecasound has
the distinction of being completely usable from the command-line as well
as from its Qt GUI.
Soundfile editors are a mixed blessing. Snd is arguably an incredible
program, but it is certainly not what a Cool Edit user expects. DAP is
actually closer to the Windows soundfile editors, but it cannot currently
handle very large files. MiXViews possesses an interesting selection of
LPC and phase vocoder tools, but its interface is archaic.
Linux enjoys quite a collection of real-time software synthesizers.
Stefan Nietschke's RTSynth is an outstanding example, but other neat
synths include Xsynth, Freebirth, and Spiral Synth. The UltraMaster
Juno6 and RS101 synths are very impressive. Tk3MU provides a nice
Python/Tk GUI to 3MU, a TB303 emulator. Of course, aRts is also here, and
with aRts we begin to blur the distinction between a software synthesis
environment and a standalone software synthesizer. jMax is another good
example of such a hybrid environment.
Drum programmers include TK707, Green Box, and the outstanding Trommler.
Software sound synthesis (SWSS) is a venerable UNIX research domain, and
Linux has inherited a very rich legacy of such software. Csound, Cmix (and
RTCmix), Music4C, and Common LISP Music (CLM) are only a few of the highly
evolved SWSS languages available on Linux. Many of those languages enjoy a
range of support software from GUIs (such as Cecilia for Csound) to
various command-line utilities. On sufficiently fast enough machines
Csound and RTCmix are both now powerful enough to act as realtime
synthesizers...
> SAOL is gathering adherents as well in this category
Yes, I should certainly have mentioned SAOL: I profile it in the book.
It's another consistently maintained project I need to pay more attention
to.
I ought to have mentioned Broadcast2000 too. Its interface is a little
weird (again), but it is very powerful. Nick Bailey's Studio is another
surprisingly good editor.
Btw, I just heard from the author of DAP. He said he has a memory mapping
routine he needs to polish up, but eventually he'll give DAP the ability
to read large files. I'll keep pushing him... :)
...Linux enjoys a glut of players and recorders for common media formats,
though of course we suffer when it comes to the proprietary formats from
Microsoft (ASF), Apple (Quicktime), and Real.com (RealAudio and
RealVideo). Fortunately Real.com has seen the light (courtesy Microsoft's
blatant attempts to put Real out of business) and provides Linux versions
of its RealPlayer (binary-only releases, alas).
Media players such as XMMS and ALSAplayer certainly rival anything you
can find in the Windows world. As usual, if a format isn't supported it's
most likely a proprietary format which the manufacturer refuses to make
available for Linux coders.
Okay, so there's the 10-minute overview. What do we need next ? Well,
IMHO, we really need to get interface upgrades for Jazz++ and the
Rosegarden sequencer. It would be nice to accomodate the VST plug-ins in
the available software (and I'd certainly like to see more development
with LADSPA). We need to convince Linus Torvalds that Linux *is* an
appropriate platform for multimedia, and that the low-latency patches are
necessary to convince developers of the platform's inherent superiority.
> I think this is going to happen regardless of Linus
> Torvald's attitude ... whether go-faster comes with the
> kernel or as an add-on - well, there are two add-ons already here.
Another "something I really need to check out". I need to upgrade my
kernel anyway, so I'll probably give the 2.2.16 low-latency patches a
whirl very soon.
> anecdotal reports have it that 2.2.15LL is better
> ... and I think Benno Senoner's tests say that it's
> faster. 2.2.16LL is "lumpy" but quite effective.
> I only froze my box completely once :)
(editor's note 22 Sep 00: subsequent testing by Benno Senoner shows
that 2.2.15LL is much the same as 16 or 17. The real winner is 2.2.10)
Okay, I'll try 2.2.15. The box here has a CD burner but my kernel isn't
set up for SCSI emulation (the drive is a Creative Labs 4/2/24 IDE CD-RW).
Might as well go for the low-latency while I'm at it...
> Yeah, I wonder what happened to Steinberg/Cubase. I got the
> impression a few months ago that an announcement was imminent
> but everything seems to have gone quiet on that front.
> That whole subject raises interesting questions about commercial
> viability in Linux which I'll raise again in a separate question :)
I was just wondering about Steinberg again recently. I think Paul
Barton-Davis is the point person to ask.
...We also need a lot more cohesion in the development community. I see a
too much repeated effort, lots of rebuilding the wheel, and far too many
great ideas languishing for lack of an organized development plan. Ideas
are truly easy, but the kind of work needed to create something like Bill
Schottstaedt's Snd soundfile editor requires a dedication spanning years.
SourceForge lists dozens of audio-related projects, but almost all are in
the planning or early alpha stages. There's nothing terribly wrong about
that scenario, but perhaps some more coordination of effort would result
in more software of higher quality. I urge all Linux audio software
developers to join the Linux Audio Development group at
http://www.linuxdj.com/audio/lad, whether you're writing audio code for
games or hard-disk recording systems.
> What's your opinion on the viability of commercial
> developers in Linux? We don't have too many examples
> yet - 4front are widely based in Unix generally and the
> only other people I can think of are Mup, who have a
> shareware notation program.
Interesting question. When I started using Linux there was a soundfile
editor called Ceres that had intentions of evolving into a multitrack
recorder/editor for Linux. It was a commercial product and they went out
of business. Jazz++ was originally a commercial product, but not any
longer. The guys who make the UltraMaster synths seem to have a good plan,
giving something back in open-sources, but it remains to be seen if their
commercial venture will succeed. I suspect the market is narrow enough for
Windows users, it's probably considerably smaller for Linux people (who
are of course also used to getting most of their software for free).
4Front services almost every UNIX platform. That's one of their primary
strengths. I don't know how well Mup does for sales. I hope they do well
enough to stay in business, they make a very fine product.
I think RealProducer is also commercially available for Linux. Main Actor
is another commercial package, and of course there's the Augan Systems
hardware.
So some stuff exists, but obviously Steinberg et al have yet to consider
the Linux community as a viable market for their software.
> How did you first come to Linux? Was it a music related
> need or a wider thing?
A little background: I was studying music composition privately
in Los Angeles in 1985/6 and my teacher was waxing enthusiastic about
MIDI and its possibilities for composers. So I bought an XT (I think it
was an 8 MHz 8086 with a 20 meg hard drive) and started running DOS MIDI
software on it. I became quite handy with Voyetra's Sequencer Plus, and I
got a lot of work done with it. I eventually became a beta tester for
Voyetra products for a few years (through Sequencer Plus Gold). By the
late 80s I realized that my needs were not met by the available commercial
software, and that I would eventually have to learn how to program. I
started learning the RAVEL MIDI programming language, then a chance
message from a fellow named Chris DeChiara turned me on to the existence
of Csound. Csound was much more like what I was looking for.
I stayed with DOS/Windows until the mid 90s. By that time I realized again
that commercial software vendors were still not coming up with the sort of
music software I wanted, and I also realized that Microsoft had managed to
lock its users into a constant expensive upgrade path, one I was
increasingly unhappy about.
My first experience with Linux was via Pat Volkerding's "Linux
Configuration and Installation". The book was packaged with a CD with a
Slackware system built around kernel 1.2.13. I installed it on a small
spare drive, got it going, got X working, and was just generally thrilled
by being able to do so much with the system. However, a quick look at the
available music and sound software seemed to indicate that there wasn't
much available, so I got involved. I worked on Linux versions of Csound,
ported applications from SGI code and other sources, and I started the
Linux Music & Sound Applications website.
I want to emphasize that one of most intriguing aspects of all this
activity was the sense of a real community behind it all. When I say "I
worked on foo" I really mean "We worked on foo together". Doug Scott
(MiXViews), Richard Kent (DAP, NoTAM DSP apps), Paul Barton-Davis
(Softwerk, XPhat, Quasimodo), John ffitch (Csound), and Nicola Bernardini
(everything) and many other true worthies have freely contributed their
time and considerable skills toward better sound software for Linux. It
says much that whenever I searched for help with Linux or its application
software, someone always responded with advice and willingness to assist.
I was inspired to keep working on the system, and eventually I ceased
using Windows altogether.
> Tell us about what you've
> been doing musically.
Well, the past year has been spent working on the book, so I've done more
experimenting than composing. I have been collecting some basic material I
plan to use in some new music, I just need some more time to work with
what I have. I've been getting into playing with a band again, and I
expect we'll be playing a lot more now that the book's done. We play
blues, it's the music I most enjoy playing.
I really want some time to explore possibilities I've found in
applications like Ceres3 and ecasound. I feel that I've plenty of great
tools to work with in Linux now, I just need to knuckle down and get some
good music written with them.
> Does your playing of the blues influence the sort of
> ideas you might have in a computer composition
> environment ... conciously anyway?
Hard to say. Sometimes I'll use blues recordings as source material for
sonic transformations. I guess it can't help being a prominent influence
though. The composer Leo Brouwer remarked that hearing real flamenco music
was the first time he'd ever heard a "complete" music. I know what he
means, blues music had the same effect on me.
I've written pieces in blues forms, but the formal aspects of blues are
not the greater influence. I'm more interested in the emotion and
personality of the performance, and I'd like to carry that sort of concern
into what I do with music on my computer. I believe it's possible.
As an aside, I should mention that I believe we already have a very strong
collection of outstanding electroacoustic music. More people need to be
made aware of this fact. Excellent computer music is out there from people
diverse as Paul Lansky and Aphex Twin, but it seems that very few people
are aware of it.
> m-station's new XperimentS section will be highlighting
> that sort of stuff.
Excellent news. I once did up a page of Csound compositions by various
composers, it was very cool. It included MP3 realizations and links to the
original Csound code where possible. Unfortunately the MP3s chewed up
yards of disk space and I was never able to find a host that would let me
use that much room. The page was actually very pretty too. I still have it
if you're at all interested in it.
> Certainly am :)
> What sort of basic material have you been collecting?
Snippets of things done with the various software profiled in my book. The
transforms available in the Ceres frequency domain editors are just
amazing. You could build a Linux composition lab with nothing but Csound,
Mix, and Ceres3. That's sort of what I'm planning to do.
> Your book is pretty close to hitting the store shelves.
> I guess you must be feeling some relief at getting to this
> stage.
It's very strange. I worked very hard at it for almost a year, now it
seems like there's a big hole in my life. Guess I have to start another
book...
> Was getting it through the final stages of preprint etc
> a big hassle or did it all go smoothly?
Oh, everything went smooth as silk. It really did: No Starch is a great
company, I was completely happy with everyone who helped me. My
first-round editor was Nick Hoff, who now probably knows more about Linux
music and sound software than he ever wanted to know. Nick did a terrific
job getting my writing into readable condition. My project editor was
Karol Jurado, she helped get me through the second and third rounds. Steve
and Carol Lombard were editors in the final stages, and my amazing friend
Nicola Bernardini did the technical editing.
No Starch always deferred to my judgment, but I must say that I followed
their leads. I figured they knew more about publishing a book than I did,
and I was in a position to learn a lot from them. I've been exceptionally
pleased with the relationship.
> Would you like to outline the whole process?
Nothing to it:
I. Receive phone call from publisher Bill Pollock with offer to write book.
II. Accept offer, write book.
III. Do interviews.
IV. Plan next book.
> ROFL!
Okay, really it went something more like this:
Prepare broad outline
Outline passes publisher's inspection
Prepare more detailed outline
Begin writing chapters
Chapters are returned with edits
Accept/reject edits
Chapters go to next edit stage
Accept/reject next round of edits
Final edits
Prepare CD
Collect software for inclusion on disc
Amass licensing information
Make ISO image
Send image to publisher
Prepare front and back material (introduction, preface, ackowledgments,
bibliography, glossary, CD description, etc)
Of course, through all of this I had to keep up with the software. Some
items I originally planned to include were eventually left out. Other
items I decided against reviewing turned out to be better candidates that
what I left in. Versions kept changing, people kept moving, nothing
stands still. Writing a book like this is something of a thankless task:
you know perfectly well that everything profiled will have changed by the
time the book appears to the public. But I can't be depressed about that:
the material is still eminently useful, URLs are included for everything
listed, and the CD contains more up-to-date versions of the software. The
basic material is solid stuff.
I should also mention that it's probably a good thing I had no real idea
what I was in for. I think this was one of those situations where
ignorance was a blessing: if I'd known how much work I'd have to put into
it I might never have taken the offer.
> Good luck with it ... are you going to be 'touring' at all
> for the launch?
Not unless No Starch foots the bill. ;) I may do some local appearances:
there's a Border's in Ann Arbor and a large Barnes & Noble's in Toledo,
the publisher might set up something at those places. I've been doing some
on-line interviews as well, so the advance publicity is definitely
underway.
I should also mention that I'm currently testing the new look for the
Linux soundapps site. If I can iron out the CGI bugs I should put the new
site on-line publicly later this week. I'll let you know when the
prototype is ready, maybe you can look at it and let me know what you
think ?
Back to the hack. I'm trying to fix the ALSA support in Csound. It's
always something...
> Thanks Dave