Ardour DAW – Fifth Generation

Lua Scripts in Ardour 5

All functions of the Ardour interface can now be controlled through the Lua scripting language [4], allowing you to both automate frequently used processes in macros (Figure 6) and construct your own controls from existing functions.

Figure 6: Some supplied Lua macros can be added under Edit | Scripted Actions | Manage.

Lua can drag low-level features of the Ardour core to the surface. Libardour contains various manipulation functions for audio data, which can find the underpinnings for, say, the mixer. Based on them, Ardour-specific audio plugins can be programmed in Lua scripts. Thus, for the first time, Ardour 5 comes with internal audio processors that integrate seamlessly with the application and work just as flawlessly in real time as the well-known mixer elements.

For the near future, the developers are planning a switch in the shortcut menu of the mixer channel that lets you add your own Lua processors, just like normal plugins. Thanks to the real-time-capable Lua design, you can then program the required DSP processors directly into the mixer channel in a targeted way.

The existing internal Lua plugins are found in the normal plugin overview. You will easily find the search filter there easily based on the common prefix a-*. Ardour delivers additional Lua scripts in the Session | Scripting menu, where correctly formatted Lua scripts that you have written also appear. You need to store the appropriate files in $HOME/.config/Ardour5/scripts/.

For testing purposes, you can launch Ardour as a Lua console. To do so, install self-compiled builds of Ardour with the Ardour_lua command in /local/bin/. The Ardour manual [5] contains a detailed section on Lua scripting that also contains the basic information needed by developers who are reasonably familiar with script programming and audio.

More and Better Plugins

In modern music software, plugins are responsible for creating and editing sounds with effects. Like its predecessor LV2 and the time-honored LADSPA on Linux, Ardour 5 supports Audio Units plugins on Mac OS and VST modules on Windows and Linux in their respective native formats. In principle, Ardour 5 can use VST modules compiled as Windows DLLs on Linux; however, the project advises you to go for the native LX VSTs in the form of .so files.

On top of the additional plugin interface, the on-board plugins mentioned in the previous section offer animated sound analyses directly in the Mixer chain (Figure 7). If you compose with MIDI, you can use plugins as sound generators, just like samplers and synthesizers. In our lab, I used SynthV, Calf Monosynth, ZynAddSubFX, and DrumGizmo as LV2, as well as the LXVST plugin Carla Patchbay.

Figure 7: Scope, Spectrogram, and Compressor from the Ardour plugin collection show their output directly in the Mixer tracks.

Carla clearly works better than in Ardour 4, which opens up a particularly easy approach for friends of Windows VST modules to use their plugins in Ardour: Carla loads VST DLLs without complaint and integrates them into Ardour sessions. You can thus save yourself the trouble of compiling Ardour from source with Windows VST support.

The method for inserting instrument modules into a track is much improved: Ardour 5 reduces the procedure to a dialog, where you simply confirm that you want to replace the module and accept all the virtual wiring (Figure 8). (See also the "Through the Side Door Easily" box.)

Figure 8: The drumkv1 plugin replaces Calf Fluidsynth at the push of a button.

Through the Side Door Easily

Sidechaining involves controlling a parameter of an effect by audio signals that do not otherwise need to be heard in the mix. Thanks to its uniquely flexible cabling options, Ardour has already supported sidechaining for quite some time. However, setting up the popular effect has been quite cumbersome and tedious. Ardour 5 now offers a new tool that makes sidechaining an intuitive process (Figure 9).

Right-clicking on a plugin in the mixer channel shows a new entry named Pin Configuration. You can add inputs to those provided by a plugin and thus experiment with sidechains not originally intended in a plugin. You can select an existing audio output in the project for each of the inputs. The tool creates a new send output, which you can then use like self-specified sends.

Figure 9: The Calf Sidechain Compressor is ideally suited for creating popular pump effects where the beat of a bass drum rhythmically down-controls a synthesizer section.

