Ardour is a professional tool for working with audio and MIDI.
Ardour is a professional tool for working with audio and MIDI.
This section covers:
Ardour allows you to record and edit both audio and MIDI data, add many different kinds of effects and mix.
Things you might use Ardour for include:
There is no point in pretending that Ardour is a simple, easy to use program. The development group has worked hard to try to make simple things reasonably easy, common tasks quick, and hard and/or uncommon things possible. There is no doubt that we have more to do in this area, as well as polishing the user interface to improve its intuitiveness and work flow characteristics. At the same time, multi-track, multi-channel, non-linear, non-destructive audio editing is a far from simple process. Doing it right requires not only a good ear, but a solid appreciation for basic audio concepts and a robust mental model/metaphor of what you are doing. Ardour is not a simple "audio recorder" - you can certainly use it to record stereo (or even mono) material in a single track, but the program has been designed around much richer capabilities than this.
Some people complain that Ardour is not "intuitive" to use - its lead developer has some thoughts on that.
It is fairly understandable that existing proprietary DAWs do not run on Linux, given the rather small (but growing) share of the desktop market that Linux has. However, when surveying the landscape of "popular operating systems", we find:
Security matters today, and will matter more in the future as more and more live or semi-live network based collaborations take place.
Let's contrast this with Linux, an operating system which:
More than anything, however, Ardour's primary author uses Linux and wanted a DAW that ran there.
Having written a DAW for Linux, it turned out to be relatively easy to port Ardour to OS X, mostly because of the excellent work done by the JACK OS X group that ported JACK to OS X. Although OS X has a number of disadvantages compared to Linux, its ease of use and its presence in many studios already makes it a worthwhile platform.
The name "Ardour" came from considerations of how to pronounce the acronym HDR(Hard Disk Recorder). The most obvious attempt sounds like a vowelless "harder" and it then was then a short step to an unrelated by slightly homophonic word:
ardour “ n 1: a feeling of strong eagerness (usually in favor of a person or cause); "they were imbued with a revolutionary ardor"; "he felt a kind of religious zeal" [syn: ardor, elan, zeal] 2: intense feeling of love [syn: ardor] 3: feelings of great warmth and intensity; "he spoke with great ardor" [syn: ardor, fervor, fervour, fervency, fire, fervidness] ”
Given the work required to develop Ardour, and the personality of its primary author, the name seemed appropriate even without the vague relationship to HDR.
Years later, another interpretation of "Ardour" appeared, this time based on listening to non-native English speakers attempt to pronounce the word. Rather than "Ardour", it became "Our DAW", which seemed poetically fitting for a Digital Audio Workstation whose source code and design belongs to a group of collaborators.
There are already a number of excellent digital audio workstations. To mention just a few: ProTools, Nuendo, Samplitude, Digital Performer, Logic, Cubase (SX), Sonar, along with several less well known systems such as SADIE, SAWStudio and others. Each of these programs has its strengths and weaknesses, although over the last few years most of them have converged on a very similar set of core features. However, each of them suffers from two problems when seen from the perspective of Ardour's development group:
This section covers some of the typographical and language conventions used in this manual.
Keyboard bindings are shown like this: s or x. Ctrl-x means "press the Ctrl, keep it pressed and then also press the x key. You may also see key combinations such as Ctrl-Shift-e, which mean that you should press the Ctrl key, then while keeping it pressed also press the Shift key and then while keeping them both pressed, finally press the e key.
Note that different platforms have different conventions for which modifier key (Control or Command) to use as the primary or most common modifier. When viewing this manual from a machine identifying itself as running OS X, will see Cmd- where appropriate. On other machines you will see Ctrl-
Menu items are indicated like this: Top > Next > Deeper
Each >-separated item indicates an item on a nested (sub) menu.
Choices in various dialogs, notably the Preferences and Properties dialog, are indicated like this: Edit > Preferences > Audio > Some Option
Each successive >-separated item indicates either a (sub) menu or tabbed dialog navigation. The final item is the one to choose/select/deselect, etc.
Important notes about things that might not otherwise be obvious are shown in this format
Many times the term context-click
is used to indicate that you should (typically) right-click on a particular element of the graphical user interface. Although right-click is the common, default way to do this, there are other ways to accomplish the same thing - this term refers to any of them, and the result is always that a menu specific to the item you clicked on will be displayed.
We refer to mouse buttons as Left, Middle and Right. Ardour can use additional buttons, but they have no default behaviour in the program.
When the manual refers to the "pointer", it means the on-screen representation of the mouse position or the location of a touch action if you are using a touch interface.
In addition to this documentation, you may to check a variety of other resources.
This chapter gives you a conceptual overview of Ardour and provides an example of a common workflow when creating music with the program.
This chapter covers:
Ardour can be used in many different ways, from extremely simple to extremely complex. Many projects will be handled using the following kind of workflow.
The first step is to create a new session, or open an existing one. A session consists of a folder containing a session file that defines all the information about the session. All media files used by the session can be stored within the session folder.
More details on sessions can be found in Working With Sessions.
Once you have a session, you will want to add some audio and/or MIDI material to it, which can be done in one of 3 ways:
MIDI recordings consist of "performance data" ("play note X at time T") rather than actual sound. As a result, they are more flexible than actual audio, since the precise sound that they will generate when played depends on where you send the MIDI to. Two different synthesizers may produce very different sound in response to the same incoming MIDI data.
Audio recordings can be made from external instruments with electrical outputs (keyboards, guitars etc.) or via microphones for acoustic instruments.
Ardour uses the JACK Audio Connection Kit for all audio and MIDI I/O, which means that recording audio/MIDI from other applications is fundamentally identical to recording audio/MIDI from your audio/MIDI hardware.
Once you have some material within the session, you can start to arrange it in time. This is done in one of the two main windows of Ardour, the Editor window.
Your audio/MIDI data appears in chunks called "regions", which are arranged into horizontal lanes called "tracks". Tracks are stacked vertically in the Editor window. You can copy, shorten, move, and delete regions without changing the actual data stored in the session at all - Ardour is a non-destructive editor. (Almost) nothing that you do while editing will ever modify the files stored on disk (except the session file itself).
You can also carry out many transformations to the contents of regions, again without altering anything on disk. You can alter/move/delete MIDI notes, and remove silence from audio regions, for example.
Once you have the arrangement of your session mostly complete, you will typically move on to the mixing phase. Mixing is a broad term to cover the way the audio signals that your session generates during playback and processed and added together into a final result that you actually hear. It can involve altering the relative levels of various parts of the session, adding effects that improve or transform certain elements, and others that bring the sound of the whole session to a new level.
Ardour will allow you to automate changes to any mixing parameters (such as volume, panning, and effects controls) - it will record the changes you make over time, using a mouse or keyboard or some external control device, and can play back those changes later. This is very useful because often the changes you need, even for just one track, will vary in one part of a session compared to another - rather than a single new setting for the volume, you will often need increases followed by decreases (for example, to track the changing volume of a singer). Using automation can make all of this relatively simple.
Once you are really satisfied with the arrangement and mix of your session, you will typically want to produce a single audio file that contains a ready-to-listen to version of the work. Ardour will allow you to export audio files in a variety of formats (simultaneously in some cases). This exported file would typically be used in creating a CD, or be the basis for digital distribution of the work.
OI course sometimes you will want to do export material that isn't finished yet, for example to give a copy to someone else to try to mix on their own system. Ardour will allow you to export as much of a session as you want, at any time, in any supported format.
This section will help you get acquainted with the basic terminology and concepts associated with Ardour. More detailed information on each aspect of the program is provided in later chapters.
An Ardour session is a container for an entire project. A session may contain an arbitrary number of tracks and busses consisting of audio and MIDI data, along with information on processing those tracks, a mix of levels, and everything else related to the project. A session might typically contain a song, or perhaps an entire album or a complete live recording.
Ardour sessions are held in directories; these directories contain one or more session files, some or all of the audio and MIDI data and a number of other state files that Ardour requires. The session file describes the structure of the session, and holds automation data and other details.
Ardour's session file is kept in XML format, which is advantageous as it is somewhat human-readable, and human-editable in a crisis. Sound files are stored in one of a number of optional formats, and MIDI files as SMF (standard MIDI format).
It is also possible for Ardour sessions to reference sound and MIDI files outside the session directory.
Ardour has a single current session at all times; if Ardour is started without specifying one, it will offer to load or create one.
More details can be bound at Working With Sessions.
A track is a concept common to most DAWs, and used also in Ardour. Tracks can record audio or MIDI data to disk, and then replay it with processing. They also allow the audio or MIDI data to be edited in a variety of different ways.
In a typical pop production, one might use a track each for the kick drum, another for the snare, more perhaps for the drum overheads and others for bass, guitars and vocals.
Ardour can record to any number of tracks at one time, and then play those tracks back. On playback, a track's recordings may be processed by any number of plugins, panned, and its level altered to achieve a suitable mix.
A track's type is really only related to the type of data that it stores on disk. It is possible, for example, to have a MIDI track with a synthesizer plugin which converts MIDI to audio. Even though the track remains ‘MIDI’, in the sense that its on-disk recordings are MIDI, its output may be audio-only.
More details can be bound at Working With Tracks.
A track may contain many segments of audio or MIDI. Ardour contains these segments in things called regions, which are self-contained snippets of audio or MIDI data. Any recording pass, for example, generates a region on each track that is enabled for recording. Regions can be subjected to many editing operations; they may be moved around, split, trimmed, copied, and so on.
More details can be bound at Working With Regions.
The details of what exactly each track should play back is described by a playlist. A playlist is simply a list of regions; each track always has an active playlist, and can have other playlists which can be switched in and out as required.
More details can be bound at Working With Playlists.
Busses are another common concept in both DAWs and hardware mixers. They are similar in many ways to tracks; they process audio or MIDI, and can run processing plugins. The only difference is that their input is obtained from other tracks or busses, rather than from disk.
One might typically use a buss to collect together the outputs of related tracks. Consider, for example, a 3-track recording of a drum-kit; given kick, snare and overhead tracks, it may be helpful to connect the output of each to a bus called ‘drums’, so that the drum-kit's level can be set as a unit, and processing (such as equalisation or compression) can be applied to the mix of all tracks.
Ardour allows you to process audio and MIDI using any number of plugins. These are external pieces of code, commonly seen as VST plugins on Windows or AU plugins on Mac OS X. Generally speaking, a plugin is written using one (and maybe more) standards. Ardour's plugin support is for the following standards:
Ardour has some support for running Windows VST plugins on Linux, but this is rather complicated, extremely difficult for the Ardour developers to debug, and generally unreliable. If it is at all possible, you are strongly advised to use native LADSPA, LV2 or Linux VST plugins on Linux, or AU on Mac OS X.
More details can be bound at Working With Plugins.
Using a general purpose computer for recording digital audio is not always trivial. This chapter will guide you through the basic steps and help you with some of the most common pitfalls.
This chapter covers the following:
It would be nice to think that you could just go and buy any computer, install a bit of software on it and start using it to record and create music. This idea isn't wrong, but there some important details that it misses.
Any computer that you can buy today (somewhere around the end of 2012) is capable of recording and processing a lot of audio data. It will come with a builtin audio interface that can accept inputs from microphones or electrical instruments. It will have a disk with a huge amount of space for storing audio files.
When you are recording, editing and mixing music, you generally want to work with very little delay between the time that a sound is generated and when you can hear it. When the audio signal flows through a computer, that means that the computer has to be able to receive the signal, process it and send it back out again as fast as possible. And that is where it becomes very important what computer system you have, because it is absolutely not the case that any computer can do this job well.
Routing audio through a computer will always cause some delay, but if it is small, you will generally never notice it. There are also ways to work in which the delay does not matter at all (for example, not sending the output from the computer to speakers).
The delay or "latency" that you want for working with digital audio is more typically in the 1-5msec range. For comparison, if you are sitting 1m (3ft) from your speakers, the time the sound takes to reach your ears is about 3msec. Any modern computer can limit the delay to 100msec. Most can keep it under 50msec. Many will be able to get down to 10msec without too much effort. If you try to reduce the delay on a computer that cannot meet your goal, you will get clicks and glitches in the audio, which is clearly extremely undesirable.
Many, many things can affect the lowest latency that a computer can support.
Ardour is designed to work best with a 3 button mouse equipped with a scroll wheel.
It can be used with a 2 button mouse or touchpad, but at least 2 key operations will not (easily) be available to you:
You are strongly encouraged to invest in a 3 button mouse. You will find that a good quality mouse (especially one with a weighted, latchable scroll wheel) will make your use of Ardour vastly more efficient. They are cheap, and time is not.
CoreMIDI is a part of any OS X system and provides the device drivers and libraries needed by MIDI applications.
You will need to ensure that you are running a version of JACK for OS X that has a working CoreMIDI - JACK MIDI bridge. This first appeared in version 0.89 of JackOS X.
a2jmidid
is an application that "bridges" between the system MIDI ports and JACK.
First you should be sure that there is no ALSA sequencer support enabled in jack. To do that open qjackctl's Setup window.
In the Settings tab set the MIDI Driver drop down to the none option.
Then go to the Misc tab and uncheck the Enable ALSA Sequencer support option.
Now it's time to restart your jack server before going on.
First thing is checking if a2jmidid is already installed in your system. To do it first start your jack server and then call
a2jmidid -e
from the command. If a2jmidid is there go on with Checking surface control MIDI ports. Otherwise install the newest a2jmidid available and try again.
After starting a2jmidid your control surface MIDI ports should appear in qjackctl's Connections window on the MIDI tab under a2j. If it does go on to the next step: Automatically calling a2jmidid when starting jack. If it doesn't you have to troubleshoot why it didn't. (How to troubleshoot a2jmidid?)
It's troublesome to have to manually start a2jmidid by hand each time you start jack. Here is one way to do it automatically. This step isn't mandatory, it's just a convenience. If you are not interested you can go on to the next step Enabling Ardour's mackie control ports in qjackctl.
Create a script that calls jack if you aren't using one yet. In it change the line that calls jack to have an ampersand at it's end like that:
/usr/bin/qjackctl &
In this case I call qjackctl that starts jack so I include the ampersand in qjackctl's call. If you call jack directly, put the ampersand at the end of it's call line.
Now include the following lines after the line that calls jack:
/usr/bin/sleep 5 /bin/bash -c "/usr/bin/a2jmidid -e" &
All you have to do now is use your new script to call jack.
In Ardour, you work in two main windows: the Editor window and the Mixer window.
The Editor window includes the editor track "canvas" where you can arrange audio and MIDI data along a timeline. This is the window you will be in while editing and arranging a project. The window has a general "horizontal" sense to it: the timeline flows from left to right, the playhead showing the current position in the session moves from left to right - the window really represents "time" in a fairly literal way.
The Mixer window on the other hand represents signal flow and is the window you will probably be using most when mixing a session. It includes elements called "channel strips" for each track and bus in your session. It has a general "vertical" sense to it: signals flow from the top of each channel strip through the processing elements in the strip to reach the output listed at the bottom.
It is possible to show a single channel strip in the editor window, and some people find this enough to work on mixing without actually opening the mixer window. Most of the time though, you will want both of these windows at various stages of a session's lifetime - sometimes you'll be focused on editing, sometimes on mixing and possibly some of the time on both.
There are several ways of starting Ardour, which may vary depending on which platform you are using it on.
When Ardour is run for the very first time, a special dialog is displayed that will ask you several questions about your setup. You will not be asked these questions again, but you can always modify your choices via the Preferences dialog.
In general, it is sensible to start JACK before you run Ardour. This is not necessary, but will provide you with more control and options over JACK's operation.
If you open Ardour without specifying an existing session it will display the "New Session" dialog. If JACK is not already running, there will be an extra "Audio Engine" tab in that dialog to configure JACK, which Ardour will start automatically.
If you did specify an existing session but JACK is not already running, the "New Session" dialog will contain just the Audio Engine tab.
Like (almost) any other program on Linux, Ardour can be started on the command line.
ardour3
ardour3 /path/to/session
replacing /path/to/session with the actual path to your session. You can specify either the session folder or any session file inside the folder (including snapshots).
ardour3 -N /path/to/new/session
replacing /path/to/new/session with the name of the folder where you want the session stored.
Ardour has a number of different techniques to offer when you interact with it. This chapter provides information on basic techniques for entering text, making selections, and using shortcuts.
This chapter covers the following:
Almost every available function in Ardour can be executed via a key binding (or OSC command). There are many more functions available than there are keys on even the largest current computer keyboards, so only a subset of them are bound to keys by default.
Ardour follows the conventions used by most other computer software (including other DAWs) for selecting objects in the GUI.
Clicking on object (sometimes in a particular part of its on-screen representation) will select the object, and deselect other similar objects.
click on an object toggles it selected status, so using click on a series of objects will select (or deselect) each one of them. You can construct completely arbitrary selections with this technique.
In cases where the idea of "select all objects between this one and that one" makes sense, you can click one object and then Shitft click another to select both of them as well as all object in between them.
These basic principles apply to Range Selection - click-drag to select a range, drag to create multiple ranges and shift-click to extend a range to cover a wider area.
By default, Ardour will often show helpful information about the purpose and use of most GUI control (buttons etc.) if you position the pointer over the GUI control and leave it there momentarily. These can be a good way to discover the purpose of many aspects of the GUI.
This can be distracting for experienced users, who may opt to disable it via Edit > Preferences > GUI > Show tooltip if mouse hovers over a control
.
It is very common to make changes while editing that you did not intend to, or that you later decide were the wrong choice. All changes to the arrangement of session components (regions, control points) along the timeline can be undone (and then redone). The default keybinding for undo is Ctrl/Cmd-z and for redo is Ctrl/Cmd-r (these match the conventions of most other applications that provide undo/redo.
Changes are also saved to the session history file, so that undo/redo is possible even if you close the session and reopen it (even if you quit Ardour in between).
The maximum number of changes that can be undone can be altered in the Editing tab of the Preferences dialog. The maximum number of changes stored in the history file is a separate parameter, and can also be set in the same place.
Throughout this manual, the term "click" refers to the act of pressing and releasing the leftmost mouse button (technically the button that is identified as button number 1 - your operating system may allow this be reassigned). This action is used to select objects, activate buttons, turn on/off choices, popup menus and so forth.
On touch surfaces, it also corresponds to a regular, single-finger tap on the GUI.
Throughout this manual, the term "right-click" refers to the act of pressing and releasing the rightmost mouse button (technically the button that is identified as button number 3 - your operating system may allow this be reassigned). This action is used to pop up "context menus" (hence the term "context click", which you will also see). It is also used by default in combination with the shift key for deleting objects within the editor window.
A "double click" refers to two rapid press/release actions on the leftmost mouse button. The time interval between the two press/release actions that determines whether this is seen as two clicks or one double click is controlled by your system preferences, not by Ardour.
Throughut this manual, the term "drag" primarily refers to the act of pressing the leftmost mouse button, then moving the mouse with the button held down, and then releasing the button. On touch surfaces, this term also corresponds to a normal single finger touch-motion-release action.
Ardour also uses the middle mouse button for certain kinds of drags, which will be referred to as "middle-drag" - these are identical to a normal drag except that they involve using the middle button rather than the left button.
There are many actions in Ardour that can be carried out using a mouse button in combination with a "modifier key". When the manual refers to Ctrl-click, it means that you should first press the Control key, then carry out a normal click while the Control key is held down, and then finally release the Control key. Available modifiers depend on the platform you are using Ardour on:
Mod2 typically correspond to the NumLock key on many systems. On most Linux systems, there are no keys that will function as modifiers Mod3, Mod4 or Mod5 by default, but they can be setup using xmodmap(1). This can be rather useful.
Ardour can make good use of a scroll wheel on your mouse, which can be utilized for a variety of purposes. Scroll wheels can generate both vertical scroll events (ScrollUp and ScrollDown) and/or horizontal events (ScrollLeft and ScrollRight). When appropriate, Ardour will differentiate between these two different scroll axes. Otherwise it will interpret ScrollDown and ScrollLeft as equivalent and similarly interpret ScrollUp and ScrollRight as equivalent.
Typically, scrolling is used to adjust continuous controls (e.g. faders/knobs), or to scroll vertically or horizontally.
The clipboard is a holder for various kinds of objects (regions, control events, plugins) that is used during cut-n-paste operations.
A cut operation removes selected objects and places them in the clipboard. The existing contents of the clipboard are overwriten. The default key binding is x.
A copy of the selected objects are placed in clipboard. There is no effect on the selected objects. The existing contents of the clipboard are overwritten. The default key binding is c.
The current contents of the clipboard are inserted into the session, using the current edit point as the reference point. The contents of the clipboard remain unchanged. The default key binding is v.
Within the Editor window (and to some extent within the Mixer window too), there are several techniques for deleting objects (regions, control points, and more).
Select the object(s) and then press the Delete key. This does not put the deleted object(s) into the cut buffer, so they cannot be pasted elsewhere.
Select the object(s) and then press x. This puts the deleted object(s) into the cut buffer so that they can be pasted elsewhere.
By default, Shift-right-click will delete the clicked-upon object. Like the Delete key, this does not put the deleted object(s) into the cut buffer, so they cannot be pasted elsewhere.
The modifier and mouse button used for this can be controlled via Edit > Preferences > User Interaction > Delete using ...
. Any modifier and mouse button combination can be used.
At the right of the editor is an optional area which provides one of a range of useful lists of parts of your session. It is not shown by default when you first start using Ardour. The list can be hidden or shown using the Show Editor List option from the View menu. The very right-hand side of the list gives a selection of tabs which are used to choose the list to view. The left-hand border of the list can be dragged to vary the width of the list.
See this section for information on this list/section of the Editor Lists.
The region list shows all the regions in the session. The left-hand column gives the region name, and there are a range of times given for information. At the right of the list are four columns of flags that can be altered:
The region list shows all the regions in the session. The left-hand column gives the region name, and there are a range of times given for information. At the right of the list are four columns of flags that can be altered:
Hovering the mouse pointer over a column heading shows a tool-tip which can be handy to remember what the columns are for.
A handy feature of the region list is that its regions can be dragged and dropped into a suitable track in the session.
This list gives the snapshots that exist of this session. Clicking on a snapshot name will load that snapshot.
See Working with Sessions for more information on snapshots.
This shows the track/bus groups that exist in the session. These groups allow related tracks to share various properties (such as mute or record enable state). For full details, see the section called “Track and bus groups”.
The columns in this list are as follows:
This lists the tracks and busses that are present in the session. The list order reflects the order in the editor, and you can drag-and-drop track or bus names in the editor list to re-order them in the editor. The columns in the list can all be clicked to alter the track/bus state, and they represent the following:
As with the region list, hovering the mouse pointer over a column heading shows a tool-tip which can be handy to remember what the columns are for.
If none of your track is selected, the Range Tool will operate on all the session track visualized in the Editor.
If you want to operate just some track, select the track you want to edit with the Range Tool.
You can also "scrub" with this tool by clicking and dragging in the direction you wish to listen. The amount you drag in one direction or the other will determine the playback speed.
When in object mode, the mouse pointer appears as a hand whenever it is over the track canvas or the rulers. The mouse can now be used to select and perform operations on objects such as regions, markers etc. This is the most commonly utilized mode in Ardour, as it allows you to select and move regions, as well as modify automation points on the automation tracks.
The "Smart Mode" button to the left of the mouse mode buttons modifies "Object Tool" mode. When enabled, the mouse behaves as if it is in "Range Tool" mode in the upper half of a region, and in "Object Tool" mode in the lower half.
Clocks in Ardour are the basic way of displaying time values precisely. In many cases, they are also one way to edit (change) time values, and in a few cases, the only way. All clocks share the same basic appearance and functionality, which is described below, but a few clocks serve particularly important roles.
In the transport bar of the editor window there are two (or, if you are on a very small screen, just one) clocks that display both the current position of the playhead, and additional information related to transport control and the timeline. These are called the "transport clocks"; the leftmost one is the primary transport clock and the rightmost one is the secondary transport clock. They look like this:
Editing the time in the transport clocks will reposition the playhead in the same way that various other editing operations will.
Under the Windows
item in the main menu you will find the "Big Clock" window, which also shows the playhead position in a big, fully resizable window. The big clock is very useful when you need to work away from the screen but still want to see the playhead position clearly (such as when working with a remote control device across, or in another, room). The big clock will also change its visual appearance to indicate when active recording is taking place. Below on the left is a screenshot showing a fairly large big clock window filling a good part of the display, and on the right, the same clock during active recording.
There are a number occasions when Ardour needs to display time values to the user but there is no obvious way to specify what units to use. The most obvious is in the big cursor that appears when dragging regions. For this and other similar cases, Ardour will display time using the same units as the secondary clock.
Having two transport clocks lets you see the playhead position in two different time units without having to change any settings. For example, you can see the playhead position in both timecode units and BBT time.
The transport bar also contains a set of 5 clocks that show the current selection range and punch ranges. Clicking on the punch range clocks will locate to either the beginning or end of the punch range. Similarly, clicking on the range clocks will locate to either the beginning or end of the current selection. In this screen shot there is no current selection range, so the selection clocks show an "off" state.
Every clock in Ardour has four different modes it can be set to, each of which displays time using different units. You can change the clock mode by right-clicking on the clock and selecting the desired mode from the menu. Some clocks are entirely independent of any other clock's mode; others are linked so that changing one changes all clocks in that group. The different modes are:
In addition to the time-unit modes mentioned above, each of the two transport clocks (if you work on a small screen, you may only have one) can be independently set to display "Delta to Edit Point" in whatever time units its current mode indicates. This setting means that the clock shows the distance between the playhead and the current edit point, and it may show a positive or negative value depending on the relationship between these two points. The clocks will use a different color when in this mode to avoid confusion about the displayed value.
To switch either (or both!) of the transport clocks into this mode, use Edit->Preferences->Transport
and select or de-select the relevant check-button.
Note that when set into this "Delta to Edit Point" mode, the transport clocks cannot be edited.
New values for the clock can be typed from the keyboard after clicking on the relevant clock. Clicking on the clock will show a thin vertical cursor bar just to the right of the next character to be overwritten. Enter time in the same order as the current clock mode - if the clock is in Timecode mode, you need to enter hours, minutes, seconds, frames. So, to change to a time of 12:15:20:15 you would type 1 2 1 5 2 0 1 5
. Each number you type will appear in a different color, from right to left, overwriting the existing value. Mid-edit, after typing 3 2 2 2
the clock might look like this:
To finish the edit, press the enter/return or tab key. To exit an edit without changing the clock press the escape key. If you mis-type an entry so that the new value would be illegal (for example, resulting in more than 30 frames when Timecode is set to 30 frames per second), the clock will reset at the end of the edit, and move the cursor back to the start so that you may begin again.
To end an edit without changing the clock press the escape key.
There is a shortcut available for those who wish to be able to edit the transport clocks entirely without the mouse. It can be found in the keybinding editor under "Transport" called "Focus On Clock". If bound to a key (the divide key on a keypad is the default at time of writing), then pressing that key is equivalent to clicking on the primary (left) transport clock, and editing can begin immediately.
One detail of the editing design that is not immediately obvious is that it is possible to enter part of a full time value. Suppose that the clock is in BBT mode, and displaying 024|03|0029
and you want to alter the value to be the first beat of the bar. Click on the clock and type 0 1 0 0 0 0
. Similarly, if it is in Minutes:Seconds mode, and displaying 02:03:04.456
and you want to get to exactly 2 hours, click on the clock and type 0 0 0 0 0 0 0
to reset the minutes, seconds and milliseconds fields.
You can also type values into the clock that are intended as a relative change, rather than a new absolute value. Simply end the edit by pressing the + or - keys (the ones on any keypad will also work). Using the plus key will add the entered value to the current value of the clock; using minus will subtract it. For example, if the clock is in Samples mode and displays 2917839
, you move it back 2000 samples by typing 2 0 0 0
and then the - key rather than enter/return/tab.
Position the mouse pointer over the clock, and move the scroll wheel. Moving the scroll wheel away from you will increase the value shown on the clock, moving it towards you will decrease the value shown on the clock. The step size is determined by which field of the clock you position the mouse over. If the clock is in Timecode mode and the mouse pointer is over the Seconds field, the clock value will increase or decrease by one second at a time. If you move the mouse point to the Hours field, the value will increase or decrease by one hour at a time. It works similarly in all other clock modes.
Position the mouse pointer over the clock, press the left mouse button and drag. Dragging upwards will increase the value shown on the clock, dragging downwards will decrease the value shown on the clock. The step size is determined by which field of the clock you position the mouse over. If the clock is in Timecode mode and you begin dragging with the mouse pointer over the Seconds field, the clock value will increase or decrease by one second at a time. If you begin dragging with the mouse over the Hours field, the value will increase or decrease by one hour at a time. It works similarly in all other clock modes.
Ardour offers many ways to control playback of your session, including the transport bar, key bindings and remote controls. You can also use markers to define locations or ranges within the session and rapidly move around between them.
Note that if you synchronize Ardour with other devices then some or all of these control methods may not be available - depending on the synchronization protocol, Ardour may respond only to commands sent from the other device(s).
This chapter covers the following:
When the loop
transport button is pressed, the playhead will jump the start of the loop range, and continue to the end of the loop range before returning to the start and repeating.
While looping, a light green area is displayed over the tracks to show the loop range.
Please see this section for more information on defining and altering the loop range.
The playhead is a vertical line with two arrows at each end that indicates the current position of playback.
The command Editor/set-playhead
(default binding: p) will set the playhead at the position of the pointer, if it is within the editor track area.
An unmodified click anywhere on the timeline (rulers) will move the playhead to that position.
Click on either the primary or secondary transport clock and edit the value to move the playhead to a specific position.
Context-click on the marker and select either Locate to here
or Play from here
.
Alternatively, position the pointer within the marker and press p to set the playhead at the marker.
Ardour has many available commands for playback control that can be bound to keys. Many of them have default bindings, some do not, so the list below shows both the default bindings and command names.
Commands without default bindings include:
If there are no selected objects, the nudge controls can be used to move the playhead by a fixed amount backward or forward. The left and right buttons move either backward or forward in time, and the small clock to the left of these buttons sets the amount of time to nudge by. As with all other clocks, you can right-click on the clock to choose the time representation you want to use.
Note that this is a secondary purpose of the nudge controls - it is usually used to move selected objects by specific distances, rather than the playhead.
It is very useful to be able to tag different locations in a session for use when editing and mixing. Ardour supports both locations
, which define specific single positions in time and ranges
which define a start and end position in time.
There are also 3 special kinds of markers:
This chapter covers the following:
You can create a location marker at any position in a session.
The Locations+Marks List is visible on a tab in the Editor Lists area. It can be used as a single point of control for all range and location markers (including the punch and loop ranges), or as a supplement to other methods of working with them.
First, there is the current loop and punch range; there are three clocks, being the start of the range, the end of the range and the length of the range. The start and end points have a ‘Use PH’ button beside them, which you can click to set the corresponding position using the current position of the playhead. Following this is a list of the session's markers, and finally there is a list of the range markers. At the bottom of the list are buttons to add new markers or ranges. The - button beside each marker and range allows that particular mark to be removed.
Click and drag it to a new location on the timeline.
Ctrl-click each marker you want to move, then drag one of the selected markers to a new location. All other selected markers will move with it, though bounded by the zero point on the timeline.
drag one of the range markers (the start or end) and the other will in sync with it.
The loop range is a special range that defines the start and end points when loop-mode
is enabled in the transport bar.
Several operations on markers are available by right-clicking them to open the marker context menu. From this menu, you can:
There are also a few options on the Active Mark submenu of the Transport menu. These options apply to the currently selected location marker, and move it to a nearby region boundary, region sync point, or to the playhead or mouse.
The punch range is a special range used to define where recording will start and/or stop during a punch
.
This chapter covers the following:
An Ardour session is stored in a single folder on your computer's filesystem. This makes backup very easy - any tool capable of backing up a folder (i.e. all of them) can be used to backup a session. You pick the location of a session when it is created - by default it will be in your default session location, which can be altered via Edit > Preferences > Misc > Session Management
.
There is complication: a session may reference embedded media that are stored outside of the session folder. At this time (December 2012), there is no particularly good solution for this. Backing up a session with embedded files will not create a copy of the session containing those files.
The single folder approach also makes sharing a project easy. Simply copy the session folder (onto a storage device, or across a network) and another Ardour user (on any platform) will be able to use it. The limitation regarding embedded files applies to session sharing as well.
It has never been particularly easy to move sessions/projects created on one DAW to another. There are two "standards" that exist that have reasonably widespread support:
but in practice both of these "standards" have such complex and/or incomplete specifications that different DAWs support them partially, differently or not at all.
To move an Ardour session to another DAW, you have 3 basic choices:
To move a session from another DAW to Ardour, you have 2 basic choices:
More details on these options are available:
All media in a session folder is stored in a sub-folder called "interchange". Below that is another folder with the name of the session. You can copy either of these to another location and use the files within them with any other application, importing them all into a project/session. You will lose all information about regions, tracks, and timeline positioning, but all the data that Ardour was working with will be present in the other DAW. Nothing below the "interchange" folder is specific to Ardour - any DAW or other audio/MIDI application should be able to handle the files without any issues.
Stem exports are covered fully in the Export chapter. A stem export creates 1 file per track, starting at the beginning of the session. You can then import each track into another DAW and begin working on it. You lose all data except the actual audio/MIDI (no plugins, no automation). This is one of the most common methods of interchange because it works between all DAWs.
AATranslator is a Windows application that can convert sessions/projects from many diffferent DAWs into other formats. At the present time (December 2012), it can read and write Ardour 2.X sessions, and can read Ardour 3 sessions.
The program runs very well on Linux using Wine (a Windows environment for Linux). There are equivalent solutions for running Windows applications on OS X, but we have no experience with them at this time. Ardour users have reported great results using AATranslator on Ardour 2.X sessions.
The AATranslator website has full details on which formats/DAWs it supports, but they include ProTools, Live, Reaper, OMF, AAF and many more.
Use Session > Rename
to give your session a new name. A dialog will appear to ask you for the new name.
This operation does not make a new session folder - the existing session folder and relevant contents are renamed. If your session was not saved before a rename operation, it will be saved automatically and then renaming will continue.
Ardour has no "Save As" operation that actually makes a new copy of the session folder and its contents.
Session templates are a way to store the setup of a session for future (re)use. They do not store any data but do store (for example):
Choose Session > Save Template
. A dialog will appear to ask you for the name of the new template.
In the New Session dialog, choose the desired template from the combo selector.
Note that you can also use an existing session as a template, without saving it as one. This is available as an option in the New Session dialog. Doing this will not alter the existing session at all, but will use its track, bus and plugin configuration just like a template.
See also Track & Bus templates for information on templates for individual tracks or busses.
Sometimes you will want to save the current state of a session for possible use in the future. For example, you may be about to change the entire arrangement of a piece, or drastically alter the signal processing, and want a reference to come back to should that not work out.
This is easily accomplished using Session > Snapshot
. A small dialog will appear allowing you to enter a name for the snapshot. The default name is based on the current date and time.
Creating a snapshot does not modify your session, nor does it save your session. Instead, it saves an "alternate" version of the session, within the session folder. The snapshot shares all data present in the session. You can create any number of snapshots.
After creating a snapshot, you can continue working on the session and save it normally using Session > Save
and any existing snapshots will remain unchanged.
If you are already working on a session and want to to switch to an existing snapshot, navigate the Snapshots tab of the Editor Lists. Find the name of the snapshot in the list and click it. Ardour will switch to the snapshot. If the session has not been saved, you will asked what you want to do.
Since a snapshot is just another session file stored within the session folder, you can specify that "version" when loading an existing session. The browser in the "Open Session" dialog will show an expander arrow for sessions that have more than 1 session file (i.e. snapshots) present - click on it to see the list, and then click on the name of the snapshot you want to load.
Sometimes you want to create a snapshot and then have all future edits and modifications saved to that snapshot rather than the main session. This is easily done using Session > Save As
. This does not create a new session folder, but saves your session as a new snapshot and then switches the "current snapshot" to the newly created one. All subsequent saves of the session will be stored in this new snapshot, and existing snapshots (and the main session) will be left unaffected.
In this tab you can type in the name of a session to create in the Name: field. You can also select a folder for this session to be created in, and if desired a template to create the new session as a copy of.
Under the Advanced Options, you can select specific behaviors that occur by default. This includes settings whether you wish to create a Master Bus, or a Control Bus, and how many channels you wish either to have.
You can also select whether you want Ardour to automatically connect all inputs to the physical ports of your hardware. If you select this Ardour will do so sequentially, to give an example, the first input of a track or bus will be connected to the first input of your hardware. The second input of a track or bus will be automatically connected to the second input of your hardware, and so on. When Ardour reaches the limits of your hardware, it will circle around and begin connecting with the first physical input of your hardware again. You can limit the number of channels on your physical hardware Ardour uses if you desire, and if that is the case, Ardour will only connect that many physical inputs to your tracks. Useful if you only want to connect the first input to do some voice over recording for instance.
Just like you can tell Ardour not to automatically connect track inputs, you can also modify how it automatically connects the outputs of the track or bus. By default Ardour will connect all tracks and busses to the Master Bus if there is one. However you can also tell it to automatically connect each output to the physical outputs of your interface or sound card, and like inputs can also limit the amount of physical outputs used, so for instance if you only have stereo monitors attached to the first two outputs of your sound card, you would not want Ardour to automatically connect to the next 6 that may be there with nothing attached to them.
The Open Session Tab will allow you to open an already existing session. You can also open any snapshot of a particular session by clicking on the arrow next to the session name to display all snapshots, and then selecting a snapshot. If a session is not displayed by default in the dialog you can click on the button next to "Browse" in order to bring up a file selection dialog to navigate your hard drive to find the file.
More details on this dialog/tab can be found below. Note that this tab is not visible if JACK is already running when the New Session dialog is displayed.
This is a tabbed-dialog within the New Session dialog that will appear only if JACK is not already running as you start Ardour. It provides a simple interface to configure JACK, which will then be started by Ardour. For more control and options regarding JACK, it is recommended that you start JACK before using Ardour, via a JACK control application such as qjackctl (sometimes called "Jack Control"), JackPilot, etc.
On this tab you can tell Ardour about the device it should use. The driver setting will tell it what driver to attempt to access.
This tab has a few options that should be rarely used by most users. The Realtime Option allows Jack to run with Realtime privileges, which allows for smoother audio. The Verbose Output checkbox is primarily used for troubleshooting, it will cause Jack to use verbose messaging and output it to the console. The client timeout will help prevent clients from disconnecting from Jack if they don't respond to Jack fast enough. The number of ports changes the total number of ports that Jack will provide to all clients. And the server dropdown will allow you to change the path to the Jack executable to match where it is installed on your system.
The Advanced tab will allow you to set some advanced settings that are rarely needed. By default the input and output channels will automatically try to give you the amount of inputs and outputs as requested by the software, however some software doesn't always request as many as you need, this can provide more to software that can handle it.
Ardour will only use a single interface. If you want to use more than one interface you will need to lock them all to a sample clock, and then set up the device outside of Ardour.
Ardour is fundamentally designed to be a component in a pro-audio/music creation environment and standard operating practice for such setups involves using only a single digital sample "clock" (something counting off the time between audio samples). This means that trying to use multiple independent soundcards is problematic, because each soundcard has its own sample clock, running independently from the others. Over time, these different clocks drift out of sync with each other, and cause glitches in the audio. You can't stop this drift, although in some cases the effects may be insignificant enough that some people might not care about them.
Thus in an ideal world you should not use multiple independent soundcards but instead use a single device with a single clock and all the inputs, outputs and other features that you need.
Of course, a lot of people don't live in an ideal world, and believe that software should make up for this.
The precise instructions for creating an "aggregate device" on OS X have varied from one released to another.
Aggregate devices also provide a method to use multiple soundcards as a single device. For example, you can "aggregate" 2 different 8-channel devices so that you can record 16 channels into Mixbus.
Please see the instructions at http://jackaudio.org/faq
The Session is the fundamental document type that is created and modified by the Ardour workstation. A "Session" is a folder on your computer filesystem that contains all the items that pertain to a particular project or "recording/editing/mixing session".
The Session folder includes these files and folders:
A session combines some setup information (such as audio and MIDI routing, musical tempo & meter, timecode synchronization, etc.) with one or more Tracks and Buses, and all the Regions and Plug-Ins they contain.
Sessions are stored in a single folder on your computer's filesystem.
The first time you run Ardour, you will be asked where you would like the default location for sessions to be, with the initial choice being your home folder.
You can change it in that startup dialog, or later via Edit > Preferences > Misc > Session Management
. You can also specify a particular (different) location for a session when creating it, in the New Session dialog.
Regions are the basic elements of editing and composing in Ardour. In most cases, a region represents a single contiguous section of one or more media files. Regions are defined by a fixed set of attributes:
When placed into a playlist, they gain additional attributes:
There are other attributes as well, but they do not define the region. Things you should know about regions:
By themselves, regions consume very little of your computer's resources. Each region requires a small amount of memory, and represents a rather small amount of CPU work if placed into an active track. So, don't worry about creating regions whenever you need to.
Although a region can represent an entire audio file, they are never equivalent to an audio file. Most regions represent just parts of an audio file(s) on disk, and removing a region from a track has nothing to do with removing the audio file(s) from the disk (the Destroy operation, one of Ardour's few destructive operations, can affect this). Changing the length of a region has no effect on the audio file(s) on disk. Splitting and copying regions does not alter the audio file in anyway, nor does it create new audio files (only recording, and the Export , Bounce and Reverse operations create new audio files).
This chapter covers the following:
Regions are initially named using either:
These are not audio files, but regions that represent the full extent of an audio file. Every time a new recording is done, or a new file is embedded/imported, a new region is created that represents the entire audio file(s) This region will have the name of the track/playlist/original file, followed by a "-" and then a number plus a dot and then a number.
For recorded regions, the number will increase each time a new recording is made. So, for example, if there is a playlist called "Didgeridoo", the first recorded whole file region for that playlist will be called "Digderidoo-1". The next one will be "Digeridoo-2" and so on.
For imported/embedded files, the region name will be based on the file name, but with any final suffix (e.g. ".wav" or ".aiff") removed.
Normally, whole file regions are not inserted into tracks/playlists, but regions derived from them are. The whole-file versions live in the editor region list where they act as an organizing mechanism for regions that are derived from them.
When a region is inserted into a track/playlist, its initial name will end in a version number, such as ".1" or ".103". For a recorded region, if the whole file region was "Hang drum-1", then the region in the track will appear with the name "Hang drum-1.1". For an imported/embedded region, if the whole file region was "Bach:Invention3", then the region in the track will appear with the name "Bach:Invention3.1".
If the region is a copy of another region, it will begin life with the same name as the original. When an operation is carried out that modifies one of the copies, that particular copy will be renamed by incrementing the version number.
You can rename a region at any time. Use the region context menu to popup the rename dialog. The new name does not need to have a version number in it (in fact, it probably should not). The region will retain its name until it is modified after being copied.
Track Groups have a property titled "Select" which, if enabled, will cause Ardour to try to propagate a region selection in one of a group's member tracks to the other members of the group..
For example, let's assume you have used multiple microphones to record a drum kit to multiple tracks. You have created a track group, added all the drum tracks, enabled the group and enabled the "Select" property for the group. When you select a region in one of the drum tracks, Ardour will select the corresponding track in every other drum track, which in turn means that a subsequent edit operation will affect all the selected regions (and thus all the drum tracks) together.
Regions in different tracks are considered to be equivalent for the purposes of sharing "selection" if they satisfy all the following criteria:
Sometimes, the rules outlined above are too strict to get Ardour to do what you want. Regions may be slightly different lengths, or positioned slightly differently, and this will cause Ardour to not select regions in other grouped tracks that you would like it to.
In this case, enable Edit > Preferences > Editor > Use overlap equivalency for regions
. With this option enabled, regions in different tracks will be considered equivalent for the purposes of selection if they overlap. This is much more flexible and will cover almost all of the cases that the fixed rules above might make cumbersome.
In the editor window, context clicking on a region brings up a menu to provide access to many region operations. The menu begins with the name of the region, or "Selected Regions" if multiple regions are selected.
If there is more than 1 region layered at the point where you clicked, the menu will also contain an item "Choose Top" that if selected will show a dialog that allows you to adjust the layering of regions there. See Adjusting Region Layering for more details.
Below these items is the rest of the Track Context Menu, which provides access to track-level operations. To see the region context menu's contents, select the region name or "Selected Regions", and a submenu will appear with the following structure/contents:
Playlists are a fundamental concept in Ardour that you may or may not end up using, depending on your workflow.
All operations on playlists start by clicking on the playlist button (labelled p) in a track header in the editor window. Clicking the button will popup a menu with the following choices:
Playlists are created with the name of the track of which they are associated, plus a version number. So, the first playlist for a track called "Cowbell" will be called "Cowbell.1". This name will be used to define the names of any regions added to the playlist by recording. You can change the name at any time, to anything you want. Ardour does not require that your playlist names are all unique, but it will make your life easier if they are. Suggested examples of user-assigned names for a playlist might include "Lead Guitar, 2nd take", "vocals (quiet)", and "downbeat cuica". Notice how these might be different from the associated track names, which for these examples might be "Lead Guitar", "Vocals" and "Cuica". The playlist name provides more information because it is about a specific version of the material that may (or may not) end up in the final version of the track.
If you are going to rename your playlists, do so before recording new material to them.
It is entirely possible to share playlists between tracks. The only slightly unusual thing you may notice when sharing is that edits to the playlist made in one track will magically appear in the other. If you think about this for a moment, its an obvious consequence of sharing. One application of this attribute is parrallel processing, described below.
You might not want this kind of behaviour, even though you still want two tracks to use the same (or substantially the same) playlist. To accomplish this, select the chosen playlist in the second track, and then use New Copy to generate an independent copy of it for that track. You can then edit this playlist without affecting the original.
One of the uses of Playlists is to apply multiple effects to the same audio stream. For example, let's say you have a track and you'd like to apply a second set of effects, at the same time to the original track. In this case you could make a new track, select the original track's Playlist, and then apply different effects to the second track than the first (including panning, inserts, and bussing changes). Now, if you edit either of the track's playlists, the changes will appear in both tracks.
Using Playlists for takes is a good solution if you are going to need the ability to edit individual takes, and select between them, but you won't be "compositing" multiple takes together. This might be the case if you were recording multiple languages of a given track, and you want to use the same "track" for each language so that they get the same processing. Then you select each language before exporting the mix for each separate language.
You use the Clear Current operation each time you want to start a new take. This is a non-destructive operation that removes all existing regions from the current playlist. Although you won't lose any information doing this, its probably not appropriate unless the last take was so awful that you want to discard it (although without the finality of Remove Last Capture ). Finally, and probably most useful, you can use the New operation in the playlist button menu to create a new empty playlist, ready for the next take. Later, you can Select your way back to previous or later takes as desired, either in this or some other track.
If you want to record multiple takes and then "comp" between them, it is probably better to simply record each successive take on top of the others in "layers" and then edit them using the layer tools, explained later.
A playlist is a list of regions ordered in time. It defines which parts of which source files should be played and when. Playlists are a fairly advanced topic, and can be safely ignored for many types of audio production, however the use of playlists allows the audio engineer more flexibility for tasks like multiple takes of a single instrument, alternate edits of a given recording, parallel effects such as reverb or compression, and other tasks.
Each audio track in Ardour is really just a mechanism for taking a playlist and generating the audio stream that it represents. As a result, editing a track really means modifying its playlist in some way. Since a playlist is a list of regions, most of the modifications involve manipulating regions: their position, length and so forth. This is covered in the chapter about regions. Here, we cover some of the things you can do with playlists as objects in their own right.
It is important to understand that a track is not a playlist. A track has a playlist. A track is a mechanism for generating the audio stream represented by the playlist and passing it through a signal processing pathway. At any point in time, a track has a single playlist associated with it. When the track is used to record, that playlist will have one or more new regions added to it. When the track is used for playback, the contents of the playlist will be heard. You can change the playlist associated with a track at (almost) any time, and even share playlists between tracks.
If you have some experience of other DAWs, then you might have come across the term "virtual track", normally defined as a track that isn't actually playing or doing anything, but can be mapped/assigned to a "real track". This concept is functionally identical to Ardour's playlists. We just like to be little more clear about what is actually happening rather than mixing old and new terminology ("virtual" and "track") into confusing terminology.
One thing you should be clear about is that playlists are cheap. They don't cost anything in terms of CPU consumption, and they have very minimal efforts on memory use. Don't be afraid of generating new playlists whenever you want to. They are not equivalent to tracks, which require extra CPU time and significant memory space, or audio files, which use disk space, or to plugins that require extra CPU time. If a playlist is not in use, it occupies a small amount of memory, and nothing more.
This chapter covers the following:
An Ardour track can be either ‘audio’ or ‘MIDI’. The only real difference between the two is the type of data that the track will record and play back. Either type of track can pass either type of data. Hence, for example, one might have a MIDI track that contains an instrument plugin; such a track would record and playback MIDI data from disk but would produce audio, since the instrument would turn the one into the other.
Nevertheless, when adding tracks to a session, you typically have an idea of what you need to use the new tracks for, and Ardour offers you three choices:
Audio tracks in Ardour can have a "mode" which affects how they behave when recording.
Below is a screenshot that shows the subtly different results of an overdub in normal and non-layered mode. Both tracks were created using identical audio data. The upper track is in normal mode, and the overdub (the middle shorter region) has created a new region which if you look carefully has been layered on top of the the existing (longer) region. The lower track is in non-layered mode, and rather than overlay the overdub region, it split the existing region and inserted the new one in between.
Ardour tracks can have any number of inputs and any number of outputs, and the number of either can be changed at any time (subject to restrictions caused by any plugins in a track). However it is useful to not have to configure this sort of thing for the most common cases, and so the Add Tracks dialog allows you to select "Mono", "Stereo" and few other typical configurations.
Given that tracks have a certain number of inputs and a certain number of outputs and that these numbers may not necessarily be the same, it is not immediately clear what terms like "Mono" or "Stereo" mean. Most people will know that they refer to "1 channel" and "2 channels" in some way, but this leaves room for interpretation. 1 input channel? 2 output channels?
If you are using Ardour's default mode of automatically connecting track (and bus) inputs and outputs, then the designation "Mono" or "Stereo" refers to the input of the track. A Mono track will have a single input and a Stereo track will have two inputs.
The number of outputs for each will be determined by the number of inputs of the master bus, to which the track outputs will be connected. So in the most common case, using a 2 channel master bus, a Mono track has 1 input and 2 outputs that are connected to the master; a Stereo track has 2 inputs and 2 outputs that are connected to the master.
However, if you choose not to have Ardour make connections automatically, then tracks will be left disconnected by default. In this scenario, a Mono track has 1 input and 1 output, and a stereo track has 2 inputs and 2 outputs. It is up to you to connect them as you wish. This is not a particularly useful way to work unless you are doing something fairly unusual with signal routing and processing. It is almost always preferable to leave Ardour to make connections automatically, even if you later change them manually.
A track or bus can be added to a session in various ways:
Any of these actions will open the Add Track or Bus dialogue,
From here, you can select firstly the number of tracks or busses to add, and the type; audio track, MIDI track or bus. There are also some options, which vary depending on the type of thing you are creating.
These options are:
Adding tracks will add them to both the editor and mixer windows; the editor window shows the timeline, with any recorded data, and the mixer shows just the processing elements of the track (its plugins, fader and so on).
Tracks and busses can be removed by selecting them, right-clicking and choosing ‘Remove’ from the menu. A warning dialogue will pop up, as track removal cannot be undone; use this option with care!
By default, selecting regions has no impact on track selection. You can select a track, then select a region in another track (or vice versa) and both selections will co-exist happily. Operations that are applied to tracks will use the track selection, and those that apply to regions will use the region selection. Similarly,. deselecting a region will not deselect the track it is in (if that track was selected).
In some workflows, and particularly if you have experience of some other DAWs, this is not the most comfortable way to work. You may prefer to work in a style where selecting a region will also select the track that the region is in. Similarly, when the last selected region in a track is deselected, the track will also become unselected.
To control this behaviour, set Edit > Preferences > Editor > Link selection of regions and tracks
.
Ardour offers many options for controlling the specific appearance of tracks, including color, height, waveform style and more.
These can all be found via Edit > Preferences > Editor
Per-Track or per-group options are covered below:
Ardour allows arbitrary layering of regions - you can stack as you wish in a given position. By default, the editor windows draws them overlapping, which has the big benefit that is very economical in terms of using vertical space.
In this drawing mode however, working with a track that has many overdubs can sometimes be a little confusing because its not always entirely clear how the overdubs are all layered with respect to each other. Although there are other methods of moving particular regions to the top of an overlapping set, and although Ardour also has playlists to let you manage takes a bit more efficiently than just continually overdubbing, there are times when being able to clearly see all regions in a track without any overlaps is reassuring and potentially useful.
Here is an image of a track with a rather drastic overdub/overlap situation, viewed in normal "overlaid" mode:
To change this display, right click on the track header, and you'll see this menu:
You will see that there are two choices for "Layers": overlaid (currently selected) and stacked. Click on stacked and the track display changes to this:
You can still move regions around as usual, and in fact you can even drag them so that they overlay each again, but when you release the mouse button, things will flip back to them being all stacked cleaning. This display mode works best when you use sensible track heights. The number of "lanes" for the track is determined by the maximum number of regions existing in any one spot throughout the track, so if you have really stacked up 10 overdubs in one spot, you'll end up with 10 lanes. Obviously, using a large track height works much better for this than a small one.
New tracks in Ardour are assigned a random color from a somewhat pastel-like color spectrum, so they should never end up being particularly bright or particularly dark.
Select the tracks whose color you wish to change. Context-click on the track header of one of them. From the context menu, select "Color". A color dialog will appear. Choose the new color for the track, and click "OK" in the dialog. Every selected track will be recolored, both in the editor and mixer window.
Note that if you are only changing one track, context-clicking on that track's header will be enough to select it, saving the extra mouse click.
Tracks that belong to a track/bus group can share the color of the group by enabling the Color
option for the group.
When this is enabled, you can change the color of the entire group by following the process described above for specific tracks - the new color will be used by all tracks in the group.
You can also explicitly change the group color by context-clicking on the group tab, selecting Edit Group...
and then clicking on the Color selector in the dialog that is displayed. After you click "OK" in the color dialog that is provided for picking the color, all tracks in the group will be recolored to match the group color.
Context clicking on the track header will select a track and display a conttext menu that includes the Height
choice. Choose this, and a submenu will appear containg a number of preset heights. Choose one of them, and all selected tracks will be redrawn using that height.
Select the tracks you wish to resize. Move the pointer to the bottom edge of the track header. The cursor will change to a 2-way vertical arrow shape. Left-click-drag to dynamically resize all selected tracks.
Select the tracks you wish to display in the Editor window. Choose Track > Height > Fit Selected Tracks
(or use its shortcut, default is f). The tracks are resized and the editor track view is scrolled so that the selected tracks completely fill the vertical space available.
You can use Visual Undo
(default bindng: Shift-z to undo this operation.
Ardour does not impose any particular ordering of tracks and busses in either the editor or mixer windows. The default arrangement is as follows:
By default the ordering within the editor and mixer windows is synchronized: if you reorder in one window, the ordering in the other window will change. You can disable this via Edit > Preferences > Editor > Synchronize Editor and Mixer Track Order
. When disabled, the ordering both both windows is totally indepedent of the other.
Select the tracks you want to move. Then use Track > Move Selected Tracks Up
(↑) or Track > Move Selected Tracks Down
(↓) to move the selected track(s) up or down in the editor window.
Make the Editor Lists visible. Select the Tracks & Busses
tab. In the browser there, you can freely drag-and-drop tracks and busses into any order you prefer.
Within the "Strips" browser in the upper left area of the Mixer window, you can freely drag-and-drop tracks and busses into any order you prefer.
Tracks and Busses that are members of a group can be reordered so that they display contiguously within the Editor and Mixer windows. Context-click on the group tab and choose "Collect".
Every track and bus in Ardour is assigned a remote control ID. When various protocols such as Mackie Control or OSC are used to control Ardour, these remote control IDs are used to identify which track(s) or buss(es) are the intended target of the commands.
By default, remote ID's will be assigned to tracks and busses in the order that they are created, starting from 1. The master bus and monitor section have their own unique IDs (318 and 319).
Ardour provides 3 methods to control remote control IDs, which can be chosen via Edit > Preferences > User Interaction
:
A typical control area for a bus is shown below:
At the top-left of the controls is the name of the bus. This can be edited directly to whatever is suitable, although the name must be unique within the session. Underneath the name is a copy of the bus' main level fader. The control buttons to the right-hand side are:
A typical control area for an audio track is shown below:
An audio track has the same controls as a bus, with the addition of two extras. The red button with the pink circle is the track's record enable. When this is clicked it will gain a bright red outline, and the track will then be recorded onto when the main session record enable is turned on with the transport rolling.
The ‘p’ button below the record enable will open a playlist menu when clicked. The menu offers various operations related to the track's playlist. This, as you will recall, is simply a list of the regions that the track should play. Playlists may be swapped on a given track, and may be used by more than one track at the same time. They are often useful to keep different takes, for example, or to allow one set of regions to be played off two tracks with different processing.
A typical control area for a MIDI track is shown below:
The MIDI track example is shown at a greater height than the other examples, as with MIDI tracks there are some control elements which only appear when there is sufficient vertical space to fit them in.
A MIDI track has the same basic controls as an audio track, with the addition of two extra elements. The set of buttons below the main track controls controls the MIDI channels that should be visible in the editor. A MIDI track's data may span any number of the 16 available MIDI channels, and sometimes it is useful to view only a subset of those channels; different instruments may, for example, be put on different MIDI channels. Clicking on a channel number toggles its visibility.
To the right of the MIDI track controls is a representation of a piano keyboard called the ‘scroomer’. This performs a couple of functions. Firstly, the scroll-bar controls the range of pitches that are visible on the track. Dragging the scroll-bar body up and down scrolls up and down through the visible pitches, and dragging the scroll-bar ‘handles’ zooms in and out, so that more or fewer pitches are visible. The piano keyboard gives a reference for the pitches that the track is displaying. In addition, clicking on the notes will generate the corresponding MIDI note in the track.
Within the editor window, context-clicking on either a region or empty space within a track will popup the track context menu, which provides easy access to many track-level operations.
If you click on a region, the first item in the menu will the name of the region. If there are more than one regions stacked where you clicked, this will be followed by an item called Choose Top
. If selected, you will see a dialog that allows you to reorder the stacking of layers at that point. See Adjusting Region Layering for more details.
The rest of the track context menu is structured as follows:
Tracks and busses can be put into groups. The members of a group can be set to share various settings, which can be useful for managing tracks which are closely related to each other. Examples might include tracks that contain multiple-microphone recordings of a single source (an acoustic guitar, perhaps, or a drum-kit).
You can put tracks and busses into groups in various ways. In the editor window, a track's controls might look like these:
The green tab to the left of the track header indicates that this track is in a group called ‘Fred’. These tabs can be dragged in the editor window to add to or remove tracks from groups.
There are several ways to create track/bus groups:
Context-click on the group tab and use one of the "Create..." options there. You can create a group with no members, or one that starts with the currently selected tracks, or record-enabled tracks, or soloed tracks as it members.
Alternatively, clicking the ‘g’ button on a track header opens a menu which gives a list of the available groups; selecting one of these groups will add the track or bus to that group. This menu also allows a new group to be created.
Finally, the Groups tab of the Editor Lists or the Mixer Window has a "+" button at the bottom of the list that can be clicked upon to create a new group.
Context-click on a group tab and select Remove Group
from the menu. Removing a group does not remove the members of a group.
You can also remove groups by selecting them in the Groups tab of the Editor Lists or Mixer Window and then pressing the "-" button at the bottom of the list.
Clicking the ‘g’ button opens a menu which gives a list of the available groups; selecting one of these groups will add the track or bus to that group. Selecting "No Group" will remove it.
You can also drag a group tab to add or remove tracks from the group.
Clicking on a group tab will toggle the group between being active and inactive. An inactive group will have no effect when editing its members. An active group will share 1 or more properties across its members. Tabs for disabled groups are coloured grey.
The properties of a group can be edited by right-clicking on its tab and choosing Edit Group…. This will open the track/bus group dialogue, which is also used when creating new groups:
Clicking on the color selector button allows the group's colour can be changed. This affects the colour of the group's tab in the editor and mixer windows. The color does not affect the color of the group members unless you also enable the shared Color
property.
Following these options are a list of the things that the members of the group can share.
Gain
means that the track faders will be synced to always have the same value; ‘Relative’ means that the gain changes are applied relative to each member's current value. If, for example, there are two tracks in a group with relative gain sharing, and their faders are set to -3dB and -1dB, a change of the first track to a gain of -6dB will result in the second track having a gain of -4dB (so that the difference in gains is the same).
Muting
, soloing
, record enable
, route active state
, colour
and monitoring
are all straightforward; they simply mean that all member tracks or busses will share the same settings in these respects. See Working With Tracks for more on these properties.
Selection
means that if a region is selected or deselected on one constituent track, corresponding regions on other member tracks will be similarly selected. Corresponding regions are those that are at the same position and have the same length. Since region editing operations are applied to all currently selected regions, this is the way to make edits apply across all tracks in the group.
Context-clicking on the group tab offers a further menu of group-related actions.
Plugins are bits of software that get loaded by Ardour in order to:
Plugins are written by 3rd parties, and Ardour supports a variety of different plugin standards:
Within Ardour, plugins are just another type of Processor
and so the techniques for adding/removing/copying/moving processors apply to plugins as well. These techniques are covered on the Processor Box page.
All plugin editors, whether they are created by Ardour or by the plugin, have a common set of controls at the top of their window. These include 4 controls for managing plugin presets.
A preset for a plugin is simply a saved set of values for all of a plugin's parameters. If you load a preset, you are restoring all the parameters within that plugin to the values stored in the preset. This is an easy, fast way to manage your preferred settings for particular plugins.
The preset selector is a regular selector that can be clicked to display a list of all known presets for this plugin. This will include presets that you have created yourself, and for some plugin formats, presets that come with the plugin itself.
Click on the preset selector to popup a menu showing the names of all available presets. Click on the name of the preset you wish to load. The preset will be loaded - you may see various controls in the plugin editor change to reflect the new value of some or all parameters.
To save the current plugin settings as a new preset, click on the "Add" button at the top of the window. A dialog will appear to ask for the name of the preset. Enter the desired name, and then click the "OK" button in the dialog. The preset selector will now show the name you have just entered.
If you wish to modify the settings in an existing preset, use the preset selector to load the preset. Then adjust the settings as you wish. When done, click the "Save" button and the new values will be stored, overwriting the previous version of this preset.
To delete an existing preset, use the preset selector to load the preset. Click the "Delete" button, and the preset will be removed. The preset selector will be blank, showing that no preset is currently loaded (although the settings will stay as they were).
A ‘processor’ is a thing which treats the signal in some way. Ardour provides several builtin processors, such as the "fader" processor which controls the gain (volume) of a track or bus. Processors can also be plugins used for effects or as instruments, as well as sends/inserts which are used to change signal routing. The arrangement of processors is arbitrary, and there is no limit to how many there can be.
The main box in the top half of a mixer strip shows the processor list. Processors are shown as coloured rectangles, with a small ‘LED’ beside them; this indicates whether or not the plugin is enabled, and can be clicked to enable or disable a processor. The colour of the processor depends on its location in the sequence; processors that occur before the fader are coloured in red, and those after are coloured green (in the default theme).
The processor box will always contain a blue processor called ‘Fader’. This indicates where in the processor chain the main volume fader is located — this is the fader shown in the lower half of the strip.
Processors can be re-ordered using drag-and-drop. Dragging a processor allows it to be moved around within the chain, or copied to another processor list on another track or bus.
To the left of the name of each processor is a small LED symbol; if this is lit-up, the processor is active. Clicking on it will deactivate the processor. It will still pass audio or MIDI signals, but they will not be affected.
Finally, processors can be added to or removed from the chain. Right-clicking the processor list does three things:
From the menu, some new processors can be inserted.
Context-click on the processor you want to remove.
Thanks to the combined work of Torben Hohn, Kjetil Mattheusen, Paul Davis and a few other developers, it is possible to use Windows VST plugins (that is, plugins in VST format built and distributed for the Windows platforms) on Ardour running on Linux. (Note: there is no VST support of any kind on OS X).
However, doing so has three substantial downsides:
The dependence on Wine makes it almost impossible for the Ardour project to support this feature. Wine's functionality generally improves over time, but any given release of Wine may behave worse with some or all Windows VST plugins. It may even just crash Ardour completely.
Step back and think about what "using Windows VSTs" really means: taking bits of software written with only one idea in mind - running on the Windows platform - and then trying to use them on an entirely different platform. It is a bit of a miracle (largely thanks to the incredible work done by the Wine project) that it works at all. But is this the basis of a stable, reliable DAW for a non-Windows platform? Getting Ardour on Linux to pretend that its really a Windows application running on Windows?
We understand that there are many outstanding plugins available as Windows VSTs and that in many cases, no equivalent is available for Ardour's Linux-based users. If your workflow is so dependent on those plugins, then remain on Windows (or potentially consider using an actual Windows VST host running inside of Wine). If you can make the effort, you will get a better environment by using a normal build of Ardour and exploring the world of plugins built to run on Linux natively. This covers LADSPA, LV2 and Linux VST formats, and even some outstanding proprietary plugins such as those from LinuxDSP and Loomer.
If a plugins does not have its own editor/GUI, Ardour will construct one from a small set of common control elements. Ardour will do this even for plugins that have their own, if you disable Edit > Preferences > GUI > Use Plugins' own interface instead of Ardour's
To view a plugin editor, double-click on the plugin within the processor box. A new window will appear showing the editor/GUI for the plugin.
Shift-click on the controller.
Many sessions will involve the use of pre-existing material, whether it consists of audio and/or MIDI data. Using existing samples, loops and riffs from files stored on your system can be the basis for a new session, or a way to deepen and improve one that is already underway.
There are four pathways for importing/embedding an audio or MIDI file into a session.
Session > Import
Region List context menu > Import To Region List
Track context menu > Import Existing Media
These methods are all equivalent: they open the "Add Existing Media" import dialog. Once the dialog is open, you can choose to add new audio as new tracks, as regions in the region list, or as audio in the selected track. You can change this behavior once the dialog is opened.
Finally, you can also easily import files into your project by dragging and dropping the file from some other application (e.g. your platform's file manager such as Nautilus or Finder). You can drag onto the Region List or into the desired track or into empty space in the editor track display. The file will be imported (copied) into your session, and positioned at the mouse pointer position when the drag ended.
This chapter covers the following:
Importing and embedding are two different methods of using existing audio files on your computer (or network file system) within a session. They differ in one key aspect:
An existing media file is copied to the session's audio folder, and if necessary is converted into the session's native format.
For audio files, you can control the choice of this format (eg. WAVE or Broadcast WAVE). Audio files will also be converted to the session sample rate if necessary, which can take several minutes for larger files.
MIDI files will already be in SMF format, and are simply copied into the session's MIDI folder.
An existing media file is used as a the source for a region, but is not copied or modified in any way.
You can choose to import or embed the files in your session selecting or de-selecting the "Copy file to session" option in the Import dialog window.
the file will be imported in the audio/MIDI folder of your session
the file won't be copied.
If it doesn't work you can uncheck Preferences > Misc > Session Management > Always copy imported files
.
http://www.freesound.org is an online repository of searchable sound files. The “Search Freesound” of the Import dialog tab allows you to search the Freesound database, download & audition files from within the Import dialog.
Tags: enter the “tags” that you would like to search. You may enter multiple search terms separated by spaces. For example “drums 120bpm” will search for files that are tagged “drums” OR “120bpm”.
Sort: Choosing one of the sort options will cause Freesound to order the files before returning the list of available files. This can save time if you know (for example) the sound you need is very short.
Search: Click this button to initiate the search. Freesound will begin returning pages of information, with 20 items per page. You may click “Stop” to stop downloading.
The file list: Click on a file to download it from Freesound. Double-click the file to auto-play it in the auditioner.
Files imported with Freesound will automatically include any Tags that are associated with the file, and these tages will be included in a search when you use the “Search Tags” tab.
A "tag" is bit of information, or metadata, that is associated with a data file. Specifically, tags are keywords or terms that you feel have some relevance to a particular soundfile. Ardour can store these tags in a searchable database so that you can quickly search for sounds based on the tags that you have assigned to them. For example you can assign the term "120bpm" to a sound, and then when you search for this tag, the file will appear in the search list. Tags are independent of the filename or anything else about the file. Tags, and the file paths that they are associated with, are stored in a file called "sfdb" in your Ardour user folder.
The process is quite easy:
Tags are stored when the input box loses focus, there is no reason to explicitly "save" them.
Files which have been "tagged" with the input terms will appear in the results window. You can audition these files and apply tags to them from this window.
The list of audio file formats that Ardour can import/embed is quite long. It is based on the functionality offered by libsndfile, an excellent and widely used software library by Australian programmer Erik de Castro Lopo. As libsndfile's capabilities expand, so will Ardour's abilities to import (and export) new formats. Ardour supports all common audio file formats, including WAV, AIFF, AIFC, CAF, W64 and BWF. with all typical sample formats (8,16,24,32 bit integer, floating point, and more).
You can find a full list of libsndfile's supported formats here.
For MIDI import, Ardour will read any Standard MIDI Format (SMF) file.
This chapter covers the following:
When recording, it is important to hear yourself, and to hear any pre-recorded tracks that you are performing with.
Audio recorders typically have the ability to "monitor" (i.e. listen to) the tracks that are armed for recording, while playing back the tracks that aren't. In the days of analog tape recording, this was performed with relays and other analog audio switching devices. Digital recorders have the same feature, but may impart some "latency" (delay) between the time you make a noise and the time that you hear it come back from the recorder.
The latency of any conversion from analog to digital and back to analog is about 1.5-2 milliseconds. Despite common listening conditions creating 3 millisecond delays, some musicians claim that even the basic A/D/A conversion time is objectionable. However it is commonly believed that a latency below 5 milliseconds is suitable for a professional recording setup. Because 2 milliseconds have already been used in the A/D/A process, you must use extremely low "buffer sizes" in your workstation I/O setup to keep the overall latency below 5ms. Not all computer audio systems are able to work reliably at such low buffer sizes.
For this reason it is sometimes best to use an external device to monitor yourself while recording to digital medium. Many professional studios use a mixing console for this feature. Many computer I/O devices have an "monitoring" function built-in (although this is typically only for 1 or 2 channels). In either case, the monitoring hardware may be digital or analog. And in the digital case you will still have the A-D-A conversion latency of 1-2ms.
There are three basic ways in which monitoring may be approached:
With this approach, Ardour plays no role in monitoring at all. Perhaps the recording set-up has an external mixer which can be used to set up monitor mixes, or perhaps the sound-card being used has some ‘listen to the input’-style feature. This approach often has the advantage of zero or near-zero latency. On the other hand it requires external hardware, and the monitoring settings are not saved with the session.
Some sound cards have the ability to mix signals from their inputs to their outputs with zero- or low-latency. Furthermore, on some cards these features can be controlled by JACK. This is a nice arrangement, if the sound card supports it, as it combines the convenience of having the monitoring controlled by Ardour with the low latency operation of doing it externally.
With this approach all monitoring is performed by Ardour; it makes track inputs available at track outputs, under the influence of various controls. This approach will almost always have more routing flexibility than JACK-based monitoring. The disadvantage is that there will be a latency between the input and the output which will depend mainly on the JACK buffer size that is being used.
There are three main settings which affect how monitoring is performed. The first is Edit > Preferences > Audio > Record monitoring handled by
. There are two or three options here, depending on the capabilities of your hardware:
The other two settings are more complex; one is ‘Tape machine mode’, in the same dialogue, and the other is ‘Monitoring automatically follows transport state (‘auto-input’)’ setting in Session Properties.
Monitoring is also somewhat dependent on the state of the track's record-enable button, the session record enable button, and whether or not the transport is rolling.
If Ardour is set to ‘external monitoring’, the explanation of Ardour's monitoring behaviour is simple: it does not do any. In the other two modes, things are more complex.
This section describes what happens when Ardour is not set to tape-machine mode.
Consider first the case when a track is record-enabled. In this situation, it will always monitor the live input unless the session is not record-enabled, auto-input is enabled, and the transport is rolling.
When a track is not record-enabled, the track will play back its contents from disc unless the transport is stopped and auto-input is enabled. In this case, the track monitors its live input.
In tape-machine mode, things are slightly simpler; when a track is record-enabled, its behaviour is the same as in non-tape-machine mode: it will always monitor the live input unless the session is not record-enabled, auto-input is enabled, and the transport is rolling.
When a track is not record-enabled, however, the track will always just play back its contents from disk; the live input will never be monitored.
"Recording mode" is a per-track property (audio tracks only) that affects the way that recording new material on top of existing material ("overdubbing") operates in that track. Ardour offers 3 different recording modes:
To change the recording mode of a track, right click on its track header to get the context menu:
Below is a screenshot that shows the subtly different results of an overdub in normal and non-layered mode. Both tracks were created using identical audio data.
The upper track is in normal mode, and the overdub (the middle shorter region, selected) has created a new region which if you look carefully has been layered on top of the the existing (longer) region.
The lower track is in non-layered mode, and rather than overlay the overdub region, it split the existing region and inserted the new one in between.
Non-layered mode is extremely useful when combined with push/pull trimming.
The default connections created by Ardour are as follows:
this configuration is sufficient to do basic tracking and playback of many sessions without any adjustment by the user. If you are using Ardour and start to change these connections, be certain that you have a good reason to do so - it is generally not necessary and often leads to problems.
However, for many workflows during mixing, more complicated signal routing is required. Ardour offers many possibilties for connecting things in the way you may need or want them.
Using auxes involves two distinct components of Ardour's mixer. One is an aux bus, which is just a normal Ardour bus that has no inputs arriving from the outside world. The other is an aux send, which is a secondary signal routing out of a track (or bus) that delivers the signal it receives to a separate aux bus. The output of the aux bus may be delivered to entirely separate hardware outputs (e.g. for headphone or monitor wedge mixes), or returned to the main mix after some common FX are applied to the signal on the bus.
Common uses for aux sends include:
It may be useful to compare and contrast the use of aux sends with subgrouping.
Choose Session > Add New Track or Bus
. In the New Track & Bus dialog, select "Busses" in the Track/Bus selector at the upper right.
Context-click on the processor box for the track you want to send to the bus, and choose New Aux Send
. From the submenu, choose the bus you want to send to. A send will be added (and will be visible in the processor box). Note that the submenu may be empty if there are no aux busses.
Depending on whether you context-click above or below the fader in the processor box, the new aux send can be placed before or after the fader in the channel strip. Post-fader aux sends are typically used when using an aux for shared signal processing (FX), so that the adjusting the main fader on a channel alters how much signal goes to the FX bus. Aux sends are placed pre-fader so that the level sent to the bus is controlled only by the send, not the main fader - this is typical when constructing headphone/monitor wedge mixes.
You can add aux sends to all members of a group and connect them to a new aux bus with a single click. After creating the track group (and adding tracks to it), context-click on the group tab and choose either Add New Aux Bus (pre-fader)
or Add New Aux Bus (post-fader)
. A new aux bus will be created, and a new aux send added to every member of the track group that connects to the new aux bus.
You can alter the amount of the signal received by a send that it delivers to the bus it connects to. There are two approaches to this:
Every send has a small horizontal fader that can be adjusted in the usual way. It is not very big and so this can be a little unsatisfactory if you want very fine control over the send level.
Double-clicking on the send in the processor box will allow you to use the "big" fader of the mixer strip to control the send. The visual appearance of the mixer strip will change to reflect this. Double-click the send again to revert back to normal function for the strip.
Pressing the button marked "Aux Sends" on a aux bus will alter the channel strip for every track/bus that feeds the aux bus. Many aspects of the strip will become insensitive and/or change their visual appearance. More importantly, the main fader of the affected channel strips will now control the send level and not the track gain. This gives a larger, more configurable control to alter the level. Click the "Aux Sends" button of the aux bus again to revert the channel strips to their normal use.
Clicking on the small "led" in the send display in the processor box of the channel strip will enable/disable the send. When disabled, only silence will be delivered by this track to the aux bus. When enabled, the signal arriving at the send will be delivered to the aux bus.
In the current version of Ardour, sends share the same panning as the main outs of a track. This is scheduled to change in the future.
Auxes and Subgroups do share a common concept - they both provide a way for 1 or more tracks (or busses) to send their signal to a single bus so that common signal processing can be applied to the mix of their signals.
An aux send leaves the existing signal routing to the main mix inplace, and is typically used to create a separate mix to send to (for example) monitors or headphones (for performer monitor mixes).
Subgroups remove the original signal routing to the main mix, but create a new one that delivers the output of the subgroup bus to the main mix instead.
The following two diagrams compares the signal flow when using subgroups and when using aux sends:
An external send is a way to send the signal from within a channel strip to an external application or piece of hardware. By itself, an external send has no effect whatsoever on the audio signals within Ardour - it is a one-way signal routing that leaves all existing signal processing just as it was.
Most people will not have much use for this, but it can be useful if you want to experiment with external applications or hardware signal processing applications.
Context-click on the processor box in a channel strip and choose Add new External Send
. A dialog will appear containing the standard Ardour patchbay to allow you to connect the send to the desired destination. After you are done (or immediately, if you don't know where you want to send to at this point), close the window.
The send will appear in the processor box. Depending on whether you context-clicked above or below the fader, it will either before or after the fader.
You can remove an external send in several ways:
Cut
or Delete
Just below the send in the processor box is a small fader that can be used like all other faders in Ardour to control the gain applied to the signal delivered by the send. Drag it to alter the level, Shift-click to restore to unity (0dB) gain.
Click the small "led" in the send display within the processor box to turn it on and off. When turned off, silence will be delivered to the send. When turned on, the signal within the channel strip will be delivered.
Double-clicking or Edit-clicking on the send in the processor box will redisplay the patchbay dialog that allows you full control over the routing of the send.
Subgrouping (sometimes known as "Grouping" or "Audio Grouping") is a way to collect related signals together, before they progress to the main mix.
blah blah blah
Context-click on the relevant group tab, and choose Add new subgroup bus
. A new bus will be created and every member of the track group will have its outputs disconnected from other destinations and then connected to the new bus inputs. The bus outputs will feed the master bus unless you have selected manual connections for the session. Ths bus will be named based on the track group name,
Put them in a Track Group first, then follow the steps above.
The steps taken by the options above can all be done by hand if your needs are too specialized:
Context click on the track group tab, and select Remove subgroup bus
. You can also simply delete the bus itself. Note that this operation will not restore signal routing to the way it was before the addition of the subgroup bus - tracks that had been subgrouped will be left with their main outputs disconncted; you will need to manually connect them again in order to be able to hear the signal from their main outputs.
The patchbay is the main way to make connections to, from and within Ardour's mixer.
Notable exceptions are aux sends and connections to the monitor bus (if you are using one): these cannot be controlled from a patchbay, and are basically not under manual control at all.
The patchbay presents two groups of ports; one set of sources (which produce data), and one of destinations (which consume data). Depending on the relative number of each, the sources will be placed on the left or the top of the dialogue, and the destinations on the right or the bottom. Thus, in general, signal flow is from top or left to right or bottom.
Both sources and destinations are divided up into groups, with each group being given a tab. Click on the appropriate tab to show the ports in each group (‘Ardour Busses’, ‘Ardour Tracks’ and so on).
The groups that are used are as follows:
The main body of the patchbay is a grid. Within this grid, green dots represent connections, and you can click in any of the squares to make or break connections. You can also click and drag to draw a line of connections, which is sometimes useful for making many connections at once.
In the example patchbay shown above we can note various things. We are using the ‘Ardour Tracks’ sources tab, so we see the output ports of the three tracks in our session: Fred, Jim and Foo. Our destinations are from the ‘Ardour Busses’ tab, so we have the inputs of a session bus, Sheila, and the inputs of the master bus. Fred and Jim have stereo outputs, so have L and R connections. Foo is a MIDI track, so it only has one connection, and its squares in the grid are coloured light grey to indicate that no connection can be made between Foo (a MIDI output) and our busses (which are all audio-input).
The green dots in the example show that both Foo and Bar are connected to the master bus, left to left and right to right.
Slightly different versions of the patchbay are available from different places in Ardour. For a global view of all JACK audio connections, use the Audio Patchbay which can be opened from the Window menu, or by using Alt+P. A corresponding MIDI Connection Manager can be opened using Shift+Alt+P.
There is also a patchbay available when connecting individual tracks; clicking on the input or output buttons of a mixer strip will open a connection manager which has the corresponding track input or output as the only destination or source, with all other ports available for connection to it.
Context-clicking on a port name in the connection manager opens a menu which provides a few handy options:
This chapter covers the following:
Editing operations in a DAW like Ardour can be broken down according to how many points on the timeline are required to carry the operation out. Splitting a region for example, requires just one position on the timeline (the one where the split will happen). Cutting out a time range requires two positions, one for the start of the cut and one for the end.
In Ardour the edit point
is the location where most single-point editing operations take place. It can be defined as one of the 3 possibilities:
The default edit point is the location of the pointer.
There are 2 keybindings available to cycle through the edit point options; the most common workflow tends to involve just switching back and forth between edit point = playhead and edit point = mouse (default `). Another binding ^ will cycle through all three choices (including the selected marker). You can also switch the edit point using a combo-selector just right of the snap/grid unit selector.
In addition to explicit range selections made with the Range tool, Ardour also provides an implicit edit range. This edit range can be very useful if you want to edit by ear, rather than by mouse. If there is no regions selected, and no explicit range selection, then any editing operations that require a range (such as separate) will use the implicit edit range.
The implicit range is the area between the current edit point and some other position. In most cases it is either:
Which of these is true depends on which edit point setting you are using (Mouse, Playhead or Marker) and whether
there is a selected marker at that time.
Many editing operations in Ardour require you to first select one or more regions that you want to change in some way. You can select a single region, or multiple regions, including regions in different tracks. When you select a region, it will appear in a darker color than unselected regions.
Note that if a track is a member of a group that is active and has the "Select" property enabled, then Ardour will attempt to match whatever selections you make in one track across every other track of the group. See Selection Equivalence for more information on precisely how selections will be propagated to other tracks.
Please read Region & Track Selection for more information on how selecting regions and selecting tracks interact.
Click on the region. If smart editing is enabled, click in the lower half of the region.
click the region. If smart editing is enabled, click in the lower half of the region.
Note that click simply toggles the selected status of an object, so it can be used to select unselected regions too
Do one of the following:
click or Shift-click the regions you wish to select.
Click the name of the region in the region list. Note that this will do nothing for whole-file regions, since they do not exist anywhere in a playlist or track.
Context-click the track, and in the context menu, navigate to Select > Select All In Track
See the Track Context Menu for more information on other per-track selection operations that are available.
This section explains the rules used to decide what regions are affected by editing operations. You don't really have to understand them - hopefully things will Just Work - but it may be useful to understand the rules some of the time.
Ardour divides operations up into those that operate on a single point in time (Split being the obvious example) and those that operate on two points (which can also be considered to be a range of sorts), Separate is a good example of this.
Most operations will operate on the currently selected region(s), but if no regions are selected, the region that the mouse is in will be used instead. Single-point operations will generally pick a set of regions to use based on the following rules:
The rationale here for the two different rules is that the mouse edit point is special in that its position indicates both a time and a track; the other edit points (Playhead,Marker) indicates only a time.
Ardour's editor utilizes a grid to assist in the placement of regions on the timeline, or with editing functions that need to happen on a specific time. With these buttons you can choose if you want the cursor and various objects to snap to this grid, and how you want the snapping to act. You can also modify what units the grid measures as well to fit your needs.
With grid mode set to "No Grid", all kind of objects can be moved freely along the timeline. "Grid" will restrict the positions to certain grid units (i.e. beats), "Magnetic" will snap to grid units, but it is still possible to move objects to other places.
By default a region's beginning will snap to points along the timeline, but you can change this behaviour by setting a sync point in the region. Select the region(s) and press v . This will set the sync point to your edit point.
The selector next to the grid mode selector defines the size of the grid elements. The most useful settings are "Bars" and "Beats", but you can set your grid to several different units:
To use Region starts/ends/syncs/bounds as snap choices, you must have either (a) NO tracks selected, which means that Ardour will snap to regions on any track, or (b) several tracks selected, and Ardour will only snap to regions on those selected tracks. If you are moving items on a track, and only the current track is selected, then you will only be able to snap to other regions on the same track. This means that enabling Edit > Preferences > Editor > Link Selections of Regions and Tracks
will make the "Region" grid units unusable. Avoid the use of this option if you are going to use any of the Region grid units.
Ardour supports three different types of snapping to the grid:
This section covers a set of region editing operations that you will likely use again and again while working on a session. Depending on your working habits (and experience of other DAWs) some of them will be critical while others may be more rarely used.
All of these operations can be carried out from the keyboard. Default keybindings can be found in the list. Equivalent operations can be done with mouse in most cases.
You may want to review your understanding of the edit point/range and which regions will be affected by region operations.
Changing the length of a region is a very common editing operation, often known as "trimming". There are several ways to accomplish this with Ardour, and some very useful specialized trimming operations.
In object mode, move the pointer near the beginning or end of the region. The cursor will change to indicate that trimming is possible, and you then Left-click-and-drag the edge of the region.
Trimming will obey Snap settings.
Left-click in the colored bar at the bottom of a region. If you are nearer to the start of a region, this will trim the start time to the position of the pointer. If you are nearer to the end of a region, it will trim the end time.
There are several commands for region trimming. Some use the edit point to determine where to trim to. Some are not bound to any keys by default (but could be via the Keybindings Editor).
Sometimes you just want to extend the start or end of region so that it reaches the end or start of an adjacent region. There is now an operation accessible from the region context menu, under Edit >Trim > Trim to Next or Edit > Trim > Trim to Previous. This will extend the selected regions so they directly adjoin their neighbours, unless their source files are not long enough, in which case they will be extended to the maximum possible. Trim to Next will extend the end of the selected regions to the start of the next region; Trim to Previous will extend the start of the selected regions to the end of the previous region.
These are not bound to any keys by default, but could be via the Keybindings Editor. They can also be sent via OSC or other control protocols.
Normally when you trim regions by dragging with the mouse, it affects only the selected regions. Their lengths are directly affected by the trim operation, but nothing else is. Sometimes though, you'd like to trim a region that directly adjoins another, and keep this relationship the same - you're not trying to make one of the regions extend over the other - you'd like the junction to move in one direction or the other as part of the trim. This requires trimming both regions on either side of the junction, in opposite directions. Push/Pull trim, activated by pressing shift key before starting the drag, will do just that. Here's a few pictures to show the difference in the results of a normal trim and push/pull trim. First, the initial situation:
Now lets look at what happens after we trim the right hand (selected) region by dragging its starting position earlier:
You can see that it now overlaps the earlier region and a cross fade has been created between them.
Lets look now at what happens if we do the same trim, but using shift-drag to turn it into a push-pull trim instead:
There is no overlap, and the end of the earlier region has been moved along with the start of the later region, so that they still directly adjoin each other.
To copy a region, make sure you are in object mouse mode. Move the mouse pointer into the region Left-click and drag. A new region is created and will follow the mouse pointer as it moves. See "moving Regions" for more details on moving the copied region around.
To copy multiple regions, select them before copying. Then click+drag on one of the selected regions. All the regions will be copied and as they move, the will keep their positions relative to each other.
If you want to copy region(s) to other track(s) but keep the copies at the exact position on the timeline as the originals, simply use Middle-click-drag instead.
Moving and copying regions may be affected by the current edit mode. Ardour has the following edit modes:
The edit mode is set via a combo selector at the left of the editing toolbar.
If "Snap To Grid" is enabled, then regions can only moved so that they align with locations determined by the current snap settings (beats, or seconds, or other region boundaries, etc). See Snapping To The Grid.
To move or copy a region, make sure you are in object mode. If you are using "smart mode", the pointer must be in the lower half of the region to begin a move or copy operation.
Move the pointer into the region, use Left-click-drag. The region will follow the pointer as you move it around. By default, the region can move freely along the timeline.
To move a region from one track to another, simply start a move as described above, but move the pointer into the desired track. The region will follow the pointer. Note that if you have other kinds of "tracks" visible, the region will remain where it is as the pointer moves across them, and will then jump to the new track. This serves as a visual reminder that you cannot drag an audio region into an automation track or a bus, for example.
To move multiple regions, select them before moving. Then click+drag on one of the selected regions. All the regions will move, keeping their positions relative to each other.
Sometimes, you want to move a region to another track, but keeping its position along the timeline exactly the same. To do this, use Middle-click-drag instead.
Aligning regions (sometimes called "spotting") means moving one or more regions based on a defined location, which in Ardour is always the edit point. An alignment operation moves the region(s) so that some part of the region is positioned at the edit point. Available alignment commands include:
A final new editing feature is an operation in the context menu of a range labelled "Separate Regions Under Range". This will split any selected regions that are covered by the range at both ends of the range (or just one, if the range only covers part of the region). This makes it easy to generate regions that correspond precisely to a range.
You may have a situation where you've positioned one region over another, and you just want to cut the lower region so that it directly adjoins both ends of the overlapping one, with no overlaps. To do this, select the upper region, then choose Edit > Separate > Separate Under
. This will split the lower region so that it no longer overlaps the upper region at all. Here is an example where we start with a short region placed so that it overlaps a longer region:
Now we perform the separate under edit, and the lower region has been split in two, with boundaries exactly positioned at the edges of the upper region:
If the lower region is only covered at one end by the upper region, then this operation is equivalent to Trim to Next or Trim to Previous, depending on which end is covered.
Selecting Edit > Strip Silence
from the region context menu will detect silence (based on a user-chosen threshold in dBFS), split a region based on the boundaries of the silent segments, and remove the silence. You can also specify a minimum length for silence, which can useful when editing very percussive material and just needing to automatically trim the ends of a region. The dialog looks like this:
The edit will be carried out on all selected regions, allowing batch processing. You can also see in the screenshot how the main editor window is used to show silent segments and report the number and durations of the shortest segments.
Ardour's handling of MIDI editing is a bit different from most other DAWs and MIDI sequencers.
MIDI > Unlink from other copies
from the region context menu, after which the selected region(s) will have their own copies of only the data that they visually display on screen. You will not be able to trim the region back its "original" length after an Unlink operation, and the operation cannot be undone.
Ardour's MIDI editing is based on a few basic principles:
Currently MIDI editing is primarily restricted to note data. Other kinds of data (controller events, sysex data) are present and can be added and deleted, but not actually edited.
MIDI, just like audio, exists in "regions". MIDI regions behave like audio regions: they can be moved, trimmed, copied, (cloned) or deleted. Ardour allows either editing MIDI (or audio) regions, or MIDI region content (the notes), but never both at the same time. The "e" key (by default) toggles between "region level" and "note level" editing, as will double-clicking on a MIDI region.
One very important thing to note: editing note information in Ardour 3.0 occurs in only a single region. There is no way currently to edit in note data for multiple regions at the same time, so for example you cannot select notes in several regions and then delete them all, nor can you copy-n-paste notes from one region to another. You can, of course, copy and paste the region(s), just as with audio.
To create a new MIDI track, choose Session > Add Track/Bus
. In the Add Track/Bus dialog, pick "MIDI Track" from the combo selector at the upper right.
You may decide to use a track template if you have one. You may also know the instrument (a plugin that will generate audio in response to receiving MIDI) that you want to use in the track. The Instrument selector will show you a list of all plugins that you have which accept MIDI input and generate audio output.
Although recording MIDI is a common way to create new MIDI regions, it is often desirable to do so as part of editing/arranging.
To create a new MIDI region, simply Left-click in a MIDI track. A region will be created that is one bar long. You can trim it to any length you want.
Once you have created a region, you will probably want to Add some notes to it.
In general, you will probably do most MIDI editing with the mouse in object mode. This allows you to select notes, copy, move or delete them and alter their properties (see below). But at some point, you're going to want to add notes to a MIDI region using the mouse, and if they are to be anything other than a fixed length, this means dragging with the mouse. Since this would normally be a selection operation if the mouse is in object mode, there needs to be some way for you to tell Ardour that you are trying to "draw" new notes within a MIDI region. Ardour provides two ways do this. One is to leave the mouse in object mode and press the control key while dragging (on OS X, use the Command key). The other, useful if you plan to enter a lot of notes for a while, is to switch the mouse into "Draw Notes" mode, which will now interpret any drags and clicks as requests to add a new note. For obvious reasons, you cannot use "Draw Notes" mode while using region-level editing.
So, to summarize:
Note that is also a a step entry editor allowing you to enter notes from a virtual keyboard and lots more besides.
You can view all the details about a selected note by context-clicking on it. The dialog that pops up will also allow you to modify all the properties of the selected note(s). You can modify individual properties more efficiently using the techniques described below.
Right arrow and Left arrow move the selected note(s) early and later in time.
The up arrow key increases the pitch of the selected notes. The down arrow key reduces the pitch of the selected notes. If any of the selected notes are already at the maximum or minimum value, no changes will be made to any of the notes, to preserve relative pitches. You can override this with the Alt/Option key. The default shift distance is one semitone. Use the Shift modifier to alter this to one octave.
Up arrow increases the velocity of the selected notes. The Down arrowreduces the velocity of the selected notes. If any of the selected notes are already at the maximum or minumum value, no changes will be made to any of the notes, to preserve relative velocities. You can override this with the Alt/Option key.
You can also press v to popup a dialog that will allow you to set the absolute velocity value of each selected note.
Finally, the scroll wheel will also adjust notes in the same way as the arrow keys (note that like the arrow keys it only affects selected notes, not the note the pointer is over).
Press the "c" key to bring up a dialog that allow you to see and alter the MIDI channel of the selected notes. If the selected notes use different channels, they will all be forced to the newly selected channel.
Comma (',') will alter the start time of the note. Period ('.') will alter the end time of the note. Both keys will by default make the note longer (either by moving the start earlier or the end later). For the opposite effect, use Ctrl-comma/Ctrl-period (or Cmd-command/Cmd-period on OS X). The note will be altered by the current grid setting. To change the start/end positions by 1/128th of a beat, use the Alt/Option key along with either Comma, Ctrl-Comma, etc.
The q key will quantize the selected notes using the current quantize settings. If the quantize settings have not been set for this session yet, the quantize dialog will appear. Alt/Option-q will display the quantize dialog to allow you to reset the quantize settings and then quantizes the selected notes. The default quantize settings are: quantize note starts to the current grid setting, no swing, no threshold, full strength.
Every MIDI note consists of two messages, a NoteOn and a NoteOff message. Each one has a note number and a channel (also a velocity, but that isn't relevant here). The MIDI standard stresses that it is invalid to send a second NoteOn for the same note number on the same channel before a NoteOff for the first NoteOn. It is more or less impossible to do this with a physical MIDI controller such as a keyboard, but remarkably easy to trigger when editing in a DAW - simply overlapping two instances of the same note will do it.
Ardour offers many options for how to deal with instances where you overlap two instances of the same note. Which one to use is a per-session property and can be modified from Session > Properties > Misc > MIDI Options
Changing the option in use will not retroactively make changes - it will only affect new note overlaps created while the option remains chosen.
Ardour does not check for note overlaps across tracks or even across regions. If you create these, it is your responsibility to deal with the consequences.
While in note edit mode, selected notes can be cut using x, copied with c and deleted with Delete, just as regions can. Once cut or copied, they can be pasted at the edit point using v.
Tab selects the next note. Tab selects the previous note. Shift-Tab or Tab adds the next/previous note to the selection.
While in mouse object mode, you can click on a note to select it. Once you've selected one note, shift-click on another to select all notes between them. To add or remove a note to/fromt the selection, use click. You can also click and drag outside of a note to "rubberband select" a series of notes.
Three different selection operations are possible if you switch to mouse range mode:
if Edit > Preferences > MIDI > Sound MIDI notes as they are selected
is enabled, Ardour will send a pair of NoteOn/NoteOff messages through the track, which will typically allow you to hear each note as it is selected.
Accessed via the "q" key, the dialog includes:
Sometimes you'll want to edit MIDI data directly from a connected MIDI device like a music keyboard or pad controller. Sometimes you'll want to use the mouse. Sometimes you'll want the fine-grain control, precision and speed of entry that comes from using a custom note entry dialog.
The step entry dialog is accessed via a right click context menu on the rec-enable button (its there because step entry is related to recording MIDI data. You cannot simultaneously step edit and record MIDI via the track's MIDI port.
The dialog (quite closely modelled on Logic's) contains:
More or less all actions in the step entry dialog can be driven directly from the keyboard, so you do not need to keep moving back and forth from keyboard to mouse to do complex data insertion.
The step entry dialog is accessed via a right click context menu on the rec-enable button (its there because step entry is related to recording MIDI data. You cannot simultaneously step edit and record MIDI via the track's MIDI port.
A ‘patch change’ is Ardour's description for a combination of MIDI program change and bank select messages, that (typically) instruct a synthesizer or sampler to select a different sound to use on a particular channel.
Patch changes are shown within MIDI regions as small rectangles or "flags", as shown below:
Ensure that the edit point is located where you want the patch change to be (within an existing MIDI region). Context click, and from the MIDI region's context menu, select MIDI > Insert Patch Change
. A dialog will appear allowing you to set the bank and program values.
Context-clicking on a patch change will bring up the same dialog that was used to create it, allowing you to modify the program and/or bank numbers.
You can also use the mousewheel: regular scroll on the patch change will alter the program number, scroll will modify the bank number.
Just Left-click-and-drag on the patch change to move it around.
Put the mouse pointer into the rectangular area, and press Delete or use the delete mouse button operation. This will remove the patch change (the operation can be undone).
This chapter covers the following:
This chapter covers the following:
Each track and bus has two buttons which have important implications for signal flow: mute and solo. The behaviour of these buttons is configurable in Ardour, so that they can behave in one of a few different ways to suit different studio set-ups.
If you are using Ardour without a monitor bus, there is only one way in which mute and solo will work. Without a monitor bus:
For setups with a monitor bus, you have more options, mostly governed by the setting of the ‘Solo controls are Listen controls’ option in the Solo / mute tab of ‘Ardour Preferences’.
With ‘Solo controls are Listen controls’ unticked, behaviour is almost exactly the same as the situation without a monitor bus. Mute and solo behave the same, and the monitor bus is fed from the master bus, so it sees the same thing.
With ‘Solo controls are Listen controls’ ticked, things change; the master and monitor busses behave differently. In this mode, solo controls are more properly called ‘listen’ controls, and Ardour's solo buttons will change their legend from ‘S’ to either ‘A’ or ‘P’ (we'll come to that shortly) to reflect this.
Now, without any mute or listen, the monitor bus remains fed by the master bus. Also:
There are further options with when solo controls are listen controls: the part of the track or bus from which the listen signal is obtained can be configured. Underneath the ‘Solo controls are Listen controls’ option in ‘Ardour Preferences’ is an option for ‘listen position’, which can be either After-Fade Listen (AFL) or Pre-Fade Listen (PFL). AFL, as its name suggests, obtains its signal from some point after the track or bus’ fader, and PFL from before it. The precise point to get the signal from can further be configured using the ‘PFL signals come from’ and ‘AFL signals come from’ options.
The solo-mute arrangement with a monitor bus is shown below:
Here we have a number of tracks or busses (in orange). Each one has an output which feeds the master bus. In addition, each has PFL and AFL outputs; we have a choice of which to use. PFL/AFL from each track or bus are mixed. Then, whenever anything is set to AFL/PFL, the monitor out becomes just those AFL/PFL feeds; the rest of the time, the monitor out is fed from the master bus.
In this scheme Solo has no effect other than to mute other non-soloed tracks; with solo (rather then listen), the monitor out is fed from the master bus.
There are a few other configuration options related to the behaviour of solo. They can be found in the Solo / Mute tab of Ardour Preferences dialogue.
When using ‘solo-in-place’ (SiP), in other words when soloed tracks are being listened to on the master bus, this fader specifies the gain that will be applied to other tracks in order to mute them. Setting this level to -∞dB will mean that other tracks will not be heard at all; setting to some higher value less than 0dB means that other non-soloed tracks will be heard, just reduced in volume compared to the soloed tracks. Using a value larger than -∞dB is sometimes called "Solo-In-Front" by other DAWs, because the listener has the sense that soloed material is "in front" of other material. In Ardour, this is not a distinct mode, but instead the mute cut control offers any level of "in-front-ness" that you might want to use.
If this is enabled, only one track or bus will ever be soloed at once; soloing track B while track A is currently soloed will un-solo track A before soloing track B.
If this is enabled, the mute button of tracks and busses will be drawn outlined to indicate that the track or bus is muted because something else is soloed. This is enabled by default, and we recommend that you leave it that way unless you are extremely comfortable with Ardour's mute/solo behaviour
If this is enabled, a track or bus that is both soloed and muted will behave as if it is soloed.
These options dictate whether muting the track will affect various routes out of the track; through the sends, through the control outputs (to the monitor bus) and to the main outputs.
This chapter covers the following:
Ardour can be synchronized with a variety of external devices and other software.
This chapter covers the following:
Although (almost) every key binding ("shortcut") in Ardour can be redefined, the program comes with a rich set of default bindings. The default bindings are "mnemonic" in that they focus on trying use to the letter that starts the name of an operation as the binding for that operation. This is not always possible, but it acts as a general rule. This does not necessarily lead to the best ergonomics for rapid editing - there are alternative binding sets for that - but it does make it simpler for newcomers to remember some of the most common bindings (e.g. "s" for "Split", "p" for "position playhead").
The conventions for using modifier keys (Control, Alt, Command etc.) differ from platform to platform, so we provide different bindings for each platform.
A printable cheat-sheet with these bindings is available for downloading.
Most edit functions operate on a single "Edit Point". The edit point can be any of: playhead (default), the mouse or an active marker. The choice of Edit Point (by default) also sets the Zoom Focus.
Align operations move regions so that their start/end/sync point is at the edit point. "Relative" operations
just align the first region and moves other selected regions to maintain relative positioning.
There are only a few functions that refer to an "Edit Range". The current edit range is defined using combinations of the possible edit points: Playhead, Marker or Mouse.
A printable cheat sheet for these bindings is available for download.
Most edit functions operate on a single "Edit Point". The edit point can be any of: playhead (default), the mouse or an active marker. The choice of Edit Point (by default) also sets the Zoom Focus.
Align operations move regions so that their start/end/sync point is at the edit point. "Relative" operations
just align the first region and moves other selected regions to maintain relative positioning.
There are only a few functions that refer to an "Edit Range". The current edit range is defined using combinations of the possible edit points: Playhead, Marker or Mouse.
Ardour splits preferences into two categories:
There are two separate (but similarly designed) dialogs, one under Edit > Preferences
for the first category of preferences and Session > Properties
for the second. Each window uses tabs to group a set of preferences
This chapter covers the following:
Ardour is probably one of the most OSC-controllable audio applications around, but as with all OSC-controllable apps, you can't do much without knowing what messages can be sent. This document describes the various categories of messages that Ardour understands. It is subject to change, particular the "Actions" part below, since this relates to the GTK GUI for Ardour rather than the backend.
OSC support is not enabled by default, but can be turned on via Edit > Preferences > User Interaction
. Once enabled, Ardour will listen on port 3819 by default. This port number can be changed by editing $ARDOUR_CONFIG and adding this line within the <Config> section:
<Option name="osc-port" value="YourChoiceHere"/>
For each of the following, [remote_id] is the remote_id or the track
Every single menu item in Ardour's GUI is accessible via OSC. There is
a single common syntax to trigger the action as if it was selected
with the mouse (or keyboard):
/ardour/access_action [action_name]
The list below shows all available values of [action-name] as of
mid-March 2010 for Ardour 2.X. You can get the current list at any
time by running Ardour with the -b flag.
This will walk you through the process of configuring and using a MIDI control surface with Ardour that uses the Mackie Control protocol or the Logic Control protocol. Devices that have been tested and are known to work include the SSL Nucleus, Mackie Control Pro (plus extenders), Behringer devices in Mackie/Logic mode, and Steinberg CMC devices.
See the bottom of this page for links to device-specific information.
Each interface model probably has some necessary setup so it's in the state Ardour expects to identify it. See your control surface page to see what's necessary. If there is no page about your control surface, create one!
Please see the platform specific pages for:
Navigate to Edit > Preferences > User Interaction
. Double-click on "Mackie Control" to see the setup dialog:
From the selector at the top, choose the type of device you are using. (What do do if your device is not listed).
Once your setup is complete, click "OK" to close the dialog. Now click on the enable checkbox for "Mackie Control".
If you are using a device that uses ipMIDI such as the SSL Nucleus, no MIDI port connections are required - Ardour and your control surface will be able to talk to each other automatically.
If you are using a device that uses "normal" MIDI (via a standard MIDI or USB cable), you need to connect Ardour's Mackie Control ports to the MIDI ports corresponding to the control surface.
Now that you have both control surface and Ardour MIDI ports available, cross connect the control surface MIDI ports and the two mackie ports.
Once you have made these connections once, Ardour will recreate them when it is started in the future (as long as you leave Mackie Control enabled as a control protocol).
Every possible Mackie Control button can be bound to any action present in Ardour's GUI.
Please check your control surface page for suggestions.
No special setup is required.
If you are using a device like the SSL Nucleus that uses ipMIDI, no set up is required other than to ensure that your control surface and computer are both connected to the same network.
Before attempting to use a Mackie Control device that communicates via a standard MIDI cable or a USB cable, you should ensure that your Linux MIDI environment is setup.
Ardour 2.X supported MIDI learning for more or less any control. This was a nice feature that quite a few other DAWs have now provided, but it didn't allow Ardour to work "out of the box" with sensible defaults for existing commercial MIDI controllers. In Ardour 3 and later versions, we have augmented the MIDI learn feature with the ability to load a MIDI binding map for a given controller, which can set up an arbitrary number of physical controls with anything inside Ardour that can be controlled. At this time, these binding maps need to be created with a text editor, but we currently have presets for
MIDI binding maps are accessible by double clicking on the "Generic MIDI" line in the Control Surfaces tab of the Ardour preferences dialog. Ardour will retain your chosen map after you choose one.
The information below describes in great detail how to create a new MIDI binding map.
Since the beginning of time (well, sometime early in the 2.X series), Ardour has had the concept of identifying each track and bus with a remote control ID. This ID uniquely identifies a track or bus so that when messages arrive from elsewhere (MIDI or OSC), we can determine which track or bus they are intended to control. Ardour has a number of ways of assigning remote control IDs, but they don't really matter very much when creating MIDI binding maps, so we won't discuss that here. You just need to know that there is a "first track" and its remote control ID is 1, and so on.
MIDI bindings are stored in files with the suffix ".map" attached to their name. The minimal content looks like this:
<?xml version="1.0" encoding="UTF-8"?> <ArdourMIDIBindings version="1.0.0" name="The name of this set of bindings"> </ArdourMIDIBindings>
So, to start, create a file with that as the initial contents.
This is the most complex part of the job, but its still not very hard. You need to connect the control surface to an application that will show you the information that the device sends each time you modify a knob, slider, button etc. There are a variety of such applications (notably gmidimon
and kmidimon
, but you can actually use Ardour for this if you want. Start Ardour in a terminal window, connect MIDI ports up, and in the Preferences window, enable "Trace Input" on the relevant MIDI port. A full trace of the MIDI data received will show up in the terminal window. (Note: in Ardour3, you get a dedicated, custom dialog for this kind of tracing)
There are two basic kinds of bindings you can make between a MIDI message and something inside Ardour. The first is a binding to a specific parameter of a track or bus. The second is a binding to a function that will change Ardour's state in some way.
A track/bus binding has one of two basic structures
<Binding msg specification uri="... control address ..."/> <Binding msg specification function="... function name ..."/>
You can create a binding for either 3 types of channel messages, or for a system exclusive ("sysex") message. A channel message specification looks like this:
<Binding channel="1" ctl="13" ....
This defines a binding for a MIDI Continuous Controller message involving controller 13, arriving on channel 1. There are 16 MIDI channels, numbered 1 to 16. Where the example above says ctl
, you can alternatively use note
(to create binding for a Note On message) or pgm
(to create a binding for a Program Change message).
You can also bind sysex messages:
<Binding sysex="f0 0 0 e 9 0 5b f7" .... <Binding sysex="f0 7f 0 6 7 f7" ....
The string after the sysex=
part is the sequence of MIDI bytes, as hexadecimal values, that make up the sysex message.
Finally, you can bind a totally arbitrary MIDI message:
<Binding msg="f0 0 0 e 9 0 5b f7" .... <Binding msg="80 60 40" ....
The string after the msg=
part is the sequence of MIDI bytes, as hexadecimal values, that make up the message you want to bind. Using this is slightly less efficient than the other variants shown above, but is useful for some oddly designed control devices.
A control address defines what the binding will actually control. There are quite a few different things that can be specified here:
Each of the specifications needs an address, which takes various forms too. For track-level controls (solo/gain/mute/recenable), the address is one the following:
For send/insert/plugin controls, the address consists of a track/bus address (as just described) followed by a number identifying the plugin/send (starting from 1). For plugin parameters, there is an additional third component: a number identifying the plugin parameter number (starting from 1).
One additional feature: for solo and mute bindings, you can also add momentary="yes"
after the control address. This is useful primarily for NoteOn bindings - when Ardour gets the NoteOn it will solo or mute the targetted track or bus, but then when a NoteOff arrives, it will un-solo or un-mute it.
Rather than binding to a specific track/bus control, it may be useful to have a MIDI controller able to alter some part of Ardour's state. A binding definition that does this looks like this:
<Binding channel="1" note="13" function="transport-roll"/>
In this case, a NoteOn message for note number 13 (on channel 1) will start the transport rolling. The following function names are available:
transport-stop
transport-roll
transport-zero
transport-start
transport-end
loop-toggle
rec-enable
rec-disable
next-bank
prev-bank
You can also bind a sysex or arbitrary message to any of the items that occur in Ardour's main menu (and its submenus). The best place to look for the (long) list of how to address each item is in your keybindings file, which will contain lines that look like this:
(gtk_accel_path "<Actions>/Editor/temporal-zoom-in" "equal")
To create a binding between an arbitrary MIDI message (we'll use a note-off on channel 1 of MIDI note 60 (hex) with release velocity 40 (hex)), the binding file would contain:
<Binding msg="80 60 40" action="Editor/temporal-zoom-in"/>
The general rule, when taken an item from the keybindings file and using it in a MIDI binding is to simply strip the <Action>
prefix of the second field in the keybinding definition.
Because many modern control surfaces offer per-track/bus controls for far fewer tracks & busses than many users want to control, Ardour offers the relatively common place concept of "banks". Banks to allow you to relatively easily control any number of tracks and/or busses regardless of how many faders/knobs etc. your control surface has. To use banking, the control addresses must be specified using the bank relative format mentioned above ("B1" to identify the first track of a bank of tracks, rather than "1" to identify the first track).
One very important extra piece of information is required to use banking: an extra line near the start of the list of bindings that specifies how many tracks/busses to use per bank. If the device has 8 faders, then 8 would be a sensible value to use for this. The line looks like this:
<DeviceInfo bank-size="8"/>
In addition, you probably want to ensure that you bind something on the control surface to the next-bank
and prev-bank
functions, otherwise you and other users will have to use the mouse and the GUI to change banks, which rather defeats the purpose of the bindings.
<?xml version="1.0" encoding="UTF-8"?> <ArdourMIDIBindings version="1.0.0" name="pc1600x transport controls"> <DeviceInfo bank-size="16"/> <Binding channel="1" ctl="1" uri="/route/gain B1"/> <Binding channel="1" ctl="2" uri="/route/gain B2"/> <Binding channel="1" ctl="3" uri="/route/send/gain B1 1"/> <Binding channel="1" ctl="4" uri="/route/plugin/parameter B1 1 1"/> <Binding channel="1" ctl="6" uri="/bus/gain master"/> <Binding channel="1" note="1" uri="/route/solo B1"/> <Binding channel="1" note="2" uri="/route/solo B2" momentary="yes"/> <Binding channel="1" note="15" uri="/route/mute B1" momentary="yes"/> <Binding channel="1" note="16" uri="/route/mute B2" momentary="yes"/> <Binding sysex="f0 0 0 e 9 0 5b f7" function="transport-start"/> <Binding sysex="f0 7f 0 6 7 f7" function="rec-disable"/> <Binding sysex="f0 7f 0 6 6 f7" function="rec-enable"/> <Binding sysex="f0 0 0 e 9 0 53 0 0 f7" function="loop-toggle"/> <Binding channel="1" note="13" function="transport-roll"/> <Binding channel="1" note="14" function="transport-stop"/> <Binding channel="1" note="12" function="transport-start"/> <Binding channel="1" note="11" function="transport-zero"/> <Binding channel="1" note="10" function="transport-end"/> </ArdourMIDIBindings>
Please note that channel, controller and note numbers are specified as decimal numbers in the ranges 1-16, 0-127 and 0-127 respectively (the channel range may change at some point)