Ardour 7.0 released

October 15th, 2022: After more than a year since Ardour 6.9, Ardour 7.0 is now available. This new release features major new features for the software, as well as substantial (even if largely invisible) internal engineering changes. We are happy to bring "clip launching" functionality into Ardour for the first time, along with many other significant improvements, including lots of enhancements for MIDI editing ....

This release also sees the addition of official builds for Apple Silicon systems (previously available only via the nightly build site). It is also the end of 32 bit builds for Ardour for all platforms as part of the official download site. Some will remain available on the nightly site for the near-term future.

Download  

This video may help get you up to speed on the huge set of changes in this release.

Release notes for other older versions are linked in the list below.

Cues ("Clip Launching")

Probably the biggest visible change in Ardour 7.0 is the arrival of "clip launching" similar to the workflow pioneered by Ableton Live and now also provided by Bitwig, Digital Performer, Logic and others.

Clip launching allows you to experiment with combinations of various loops and one shot samples, with all sound appropriately (but optionally) time-stretched to fit the tempo map of the session, and start/stop quantized to the groove.

Ardour's new Cue Grid

Trim or extend the effective length of clips and choose how many times they will repeat before they trigger a follow option.

You can build automated sequences with controlled randomness, using follow options: Forward, Reverse, Jump and Multi-Jump (which randomly picks between specific slots). A great way to add random fills and unexpected twists to your drum tracks!

Unlike some other DAWs, MIDI clips in Ardour can have 16 MIDI channels, and every clip can have its own patches (sounds) assigned. You can use multi-timbral MIDI files for various effects, including layering or "true flams" (same note, different channels),

In this release, only Ableton's Push 2 surface can be used as a controller to control cues, but future dot releases of 7.x will bring support for Novation Launchpads and other related devices. The existing Push 2 support is fairly deep - most of the features of Live's "Session" mode for the device are implemented.

Although we modelled much of Ardour's clip launching behavior on Ableton Live, there are differences. You can read more about them if you're interested.

Loop Libraries for Ardour

With clip launching now a major feature of Ardour, we had to make a choice for our release regarding whether or not we would include any pre-existing content with the download. We did not want to make the download of Ardour substantially larger than it already is, and so we decided to include some MIDI material, and then create a new download system to access gigabytes of additional audio / MIDI loops.

On both the Cues and Edit page/tab, you'll find the Clips tab on the right hand side. It provides limited management of a sample library (which we might improve over time). But perhaps more importantly it comes preloaded with 8000+ MIDI chords, 5000+ MIDI chord progressions and 4800+ MIDI drum grooves, ready to use (and obviously royalty free and redistributable).

You'll almost certainly want to use other material too. You can add folders containing audio and/or MIDI loops and samples yourself by simply drag&dropping them onto the Clips tab. You can bounce regions and ranges from the Editor page to the Clips tab, straight from the timeline.

You might also appreciate easy access to a large set of existing loopable material. As part of the 7.0 release, we convinced a few of the creative folks who post loops at looperman.com to allow us to package and redistribute their material. When you open Window > Library Downloader you will find many libraries of both rhythmic and melodic material for use in your sessions. All these libraries are royalty free, though the actual license may vary from CC-by-0 to MIT license or others. Many thanks to creators Speak, LenoxBeatMaker, NegusFirst and ProdGraverr for their collaboration on this. We look forward to adding more in the future.

Of course, you can also use files from nearly any loop provider, in dozens of audio/MIDI file formats, including the bundled content of other DAWs. Mac users will find Ardour preconfigured to show their existing collection of accessible loops from Garageband or Logic.

screenshot of the library downloader dialog

You add folders to your Clip Library by simply drag & dropping a folder on the Clips tab. Audition MIDI files with our built-in General MIDI Synth or your preferred synth. Generate your own loops and drop them onto the Clip tab to store them in your User Library for use in other sessions or to distribute. Bounce from the linear tracks into your User Library, and use your own tracks as clips in the Cues grid.

Cue Markers (Clip Sequencing)

Sometimes after finding things you like on the Cue page, you may want to be able to work on the timeline in a more "linear" workflow. Ardour 7.0 not only allows you to launch clips in a similar style to Live, Bitwig and others, it has the ability to sequence them from the timeline. A new "Cue Marker" rule lets you launch cue scenes by having the playhead pass over them. This allows you to build your arrangement without ever having to commit to a particular audio rendering. Cue Markers can be recorded live onto the timeline, or placed manually from the editor ruler, and they also appear in the mini-timeline in the Cue and Mix page, so you can see your song structure everywhere, even the mix window.