The buyers of the official Ardour installer are treated by Ardour 5 to a special plugin treat in the form of 16 high-quality effects as demo versions from Ardour's long-time industry sponsor Harrison Consoles. These include EQ and dynamic processors, as well as a very usable, first-class stereo echo/delay. The plugins can be used as usual, but after about 10 seconds, the message Please buy license hides the user interface. If you want to use the module without this interference, you can purchase the entire set for a remarkable $399 on the Harrison website [6].

Scope for Improvement

New releases of complex programs often struggle with teething pains, and Ardour 5 is no exception. However, the problems are confined to small niggles. For example, the interface of the new pin configuration tool reacts pretty sluggishly but does not restrict its function.

As with other music production suites, caution is advisable when using third-party plugins. Virtually all serious problems during the test occurred in connection with these external modules; in all cases the root cause was a sound generator in the MIDI tracks. Synthesizers and samplers are by nature quite complex and add another potential source of error, which you tend to underestimate: You can load presets and sample data from almost completely uncontrolled sources.

For example, a session crashed reproducibly in a test in which I downloaded a new drum kit file for Calf Fluidsynth SoundFont player while the module was playing notes with another SoundFont. The same experiment caused no more than a brief buzz with two other SoundFont files. Because Calf Fluidsynth is generally considered very reliable, the SoundFont file must have been the problem; this was also reproducible. (See also the "Support for Active Musicians" box.)

Support for Active Musicians

Despite very limited resources, the Ardour project has the ambition of offering professional support. But project manager Paul Davis, in particular, has an approach to this that appears a little chilly to some users. He does away with empty promises, backslapping, and wordy flattery and makes no major differences between new users and long-time fans who have already made various donations. Instead, he and his team focus on the solutions to problems.

In our lab, two difficulties occurred for which I looked to the project site for help. The first was a regression with the trim tool: In Ardour 5, triggering this was tricky. The problem was difficult to explain and could not be represented easily with a screenshot, because the real problem lay in the dynamic response of the interface. After some back and forth, a user uploaded a video of the problem in the Ardour bug tracker.

Davis's response was typical of the style of communication with Ardour: "Fixed in git." What this translates to for mere mortals: "We have fixed the problem and tested the fix in our current source code. If you want to use Ardour without this problem, you heed to recompile the program from the current source code or wait for the next official update."

The second problem related to an unfinished, but remarkable, new feature. Under circumstances that were difficult to comprehend, the behavior of the mouse pointer tool for moving regions in the timeline simply changed. Instead of moving the region, it continually created copies of a region when dragged. In the Edit | Undo menu entry, I found an entry for Undo: Drag region with brush. Aha! A new paintbrush that nobody had ever heard of that you cannot turn off.

In the bug tracker, I discovered that this function is supposed to be triggered by pressing B when dragging the region; however, Ardour does not notice when you let go of the button. This problem harvested a very rare "Sorry for the error" from Davis. I assume that this new feature, now fully functional, will feature prominently in the next update of Ardour.

For all crashes – in running sessions, at least – the built-in recovery function in Ardour 5 worked perfectly. In version 4, I saw isolated cases in which this useful feature failed. In about 30 hours of test work in Ardour 5 with about a dozen (mainly deliberately induced) crashes, not one minute of work was lost thanks to disaster recovery recovering everything.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Ardour3 Digital Audio Workstation

    The latest version of Ardour – a full-featured digital audio workstation – offers some major new developments. We take a closer look.

  • Bitwig 1.3

    Bitwig Studio 1.3.5, together with the JACK sound server, gives users the freedom to produce professional-quality tracks.

  • Audacity 2.1

    The Audacity free audio editor is evolving from a hobby app into a professional sound tool.

  • Sound Studio Workshop

    Once you get your podcast operation up and running, you might decide you want a real mixer and some higher-end software. We'll introduce you to Ardour and get you started with some basic audio hardware.

  • MusE 4

    MusE, a digital audio workstation, offers a free software solution for MIDI projects on Linux.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More