Linux Audio Update: The Fall Fashions

This week's entry looks at a unique new audio editor, some important updates, and a very cool programming environment for graphics (and much more). As always, some tasty treats are cooking in the Linux audio kitchen.

Ceres

By default most soundfile editors display audio in the amplitude domain. For example, when you open a WAV or MP3 in Audacity you see a display of the sound's waveform, a representation of the sound as a series of amplitude values plotted over time (Figure 1). For most of your work you'll apply edits and effects processing to all or parts of the sound in that display. However, there is another type of audio representation in which the sound's frequencies are plotted over time in what is known as a spectral display (Figure 2). Most soundfile editors provide such a display, but few offer direct editing of its contents. Spectral editors are a rare but useful kind of audio editor, and Linux users are fortunate to have Kjetil Matheussen's version of the great Ceres, a spectral editor originally designed by Professor Oyvind Hammer for use in his work at NoTAM.

Figure 1. A waveform display in Audacity.

Figure 2. The same soundfile as a spectral display in Ceres.

Ceres was first designed for SGI machines, with dependencies that included the Motif graphics library, libaudiofile, and other components favored by SGI hardware and software. Fortunately the program has proven amenable to porting. As a matter of fact, Ceres was one of the first programs I tried to port back in the late 1990s. Since then various other (i.e. real) programmers have expanded its feature set and improved its overall usability.

Alas, the program's dependencies have aged considerably. Modern distributions have moved on to modern GUI and audio toolkits, to the point where it has become increasingly difficult to compile Ceres. For example, it wants the Gtk1 development packages, but those packages have been deprecated in my Ubuntu 10.04 software repositories. Fortunately Kjetil is an obliging maintainer, so he simply gathered together the needed component sources and prepared a make process that compiles "internal" versions of every dependency before going on to build the program. Thanks to his efforts Ceres 0.56 can be neatly compiled and installed on systems such as Ubuntu 10.04 and other modern Linux distributions.

Myna

While reading through a recent digest of the LilyPond mail list I stumbled upon a reference to an audio editor named Myna (Figure 3). Feature-wise Myna is similar to most other soundfile editors, with a significant exception: Myna is a Web-based application. That's right, it's a network-based audio editor available for use by anyone with a compliant browser and Adobe's Flash player.

Figure 3. Myna on-line.

I gave it a quick trial run, with mixed results. Myna's UI is uncomplicated and easily navigated, and I could run the application without trouble as long as I used the Quantum library of sound clips. Alas, Myna crashed Firefox when I tried to import my own samples. However, the Quantum clips sound good and are great fun to string together for fast and easy song composition. Myna includes a small set of digital effects, each with its own set of parameter controls applicable in realtime (Figure 4). Realtime performance wasn't exactly snappy, but it wasn't exactly sluggish either. Given Myna's intended usage its performance was acceptable on my aging AMD64 3800+ CPU.

Figure 4. Myna's effects processing panel.

It seems that Aviary.com is on a mission "to make creation accessible to artists of all genres, from graphic design to audio editing". I'm not sure yet what that entails, but it doesn't appear to include free/libre and open-source software. Still, as far as I can tell there are no hidden costs, and the software is well-designed for its purposes, i.e. "to remix music tracks and audio clips. Apply sound effects and record your own voice or instruments!". I'm curious to know what my readers think about Myna, so please leave a civil note in the Comments below if you'd like to share your experience and opinions.

Ecasound And Nama

The October issue of the Linux Journal is dedicated to the Linux command-line interface and its powerful tools. It's another great issue, highly recommended, but somehow it forgot to mention the awesome ecasound, a complete DAW that runs from a normal terminal prompt. Ecasound is no mere toy, it's a powerful audio tool with serious capabilities.

In August 2010 version 2.7.2 of ecasound was released to the public. Here's a partial list of its outstanding features :

  • Multitrack/multichanel hard-disk recording and mixing
  • Effects/dynamics processing
  • Realtime signal routing
  • Audio file playback and format conversion
  • Automating audio processing tasks

Along with this goodness you get LADSPA plugin support, full compliance with JACK, an OSC interface, easy scripting, and very fast performance. Visit the Ecasound Features page for the full view of the program's impressive capabilities.

Ecasound's user-level documentation includes a tutorial series, a very useful set of example commands, and a User's Guide to the concepts and design of the program. Developers may be more interested in the Ecasound Programmer's Guide and the Control Interface Guide. An active mail-list rounds out the primary sources of information about ecasound.

Kai Vehmanen, the program's chief designer, has consistently maintained ecasound for the past twelve years. Given this track record there's a fair chance I'll still be using the program for the next twelve years. It's fast, efficient, powerful, and completely free open-source software. What more could I want ? Well, every now and then maybe I'd like a GUI for ecasound. Thanks to Joel Roth I have one.

Figure 5. Nama's GUI for ecasound.

Nama is Joel's contribution to the ecasound ecology (ecalogy ?!). Its web page refers to Nama as "Easy multitrack recording with ecasound", so I feel somewhat justified calling it a front-end for ecasound. The program includes its own command-line interface, and the total package includes a serviceable GUI based on the Perl/Tk module (Figure 5). Unlike its command-line counterpart the Nama GUI doesn't encapsulate all of ecasound's features, but if you want a handy graphic interface for ecasound's basic recording capabilities, Nama's your ticket.

Processing

I've been looking into Processing (Figure 6), a marvelous computer programming language "for people who want to create images, animations, and interactions", as its Web page describes it. Processing has some unique characteristics that make it a must-see for anyone interested in computer graphics and the new multimedia arts. The language basics are easy to learn, yet it is capable of very sophisticated designs and displays. Its documentation includes one of the best-written tutorials I've read for just about anything, it enjoys the attentions of a large community of users and developers, and its extensibility includes capabilities of interest to musicians and other sound-artists.

