Ardour 5.0 released
Ardour 5.0 is now available for Linux, OS X and Windows. This is a major release focused on substantial changes to the GUI and major new features related to mixing, plugin use, tempo maps, scripting and more. As usual, there are also hundreds of bug fixes. Ardour 5.0 can be parallel-installed with older versions of the program, and does not use the same preference files. It will load sessions from Ardour 2, 3 and 4, though with some potential minor changes.
Windows is now a supported platform
This is the first version of Ardour with official Windows support. Several years of products based on Ardour and our own nightly builds for Windows have made us confident that Ardour runs just as well on Windows as other platforms. We will not be providing support with:
- installing Ardour on Windows
- issues with audio hardware
- system- or user-specific issues
The full list of changes is shown below.
Tabbed User Interface
The editor window, the mixer window and preferences are now available as "tabs" in a single window, with transport controls shared across them all. Working with Ardour on laptops and other small-screen and/or single monitor systems is now much easier. If you use multiple monitors, and/or prefer to have the editor, mixer or preferences in their own windows, you can tear them off and Ardour will remember those settings for the future.
Control Masters (VCAs)
Although track/bus groups have offered a certain kind of grouped-control over gain, solo, mute and more, traditional mixing consoles have long had group master channels ("VCAs") which allow you to combine both a single fader to control the group level while also allowing you to easily adjust the relative levels inside the group. For large projects, this can make mixing much easier to control. After a significant re-engineering effort, Ardour 5.0 has support for control masters. In a nod to our "offer more than 1 way to do things" approach, it will allow you to use either or both of the conventions for combining multiple masters:
- Nest VCAs (VCA 2 controls VCA 1 etc.)
- Chain VCAs (VCA 1 and VCA2 both control track or bus N)
Although Ardour has some uncommonly flexible options for working with tempo, one thing we've never offered before are "ramps" - continuous smooth changes in tempo, often known as accelerando (tempo gradually speeding up) and ritardando (tempo gradually slowing down). In 5.0, tempo ramping finally comes to Ardour.
In addition, translations between audio sample positions and BBT positions during GUI operations retain the musical position even in the presence of tempo changes.
5.0 includes the ability to write scripts in the Lua programming language that have almost complete access to all Ardour internals. You can implement new functionality of many kinds, including writing synths, filters and other signal processing tasks since Lua is realtime safe. This release does not feature as much GUI integration as we would like, but it is still a deep and powerful new feature.
Sidechaining and Pin Connections
Ardour's ability to allow unusual I/O configurations is both a blessing and a curse. On the one hand, it allows users to do creative things that are hard to do in other DAWs. On the other hand, it causes confusion when doing something as simple as adding a compressor plugin with sidechain support. Those 3 inputs? What are they? How should they be wired up?
5.0 sees an amazing new capability to manually control the internal wiring of plugins, if you choose to do so. You can switch the left and right feeds of a normal 2-channel plugin, or the outputs, or bypass inputs or outputs altogether. Adding "odd" plugins (with inputs and outputs) now becomes possible, with you in control of how the extra (or missing) channels are wired up.
There is an excellent video from Harrison Consoles that shows this feature at work in Mixbus. Almost everything in the video is relevant to Ardour.
Plugin Inline Display
In traditional DAWs, including older versions of Ardour, the only way a plugin can draw anything on the screen is by the DAW opening a new window to display the plugin's own editor/GUI.
In Ardour 5.0, plugins can draw displays "inline" in the mixer strips, giving rise to many new possibilities. Note that this feature requires explicit support from the plugin - it does not make it possible to pack normal plugin GUIs into the mixer strip. Also, for the time being, these new graphical displays are for display only - inline controls for all plugin parameters have been available for several releases already.
For a long time, people have asked "what plugins does Ardour come with?" and the answer was "none". Now, Ardour 5.0 comes complete with 5 basic but usable plugins, derived from free and open source code, and curated to ensure that they work well with Ardour and for real world purposes. In particular, all of them are dezippered for all parameters. None of them have custom GUIs, but are easily and appropriately controllable via the generic Ardour plugin GUI. They are:
- A side-chain enabled compressor with the usual controls.
- A reverb that finds a balance between sounding good, using a lot of CPU and having too many controls.
- A nice sounding 4-band parametric EQ with shelves
- A basic single-tap delay line, with tempo sync
- a-high/low pass
- Independent high and low pass filters with steepness up to 48dB/octave.
These plugins run on all platforms, and should answer your basic needs without having to look for 3rd party solutions until you really need to. Sessions that use only these plugins will be portable to any other instance of Ardour 5.x or later, on any platform. We may add other basic plugins to this set in the future, based on user feedback and requests.
Harrison's high-quality commercial plugins
In addition to the a-* plugins, official Ardour 5.0 bundles (from ardour.org) come with an unlicensed set of Harrison's high-quality commercial plugins for evaluation. The Harrison plugins are fully functional; but their controls will become locked shortly after the plugin's window is opened. Licenses to permanently unlock the controls may be obtained from Harrison's Mixbus Plugin store. The Harrison plugins run on all platforms, ensuring session portability.
Until 5.0, it was at best convoluted to merge MIDI streams to allow for common processing or routing, for instance to a multi-instrument synthesiser. This release makes busses able to handle equally well audio and MIDI, which enables efficient workflow for virtual drumkits where the arrangement uses different MIDI tracks. Moreover, busses with both Audio and MIDI inputs are well suited for vocoders and similar plugins.
Ardour's Open Sound Control (OSC) support for 5.0 has been completely overhauled. While limited compatibility with 4.x OSC commands has been retained, the command paths have changed. We have now extended the available commands to make it possible to write a much more fully-featured control surface using OSC. Notably there is significantly more options for feedback to the OSC controller from Ardour itself. 5.0 also features a set of redundant OSC commands that make it easier to use products like Hexler, TouchOSC and Lemur which all have significant limitations in the format of the messages they can send. Specific new features include:
- Banking has been added so that a surface with limited strips can still access all Ardour's mixer strips.
- A surface can tell Ardour how many strips to use for banking.
- A surface can tell Ardour which of two fader maths to use (position or raw dB)
- A surface can tell Ardour what feedback it would like (buttons only, or controls, or PH position)
- A surface can tell Ardour what kind of mixer strips it wants to see (audio, midi, buses, etc.)
- There is a /select strip that always operates on the selected strip (same as the editor mixer strip)
- More than one surface can be used at a time with independent settings.
- Those settings are saved with the session.
Ardour 5.0 includes 5 new color themes (all contributed by users), including Caineville (similar to Ableton Live), Unastudia (similar to Presonus Studio One), Cubasish (similar to Cubase), Clear Gray and Blueberry Milk. Note that the theming capabilities of Ardour have not changed since 4.0, but these two users took the time to use the color-choosing possibilities to their fullest. This is done without any need to rebuild Ardour, so anyone who wants to try this can (being aware that it is several hours worth of work to generate a completely new color theme).
Check out all 6 themes in the carousel below, and click on any image for a larger image.
- Create new track by dragging an instrument from the favorites sidebar.
- Allow copying of any processor settings (plugin, fader, meter, etc.) by dragging processor onto another of same type.
- Redesign keybindings editor to work with tabbed notebook, one tab per set of bindings.
- Avoid issues with splash screen hiding other windows at startup.
- Desaturate inactive rec-enabled button, to provide more contrast with active recording state.
- Consistent Location GUI layout including a “Go To” button.
- Don't show engine dialog when loading a session.
- Remove the splash-screen when changing sessions.
- Re-enable the "Show Tooltip" preference.
- Rhythm Ferret improved with new modes and options.
- Removing multiple tracks is now a one confirmation step.
- Option for stereo-only meters (prevents a multi-output instrument from showing dozens of meters in the track header).
- Import->Freesound tab is hidden while we update to the new Freesound search protocol.
- All user interfaces (Editor, Mixer, Control surfaces, etc.) use the same ordering and visibility.
- Empty automation: first point creates a value spanning session start/end position.
- New style for text entryfields, now including a visible cursor.
- Make BBT ruler visible in default session.
- Re-layout import dialog (better fit for narrow screens).
- Do not show inappropriate dialogs at startup, even if they were visible at the last exit from Ardour.
- Properly sort port-names into normal human-sensible lexicographic order.
- Make the trim knob on busses show only if there is audio.
- Add Open Target Folder button to Export Dialog.
- Consistent track+group show/hide column layout in the Mixer sidebar.
- Adjusting a region's gain with the Range and Draw tools would sometimes affect the region in the track above. This has been fixed.
- Overhauled Region/Range spectrum analyzer: axis-labels, 1/octave weighting, log-scale display.
- Plugin Analysis graphics: show numeric values on mouse over, and offer A/B plot.
- Improve shuttle control response when grabbed.
- Make a right click on metronome really show click preferences.
- Improve placement of Dropdown popups.
Preferences and other Dialogs
- The Preferences Dialog is now side-tabbed, with all tabs expanded to make clear the full range of possible settings, and the overall height has been reduced. Sync options have been moved into a sub-node of "Transport". The color theme editor has been moved into its own tab.
- The Group edit dialog is now non-modal, so its appearance doesn't prevent interaction with the rest of the program.
- The Shuttle controller GUI drawing has been updated and made themeable.
- Added MIDI map for:
- M-Audio Oxygen 61 v3 (preset 1).
- M-Audio Oxygen 61.
- AKAI MPD32.
- Updated MIDI map for M-Audio Axiom Air 25.
- Loop toggle and Roll (play) toggle commands now work as they do in the GUI, for all surfaces.
- Loudness normalization during export according to EBU/ITU standards. This supplements normalization based on peak sample values.
- Configurable export-silence trim threshold.
- Add option to auto-save post-export-analysis image.
- Align stem-export (When exporting raw track outputs with and without processing).
- Fix stem-export of no-input busses/tracks.
- Support for timespan realtime export.
There is an excellent video from Harrison Consoles that shows many different aspects of exporting in Mixbus. Almost everything in the video is relevant to Ardour.
- Adding a multi-channel instrument displays a dialog to configure number of outputs.
- Allow direct instrument replacement on a MIDI track in a single step.
- There are a number of powerful software synths in the AudioUnit format for OS X which have multiple output busses, mostly to try to provide some guidance to the user about "groups" of outputs. Although we still question the way this design is used by some plugin developers, 5.0 supports them just like all other AU plugins.
- Fix listing of plugin presets.
- Fix incorrect design of VST "in-place" processing.
- Support AU instrument in-place processing.
- Fix clearing of AudioUnit cache.
- Major improvements in handling AudioUnit plugin window resizing, whether initiated by the user, or by the plugin.
- Handle single-bus, non-variable i/o AudioUnit plugins w/multiple configurations.
- Provide VST and AudioUnit plugins with latency-adjusted BBT (musical time) information.
- Set latency of sidechain port.
- Generic GUI redesign - knobs, grid layout etc.
- Support for LV2 bypass extension.
- Listen for AudioUnit plugin-driven latency changes.
- Add initial MIDI sidechain if plugin has one.
- Support LV2 log trace messages.
- Support thread-safe LV2 state restoration.
- Fix dialog layering on OS X.
- Work to reduce the impact of slow down errant plugin GUIs for AU. This is a particular problem for users with Retina displays, because of the unfathomably slow code provided by Apple for drawing images.
- Bus trim control affects sends to the bus as well as regular inputs.
- Expand options in quantize dialog to include other beat fractions.
- Reset autoscroll speed to minimum when scrolling stops.
- Prevent deletion of last port using the Patch bay dialog(s).
- Add a try-autostart-engine option.
- Allow duplication of tracks with sends or load templates with sends/inserts.
- Adding new tracks (or opening a session with tracks) is now faster.
- Audio/midi files are now imported to "session start" by default (Too many users report they import their first tracks and can't find them).
- Record Safe: you can now ensure that some tracks are never record-enabled, no matter what grouping or selection status they may have.
- Primary-Shift click on gain automation button now sets gain automation state to all tracks and busses (may change in the future).
- Stop-and-forget-capture should not toggle transport state, only stop it.
- Once the user has explicitly set the session range end, playlist/range changes do not move it.
- Various transient-detection fixes (Previously, split region at transients followed by, trim+move+undo would not work).
- Add option to auto-save post-export-analysis image.
- Added additional metadata placeholders for post-export command.
- Switching automation-mode to “touch” writes the current value into the automation from session start to session end. This avoids the case where enabling “touch” on an empty automation track could write the wrong value into automation.
- Improve midnam (patch and parameter names) for Waldorf Blofeld.
- ALSA: allow environment variable ARDOUR_ALSA_DEVICE to identify a single, arbitrary ALSA PCM name as the only available/allowed device.
Session sample rate changes
- Never ever change sample-rate saved with the session after creation.
- Add notification if Engine Rate changes and mismatches session's SR.
- Update flow when loading a new session with different SR.
Save As/Snapshot improvements
- Allow snapshots and Save-As even if session is read-only.
- Change ambiguous "Save as" window title for "Snapshot & Switch".
- Start save-as in configured session-di.
- Prevent crash if a VST plugin does not implement effEditGetRect.
- Issues automating control ports on some midi synths.
- No more livelock caused by infinite/not-a-number control parameters.
- Force waveform images to be least 1px wide.
- "Collect Groups" works again.
- No waveform flickering during recording.
- Correct region splits when using Strip Silence.
- Errors when using timestretch tool.
- EAN (metadata) check digit calculation is now correct.
- No more lockup/freeze when deleting a region under specific conditions.
- Upsampling during import of some multi-channel files will no longer crash.
- MTC alignment now uses latency compensation.
- Using "Esc" key now works to cancel more stuff.
- Gain automation copy/paste works correctly.
- Various fixes for UTF-8 text entered by users or originating from imported audio or MIDI files.
- CUE/TOC file creation with non ISO-8859-1 chars in source text now works (by substituting underscores).
- Remove race condition when dropping ports (especially with Jack 2). Ports would remain and could subsequently cause crashes.
- Changes in logic used by Session > Cleanup to avoid endless recursion in sessions with deeply nested/recursive compound regions.
- Single click in TimeFX mode brings up region properties editor, as it should.
- No more crashes when loading a session with non-default clock modes.
- Remove "clicks" when switching fader and trim automation from "manual" to “play” while transport is rolling.
Updated translations for Chinese, (Brazilian) Portugese, French, German, Russian, UK English
- Chinese: Yq-Ysy.
- Brazilian Portugese: Marcelo Teles.
- French : firstname.lastname@example.org, Julien Rivaud.
- German: Edgar Aichinger.
- Russian: Alexandre Prokoudine.
- UK English: Colin Fletcher.
The largest group of Ardour developers ever helped make 5.0 possible. They are:
Adrian Knoth, Alexandre Prokoudine, André Nusser, Ben Loftis, Colin Fletcher, cooltehno, Damien Zammit, David Robillard, Edgar Aichinger, feandin, Florian Weimer, Guy Sherman, Hanspeter Portner, John Emmas, Julien Rivaud, Len Ovens, Mathias Buhr, Maurizio Berti, Nick Mainsbridge, Nils Philippsen, pablus, Paul Davis, Pavel Potocek, Robin Gareus, Sam Thursfield, Sebastiaan Lokhorst, Sven Gestegård Robertz, Tim Mayberry, yonideshi, Yq-Ysy
Thanks to everyone who helped make this release possible. Robin Gareus in particular (and as usual) performed veritably Atlassian feats of programming, landing many of the major features mentioned above. Nick Mainsbridge wrestled integrals and floating point math to deliver tempo ramps.
Thanks as usual to Harrison Consoles for their sponsorship of several of the major new features in Ardour 5.0, and their continued collaboration.