Cue playback is continuous: you can even locate between cue markers, and the entire arrangement is calculated up to that point -- so even if you start your session with only a single drum clip, you can locate anywhere on the timeline and hear your clip playing!

There is a Stop cue marker which stops all of your clip playback on the timeline. Then you can re-start it with another cue marker later! And you can also mark individual clips as "isolated" which prevents them from launching from cue scenes, allowing you to fire those clips manually even if "Play Cues" is enabled.

Internal Time Representation

Ardour 7.0 is built around a completely new and totally different representation of time than previous versions. Internally the program has the concept of two different time "domains" -- audio time and musical time. Every representation of position and duration has a defined domain. When you move an object by 4 bars, it moves precisely 4 bars, not the best representation of 4 bars in either samples or seconds. A parameter control point that is 4 beats after the start of a region is exactly 4 beats after the start of the region, not an approximation of that in audio time.

For the most part, this major engineering project should be mostly invisible to users (other than in helping to fix bugs caused by inaccuracies converting between audio and musical time in earlier versions). We plan to build more functionality into Ardour in future versions based on this new time representation. That will include sample-rate independence for sessions, and also the ability to lock MIDI data to audio time positions when desired.

Ripple Modes

Ardour now has 3 "ripple editing" modes. Ripple editing describes what happens when you cut/delete material from a track, and later material moves earlier to "fill the gap".

Ripple Selected
In this mode, after deleting a region or time range, all selected tracks will ripple.
Ripple All
In this mode, all tracks will ripple in response to range deletion
Interview
In this mode, rippling will only occur if more than one track is selected. Otherwise, we assume you are just removing incidental noise like "uhm" and "ah" from one track. You can just move the mouse down when selecting to apply the edit to both/all tracks. This is particularly useful when editing 1-on-1 interviews/discussions for podcasts, etc.

Mixer Scenes

part of Ardour's Mixer tab showing the new mixer scenes list

Mixer scenes allow you to quickly store/restore all automatable settings in the mixer window (track solo/mute/gain etc, plus all plugin parameters). You can compare 8 different mixes with a single click, as well as audition a "mixer scene" using a "momentary" mode. This takes plugin A/B'ing to a new level, allowing you compare settings across as many plugins as you wish to, with a single click.

You will find them at the lower left of the Mixer view, with View > Show Mixer Lists enabled. Note that mixer scenes do not save/restore the presence/absence of specific plugins.

MIDI Editing

  • By default, copies of MIDI regions are now unlinked. If you want repeating MIDI material in your session, bounce the MIDI region to a cue slot and let it play from there. If you actually use the linked-copy setting, be sure to set it for a new Session once using Ardour 7.0..
  • Add new keyboard bindings for note length control (combinations of , ., left-arrow, right-arrow and various modifiers, which we hope you'll find trivial to remember once you've used them for a short time).
  • When transposing, expand MIDI streamview note range when/as necessary so that notes do not vanish.
  • Scroll while in internal edit mode, with no note selection, will scroll the note range. Normal canvas scroll can be accessed in this mode via Primary+Tertiary-scroll (Ctrl+Shift on Linux/Windows, Cmd+Shift on macOS).
  • Simple click on region in internal edit/draw modes selects region.
  • Fix midi-note Copy+Paste and Duplicate actions.
  • Provide a toolbar menu to explicitly select note-length, channel and velocity.
  • MIDI Draw: note-length-auto means 'use the Grid for note-length' (prior behavior).
  • MIDI regions can now be combined, like audio regions. Note, however, that there is no "uncombine" operation.
  • MIDI regions can now be either opaque or transparent, just like audio region. An opaque region obscuring another causes MIDI events from the lower region to be ignored. Can be controlled just like audio region opacity.
  • Edit operation to deinterlace MIDI (split a midi region into per-channel regions) added.
  • Delete notes (in draw/edit modes) with the middle button.
  • Ctrl+d (in edit mode) now duplicates selected notes.
  • Much better visibility for MIDI note velocity bar.
  • "q" will quantize selected notes if there are any, rather than the entire region (if there are not).
  • Enforce a minimum length when drawing MIDI notes.
  • Take snap enable state into account when drawing new notes.
  • When drawing notes, the grid should be scaled to the zoom scale.
  • When using unlinked MIDI region copies, the copies use a full-length version of the underlying MIDI file. In earlier versions, the copy would get a truncated version of the MIDI file. This allows you to lengthen the copy when appropriate, not just shorten it.
  • When nudging notes, if nudge clock is zero, use main grid to determine distance.