Figure 6. Processing in Ubuntu Lucid Lynx.

Csounder Jacob Joaquin (see below) has developed his csoundo as a means for connecting the awesome audio powers of Csound with the graphics mojo of Processing. Other extensions are available to add audio capabilities to Processing, but I must admit that the potential of Jake's library finally pushed me into learning more about the language and its possibilities. I'm just getting started with my explorations - I'm in Chapter 9 of the superb Getting Started With Processing tutorial - and I'm already hooked. I'm also waiting for Jake to modify csoundo for Csound built with doubles numerics, a task he'll soon complete. I'll post more about Processing and csoundo in a later article, but you can check out the Processing Web site now to learn more about what this amazing system can do.

Blogsville

Linux audio user Jeremy Jongepiere is a regular contributor to the forums at Linux Musicians where he's better known by the handle of AutoStatic. Recently he announced his intention to provide a monthly editorial/summary of activity in the ever-advancing world of Linux audio development. His Monthly Round-up #1 is on-line now, and hopefully it will have been joined by subsequent editions by the time this article reaches the bitstream.

Jacob Joaquin is an unabashed lover of Csound. He's also creative, talented, and industrious, as you can discover for yourself in his Csound Blog. The site is subtitled "Old School Computer Music" but don't let the rubric fool you. His latest entries include hands-on demonstrations of his work with the Arduino board, a quick overview of the latest release of Andres Cabrera's QuteCsound, and examples of his recent work with Processing. Check it out, the Csound Blog is an engaging read, and fellow Csounders should consider it a necessary one.

Graham Percival's LilyPond Report #20 is now on-line. The latest edition covers news of a unique on-line music notation editor, a brief report on the latest LilyPond release, an update on recent development activity, and a neat "snippets" trick. The Report is always an enjoyable read, and if you're a LilyPond user you definitely want to keep up with it.

I continue to explore the possibilities of Linux video tools. I've set up a YouTube channel at newnairobi1 where I've posted clips from performances by my students and experimental videos created with AVSynthesis. Yes, Flash is required (or a suitable equivalent ?), sorry about that, but I'm working on making everything downloadable as MP4 files. If you visit the site feel free to leave a comment or two.

Outro

More good stuff is on the way, including a look into the audio software of Pedro Lopez-Cabanillas and profiles of new releases of Guitarix and Traverso. Until then, stay tuned and rock steady.

______________________

Similis sum folio de quo ludunt venti.

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Audio watermarking tool

AmitTayal's picture

Hi,
Nice article on Audio tool.
Actually i wanted is there is any open source audio watermarking tool is available in linux?

Nama

Alex Stone's picture

I've just got into Nama in the last few days, and it's remarkably easy to use. As someone who has lived with a GUI for writing music since they were first invented, the idea of using a text based recorder (using the ears only) took a bit of getting used to, but it doesn't take that long, and i've been amused to note that simple and repetitive tasks have got a lot faster, with less stress (and no mouse use). I prefer the text version as i seem to have turned into a terminal junkie these last few months, and the range of options is formidable. Joel's done, and is doing, a great job of providing a user friendly interface to run Ecasound, and he's still going strong, with a list of features he intends to add.

Ecasound is like a sleeping giant, and vastly understated for what it actually does. It's entirely true to say it's a DAW in a box, and so far, with an SVN version of jack1 (0.120) i've had no xruns, or any type of audio problem running Ecasound as a server, and jack as the serverhub for all my apps. It continues to amaze me that such a powerful tool gets little or no airplay as a more than viable foundation for any audio system, and coupled with jack provides a computer based system that surpasses anything i spent a lot of years using in win and mac.

For those who are constantly juggling resources, Ecasound, Nama, LinuxSampler backend, jconvolver, etc, all provide the goods with a minimum of fuss, and importantly, can all be run from a terminal, fed with simple template files, saving the CPU and RAM for carrying out the tasks required, instead of getting chewed up running a big hungry GUI, and of course, the excessive mouse use required.

A big thank you to Kai, Joel, Julien, and all those involved in bringing Ecasound and Nama to life. Great tools that do what they say on the tin.

Author's reply

Dave Phillips's picture

Hey Alex,

Ecasound has been a fixture here for many years. I've used it on underpowered boxes and on monster machines, it simply never fails. Kai is indeed to be congratulated for Ecasound, it's a fundamental application in the Linux audio world. AFAIK there's nothing else like it anywhere. Rock-steady, JACK-aware, scriptable, superb software.

Best,

dp

Similis sum folio de quo ludunt venti.

Do you know Fluxus ?

Fabien Pélisson's picture

Hi,

Nice article, I found Processing quite interesting.
Do you know Fluxus (http://www.pawfal.org/fluxus/) ? It's a livecoding software where sounds and graphics could be mixed. It's based on DrScheme scripting language and there's a GUI where you can pass commands. I've tried this by connecting my MIDI-synth (using Jack) to a simple UV-meter.

Regards,

Fabien

Processing is fun, (though a

t's picture

Processing is fun, (though a bit slow).
Check out the javascript port here: processingjs.org

Webinar
One Click, Universal Protection: Implementing Centralized Security Policies on Linux Systems

As Linux continues to play an ever increasing role in corporate data centers and institutions, ensuring the integrity and protection of these systems must be a priority. With 60% of the world's websites and an increasing share of organization's mission-critical workloads running on Linux, failing to stop malware and other advanced threats on Linux can increasingly impact an organization's reputation and bottom line.

Learn More

Sponsored by Bit9

Webinar
Linux Backup and Recovery Webinar

Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.

In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.

Learn More

Sponsored by Storix