The November Cornucopia: One Month In Linux Audio
This week I'm your straight reporter bringing you news of of updates, upgrades, and new releases in the world of Linux audio software. Development in this world is continuously productive, so I'll present only a selection of the Linux sound and music applications and utilities announced in the month of November in the year 2008.
Steven Yi has updated his Java-based blue composition environment to version 0.125.0 (Figure 1), bringing more excellent tools into the Csound workshop. Notable features include a remarkable microtonal piano roll display (with support for Scala intonation files), a set of widgets for constructing synthesizer control panels, scriptability via Python, and support for nested objects and timelines. Andres Cabrera's qutecsound is a more traditional front-end GUI for Csound (Figure 2), with the added attraction of a design based upon Matt Ingall's very cool and very popular MacCsound. Qutecsound version 0.3.7 was released as I wrote this article, so I built and installed it on my notebook's Ubuntu 8.10 system. It works perfectly.
The Common Scene
Professor Heinrich (Rick) Taube has been busy exhancing the capabilities of his projects. Common Music 3 now incorporates Bill Schottstaedt's sndlib to support audio and MIDI realtime output and faster-than-realtime file creation within a CM process. Meanwhile, Maestro Schottstaedt has further advanced his Snd soundfile editor to version 10.2. This version is primarily a maintenance release, but it does include Kjetil Mattheussen's code for OSC support.
Torsten Anders has been active in the Common community for many years. Recently he released version 0.9.7 of Strasheela, his own "highly expressive constraint-based music composition system". Strasheela'a interface is the Oz programming language, and it is capable of creating output files in MIDI, Csound, and LilyPond formats. If you'd like to explore an unusual approach to music composition, check out Strasheela.
Use And Use Again
Code re-use can be a wonderful thing, especially when deployed as in Hermann Meyer's guitarix (Figure 3), which the author refers to as "a simple Linux rock guitar amplifier for JACK". He may like to think of it as simple, but I'd call it "rockin' cool". Guitarix leverages the powers of a few LADSPA plugins, Fons Adriaensen's awesome jconv convolution engine for high-quality reverberation, Steve Harris's neat meterbridge, and Kjetil Matheussen's jack_capture recording utility. The whole package was prototyped in the FAUST DSP development environment and has recently seen its second release as version 0.03.0.
I've reviewed Rakarrack here already, so I'll refer readers to that earlier article for details regarding this excellent effects processor for Linux-based guitarists. As with guitarix, the developers of Rakarrack have assembled a variety of audio processing modules written by other developers (mainly from the works of the redoubtable Paul Nasca and Stefan Westerfeld) and bundled them into an easy-to-use GUI. Version 0.3.0 is now available, so get it, install it, and shred on.
The Zyn project is also based on code from Paul Nasca's fantastic ZynAddSubFX synthesizer. However, unlike guitarix, the Zyn project is focused on separating the synthesis bits from the original instrument and redeploying them as LV2 plugins. To that end the project has released the zynjacku host for LV2 softsynth plugins (Figure 4) and the lv2rack host for LV2 effects plugs.
Some development aims at reviving whole projects rather than the re-use of their codebases. Notable recent resuscitations include the fondly-remembered jMax software synthesis environment and the seq24 MIDI sequencer. No public releases are available yet for jMax Phoenix (as it's now known), but Maurizio De Cecco kindly sent a prototype for my consideration. This pre-release is currently short on functions, but I was happy to see the old familiar jMax GUI appear on my modern machines. Meanwhile, as we wait for the first real release from the jMax development team we can whittle away the hours playing with the improvements in seq24. Developer Ivan Hernandez has gathered a team of programmers and other contributors to bring seq24 into the new world of Linux audio, you can check out the fruits of their labors in the latest release of version 0.9.0.
Notably New And Updated On LAA
The Linux Audio Announce list is the top source for newly-released and updated Linux audio software. The following selection is only a small serving from the recent announcements, and I apologize if your favorite updated app isn't mentioned. Alas, I have only so much space in these articles, and there's just too much going on the Linux audio world for one man to stay completely current. I'll do my best though, so read on for at least some of the news and reports from LAA.
Krzystof Foltman leads the pack with his updated Calf Audio Plugins. Version 0.0.17 offers an original suite of effects and dynamics processors along with a couple of simple synthesizers. The Calf processors and synths are available as standalone programs (Figure 5) and as plugins for various Linux audio plugin formats, but they are recommended for use by LV2 hosts such as Ardour 2.7 (see below) or the lv2rack (see above).
Speaking of LV2: Developer Dave Robillard has updated his SLV2, which he describes as "a library to make the use of LV2 plugins as simple as possible for applications". SLV2 simplifies the addition of LV2 into new and existing applications, and I urge all developers to consider adding support for this important emerging standard. In my opinion it's high time to move forward from LADSPA: LV2 is the future of Linux audio plugins, and we need more applications support for it.
The Buzztard project continues forward with its goal of providing a complete replacement for the popular (and dead-as-in-dead) Buzz music module tracker. The latest release (version 0.4.0) brings new support for wavetables in tracker plugins, increased compatibility with existing Buzz machines, and some spiffy improvements to its GUI (Figure 6). I'll have more to say about Buzztard in a future article and interview with lead developer Stefan Kost, coming soon to your nearest Linux Journal On-line.
Sometimes I'm surprised by reports of new and updated Linux audio software, but I certainly didn't expect Chris Bagwell's announcement for the release of version 14.2.0 of the venerable SoX, a very useful suite of audio processing tools. Like Snd, SoX has been around forever, and I'm pleased to see that it is thriving still. SoX is an extremely flexible application, and its laundry list of features is too long to quote here, so just visit its Web site, install the software, and check out all the new stuff. To paraphrase John Lennon, SoX may be old but it's definitely not boring.
With release version 1.4a Bob van de Poel's Musical MIDI Accompaniment (MMA) is another fully mature member of the Linux sound software arsenal. MMA is a generator for MIDI files for accompanying singers and instrumentalists, similar to the Band In A Box accompaniment generator. Unlike that popular program MMA is a text-based application, very easy to use, but if you must have a GUI you can try LeMMA, Gek Low's graphic front-end for MMA (Figure 7).
Version 0.5.0 of Piano Booster (Figure 8) marks the first release of this interesting software. Piano Booster is a training assistant for instrumentalists who want to improve their music reading skills, very similar to the excellent Solfege ear-training program. Check out the Piano Booster on YouTube video for a good demonstration of the program's basic operations. By the way, Solfege was also updated in early November, adding support for Csound and MMA to its already considerable strengths.
NASPRO is Stefano D'Angelo's entry into the growing ranks of modular sound processing frameworks. Version 0.1.1 is only its second release, I haven't tried it yet, but I was impressed with the screenshot of Jack Rack running plugins from the Audacious media player. I'll be watching this project (LV2 support is planned), and I hope that the developers can reach every stop on their ambitious roadmap.
Tardigrade Inc. (aka Florent Berthaut aka Hitmuri) has updated the Tapeutape virtual sampler and the Tranches beat mangler. These programs are excellent examples of small tools that are practical and powerful. Both programs allow MIDI control, both require JACK, and both are available in command-line or simple GUI versions.
Steve Harris's TimeMachine is another fine example of a small program that does one thing and does it very well indeed. TimeMachine function essentially as a recording daemon that "traps" the last ten seconds of audio input and records it upon command. Steve designed TimeMachine to replace a similar function on his now-defunct minidisc recorder, but the utility has become a favorite primary recording tool for many users. Among its other virtues version 0.3.1 adds WAV file format support and start/stop via OSC commands.
One more mini: jackctlmmc is a small program that maps MMC (MIDI Machine Control) commands to the JACK transport system. MMC commands are implemented on many external mixers and recording systems, so controlling their operations through JACK would be helpful to users with MMC-enabled hardware. The first release of jackctlmmc is a command-line utility, a Qt-based GUI is planned.
I'm a great fan of Lucio Asnaghi's JOST multi-format plugin host, and just as I put the final touches to this report I discovered that JOST has been bumped to version 0.5.3. The new features list includes MIDI parameter control for all supported plugin types, controller automation, new plugins, new GUI enhancements, and more. Alas, it doesn't include more time for me to test it, but I always look forward to getting into the latest JOST.
Yes, I saved the biggest and best for last in this list. Ardour has moved forward to version 2.7 (Figure 9) in its unstoppable march towards Ardour 3.0. The 2.7 announcement page lists all the new stuff, including expanded support for OSX, many interface enhancements, support for Wii controllers, and per-track OSC control of solo/mute/record-enable status and track gain. To my tastes Ardour gets more delicious with every release (and just wait until you see what the devs have cooking for version 3).
At The System Level
Audio system software may not be cool and sexy, but it is absolutely essential stuff. Linux audio applications depend on libraries, daemons, and other system software that may be unknown to the normal user. However, the capabilities and restrictions of system-level software determines much of the capabilities and possibilities of the higher-level applications. As the audio system software improves, so improve the applications. I'm pleased to report that November saw some significant activity at this level.
The ALSA project released version 1.0.18a (see the Changelog for details), and JACK 0.115.6 has finally arrived. Many users will sigh with relief, and even the JACK developers have opined that the 0.109.2 release may have been a mistake. No matter now, the new version is here, and the upgrade is highly recommended (I'm already running it on all three of my studio machines). Moving right along: The LASH session handler has been updated to version 0.6.0rc2. This release includes extended support for the D-Bus system, and testers are needed. Ditto for the latest release from the FFADO project. Version 1.999.40 is a release candidate for wide-usage testing, so if you're running a supported FireWire audio device, help the team and check out the new package.
The Planet And Music
Audio-centric Linux distributions abound, but few have the longevity and consistency of Fernando Lopez-Lezcano's superb PlanetCCRMA. The Planet's packages are available now for Fedora 8 and 9, but I was surprised to see the announcement for PlanetCCRMA on Fedora 10. Alas, my attempt at installing Fedora 8 on my new notebook failed, so maybe it's time to look at a newer release. I'd like to re-visit the Planet, it's always been among the most stable and well-engineered of all the Linux audio bundles. It's also the distro of choice for many of the Ardour developers, so there you go.
I'll finish this report by pointing my readers to some of the music announced on the Linux Audio Users (LAU) mail list. Listen up, LAU's become a veritable nest of singing birds :
- The LAM Remix - Patrick Shirkey jam-mixes music from the LAU list and the LAM site.
- LA-It Podcast - An Italian-language podcast on Linux audio software and music made with it.
- Me And My Cronies Trio - A new CD from the prolific Ken Restivo.
- Laute Minne macht dich hinne - New music from Nils Gey.
- Stille hvisken - Excellent song from Atte André Jensen & Co.
- 32 (Instrumental), 68, and 36 - Three new pieces from David Collins.
- Ascensio Nudae Beatae and Aura Amara - Two Csound compositions from yours truly.
- MoonWalk - Cool "world fusion" music from Svend-Erik Kjaer Madsen.
More music made with Linux can be found on LAM and on the various fora and lists associated with specific Linux audio programs, such as the Ardour and Rosegarden user forums. The Csound mail-list often includes links to works created with the Linux version of Csound.
Similis sum folio de quo ludunt venti.
- Brent Laster's Professional Git (Wrox)
- Smoothwall Express
- Returning Values from Bash Functions
- Bash Shell Script: Building a Better March Madness Bracket
- Learning to Program the Arduino
- Own Your DNS Data
- Machine Learning Everywhere
- Simple Server Hardening
- Tech Tip: Really Simple HTTP Server with Python
- SSH Tunneling - Poor Techie's VPN