MIDI Stem Export

Ardour has long allowed stem exports (1 file per track) for audio, but 7.0 brings the arrival of stem exports for MIDI tracks also. If you use complex multi-region arrangements of MIDI, this is one way to generate a single SMF file for each track.

When a synth is present on the MIDI track you have to disable processing to get raw MIDI data, otherwise stem-export will export the track's output, which may include MIDI filters or midi-to-audio synths.

The Return of Freesound

Once again, Ardour can be used to directly search and use nearly 600,000 samples hosted by the Freesound project. Freesound changed their login process several years ago, but we have finally updated our code to follow those changes. You will need your own Freesound account, and to tell Ardour a special login code that Freesound will give you the first time you try to download within Ardour. After that, you can browse and import Freesound samples as if they were on your local hard drive.

the import dialog showing the Freesound tab within Ardour

We've also added a user-configurable size for the amount of locally cached Freesound samples, and a way to filter searches by license type.

I/O Plugins

Thanks to some work carried out by Harrison to support new features in a specialized version of Mixbus, Ardour 7.0 sees support for I/O plugins: plugins that run outside the context of any track or bus. Pre-processor I/O plugins run before Ardour does any processing -- you could use a plugin there to pre-process physical input, or to receive data over a network. Post-processor I/O plugins run after Ardour has completed processing -- you could add room correction or per-monitor correction there, or use a plugin that delivers data to a network. This is not a substitute in any way for running plugins in busses (or tracks), but opens up new possibilities for I/O routing and processing.

Control Surfaces

  • Control protocols: add API to control selection by RID.
  • Generic MIDI: re-enable the "select" function.
  • Control protocol: allow protocol implementations to override RID selection API.
  • Generic MIDI: extend select function API and make argument be bank-relative, always.
  • Adds iCon QCon ProG2 specific MCP button handlers.
  • Adds support for iCon Platform M+ controller.
  • Adds support for iCon Platform X+ extenders with iCon Platform M+.
  • Adds three new device profiles for using the iCon Platform X+ extenders with the iCon Platform M+ controller as the master unit.
  • Adds support for iCon QCon ProG2 controller.
  • Add midi maps for Akai mpk225.
  • Added MIDI MAP for Alesis Q49 V2 master keyboard.
  • Add program names for Kurzweil PC3A series, object version "2.31.2".
  • Add Roland A-30 binding map for controlling Ardour's Play/Stop.
  • Push 2 pad tuning.
  • Push 2 replicates most of Ableton's "Session" view for triggering etc.
  • New OSC messages to trigger scenes/cues and stop all cues. .

Record Modes

Now that support for opaque MIDI Regions was added, there is proper support for three recording modes:

  • Layered, new recordings will be added as regions on a layer atop existing regions.
  • Sound On Sound, behaves like Layered, except underlying regions will be audible.
  • Non Layered, the underlying region will be spliced and replaced with the newly recorded region.

The Manual

The manual has been significantly expanded and updated for version 7.0. New sections, many changes, lots more screenshots. This work has mostly been done by Alexandre Prokoudine, and we anticipate the work to continue.

