State of the Art: Linux Audio 2008, Part II
October 1st, 2008 by Dave Phillips in
In this second part of my survey of Linux audio development, I focus on the application side of things. I would have liked to have included many other tools and applications, but time and space always are in short supply. So, my apologies if your favorite program isn't listed; feel free to let me know what you think I'm missing.
People coming to Linux from the Windows/Mac world of commercial sound and music software might think they've stepped backward in time. Linux audio and MIDI production software usually is not as visually attractive as the rainbow of products advertised in the major music magazines, but most musicians will agree that the sound is the thing. In that regard, Linux can stand tall and even can claim some colorful packages of its own.
ALSA supplies command-line utilities for simple recording and playback of audio and MIDI. These tools (arecord/aplay and arecordmidi/aplaymidi) are useful for quick uncomplicated purposes, and most distributions provide GUIs to ease their use. At the next level, LMMS (Linux MultiMedia Studio; Figure 1) and Jokosher are good examples of desktop music production software designed in the manner of Apple's popular Garage Band. They engage the user quickly with colorful uncomplicated GUIs, but they are quite powerful within their design constraints. Both programs are in current development and have active communities of users and developers. Wouter Boeke's AMUC (Amsterdam Music Composer) is another less-weighty program that includes many attractions for the desktop composer, including an integrated synthesizer, notation capability and very light resource requirements.
Ardour dominates the professional-grade category of serious recording tools for Linux. Paul Davis continues to lead Ardour's programming team, and the project remains one of the finest examples of Linux audio software development. Ardour 2.5 is a mature application, and the developing Ardour 3.0 promises to bring the program to a new level, thanks especially to Dave Robillard's work on its new MIDI recording and editing capabilities. No strict timetable exists for Ardour's releases, and I certainly can't predict when 3.0 will make its public debut. However, Ardour's development track record is well defined, with a consistent series of releases, so I hope we may see it before year's end. Of course, SVN sources are available to anyone who wants to test the cutting edge while waiting for the public release.
Smaller but still powerful alternatives are available. Rui Nuno Capels' QTractor is a multitrack/multichannel DAW (digital audio workstation) with a design similar to the portable studios in the digital audio hardware world. QTractor also distinguishes itself by its support for natively compiled Linux VST plugins, along with the usual complement of LADSPA and DSSI plugins. Remon Sijrier's Traverso employs a highly efficient interface, is very easy to use and provides a complete production system, from recording your first tracks to burning an audio CD.
Kai Vehmanen's Ecasound occupies a unique position in the Linux audio software world. Ecasound is a command-line DAW, a complete audio recording and processing solution that requires no graphics displays. It runs in an interactive mode or can be driven by user-composed scripts; it is fully JACK-aware; it records in multichannel modes—the list of Ecasound's capabilities stretches on and on. Ecasound is a long-lived project, and I'm happy to report it's still developed and maintained by its original author.
Fervent Software's Rosegarden is another venerable Linux music application with a long and healthy development track. Rosegarden always has supported common-practice notation as a composer's interface, and its developers now plan to strengthen that interface further. Given its JACK support, there's little need for Rosegarden to repeat all the duties of a DAW, and it's a win for notation-based composers to have their notation-based GUI JACK-sync'd to the DAW of their choice.
Developer Werner Schweer has moved his MusE audio/MIDI sequencer in the opposite direction—he has removed its notation interface and refocused that code into the MuseScore program (see below). Meanwhile, MusE continues to evolve as a dedicated audio/MIDI sequencer, and version 1.0 is currently in alpha release.
Consider the common studio scenario of a MIDI sequencer driving two or three softsynths whose output is directed into Ardour. When your work is done, you can save each application to its current state, but there's no easy way to recall every component to its session state upon re-opening the project and its parts. The LASH software provides an elegant solution to that problem, but its adoption has been slow. Client applications must include direct support for LASH, and so far, developers have been focused on other problems. Nevertheless, the project remains active, the client list grows, and I hope to see wider adoption of LASH throughout the Linux audio development community.
Mastering is a process normally associated with the post-production stage of a recording project. When mastering a project, track levels are balanced and the final touches of compression and EQ are applied to add that touch of audio perfection before burning the master disc. Fortunately, Linux can claim an excellent mastering utility, the JAMin program designed by Steve Harris and developed with help from a talented crew of Linux audio programmers. JAMin's last major release (0.95.0) dates from 2005, but the project already is mature and continues to show intermittent CVS activity.
Many older softsynth projects (amSynth, ALSA Modular Synth and ZynAddSubFX) are unmaintained and in need of attention. The synths mentioned above sound great, but they could all benefit from amenities, such as current compiler optimizations, LASH support, JACK support and so on.
Significant synths in current development include Ingen (LADSPA/LV2/DSSI plugin-based synth), QSynth (soundfont2 synthesizer) and FMS (modular synthesis). Recently, a new crop has appeared with some very unusual approaches to synthesis methods and GUI design. Malte Steiner's Minicomputer is a powerful subtractive synthesizer with eight monophonic “pages”. Justin Smith's Synth Of Noise is a glitchmeister's dream synth, and Juan Pedro Bolivar Puente's Psychosynth presents a unique 3-D interface for creating basic (and not so basic) synthesis networks.
Samplers are represented by Specimen and the LinuxSampler Projects. These applications differ in some significant ways: LinuxSampler utilizes files in the GIG format made popular by Tascam's GigaSampler, and Specimen is happier with soundfile formats supported by libsndfile. LinuxSampler (Figure 2) is a client/server architecture with at least two GUIs and a command-line interface. Specimen is a standalone GTK-based application. LinuxSampler and Specimen both support JACK, but Specimen also supports ALSA and is a LASH-savvy application. LinuxSampler has more features associated with the GigaSampler model and is the more consistently maintained program, but both samplers are useful in the complete Linux music-maker's studio.
I also must mention Tapeutape, Florent Berthaut's MIDI-controllable “virtual sampler”. Tapeutape has a rich set of features (including LASH support) and is designed especially for live performance, with or without a GUI. The latest version of the program is 0.0.5 from April 2007, but the author has indicated that he's still working on it, and an update should be released by the time this article is published.
Hydrogen holds its position as the premier Linux drum machine/rhythm programmer. Its development track slowed for a while—version 0.9.3, the current stable release, dates from early 2006—but work proceeds on the SVN sources, and community support is active and strong. Version 0.9.4 promises great improvements—thanks especially to the new stewardship of Sebastian Moors and his development crew.
Samplers and soundfont players function nicely as drum sound sources in a MIDI sequencing environment, and drum loops have become a common method of composing rhythm tracks in the modern DAW. Given these factors, it's not surprising that few virtual drum boxes are created or maintained these days. However, the orDrumbox program has a number of interesting musical features and could be a worthy contender for Hydrogen, though it will need JACK support first.
Until recently, JACK Rack was the preferred standalone signal processing system for Linux audio production. That program has many features to recommend it, including access to the full range of LADSPA plugins and parameter control with MIDI continuous controllers. Alas, project development is slow, averaging two releases per year, and no release has been made yet in 2008.
Linux-based guitarists now have a very fine effects processing system with Rakarrack, a new system based on effects algorithms culled mainly from the ZynAddSubFX synthesizer. Version 0.2.0 is available now, and Rakarrack is in heavy development. Future releases will give Linux guitarists a more comprehensive instrument-specific effects system, including cabinet simulations and more effects.
Many projects in this domain have strong development tracks. Bill Schottstaedt's great Snd continues to grow nicely, with many enhancements and fixes from its wide community of users and developers. Younger projects, such as Audacity (Figure 3), mhWaveEdit and Sweep, show current development, but unfortunately, the much-anticipated update for ReZound has yet to materialize, and we still await better JACK integration with Audacity and Sweep.
LADSPA, the Linux Audio Developer's Simple Plugin API, is an excellent resource for audio plugin developers, and users now can enjoy many fine plugins created with the LADSPA API. Standout sets include Tim Goetze's CAPS suite, Steve Harris' indispensable SWH package and Tom Szilagyi's TAPS collection, but many other LADSPA gems are available. The overall collection continues to expand, albeit slowly.
The intentional simplicity of the LADSPA API necessarily restricted plugin designs primarily to effects and dynamics processing. The emerging LV2 specification takes LADSPA to the next level, particularly with regard to instrument plugins. LV2 competes with the DSSI (Disposable SoftSynth Interface), but the developers of both projects are working toward the common goal of providing Linux with something like the famous VST/VSTi plugin architecture for Windows.
Direct support for VST/VSTi plugins currently exists in two forms. Bridges, such as FST (FreeVST) and the dssi-vst utility, can run some native Windows VST/VSTi plugins directly under Linux, while Lucio Asnaghi's JOST Project works at porting open-source VST plugins to native Linux versions. Applications with support for VST/VSTi plugins (Windows or native Linux) include Ardour, Rosegarden, LMMS and QTractor. However, Ardour's support requires a special build procedure, and the resulting binary may not be redistributed.
The terms of the Steinberg API forbid the free redistribution of the VST SDK, so a mature LV2 is likely to be an attractive alternative for plugin developers. Time will tell, and although the specification is already a worthy contender, users need plugins. A few projects already address that need (see the list at lv2plug.in), but more would be better.
The developers of LMMS have resolved the issue in another way by coding a drop-in replacement for the needed VST SDK, making it possible to provide direct VST support without the Steinberg code. This development is recent, and it remains to be seen whether Linux audio developers will incorporate that solution into their own programs.
This domain can be divided between programs that function primarily as a composer's workspace and programs that function as music typesetting software. The magnificent LilyPond Project dominates the music typesetting category, and NtEd and Canorus are the best currently maintained notation-based composition interfaces. However, Werner Schweer's MuseScore rapidly is evolving into a superb WYSIWYG graphic interface for music composition, but it requires a cutting-edge installation of Qt and its other dependencies.
The Linux digital DJ can choose between two professional-grade mixers, UltraMixer and Mixxx, both of which are beyond their 1.0 releases and continue to display strong development tracks. Alexander Koenig's great “virtual scratcher” terminatorX has not been developed since 2004, but at version 3.82, it's safe to refer to it as mature.
The digital video jockey (VJ) is well served by the current crop of video mixers for Linux. Outstanding packages include FLxER, FreeJ, Gephex and Veejay, all of which work with video files and streams in ways analogous to the actions of audio disc jockeys. Video input can be scratched, stuttered, processed with special effects, and mixed with other video (and other media). Common laptops now are powerful enough to handle the audio and video resource demands of this evolving art form, especially if they're running Linux.
The Rivendell Project rules this domain. Rivendell (Figure 4) provides a complete solution for radio broadcasters (air-wave or network-based) who want to automate all or any part of their operations. The suite is an impressive achievement, with a fully professional set of features “...for the acquisition, management, scheduling and playout of audio content”, according to its Web site. The latest public release is version 1.0, and the project development status is current and ongoing.
Traditional software sound synthesis (SWSS) languages have flourished in Linux, and the platform continues to attract developers of such systems.
Csound enjoys the attentions of a wide community of users and a core development group of very talented programmers. The latest release, Csound 5.08, is a true powerhouse, with an amazing number of synthesis and processing opcodes, integrated GUI widgets, more complete JACK support and many other compelling features. The development of the Csound API has provided a mighty engine for programmers who want to leverage Csound's capabilities into their own software without having to rewrite its routines. Jean-Pierre Lemoine's AVSynthesis, Steven Yi's blue and Rory Walsh's Cabbage Project all depend on the Csound API for their audio processing functions.
Paul Lansky's venerable Cmix enjoyed continued development in the form of Dave Topper's superb RTCmix, but it seems that development has stalled since 2006. RTCmix definitely is worth getting into, and I hope that its development track will pick up again in the near future.
Bill Schottstaedt's Common Lisp Music (CLM) is another SWSS system derived ultimately from Max Mathew's legendary Music V. In fact, Bill recently incorporated Music V into CLM, but that's a trivial task for such a formidable developer. CLM has been in constant evolution for probably as long as Csound, and it enjoys the special attention of its own talented development crew. New releases are frequent and significant, typically adding new synthesis and processing functions along with such amenities as an amazing collection of bird-call synthesis routines and the aforementioned Music V. I also must mention Bill Schottstaedt's Common Music Notation (a Lisp-based music notation language) and his great Snd soundfile editor. All of his software is high quality and consistently maintained, and we are fortunate to have him and his work in the Linux audio camp.
Notable recent SWSS systems include ChucK, SuperCollider3 and the awesome Pure Data (Pd). Their modern characteristics include a more contemporary syntax and support for modern programming techniques, and in some cases, the language includes an integral (but not mandatory) GUI. ChucK and SuperCollider3 do not include integrated graphics primitives, but GUIs have been created for the language or for certain aspects of the language (for example, TAPESTREA, a fascinating tool for composition that requires ChucK's signal analysis and synthesis capabilities).
Pure Data deserves some further remarks. The systems I've mentioned here enjoy wide community support from users and developers, but Pd comes close to being a religion. It is mightily persuasive, with a variety of functions and routines that rival Csound, including a fantastic interface for working with OpenGL via the GEM library. Thanks to its vast resources (and excellent documentation), Pd can be pressed into virtually any audio, MIDI or video service.
In Ye Olden Times, the software found under this rubric would have included only language-based tools, but the scene has changed profoundly. The GUI is now the sound analyst's favored tool, and we can enjoy some wonderful software as a result of this focus on the user interface.
The award-winning CLAM Project continues along its innovative path, thanks to Pau Arumi and the development team at UPF in Barcelona. CLAM is the “C/C++ Library for Audio and Music”, designed for rapid development of sound and music applications. The system includes unique tools and utilities for audio analysis, synthesis and signal processing, complete with graphic controls and displays.
GRAME's FAUST is both a language for real-time audio signal processing and a development environment for DSP programmers writing plugins or complete applications. FAUST is indeed fascinating software, with a strong development team and an excellent collection of tools and utilities. I plan to review FAUST in a future article for the Linux Journal Web site.
Chris Cannam's Sonic Visualiser (Figure 5) is a program for “viewing and analyzing the contents of music audio files”, but that description reveals little about the program itself. The project intends to provide the best audio visualisation software for viewing waveform and spectrographic data representations in forms that can be utilized and comprehended by anyone, not only audio processing professionals. However, Sonic Visualiser is no mere eye-candy maker; it is, indeed, a serious tool for studying music and sound.
Albert Graef's Pure (formerly Q) is not a DSP environment per se, but it is obvious from its examples that audio and MIDI applications are certainly among its major focus points. Additionally, Pure/Q includes some very cool methods for interfacing with the FAUST and Pd audio synthesis and processing environments.
Linux can claim one of the finest composition environments available to computer-based musicians, Rick Taube's Common Music. Professor Taube has maintained Common Music consistently for many years, and most recently, he has begun work on an entirely GUI-based environment (GraceCL) for the system. IRCAM's OpenMusic is another composition-centric program that will run under Linux, but unfortunately, it is maintained only sporadically.
Linux distributions with an emphasis on multimedia support have flourished in the past few years. Planet CCRMA, 64 Studio, JAD, Dynebolic and Musix have reduced the agonies that attend the configuration of a low-latency high-performance system. Some of those distributions include live disc images for “trying without crying”, and other systems, such as Gentoo and Ubuntu, offer specialized versions of themselves optimized for audio work.
Despite the many advances in the Linux audio world, some irritating difficulties remain. The mainstream distributions have not yet agreed upon a common sound server, and they may never do so. Hardware support still is disappointing, especially in the pro-audio domain, and licensing issues continue to plague some projects. Nevertheless, many difficulties have been ameliorated or done away with entirely, as developers continue to work toward greater usability on the Linux desktop.
I began working with Linux in 1995, when only a few dozen decent audio/MIDI applications existed for Linux. I'm happy that we now have such a cornucopia of programs, despite their varying quality, and I see good signs indicating continuance of many of those programs. Obvious targets for improvement include more pervasive support for JACK and the LASH session handler, standardization of the preferred sound server for normal users, and more direct driver support from hardware manufacturers. Some changes will come easily, and some will be troublesome, but it's in the nature of Linux to confront and conquer such difficulties. Meanwhile, I'm using Linux to produce my own media creations and enjoy them along with the works (commercial and otherwise) of others. Good things are happening around me now, and I see more good things coming down the road. Whatever they may be, I'll be sure to let you know about them here in the pages of Linux Journal and on LinuxJournal.com.
Special Magazine Offer -- Free Gift with Subscription
Receive a free digital copy of Linux Journal's System Administration Special Edition as well as instant online access to current and past issues. CLICK HERE for offer
Linux Journal: delivering readers the advice and inspiration they need to get the most out of their Linux systems since 1994.
Subscribe now!
The Latest
Newsletter
Tech Tip Videos
- Nov-04-09
- Oct-29-09
- Oct-26-09
Recently Popular
From the Magazine
December 2009, #188
If last month's Infrastrucuture issue was too "big" for you then try on this month's Embedded issue. Find out how to use Player for programming mobile robots, build a humidity controller for your root cellar, find out how to reduce the boot time of your embedded system, and if you're new to embedded systems find out the basics that go into one. You can also read about the Beagle Board, the Mesh Potato and a spate of other interestingly named items. And along with our regular columns don't miss our new monthly column: Economy Size Geek.





Delicious
Digg
StumbleUpon
Reddit
Facebook








Good Stuff! Free iPod
On November 7th, 2009 Anonymous (not verified) says:
Good Stuff!
Free iPod
frg f f gsfg
On November 6th, 2009 Anonymous (not verified) says:
frg
f
f gsfg
說起這位明英宗朱祁鎮 真是好有一比:在北京高峰時酒店經紀段開車:生不完的氣。
先說年號問題,明朝皇帝在位時間再長, 酒店兼差年號也只有一個,惟獨他特殊,在位總共不過十五年,年號卻有兩個,前一個叫正統,後一個叫天順。倒不是因為他非要搞特權,兩個年號之間, 禮服店是由一大堆可氣的事串起來的。
先說正統朝,差不多是地球酒店打工人都知道的,這麼多的忠良幹才他不信任,偏寵信一個教書先生出身的太監王振, 一幹閹党把國家禍害得烏煙瘴氣。後來瓦剌犯邊,忠臣良將的苦勸不聽,偏聽死太監攛掇,非要御駕親徵, 合法酒店經紀帶著幾十萬人牛氣哄哄出了長城,按說既然親徵你就好好 打啊,他不,走到半道又後悔了,連敵人影 酒店工作都沒見著就撤兵,撤兵麼撤得快點啊,跑還沒跑成,讓人家圍在土木堡包了餃子,稀裏糊塗一場 酒店上班混戰,幾十萬大軍全死 光,連本人也當了俘虜。丟人到如此,實在可氣。
英宗被抓到蒙古高原上去啃生羊肉了, 酒店兼職爛賬總要有人收拾。皇帝讓人綁了,敵人打到家門口了,總不成學宋朝 來個衣冠南渡吧!還好喝酒 有他親弟弟給他收拾,弟弟朱祁鈺繼承帝位,改年號為景泰,可氣的正統朝總算結束了。景泰帝信用 酒店PT良臣于謙,成功組織北京保衛戰打垮敵 人,再運用外交壓力,逼得酒店喝酒 瓦剌把英宗放回來當太上皇,總算不用學宋徽宗那樣客死他鄉。折騰半天,祖宗江山差點丟了不說 禮服酒店,皇位也折騰沒了。這樣的鬧劇,怪不 得別人。
雖是傻事敗事一籮筐,但傻人總算有傻福,雖說皇位沒了, 台北酒店經紀命還是保住了,回來舒舒服服過太上皇的日子倒也 不交際應酬 錯,可他不消停,拉幫結派培植私人勢力,幾年後趁著弟弟病重搞了場“奪門之變”。奪粉味 回了皇位不說,上臺第一件事就是殺掉了功臣于謙。並把當初北京保衛戰 的功臣們來了個大清洗,掌握朝政大權的都是徐有貞、石亨、曹吉祥等一幫姦險小人。雖然過了沒幾年,這幾個人也被明英宗清算,下獄的下獄(石亨),充軍的充 軍(徐有貞) 寒假打工,被殺的被殺(曹吉祥),可明朝的政治氣象,還是一片烏煙瘴氣。
皇位奪回來了,自然就要改年號。於是,明英宗 兼差改年號為天順。從正統年到天順年,打敗仗,殺忠良,寵小人,亂國家,儘是他辦的敗事, 酒店小姐每每讀史到此,不知有多少人氣得 酒店公關直哆嗦。
可正統朝的事畢竟年頭遠了,真正給後 暑假打工世攢下麻煩的,是天順朝。
“天順”麼,按字面意思,自然有風調雨順的意思。 打工從這個意義上說,“天順”朝時代的明朝,運氣還真不 壞,別的且不說,單說綁過明英宗票的瓦剌,那在土木堡創下台北酒店經紀擊敗明朝幾十萬大軍,活捉明朝皇帝偉業的瓦剌首領也先,沒死在大對頭明朝手裏,倒在內戰中被一刀 砍死。到了天順朝時期,瓦剌又和鄰居韃靼打個不停,因此,雖然少了良將於謙,但終天順一朝的邊 酒店境形勢,還算是太fgjjfhj平無事。
fghjfg th dtgh56y5y56ye
You forgot to mention Open Sound System in your Resources sectio
On October 24th, 2009 Anonymous (not verified) says:
Open Sound System: http://www.opensound.com
Post new comment