Improvements

  • Overhaul Audio/MIDI Setup dialog.
  • Report roundtrip I/O latency in the GUI.
  • Allow to edit group from the RouteGroupMenu.
  • Plugin Manager: add action to discover newly installed plugins.
  • Show plugin manager when missing plugins are found.
  • Announce LV2 features relevant for JUCE [LV2] plugins
  • Retain MIDI monitor connection.
  • JACK: work around connection loss when re-starting JACK backend.
  • JACK: re-create backend when re-connecting to the server.
  • Fix JACK-MIDI monitoring when hotplugging devices.
  • Reconnecting unconnected ports always succeeds.
  • SMF: Often files do not have Track & Instrument names. Make something up to avoid file collisions.
  • SMF: API change: report format (0,1 or 2) and total channels used.
  • MIDI import: Support for separating the channels of a Type1 midifile track(s).
  • Deinterlace MIDI: split a midi region into per-channel regions.
  • Add NSM ':switch:' capability.
  • Improvements and optimizations for various assembler routines.
  • Move to a new version of waf, the build system we use.
  • Implement Region export, allow to export multi-channel audio regions.
  • Improve GUI HiDPI support.
  • Update default dark-ardour theme.
  • Update Clear Gray theme
  • Allow loop auditioning.
  • Retain the instrument plugin used for auditioning.
  • Copied regions now inherit all sensible properties.
  • Fix region multi-duplicate behavior.
  • Fix moving automation with region.
  • Fix trim_region_to_{loop|punch} ... coverage logic was reversed.
  • Fix region drag-across-tracks that would auto-partition the receiving track.
  • Fix duplicate undo/redo when stretching multiple regions.
  • Always place first automation point using the current value of the parameter.
  • When cutting or clearing an automation range, always add boundary points.
  • Fix Crop operation: all layers, preserve fades.
  • Fix stacked region view.
  • Indicate muted regions by a canceled speaker (when available) instead of '!'.
  • New GUI appearance option to offer track/bus colors (muted) as backgrounds for editor & mixer strips.
  • Fix ToggleRoll (<space>) when auditioning.
  • Hide scroomer when using layered mode.
  • Correctly restore Mixer pane sizes.
  • Keep export-format dialog on top of export dialog.
  • Add export format option to re-import exported file(s).
  • Add a no-file, analysis only export mode.
  • Adds ability to bank over in mackie sends subview.
  • Virtual Keyboard: fix stuck notes when playing fast.
  • Add plugin tags for some Apple, x42, and Harrison plugins.
  • Fix audible hiccup at end of realtime export.
  • Use "Wav (tagged)" as default export profile.
  • Fix mp3 export on big-endian systems.
  • When exporting with a .cue file, enforce Latin1 filenames.
  • Overhaul vari-speed shuttle control display.
  • Avoid some GTK deprecated methods.
  • Ctrl-dragging a tempo mark uses horizontal, not vertical motion to adjust tempo.
  • Add Ctrl-drag on tempo bar/ruler to adjust tempo more directly.
  • Fix consolidating to FLAC file(s).
  • Coreaudio: improve DSP performance by joining the audio workgroup.
  • Coreaudio: increase coreMIDI robustness, allow for late events from Bluetooth devices.
  • Reduce mixer redraws, and fix scrolling to newly added tracks.
  • Fix printing keybindings.
  • Do not show blank MIDI Port Config page when no MIDI devices are present.
  • Fix video-file audio extraction on big-endian systems.
  • On Windows, suggest WinMME as default audio backend and enable MIDI by default.
  • Consistently replace colons in IO/Port names - allow colon as part of track names.
  • Sort ports by name in the connection matrix.
  • Fix relative Audio Unit window sizing.
  • Allow creating region source markers while recording.
  • Indicate current snapshot.
  • Fix "when refilling, cannot write" disk-reader bug.
  • Implement "Unlink from unselected" for MIDI regions.
  • Remove checks/tests for JACK and QJackctl during installation.
  • Allow VCAs to control A/PFL.
  • Prefer new Rubberband engine for timestretch.
  • Fix bug with end if a region not playing when pitch-shifting a region.
  • Apple+H (hide window) shortcut does not work, so hide it.
  • Range analysis was only accessible by context-click, but has now been added to the main menu.
  • Implement Draw-tool opaqueness option.
  • Add Ctrl-drag on tempo bar/ruler to adjust tempo more directly.
  • Add polarity invert switch to sends.
  • Enable level meter for external sends.
  • Force latency update callback after measuring port-insert latency.
  • Simplify video-export, allow only standard settings.
  • Update commandline parameters for ffmpeg 5.0, and make the dialog slightly less cluttered.
  • Refine video-export UI (tooltips, error dialog, etc).

Translation Updates

  • German.
  • Russian.
  • Korean.
Hint: people, we need more translation-updaters!

New Themes

  • "DieHard3" from GMaq (avlinux).
  • "Xcolors" from LAM.

Contributors

Alexandre Prokoudine, Ayan Shafqat, Ben Loftis, Bruno Vernay, Caleb Potter, Colin Fletcher, Damien Zammit, Dan Church, David Robillard, Bachstudies, Enrico Castella, Florian Walpen, Hector Martin, Houston4444, Hubert Figuière, Jakob Dübel, Jim Ramsay, John Emmas, Len Ovens, Mads Kiilerich, Marijn Kruisselbrink, Matthijs van Otterdijk, Nil Geisweiller, Paul Davis, Raphael Isemann, Remi Thebault, Robin Gareus, Todd Naugle, a1batross, cooltehno, dancesWithBugs, dbolton, itmuckel, LAM, luz paz, mlachand, sra, tassyv

Translators

Edgar Aichinger (German), Alexandre Prokoudine (Russian), JungHee Lee (Korean)