================= The Ardour Manual ================= .. raw:: html
.. raw:: html
.. raw:: html .. raw:: html
.. rubric:: Part I - Introduction to Ardour :name: introduction-to-ardour :class: clear .. rubric:: 1 - Welcome to Ardour :name: welcome-to-ardour :class: clear .. rubric:: 1.1 - About Ardour's documentation :name: about-ardour-doc :class: clear .. rubric:: Conventions Used In This Manual :name: conventions-used-in-this-manual This section covers some of the typographical and language conventions used in this manual. .. rubric:: Keyboards and Modifiers :name: keyboards-and-modifiers Keyboard bindings are shown like this: s or x. x means "press the key, keep it pressed and then also press the x key". Combinations such as e may be seen, which means "hold down the key *and* the key, and then, while keeping them both down, press the e key". 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, Cmd will be seen where appropriate (for instance in the first example above). On other machines Ctrl will be seen instead. .. rubric:: Mouse Buttons :name: mouse-buttons `Mouse buttons <#mouse>`__ are referred to as Left, Middle and Right. Ardour can use additional buttons, but they have no default behaviour in the program. .. rubric:: Mouse Click Modifiers :name: mouse-click-modifiers Many editing functions are performed by clicking the mouse while holding a modifier key, for example Left. .. rubric:: Mouse Wheel :name: mouse-wheel Some GUI elements can optionally be controlled with the mouse wheel when the pointer is hovering over them. The notation for mouse wheel action is ⇑ ⇐ ⇓ ⇒. .. rubric:: Context-click :name: context-click The term context-click is used to indicate a 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 clicked on will be displayed. .. rubric:: "The Pointer" :name: the-pointer 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 touch interface is being used. .. rubric:: Other User Input :name: other-user-input Ardour supports hardware controllers, such as banks of faders, knobs, or buttons. .. rubric:: Menu Items :name: menu-items Menu items are indicated like this: Top > Next > Deeper. Each ">"-separated item indicates one level of a nested menu or sub-menu. .. rubric:: OSC Messages :name: osc-messages OSC messages, whether sent or received, are displayed like this: /transport_stop. .. rubric:: Preference/Dialog Options :name: preferencedialog-options Choices in various dialogs, notably the Preferences and Properties dialog, are indicated thus: Edit > Preferences > Audio > Some Option. Each successive item indicates either a menu, sub-menu, or a tabbed dialog navigation. The final item is the one to choose or select. If an option is deselected, it will look like this: Edit > Preferences > Audio > Some other Option. .. rubric:: User Input :name: user-input Some dialogs or features may require the user to input data such as this. In rare cases, certain operations will be required to be performed at the command line of the operating system: cat /proc/cpuinfo sleep 3600 ping www.google.com .. rubric:: Program Output :name: program-output Important messages from Ardour or other programs will be displayed like this. .. rubric:: Notes :name: notes Important notes about things that might not otherwise be obvious are shown in this format. .. rubric:: Warnings :name: warnings Hairy issues that might cause things to go wrong, lose data, impair sound quality, or eat your proverbial goldfish, are displayed in this way. .. rubric:: 1.2 - Ardour Overview :name: ardour-overview :class: clear Ardour is a professional digital workstation for working with audio and MIDI. .. rubric:: Ardour is meant for… :name: ardour-is-meant-for .. rubric:: Audio Engineers :name: audio-engineers Ardour's core user group: people who want to record, edit, mix and master audio and MIDI projects. When you need complete control over your tools, when the limitations of other designs get in the way, when you plan to spend hours or days working on a session, Ardour is there to make things work the way you want them to. .. rubric:: Musicians :name: musicians Being the best tool to record talented performers on actual instruments has always been a top priority for Ardour. Rather than being focused on electronic and pop music idioms, Ardour steps out of the way to encourage the creative process to remain where it always has been: a musician playing a carefully designed and well built instrument. .. rubric:: Soundtrack Editors :name: soundtrack-editors Sample accurate sync and shared transport control with video playback tools allows Ardour to provide a fast and natural environment for creating and editing soundtracks for film and video projects. .. rubric:: Composers :name: composers Arrange audio and MIDI using the same tools and same workflow. Use external hardware synthesizers or software instruments as sound sources. From sound design to electro-acoustic composition to dense multitrack MIDI editing, Ardour can help. .. rubric:: Ardour features… :name: ardour-features .. rubric:: Audio and MIDI Multi-Track Recording and Editing :name: audio-and-midi-multi-track-recording-and-editing Any number of tracks and busses. Non-linear editing. Non-destructive (and destructive!) recording. Any bit depth, any sample rate. Dozens of file formats. .. rubric:: Plugins with Full Sample Accurate Automation :name: plugins-with-full-sample-accurate-automation AudioUnit, LV2, LinuxVST and LADSPA formats. FX plugins. Software instruments. MIDI processors. Automate any parameters. Physically manipulate them via control surfaces. Distribute processing across as many (or as few) cores as you want. .. rubric:: Transport Sync and External Control Surfaces :name: transport-sync-and-external-control-surfaces Best-in-industry sync to MIDI timecode and LTC. Send and receive MIDI Machine Control. Sync with JACK transport and MIDI clock. Dedicated Mackie Control protocol support, pre-defined mappings for many MIDI controllers plus dynamic MIDI learn. Use OSC to drive almost any operation in Ardour. .. rubric:: Powerful Anywhere-to-Anywhere Signal Routing :name: powerful-anywhere-to-anywhere-signal-routing Complex signal flows are simple and elegant. Inputs and outputs connect to your hardware and/or other applications. Use sends, inserts and returns freely. Connections can be one-to-many, many-to-one or many-to-many. Tap signal flows at any point. If you can't connect in the way you want with Ardour, it probably can't be done. .. rubric:: Video Timeline :name: video-timeline Import a single video and optionally extract the soundtrack from it. Display a frame-by-frame (thumbnail) timeline of the video. Use a Video-monitor window, or full-screen display, of the imported video in sync with any of the available ardour timecode sources. Lock audio-regions to the video: Move audio-regions with the video at video-frame granularity. Export the video, cut start/end, add blank frames and/or mux it with the soundtrack of the current-session. .. rubric:: 1.3 - Why is it called Ardour? :name: why-is-it-called-ardour :class: clear The name "Ardour" came from considerations of how to pronounce the acronym HDR. The most obvious attempt sounds like a vowel-less "harder" and it then was then a short step to an unrelated but 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. .. rubric:: 1.4 - Why Write a DAW for Linux? :name: why-write-a-daw-for-linux :class: clear 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: - they do not run natively on Linux - they are not available in source code form, making modifications, improvements, bugfixes by technically inclined users or their friends or consultants impossible. It is fairly understandable that most 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: - older versions of Windows: plagued by abysmal stability and appalling security - newer versions of Windows seem stable but still suffer from security problems - OS X: a nice piece of engineering that is excellent for audio work but only runs on proprietary hardware and still lacks the flexibility and adaptability of Linux. 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: - can stay up for months (or even years) without issues - is endlessly configurable down to the tiniest detail - is not owned by any single corporate entity, ensuring its life and direction are not intertwined with that of a company (for a contrary example, consider BeOS) - is fast and efficient - runs on almost any computing platform ever created, including old "slow" systems and new "tiny" systems (e.g. Raspberry Pi) - is one of the most secure operating systems "out of the box" 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. .. rubric:: 1.5 - Isn't This a Really Complicated Program? :name: isnt-this-a-really-complicated-program :class: clear 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 there is 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 of basic audio concepts and a robust mental model/metaphor of what one is doing. Ardour is not a simple "audio recorder"—it can certainly be used 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 `__. .. rubric:: 1.6 - Creating Music with Ardour :name: creating-music-with-ardour :class: clear Ardour can be used in many different ways, from extremely simple to extremely complex. Many projects can be handled using the following kind of workflow: .. rubric:: Stage 1: Creating The Project :name: stage-1-creating-the-project 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 are usually stored within the session folder. More details on sessions can be found in `Sessions <#sessions>`__ chapter. .. rubric:: Stage 2: Creating and Importing Audio and MIDI Data :name: stage-2-creating-and-importing-audio-and-midi-data Once a session has been created, it will be necessary to add some audio and/or MIDI material to it—which can be done in one of 3 ways: - Record incoming audio or MIDI data, either via audio or MIDI hardware connected to the computer, or from other applications - Create new MIDI data using the mouse and/or various dialogs - Import existing media files into the session 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 the MIDI data is sent to. Two different synthesizers may produce very different sounds 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 or other sound capturing equipment. Ardour can use the JACK Audio Connection Kit for all audio and MIDI I/O, making recording audio/MIDI from other applications fundamentally identical to recording audio/MIDI from audio/MIDI hardware. .. rubric:: Stage 3: Editing and Arranging :name: stage-3-editing-and-arranging Once there is material within the session, it can be arranged in time. This is done in one of the two main windows of Ardour: the Editor window. Audio/MIDI data appears in chunks called regions, which are arranged into horizontal lanes called tracks. Tracks are stacked vertically in the Editor window. Regions can be copied, shortened, moved, and deleted without changing the actual data stored in the session at all—Ardour is a non-destructive editor. (Almost) nothing done while editing will ever modify the files stored on disk (with the exception of the session file itself). Many transformations can be done to the contents of regions, again without altering anything on disk. It is possible to alter, move, delete and remove silence from audio regions, for example. MIDI regions can also be copied, moved, shortened, or deleted without altering the MIDI files, though any edit like adding, suppressing or moving *notes* inside a region results in a modification of the underlying MIDI file. .. rubric:: Stage 4: Mixing and Adding Effects :name: stage-4-mixing-and-adding-effects Once the arrangement of the session mostly complete, the next step is the mixing phase. Mixing is a broad term to cover the way the audio signals that the session generates during playback are processed and added together into a final result that is actually heard. 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 allows automation of changes to any mixing parameters (such as volume, panning, and effects controls)—it will record the changes made 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 settings needed will vary in one part of a session compared to another—rather than using a single setting for the volume of a track, it may need increases followed by decreases (for example, to track the changing volume of a singer). Using automation can make all of this relatively easy. .. rubric:: Stage 5: Export :name: stage-5-export Once the arrangement and mix of the session is finalized, a single audio file that contains a ready-to-listen to version of the work is usually desired. Ardour allows the exporting of 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. Of course it is sometimes desirable to export material that isn't finished yet—for example, to give a copy to another party to mix on their own system. Ardour allows exporting as much of a session as desired, at any time, in any supported format. .. rubric:: 1.7 - Additional Resources :name: additional-resources :class: clear In addition to this documentation, there are a variety of other resources: - the `Ardour release notes `__ - the `Ardour Forums `__ - information about `Ardour Support `__ via mailing lists and IRC (chat) The IRC channels in particular are where most of the day-to-day development and debugging is done, and there are plenty of experienced users to help if problems are encountered when using Ardour. Please be prepared to hang around for a few hours, the chat is usually busiest from 19:00 UTC to 04:00 UTC. It is best to keep one's IRC client window open if possible, so that a belated answer can be seen. .. rubric:: 2 - Ardour Basics :name: ardour-basics :class: clear .. rubric:: 2.1 - Starting Ardour :name: starting-ardour :class: clear There are several ways of starting Ardour, which may vary depending on which platform it is being used on: - by double-clicking the Ardour icon in the platform's file manager (e.g. Nautilus on Linux, Finder on OS X) - by double-clicking on an Ardour session file in the platform's file manager - on Linux, Ardour can also be started via the command line (see below) When Ardour is run for the very first time, a special dialog is displayed that will ask several questions about the system's setup. The questions will not be asked again, but the choices thus made can always be modified via the Edit > Preferences dialog. If JACK is needed, in general, it is sensible to start it *before* Ardour is run. Though this is not strictly necessary, it will provide more control and options over JACK's operation. JACK can be started through the CLI of a terminal, or by using a GUI program, like `QjackCtl `__ or `Cadence `__. If Ardour is opened without specifying an existing session, it will display the Session > New… dialog and the Audio/MIDI Setup dialog. See `New/Open Session Dialog <#newopen-session-dialog>`__ for a description of those dialogs. .. rubric:: Starting Ardour From the Command Line (Linux) :name: starting-ardour-from-the-command-line-linux Like (almost) any other program on Linux, Ardour can be started on the command line. Type the following command in a terminal window: Ardour5 To start Ardour with an existing session, use: Ardour5 */path/to/session* Replace /path/to/session with the actual path of the session. Either the session folder or any session file inside the folder can be specified, including snapshots. To start Ardour with a new, named session, use: Ardour5 -N */path/to/session* .. rubric:: 2.2 - Understanding Basic Concepts and Terminology :name: understanding-basic-concepts-and-terminology :class: clear In order to fully grasp the terms used in Ardour (and this manual), it is necessary to understand what things like sessions, tracks, busses, regions and so on—as used in Ardour—are. .. rubric:: Sessions :name: sessions 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, an entire album, or a complete live recording. Ardour sessions are kept 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 written 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. It is also possible for Ardour sessions to reference sound and MIDI files outside the session directory, to conserve disk space and avoid unnecessary copying if the data is available elsewhere on the disk. 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 found in the `Sessions <#sessions>`__ chapter. .. rubric:: Tracks :name: tracks A track is a concept common to most DAWs, and also used 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 track might be used 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/or 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 found in the `Tracks <#tracks>`__ chapter. .. rubric:: Busses :name: busses 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. A bus might typically be used to collect together the outputs of related tracks. Consider, for example, a three 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 equalization or compression) can be applied to the mix of all the tracks. Such busses are also called groups. .. rubric:: Regions :name: regions 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 found at `Working With Regions <#working-with-regions>`__. .. rubric:: Playlists :name: playlists 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 found in the `Playlists <#playlists>`__ chapter. .. rubric:: Plugins :name: plugins Ardour allows processing 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. Ardour supports the following plugin standards: +-----------------------------------+-----------------------------------+ | LADSPA | the first major plugin standard | | | for Linux. Many LADSPA plugins | | | are available, mostly free and | | | open-source. | +-----------------------------------+-----------------------------------+ | LV2 | the successor to LADSPA. Lots of | | | plugins have been ported from | | | LADSPA to LV2, and also many new | | | plugins written. | +-----------------------------------+-----------------------------------+ | VST | Ardour supports VST plugins that | | | have been compiled for Linux. | +-----------------------------------+-----------------------------------+ | AU | Mac OS X versions of Ardour | | | support AudioUnit plugins. | +-----------------------------------+-----------------------------------+ 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, as it requires running a large amount of Windows code in an emulated environment. If it is at all possible, it is strongly advisable to use native LADSPA, LV2 or Linux VST plugins on Linux, or AU on Mac OS X. More details can be found at `Working With Plugins <#working-with-plugins>`__. .. rubric:: 2.3 - Using the Mouse :name: using-the-mouse :class: clear .. rubric:: Clicking :name: clicking Throughout this manual, the term click refers to the act of pressing and releasing the Left mouse button. This action is used to select objects, activate buttons, turn choices on and off, pop up menus and so forth. On touch surfaces, it also corresponds to a single, one-finger tap on the GUI. .. rubric:: Right Clicking :name: right-clicking The term right-click refers to the act of pressing and releasing the Right mouse button. This action is used to pop up context menus (hence the term "context click", which will also be seen). It is also used by default in combination with the shift key to delete objects within the editor window. Some mice designed for use with Mac OS X may have only one button. By convention, pressing and holding the Control key while clicking is interpreted as a right-click by many applications. .. rubric:: Middle Clicking :name: middle-clicking A middle-click refers to the act of pressing and releasing the Middle mouse button. Not all mice have a middle click button (see the `Mouse <#mouse>`__ chapter for details). Sometimes the scroll wheel acts as a clickable middle button. This action is used for time-constrained region copying and mapping MIDI bindings. Internally, your operating system may identify the mouse buttons as Button1, Button2, and Button3, respectively. It may be possible to invert the order of buttons to accommodate left-handed users, or to re-assign them arbitrarily. This manual assumes the canonical order. .. rubric:: Double Clicking :name: double-clicking A double click refers to two rapid press/release cycles on the leftmost mouse button. The time interval between the two actions that determines whether this is seen as two clicks or one double click is controlled by your system preferences, not by Ardour. .. rubric:: Dragging :name: dragging A drag primarily refers to the act of pressing the leftmost mouse button, moving the mouse with the button held down, and then releasing the button. On touch surfaces, this term also corresponds to a single one-finger touch-move-release action. Ardour also uses the middle mouse button for certain kinds of drags, which will be referred to as a middle-drag. .. rubric:: Modifiers :name: modifiers 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 Left, it means that you should first press the key, carry out a left click while is held down, and then finally release the key. Available modifiers depend on your platform: .. rubric:: Linux Modifiers :name: linux-modifiers - Ctrl (Control) - Shift - Alt - Win (Super/Windows) .. rubric:: OS X Modifiers :name: os-x-modifiers - Cmd (Command, "windmill") - Ctrl (Control) - Alt (Option) - Shift .. rubric:: Scroll Wheel :name: scroll-wheel Ardour can make good use of a scroll wheel on the mouse (assuming it has one), which can be utilized for a variety of purposes. Scroll wheels generate vertical scroll events, ⇑ (ScrollUp) and ⇓ (ScrollDown). Some also emit 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, scroll wheel input is used to adjust continuous controls such as faders and knobs, or to scroll vertically or horizontally inside a window. .. rubric:: 2.4 - Basic GUI Operations :name: basic-gui-operations :class: clear By default, Ardour will show helpful tooltips about the purpose and use of each GUI element if the pointer is positioned over it and hovered there for a short while. These little pop-up messages can be a good way to discover the purpose of many aspects of the GUI. Pop-ups can also be distracting for experienced users, who may wish to disable them via Edit > Preferences > GUI > Show tooltip if mouse hovers over a control. .. rubric:: Selection Techniques :name: selection-techniques Ardour follows the conventions used by most other computer software (including other DAWs) for selecting objects in the GUI. .. rubric:: Selecting individual objects :name: selecting-individual-objects Clicking on an object (sometimes on a particular part of its on-screen representation) will select the object, and deselect other similar objects. .. rubric:: Selecting multiple (similar) objects :name: selecting-multiple-similar-objects A left-click on an object toggles its selected status, so using left on a series of objects will select (or deselect) each one of them. A completely arbitrary set of selections can be constructed with this technique. .. rubric:: Selecting a range of objects :name: selecting-a-range-of-objects In cases where the idea of "select all objects between this one and that one" makes sense, select one object and then left-click on another to select both of them as well as all objects in between. .. rubric:: Time range selection :name: time-range-selection To select a time range in the Editor, Left-click and drag the mouse. A Left drag then lets you create other ranges and a left-click extends a range to cover a wider area. .. rubric:: Selection Undo :name: selection-undo The set of objects (including time range) that are selected at any one time is known as the selection. Each time an object is selected or deselected, the new selection is stored in an undo/redo stack. This stack is cleared each time the content of the timeline changes. If a complex selection has been built up and then accidentally cleared it, choosing Edit > Undo Selection Change will restore the previous selection. If a selection is undone and a return to the state before the undo is desired, choosing Edit > Redo Selection Change will take the selection back to where it was before Edit > Undo Selection Change was chosen. .. rubric:: Cut and Paste Operations :name: cut-and-paste-operations The clipboard is a holder for various kinds of objects (regions, control events, plugins) that is used during cut-and-paste operations. .. rubric:: Cut :name: cut A cut operation removes selected objects and places them in the clipboard. The existing contents of the clipboard are overwritten. The default key binding is x. .. rubric:: Copy :name: copy A copy of the selected objects are placed in clipboard. There is no effect on the selected objects themselves. The existing contents of the clipboard are overwritten. The default key binding is c. .. rubric:: Paste :name: paste The current contents of the clipboard are pasted (inserted) into the session, using the current edit point as the destination. The contents of the clipboard remain unchanged—the same item can be pasted multiple times. The default key binding is v. .. rubric:: Deleting Objects :name: deleting-objects 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). .. rubric:: Using the mouse and keyboard :name: using-the-mouse-and-keyboard Select the object(s) to be deleted and then press the Del key. This does **not** put the deleted object(s) in the clipboard, so they cannot be pasted elsewhere. .. rubric:: Using normal cut and paste shortcuts :name: using-normal-cut-and-paste-shortcuts Select the object(s) and then press x. This puts the deleted object(s) in the clipboard so that they can be pasted elsewhere. .. rubric:: Using just the mouse :name: using-just-the-mouse By default, Shift Right will delete the clicked-upon object. Like the Del key, this does **not** put the deleted object(s) in the clipboard. 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. .. rubric:: Undo/Redo for Editing :name: undoredo-for-editing While editing, it sometimes happens that an unintended change is made, or a choice is made that is later decided to be wrong. All changes to the arrangement of session components (regions, control points) along the timeline can be undone (and redone if necessary). The default keybindings are Z for Undo and R for Redo. 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 the session is closed and reopened later, even if Ardour is exited in between. The maximum number of changes that can be undone can be configured under Edit > Preferences > Misc > Undo. The maximum number of changes stored in the history file is a separate parameter, and can also be set in the same place. In addition to the normal undo (which works only on actions that change the timeline), there is a visual undo which will revert any command that affects the display of the editor window. Its shortcut is Z. There is also an undo for selection; see "Selection Techniques" above. .. rubric:: 3 - Keyboard and Mouse Shortcuts :name: keyboard-and-mouse-shortcuts :class: clear .. rubric:: 3.1 - Default Keyboard Bindings :name: default-keyboard-bindings :class: clear Almost every available function in Ardour can be bound to a keyboard shortcut (and those few that cannot will usually respond to an `OSC command <#controlling-ardour-with-osc>`__). Ardour comes with a rich set of default key bindings for the most commonly used functions. These bindings strive to be mnemonic, that is, easy and intuitive to remember, and follow widely accepted conventions. As a general rule, the first letter of an operation will be used for as a shortcut, if available. 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 useful ones, for example: S for Region > Edit > Split or P for Transport > Playhead > Playhead to Mouse. Existing key bindings in menus are listed on the right side of the menu items. Almost every key binding in Ardour can be looked for and/or changed in Window > Key Bindings (which is bound to K). Ardour will silently reassign the binding of a key combination that is already in use, possibly removing a standard keyboard shortcut without any warning. This might lead to confusion when asking for help—when the explanation is given in terms of a standard key binding—which will have a completely different effect on the system with the modified key bindings. The conventions for using modifier keys (, , , etc.) differ among platforms, so different default bindings for each are provided. .. rubric:: 3.2 - Mnemonic Bindings for Linux :name: mnemonic-bindings-for-linux :class: clear A printable cheat-sheet with the mnemonic bindings for Linux is available for download in `US Letter `__ and `A4 `__ paper format. This set of bindings assumes an en_US keyboard. However, most if not all bindings will also work on other keyboards when the AltGr key is used to compose those glyphs that are not directly accessible. .. rubric:: Transport & Recording Control :name: transport-recording-control +-----------------------------------+-------+ | destroy last recording | Del | +-----------------------------------+-------+ | engage record | r | +-----------------------------------+-------+ | fast forward | → | +-----------------------------------+-------+ | loop play (the loop range) | l | +-----------------------------------+-------+ | rewind | ← | +-----------------------------------+-------+ | set playhead position | p | +-----------------------------------+-------+ | start recording | Space | +-----------------------------------+-------+ | stop (keep loop/range play) | Space | +-----------------------------------+-------+ | stop and destroy | Space | +-----------------------------------+-------+ | toggle auto play | 5 | +-----------------------------------+-------+ | toggle auto return | 6 | +-----------------------------------+-------+ | toggle click (metronome) | 7 | +-----------------------------------+-------+ | toggle playhead follows edits | F | +-----------------------------------+-------+ | toggle playhead tracking | F | +-----------------------------------+-------+ | toggle roll | Space | +-----------------------------------+-------+ | toggle selected track rec-enable | b | +-----------------------------------+-------+ | toggle selected track solo status | s | +-----------------------------------+-------+ | transition to reverse | ↓ | +-----------------------------------+-------+ | transition to roll | ↑ | +-----------------------------------+-------+ .. rubric:: Session & File Handling :name: session-file-handling +----------------------------------+---+ | add track(s) or bus(ses) | n | +----------------------------------+---+ | export session | e | +----------------------------------+---+ | import audio files | i | +----------------------------------+---+ | open a new session | n | +----------------------------------+---+ | open a recent session | o | +----------------------------------+---+ | open an existing session | o | +----------------------------------+---+ | quit | q | +----------------------------------+---+ | save session | s | +----------------------------------+---+ | snapshot session | s | +----------------------------------+---+ | toggle selected track MIDI input | i | +----------------------------------+---+ .. rubric:: Changing What's Visible :name: changing-whats-visible +-----------------------------------------+------+ | fit tracks vertically | f | +-----------------------------------------+------+ | move selected tracks down | ↓ | +-----------------------------------------+------+ | move selected tracks up | ↑ | +-----------------------------------------+------+ | scroll down (page) | PgDn | +-----------------------------------------+------+ | scroll down (step) | ↓ | +-----------------------------------------+------+ | scroll up (page) | PgUp | +-----------------------------------------+------+ | scroll up (step) | ↑ | +-----------------------------------------+------+ | toggle editor window mixer | e | +-----------------------------------------+------+ | visual undo | z | +-----------------------------------------+------+ | zoom height to selected region(s) | z | +-----------------------------------------+------+ | zoom height and time to selected region | z | +-----------------------------------------+------+ | zoom in | = | +-----------------------------------------+------+ | zoom out | - | +-----------------------------------------+------+ .. rubric:: Window Visibility :name: window-visibility +--------------------------------------+---+ | toggle locations dialog | l | +--------------------------------------+---+ | focus on main clock | ÷ | +--------------------------------------+---+ | maximise editor space | f | +--------------------------------------+---+ | switch between editor & mixer window | m | +--------------------------------------+---+ | show rhythm ferret window | f | +--------------------------------------+---+ | toggle big clock | b | +--------------------------------------+---+ | toggle color manager | c | +--------------------------------------+---+ | toggle editor window | e | +--------------------------------------+---+ | toggle global audio patchbay | p | +--------------------------------------+---+ | toggle global midi patchbay | p | +--------------------------------------+---+ | toggle key bindings editor | k | +--------------------------------------+---+ | toggle preferences dialog | o | +--------------------------------------+---+ | toggle preferences dialog | p | +--------------------------------------+---+ .. rubric:: Editing with Edit Point :name: editing-with-edit-point Most edit functions operate on a single Edit Point (EP). 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. +-------------------------------------+----+ | EP to next region sync | ; | +-------------------------------------+----+ | EP to prev region sync | ' | +-------------------------------------+----+ | cycle to next grid snap mode | 2 | +-------------------------------------+----+ | cycle to next zoom focus | 1 | +-------------------------------------+----+ | insert from region list | i | +-------------------------------------+----+ | insert time | t | +-------------------------------------+----+ | move EP to playhead | ↵ | +-------------------------------------+----+ | next EP w/marker | \` | +-------------------------------------+----+ | next EP w/o marker | \` | +-------------------------------------+----+ | trim back | k | +-------------------------------------+----+ | trim front | j | +-------------------------------------+----+ | trim region end to edit point | } | +-------------------------------------+----+ | trim region start to edit point | { | +-------------------------------------+----+ | trim region to end of prev region | j | +-------------------------------------+----+ | trim region to start of next region | k | +-------------------------------------+----+ | use previous grid unit | 3 | +-------------------------------------+----+ | use next grid unit | 4 | +-------------------------------------+----+ | use previous grid unit | 3 | +-------------------------------------+----+ | use next musical grid unit | 4 | +-------------------------------------+----+ .. rubric:: Aligning with the Edit Point :name: aligning-with-the-edit-point 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. +---------------------------------+---+ | align end(s) | a | +---------------------------------+---+ | align start(s) | a | +---------------------------------+---+ | align start(s) relative | a | +---------------------------------+---+ | align sync points | a | +---------------------------------+---+ | align sync points (relative) | a | +---------------------------------+---+ | range end to next prev edge | > | +---------------------------------+---+ | range end to next region edge | > | +---------------------------------+---+ | range start to next region edge | < | +---------------------------------+---+ | range start to prev region edge | < | +---------------------------------+---+ .. rubric:: Edit Point Playback :name: edit-point-playback +-------------------------+-------+ | play edit range | Space | +-------------------------+-------+ | play from EP & return | Space | +-------------------------+-------+ | play selected region(s) | h | +-------------------------+-------+ .. rubric:: Region Operations :name: region-operations +---------------------------+----+ | duplicate region (multi) | d | +---------------------------+----+ | duplicate region (once) | d | +---------------------------+----+ | export selected region(s) | e | +---------------------------+----+ | increase region gain | ^ | +---------------------------+----+ | move to original position | o | +---------------------------+----+ | mute/unmute | m | +---------------------------+----+ | normalize | n | +---------------------------+----+ | nudge backward | – | +---------------------------+----+ | nudge forward | + | +---------------------------+----+ | quantize MIDI notes | q | +---------------------------+----+ | reduce region gain | & | +---------------------------+----+ | reverse | r | +---------------------------+----+ | set fade in length | / | +---------------------------+----+ | set fade out length | \\ | +---------------------------+----+ | set region sync point | v | +---------------------------+----+ | split | s | +---------------------------+----+ | toggle fade in active | / | +---------------------------+----+ | toggle fade out active | \\ | +---------------------------+----+ | transpose | t | +---------------------------+----+ .. rubric:: Generic Editing :name: generic-editing +--------+-----+ | copy | c | +--------+-----+ | cut | x | +--------+-----+ | delete | Del | +--------+-----+ | paste | v | +--------+-----+ | redo | r | +--------+-----+ | undo | z | +--------+-----+ .. rubric:: Selecting :name: selecting There are a few functions that refer to an Edit Range. The current edit range is defined using combinations of the possible edit points: playhead, active marker, or mouse. +-----------------------------+----+ | all after playhead | p | +-----------------------------+----+ | all before playhead | p | +-----------------------------+----+ | all enclosed by edit range | u | +-----------------------------+----+ | all present in edit range | u | +-----------------------------+----+ | convert edit range to range | F6 | +-----------------------------+----+ | invert selection | i | +-----------------------------+----+ | select all after EP | e | +-----------------------------+----+ | select all before EP | e | +-----------------------------+----+ | select all in loop range | l | +-----------------------------+----+ | select all in punch range | d | +-----------------------------+----+ | select everything | a | +-----------------------------+----+ | select next track/bus | ↓ | +-----------------------------+----+ | select previous track/bus | ↑ | +-----------------------------+----+ .. rubric:: Defining Loop, Punch Range and Tempo Changes :name: defining-loop-punch-range-and-tempo-changes +-----------------------------------+---+ | set loop range from edit range | ] | +-----------------------------------+---+ | set loop range from region(s) | ] | +-----------------------------------+---+ | set punch range from edit range | [ | +-----------------------------------+---+ | set punch range from region(s) | [ | +-----------------------------------+---+ | set tempo (1 bar) from edit range | 0 | +-----------------------------------+---+ | set tempo (1 bar) from region(s) | 9 | +-----------------------------------+---+ .. rubric:: 3.3 - Mnemonic Bindings for OS X :name: mnemonic-bindings-for-os-x :class: clear A `printable cheat sheet `__ for these bindings is available for download. .. rubric:: Transport & Recording Control :name: transport-recording-control-1 +-------------------------------+-------+ | destroy last recording | Del | +-------------------------------+-------+ | engage record | r | +-------------------------------+-------+ | fast forward | → | +-------------------------------+-------+ | loop play (the loop range) | l | +-------------------------------+-------+ | rewind | ← | +-------------------------------+-------+ | set playhead position | p | +-------------------------------+-------+ | start recording | space | +-------------------------------+-------+ | stop (keep loop/range play) | space | +-------------------------------+-------+ | stop and destroy | space | +-------------------------------+-------+ | toggle auto play | 5 | +-------------------------------+-------+ | toggle auto return | 6 | +-------------------------------+-------+ | toggle click (metronome) | 7 | +-------------------------------+-------+ | toggle playhead follows edits | f | +-------------------------------+-------+ | toggle playhead tracking | f | +-------------------------------+-------+ | toggle roll | space | +-------------------------------+-------+ | toggle track rec-enable | b | +-------------------------------+-------+ | toggle track solo status | s | +-------------------------------+-------+ | transition to reverse | ↓ | +-------------------------------+-------+ | transition to roll | ↑ | +-------------------------------+-------+ .. rubric:: Session & File Handling :name: session-file-handling-1 +------------------------------+---+ | add track(s) or bus(ses) | n | +------------------------------+---+ | export session | e | +------------------------------+---+ | import audio files | i | +------------------------------+---+ | open a new session | n | +------------------------------+---+ | open a recent session | o | +------------------------------+---+ | open an existing session | o | +------------------------------+---+ | quit | q | +------------------------------+---+ | save session | s | +------------------------------+---+ | snapshot session | s | +------------------------------+---+ | toggle sel. track MIDI input | i | +------------------------------+---+ .. rubric:: Changing What's Visible :name: changing-whats-visible-1 +-----------------------------------------+-----------+ | fit tracks vertically | f | +-----------------------------------------+-----------+ | move selected tracks down | ↓ | +-----------------------------------------+-----------+ | move selected tracks up | ↑ | +-----------------------------------------+-----------+ | scroll down (page) | PgDn | +-----------------------------------------+-----------+ | scroll down (step) | ↓ | +-----------------------------------------+-----------+ | scroll up (page) | PageUp | +-----------------------------------------+-----------+ | scroll up (step) | ↑ | +-----------------------------------------+-----------+ | toggle editor window mixer | e | +-----------------------------------------+-----------+ | toggle last 2 zoom states | z | +-----------------------------------------+-----------+ | zoom height to selected region(s) | Control+z | +-----------------------------------------+-----------+ | zoom height and time to selected region | z | +-----------------------------------------+-----------+ | zoom in | = | +-----------------------------------------+-----------+ | zoom out | - | +-----------------------------------------+-----------+ .. rubric:: Window Visibility :name: window-visibility-1 +------------------------------+---+ | toggle locations dialog | l | +------------------------------+---+ | focus on main clock | ÷ | +------------------------------+---+ | maximise editor space | f | +------------------------------+---+ | rotate editor & mixer window | m | +------------------------------+---+ | show rhythm ferret window | f | +------------------------------+---+ | toggle big clock | b | +------------------------------+---+ | toggle color manager | c | +------------------------------+---+ | toggle editor window | e | +------------------------------+---+ | toggle global audio patchbay | p | +------------------------------+---+ | toggle global midi patchbay | p | +------------------------------+---+ | toggle key bindings editor | k | +------------------------------+---+ | toggle preferences dialog | o | +------------------------------+---+ | toggle preferences dialog | p | +------------------------------+---+ .. rubric:: Editing with Edit Point :name: editing-with-edit-point-1 Most edit functions operate on a single Edit Point (EP). 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. +-------------------------------------+--------+ | EP to next region sync | ; | +-------------------------------------+--------+ | EP to prev region sync | ' | +-------------------------------------+--------+ | cycle to next grid snap mode | 2 | +-------------------------------------+--------+ | cycle to next zoom focus | 1 | +-------------------------------------+--------+ | insert from region list | i | +-------------------------------------+--------+ | insert time | t | +-------------------------------------+--------+ | move EP to playhead | Return | +-------------------------------------+--------+ | next EP w/marker | ^ | +-------------------------------------+--------+ | next EP w/o marker | \` | +-------------------------------------+--------+ | trim back | k | +-------------------------------------+--------+ | trim front | j | +-------------------------------------+--------+ | trim region end to edit point | } | +-------------------------------------+--------+ | trim region start to edit point | { | +-------------------------------------+--------+ | trim region to end of prev region | j | +-------------------------------------+--------+ | trim region to start of next region | k | +-------------------------------------+--------+ | use previous grid unit | 3 | +-------------------------------------+--------+ | use next grid unit | 4 | +-------------------------------------+--------+ | use previous grid unit | 3 | +-------------------------------------+--------+ | use next musical grid unit | 4 | +-------------------------------------+--------+ .. rubric:: Aligning with the Edit Point :name: aligning-with-the-edit-point-1 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. +---------------------------------+---+ | align end(s) | a | +---------------------------------+---+ | align start(s) | | +---------------------------------+---+ | align start(s) relative | | +---------------------------------+---+ | align sync points | a | +---------------------------------+---+ | align sync points (relative) | a | +---------------------------------+---+ | range end to next prev edge | > | +---------------------------------+---+ | range end to next region edge | > | +---------------------------------+---+ | range start to next region edge | < | +---------------------------------+---+ | range start to prev region edge | < | +---------------------------------+---+ .. rubric:: Edit Point Playback :name: edit-point-playback-1 +-------------------------+-------+ | play edit range | Space | +-------------------------+-------+ | play from EP & return | Space | +-------------------------+-------+ | play selected region(s) | h | +-------------------------+-------+ .. rubric:: Region Operations :name: region-operations-1 +---------------------------+----+ | duplicate region (multi) | d | +---------------------------+----+ | duplicate region (once) | d | +---------------------------+----+ | export selected region(s) | | +---------------------------+----+ | increase region gain | ^ | +---------------------------+----+ | move to original position | o | +---------------------------+----+ | mute/unmute | m | +---------------------------+----+ | normalize | n | +---------------------------+----+ | nudge backward | – | +---------------------------+----+ | nudge forward | + | +---------------------------+----+ | quantize MIDI notes | q | +---------------------------+----+ | reduce region gain | & | +---------------------------+----+ | reverse | r | +---------------------------+----+ | set fade in length | / | +---------------------------+----+ | set fade out length | \\ | +---------------------------+----+ | set region sync point | v | +---------------------------+----+ | split | s | +---------------------------+----+ | toggle fade in active | / | +---------------------------+----+ | toggle fade out active | \\ | +---------------------------+----+ | transpose | t | +---------------------------+----+ .. rubric:: Generic Editing :name: generic-editing-1 +--------+-----+ | copy | c | +--------+-----+ | cut | x | +--------+-----+ | delete | Del | +--------+-----+ | paste | v | +--------+-----+ | redo | r | +--------+-----+ | undo | z | +--------+-----+ .. rubric:: Selecting :name: selecting-1 There are a few functions that refer to an Edit Range. The current edit range is defined using combinations of the possible edit points: playhead, active marker, or mouse. +-----------------------------+---------+ | all after playhead | p | +-----------------------------+---------+ | all before playhead | p | +-----------------------------+---------+ | all enclosed by edit range | u | +-----------------------------+---------+ | all present in edit range | u | +-----------------------------+---------+ | convert edit range to range | F6 | +-----------------------------+---------+ | invert selection | i | +-----------------------------+---------+ | select all after EP | Shift+e | +-----------------------------+---------+ | select all before EP | e | +-----------------------------+---------+ | select all in loop range | l | +-----------------------------+---------+ | select all in punch range | d | +-----------------------------+---------+ | select everything | a | +-----------------------------+---------+ | select next track/bus | ↓ | +-----------------------------+---------+ | select previous track/bus | ↑ | +-----------------------------+---------+ .. rubric:: Defining Loop, Punch Range and Tempo Changes :name: defining-loop-punch-range-and-tempo-changes-1 +-----------------------------------+---+ | set loop range from edit range | ] | +-----------------------------------+---+ | set loop range from region(s) | ] | +-----------------------------------+---+ | set punch range from edit range | [ | +-----------------------------------+---+ | set punch range from region(s) | [ | +-----------------------------------+---+ | set tempo (1 bar) from edit range | 0 | +-----------------------------------+---+ | set tempo (1 bar) from region(s) | 9 | +-----------------------------------+---+ .. rubric:: Part II - Ardour Configuration :name: ardour-configuration :class: clear .. rubric:: 4 - Ardour Systems :name: ardour-systems :class: clear Using a general purpose computer for the recording and playback of digital audio is not trivial. This chapter covers some of the most common pitfalls encountered on the way to creating a reliable and powerful audio workstation. .. rubric:: 4.1 - The Right Computer System for Digital Audio :name: the-right-computer-system-for-digital-audio :class: clear It is nice to think that one 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 necessarily wrong, but there are some important details that it misses. Any computer that that can be bought today (since 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 and/or electrical instruments; it will have a disk with a huge amount of space for storing audio files. However, when recording, editing and mixing music, it is generally desirable to have very little latency between the time a sound is generated and when it can be heard. 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 quickly as possible. And this is where it becomes very important *what* computer system is being used for this task, because it is **absolutely not** the case that *any* computer can do it well. Routing audio through a computer will always cause some delay, but if it is small, it will generally never be noticed. 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 latency that is typically needed for working with digital audio is in the 1–5 ms range. For comparison, if one is sitting 1 m (3 ft) from a set of speakers, the time the sound takes to reach the ears is about 3 ms. Any modern computer can limit the delay to 100 ms; most can keep it under 50 ms. Many will be able to get down to 10 ms without too much effort. Attempting to reduce the latency on a computer that cannot physically do it will cause clicks and glitches in the audio, which is clearly undesirable. .. rubric:: Hardware-related Considerations :name: hardware-related-considerations +-----------------------------------+-----------------------------------+ | Video interface | Poorly engineered video | | | interfaces (and/or their device | | | drivers) can "steal" computer | | | resources for a long time, | | | preventing the audio interface | | | from keeping up with the flow of | | | data. | +-----------------------------------+-----------------------------------+ | Wireless interface | Poorly engineered wireless | | | networking interfaces (and/or | | | their device drivers) can also | | | block the audio interface from | | | keeping up with the flow of data. | +-----------------------------------+-----------------------------------+ | USB ports | When using an audio interface | | | connected via USB, and sometimes | | | even if not, the precise | | | configuration of the system's USB | | | ports can make a big difference. | | | There are many cases where | | | plugging the interface into one | | | port will work, but using | | | different USB port results in | | | much worse performance. This has | | | been seen even on Apple systems. | +-----------------------------------+-----------------------------------+ | Internal USB Hubs | Ideally, all USB ports should | | | connect directly to the main bus | | | inside the computer. Some laptops | | | (and possibly some desktop | | | systems) come wired with an | | | internal USB hub between the | | | ports and the system bus, which | | | can then cause problems for | | | various kinds of external USB | | | devices, including some models of | | | audio interfaces. It is very | | | difficult to discover whether | | | this is true or not, without | | | simply trying it out. | +-----------------------------------+-----------------------------------+ | CPU speed control | Handling audio with low latency | | | requires that the processor keeps | | | running at its highest speed at | | | all times. Many portable systems | | | try to regulate processor speed | | | in order to save power—for low | | | latency audio, this should be | | | totally disabled, either in the | | | BIOS or at the OS level. | +-----------------------------------+-----------------------------------+ | Excessive Interrupt Sharing | If the audio interface is forced | | | by the computer to share an | | | interrupt line (basically a way | | | to tell the CPU that something | | | needs its attention) with too | | | many other (or wrong) devices, | | | this can also prevent the audio | | | interface from keeping up with | | | the flow of data. In laptops it | | | is generally impossible to do | | | anything about this. In many | | | desktop systems, it is possible | | | at the BIOS level to reassign | | | interrupts to work around the | | | problem. | +-----------------------------------+-----------------------------------+ | SMIs | SMIs are interrupts sent by the | | | motherboard to tell the computer | | | about the state of various | | | hardware. They cannot safely be | | | disabled, and they can take a | | | relatively long time to process. | | | It is better to have a | | | motherboard which never sends | | | SMIs at all—this is also a | | | requirement for realtime stock | | | trading systems, which have | | | similar issues with latency. | +-----------------------------------+-----------------------------------+ | Hyperthreading | This technology is becoming less | | | common as actual multi-core CPUs | | | become the norm, but it still | | | exists and is generally not good | | | for realtime performance. | | | Sometimes this can be disabled in | | | the BIOS, sometimes it cannot. A | | | processor that uses | | | hyperthreading will be less | | | stable in very low latency | | | situations than one without. | +-----------------------------------+-----------------------------------+ | Excessive vibration | This doesn't affect the flow of | | | data to or from the audio | | | interface, but it can cause the | | | flow of data to and from disk | | | storage to become *much* slower. | | | If a computer going to be used in | | | an environment with loud live | | | sound (specifically, high bass | | | volume), make sure it is placed | | | so that the disk is not subjected | | | to noticeable vibration. The | | | vibrations will physically | | | displace the read-write heads of | | | disk, and the resulting errors | | | will force a retry of the reading | | | from the disk. Retrying over and | | | over massively reduces the rate | | | at which data can be read from | | | the disk. Avoid this. | +-----------------------------------+-----------------------------------+ Richard Ames presents a long (28 minute) `video `__ that is very helpful if you want to understand these issues in more depth. It is a little bit Windows-centric, but the explanations to all types of computers and operating systems. .. rubric:: 4.2 - The Right Mouse :name: mouse :class: clear Ardour is designed to work best with a three button mouse equipped with a scroll wheel. While it can be used with a two button mouse or touchpad, at least two key operations will not be (easily) available: - time-constrained region copying - `MIDI bindings <#generic-midi-learn>`__ created by "learning" them from incoming MIDI data It is strongly encouraged to invest in a three-button mouse. A good quality mouse (especially one with a weighted, latchable scroll wheel) will make the use of Ardour vastly more efficient. They are cheap, and time is not. For information on how to use the mouse in Ardour, see `Using the mouse <#using-the-mouse>`__. .. rubric:: 5 - System Specific Setup :name: setting-up-your-system :class: clear It is unfortunate, but some OSes and/or Desktop Environments will cause problems that are beyond the capability of Ardour to address. The following covers some of the known problems and how to work around them. .. rubric:: 5.1 - Ubuntu Linux :name: ubuntu-linux :class: clear Ubuntu Linux is the most popular variety of Linux in use on desktop and laptop systems. It has the backing of a for-profit corporation (Canonical Inc.), a defined philosophy and a huge and worldwide user base. As a result, it is a common platform for people who want to use Ardour and other tools for music creation and pro-audio work. .. rubric:: High Level Recommendations for Ubuntu Users :name: high-level-recommendations-for-ubuntu-users Currently, installing pro audio applications on vanilla Ubuntu requires some configuration, in order for the user to gain realtime privilege (read below). Ubuntu Studio, which is an official flavor of Ubuntu, and thus shares the repositories with Ubuntu, has this already configured. Other distributions, such as KXStudio, and Dreamstudio are largely based on Ubuntu, and like Ubuntu Studio, has these settings pre-configured, while also containing customized versions of Ubuntu packages, which often are more up to date. .. rubric:: Installing Ardour :name: installing-ardour There may be unintended differences, and even bugs in Ubuntu native packages, as a result of a different building method. For this reason, Ardour developers highly recommend installing the official ready-to-run version of the program that can be downloaded from `ardour.org `__, as Ubuntu native packages are not supported in the official Ardour forums or other support channels. Follow these steps to install the latest version of Ardour: #. Download the latest release from `ardour.org `__. #. Right-click the downloaded file and choose properties. #. Click the Permissions tab and check the option "Allow this file to run as a program". #. Close the dialog and double-click the file. #. Follow the prompts. .. rubric:: Problems with the interaction between PulseAudio and JACK :name: problems-with-the-interaction-between-pulseaudio-and-jack .. rubric:: Background Info :name: background-info Like many distributions, Ubuntu has decided to use PulseAudio as the default audio system. PulseAudio is a rich and capable system that provides excellent services for typical users of Linux on the desktop. However, it is not capable of the type of performance that tools like Ardour require and in particular does not offer the possibility of sending audio between applications that can make the Linux audio environment a very interesting one. This would not be a problem if it were not for the fact that JACK will not run correctly (if at all) if it needs to use the same soundcard/audio interface that PulseAudio is using. And since, PulseAudio on Ubuntu is configured by default to always use the (typically single) audio interface on the computer, this is a bit of a problem. The developers of JACK and PulseAudio got together in 2009 and agreed upon a mechanism by which PulseAudio and JACK could cooperate in their use of a single soundcard. Whether or not PulseAudio is running by default, when JACK starts up it sends out a request to use the soundcard. If PulseAudio is running, it will give up its use of the soundcard to allow JACK to take over (and can optionally be told to route its own audio through JACK). When JACK finishes, it sends out another message, and PulseAudio can once again use the soundcard directly. .. rubric:: What is the problem? :name: what-is-the-problem The specific issues known at this time for all flavors of Ubuntu 12.04 and 12.10 are: - a bug in PulseAudio that causes it not to give up the soundcard when JACK asks (`LP: #1163638 `__, fixed in Ubuntu 13.04). .. rubric:: Symptoms :name: symptoms A message like Cannot start JACK in the output from JACK as it starts up (though see the next section for other causes of this). This output may be hidden in the Messages window of QJackCtl (aka JACK Control), so one should check there. .. rubric:: How to fix :name: how-to-fix These bugs do not affect releases from 13.04, and earlier releases (12.04 and 12.10) are in the process of being fixed. .. rubric:: Problems with JACK configuration :name: problems-with-jack-configuration .. rubric:: What is the problem? :name: what-is-the-problem-1 To function as intended, JACK needs to run with access to two operating system facilities called realtime scheduling and memory locking. This means that the user who starts JACK *must* be allowed access to these facilities. By default, Ubuntu does create a user group that has this permission but—it does not put new users into this group by default. Read more about why `here `__. Consequently, the user will not have permission to run JACK in the way they should. .. rubric:: Symptoms :name: symptoms-1 A message like Cannot lock down memory in the output from JACK as it starts up. This output may be hidden in the Messages window of QJackCtl (aka JACK Control), so one should check there. .. rubric:: How to fix :name: how-to-fix-1 Make sure the file /etc/security/limits.d/audio.conf exists. If it is named /etc/security/limits.d/audio.conf.disabled, rename it to the former. Run the command: sudo usermod -a -G audio *YOUR-LOGIN-NAME* Then log out and log in again. On Ubuntu Studio the user is a member of audio group by default, but not on other official flavors. .. rubric:: Reporting Issues :name: reporting-issues Given the difficulties in supporting Ubuntu and the limited time and resources of the Ardour team, the Ubuntu Studio Project has requested that issues and bug reports related to Ubuntu, Ubuntu Studio and other derivatives be directed to them. .. rubric:: Contact Information for Ubuntu Studio :name: contact-information-for-ubuntu-studio `The Ubuntu Studio Homepage `__ `The Ubuntu Studio Forums. `__ `Information on the Ubuntu Studio Mailing Lists. `__ `Information on the Ubuntu Studio IRC channel. `__ #ubuntustudio on irc.freenode.net .. rubric:: 5.2 - Microsoft Windows :name: microsoft-windows :class: clear Microsoft Windows is officially supported since version 5.0 (2016). .. rubric:: Installing Ardour :name: installing-ardour-1 #. Download the latest windows build from `the download page `__. #. Run the installer and follow the prompts. .. rubric:: How to help :name: how-to-help - Hang out in `#ardour `__ on irc.freenode.net. One may ask questions there and if possible, answer questions that others have. - Keep an eye on the `Windows forum `__ and contribute to the discussions there. - Update this manual via pull requests on `github `__. .. rubric:: 5.3 - KDE Plasma 5 :name: kde-plasma-5 :class: clear Under KDE Plasma 5, plugin and various other windows will not stay on top of any main window; therefore a workaround is required. .. rubric:: Workaround for ancillary windows not staying on top in KDE Plasma 5 :name: workaround-for-ancillary-windows-not-staying-on-top-in-kde-plasma-5 In order to force ancillary windows in Ardour to stay on top, the following steps are necessary: #. Launch the System Settings application. #. Open Workspace > Window Management. #. Select Window Rules in the left-hand sidebar. It should default to the Window matching tab. #. Click on the New… button. #. On the line that says Window class (application), set the combo box to Substring Match and type ardour in the text entry field. #. In the list box that is labeled Window types:, click on the option Dialog Window, then press and hold Ctrl while clicking on the second option Utility Window. #. Select the Arrangement & Access tab. #. Check the box next to the Keep above option. On the same line, select Force from the combo box, then click on the Yes radio button for that line. #. Click on the OK button to dismiss the dialog. At this point the System Settings application can be closed. .. rubric:: Background Info :name: background-info-1 `According to one of the lead KDE developers `__, they are not willing to follow the ICCCM standard for utility windows. Apparently they are alone in this understanding, as plugin windows on Ardour under Linux work out of the box on every other WM out there. Under KDE 4, there was a workaround in Ardour (Preferences > Theme > All floating windows are dialogs) that would "trick" KDE into forcing certain window types to be on top of their parent windows, but this no longer works under KDE Plasma 5. .. rubric:: 6 - I/O Setup :name: io-setup :class: clear .. rubric:: 6.1 - Connecting Audio and MIDI Devices :name: connecting-audio-and-midi-devices :class: clear Normally Ardour does not care about how audio and MIDI gets into the computer—it pretty much deals only with its own inputs and outputs; it is up to the user to ensure that all external routing is sound. After all, Ardour has no way to know how signals from the outside world get to it. However, there are some things that Ardour can do to help troubleshoot problems with audio and MIDI connections—at least on the computer side. For example, a typical setup might include a microphone that feeds a mixer that then feeds the computer. A failure can occur anywhere in that signal chain, including the cables that connect everything together. As far as Ardour is concerned, the most important connection is the one coming from the sound source to the physical audio input of the computer—in this example, the cable connecting between the mixer and the computer. Common sense and basic troubleshooting skills are needed when problems arise, and in the above example, one would have to go through the entire signal chain to ensure that each component was working as it should. .. rubric:: Common Problems :name: common-problems Ardour tries to set things up in a sane manner by automatically connecting the hardware inputs of the computer to its master input and the hardware outputs to the master output. If the signal coming into the hardware inputs is active, the meters on Ardour's master channel should move. If they don't, some things to check include: - Making sure there is actually an input signal - Making sure the input signal is getting into the computer - Making sure that Ardour is talking to the correct sound card - Making sure that the sound card in use by Ardour is working properly .. rubric:: 6.2 - Using More Than One Audio Device :name: using-more-than-one-audio-device :class: clear Ardour will only ever deal with a single audio device. When it is desired to use more than one audio device at the same time, there are two choices: - Use Ardour to start JACK (which handles all audio I/O), and create a "fake" audio device which represents all the multiple devices to be used. How to do this is platform dependent and described below. - Use a different tool to start JACK and manage all the devices. Ardour is fundamentally designed to be a component in a pro-audio/music creation environment. 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, which causes glitches in the audio. This drift cannot be stopped, although in some cases the effects may be insignificant enough that they might not be noticeable. Thus, in an ideal world, a single device with a single clock and all the inputs, outputs and other features needed should be used. Of course, there are those who like to point out that this is not an ideal world, and believe that software should make up for this. .. rubric:: OS X :name: os-x In CoreAudio, aggregate devices provide a method to use multiple soundcards as a single device. For example, two eight-channel devices can be aggregated so that 16 channels can be recorded in Ardour. .. raw:: html
When using a *single* typical 3rd party audio interface (such as those from Apogee, RME, Presonus, and many others), *or* using JackPilot or a similar application to start JACK, there is no need to worry about any of this. An aggregate device only needs to be set up if any of the following conditions are true: - Two entirely separate devices are used *and* JACK is started using Ardour - A builtin audio device is used *and* JACK is started using Ardour - More than two entirely separate devices are used .. raw:: html
In the case of a builtin audio device, an aggregate device that combines "Builtin Input" and "Builtin Output" into one device needs to be created. The precise instructions for creating an aggregate device on OS X have varied from one released to another. Please read https://support.apple.com/en-us/HT202000. .. rubric:: Linux :name: linux Please see the instructions at `http://jackaudio.org/faq `__. .. rubric:: 6.3 - Monitor Setup in Ardour :name: monitor-setup-in-ardour :class: clear Ardour has three main settings which affect how monitoring is performed. The first is Edit > Preferences > Signal Flow > Record monitoring handled by. There are two or three options here, depending on the capabilities of the hardware. The other two settings are more complex. One is Tape machine mode, found in the same dialog, and the other is the Session > Properties > Monitoring automatically follows transport state setting. Monitoring also depends on the state of the track's record-enable button, the session record-enable button, and on whether or not the transport is rolling. .. rubric:: Software or Hardware Monitoring Modes :name: software-or-hardware-monitoring-modes If Ardour is set to external monitoring, Ardour does not do any monitoring. .. rubric:: Monitoring in Non-Tape-Machine Mode :name: monitoring-in-non-tape-machine-mode When Tape-Machine mode is off, and a track is armed, Ardour *always* monitors the live input, except in one case: if the transport is rolling, the session is not recording, and auto-input is active, the playback from an armed track will be heard. Unarmed tracks will play back their contents from disc, unless the transport is stopped *and* auto-input is enabled. In this case, the track monitors its live input. .. rubric:: Monitoring in Tape-Machine Mode :name: monitoring-in-tape-machine-mode In Tape-Machine mode, when a track is armed, its behaviour is the same as in non-tape-machine mode. Unarmed tracks however will always just play back their contents from disk; the live input will never be monitored. .. rubric:: 7 - Synchronization :name: working-with-synchronization :class: clear .. rubric:: 7.1 - On Clock and Time :name: on-clock-and-time :class: clear Synchronization in multimedia involves two concepts which are often confused: clock (or speed) and time (location in time). A clock determines the speed at which one or more systems operate. In the audio world this is generally referred to as `Word Clock `__. It does not carry any absolute reference to a point in time: A clock is used to keep a system's sample rate regular and accurate. Word clock is usually at the frequency of the sample rate—at 48 kHz, its period is about 20 μs. Word Clock is the most common sample rate based clock but other clocks do exist such as Black and Burst, Tri-Level and DARS. Sample rates can be derived from these clocks as well. Time or timecode specifies an absolute position on a timeline, such as ``01:02:03:04`` (expressed as Hours:Mins:Secs:Frames). It is actual *data* and not a clock *signal* per se. The granularity of timecode is Video Frames and is an order of magnitude lower than, say, Word Clock which is counted in samples. A typical frame rate is 25 fps with a period of 40 ms. In the case of 48 kHz and 25 fps, there are 1920 audio samples per video frame. The concepts of clock and timecode are reflected in JACK and Ardour: JACK provides clock synchronization and is not concerned with time code (this is not entirely true, more on jack-transport later). On the software side, jackd provides sample-accurate synchronization between all JACK applications. On the hardware side, JACK uses the clock of the audio-interface. Synchronization of multiple interfaces requires hardware support to sync the clocks. If two interfaces run at different clocks the only way to align the signals is via re-sampling (SRC—Sample Rate Conversion), which is expensive in terms of CPU usage and may decrease fidelity if done incorrectly. Timecode is used to align systems already synchronized by a clock to a common point in time, this is application specific and various standards and methods exist to do this. To make things confusing, there are possibilities to synchronize clocks using timecode. e.g. using mechanism called jam-sync and a phase-locked loop. An interesting point to note is that LTC (Linear Time Code) is a Manchester encoded, frequency modulated signal that carries both clock and time. It is possible to extract absolute position data and speed from it. .. rubric:: 7.2 - Latency and Latency-Compensation :name: latency-and-latency-compensation :class: clear `Latency `__ is a system's reaction time to a given stimulus. There are many factors that contribute to the total latency of a system. In order to achieve exact time synchronization all sources of latency need to be taken into account and compensated for. .. rubric:: Sources of Latency :name: sources-of-latency .. rubric:: Sound propagation through the air :name: sound-propagation-through-the-air Since sound is a mechanical perturbation in a fluid, it travels at comparatively slow `speed `__ of about 340 m/s. As a consequence, an acoustic guitar or piano has a latency of about 1–2 ms, due to the propagation time of the sound between the instrument and the player's ear. .. rubric:: Digital-to-Analog and Analog-to-Digital conversion :name: digital-to-analog-and-analog-to-digital-conversion Electric signals travel quite fast (on the order of the speed of light), so their propagation time is negligible in this context. But the conversions between the analog and digital domain take a comparatively long time to perform, so their contribution to the total latency may be considerable on otherwise very low-latency systems. Conversion delay is usually below 1 ms. .. rubric:: Digital Signal Processing :name: digital-signal-processing Digital processors tend to process audio in chunks, and the size of that chunk depends on the needs of the algorithm and performance/cost considerations. This is usually the main cause of latency when using a computer and the one that can be predicted and optimized. .. rubric:: Computer I/O Architecture :name: computer-io-architecture A computer is a general purpose processor, not a digital audio processor. This means the audio data has to jump a lot of fences in its path from the outside to the CPU and back, contending in the process with some other parts of the system vying for the same resources (CPU time, bus bandwidth, etc.) .. rubric:: The Latency chain :name: the-latency-chain .. figure:: /images/latency-chain.png :alt: Latency chain Latency chain The numbers are an example for a typical PC. With professional gear and an optimized system the total round-trip latency is usually lower. The important point is that latency is always additive and a sum of many independent factors. Processing latency is usually divided into capture latency (the time it takes for the digitized audio to be available for digital processing, usually one audio period), and playback latency (the time it takes for In practice, the combination of both matters. It is called round-trip latency: the time necessary for a certain audio event to be captured, processed and played back. It is important to note that processing latency in a jackd is a matter of choice. It can be lowered within the limits imposed by the hardware (audio device, CPU and bus speed) and audio driver. Lower latencies increase the load on the system because it needs to process the audio in smaller chunks which arrive much more frequently. The lower the latency, the more likely the system will fail to meet its processing deadline and the dreaded xrun (short for buffer over- or under-run) will make its appearance more often, leaving its merry trail of clicks, pops and crackles. The digital I/O latency is usually negligible for integrated or PCI audio devices, but for USB or FireWire interfaces the bus clocking and buffering can add some milliseconds. .. rubric:: Low Latency use cases :name: low-latency-use-cases Low latency is **not** always a feature one wants to have. It comes with a couple of drawbacks: the most prominent is increased power consumption because the CPU needs to process many small chunks of audio data, it is constantly active and can not enter power-saving mode (think fan noise). Since each application that is part of the signal chain must run in every audio cycle, low-latency systems will undergo context switches between applications more often, which incur a significant overhead. This results in a much higher system load and an increased chance of xruns. For a few applications, low latency is critical: .. rubric:: Playing virtual instruments :name: playing-virtual-instruments A large delay between the pressing of the keys and the sound the instrument produces will throw off the timing of most instrumentalists (save church organists, whom we believe to be awesome latency-compensation organic systems.) .. rubric:: Software audio monitoring :name: software-audio-monitoring If a singer is hearing her own voice through two different paths, her head bones and headphones, even small latencies can be very disturbing and manifest as a tinny, irritating sound. .. rubric:: Live effects :name: live-effects Low latency is important when using the computer as an effect rack for inline effects such as compression or EQ. For reverbs, slightly higher latency might be tolerable, if the direct sound is not routed through the computer. .. rubric:: Live mixing :name: live-mixing Some sound engineers use a computer for mixing live performances. Basically that is a combination of the above: monitoring on stage, effects processing and EQ. In many other cases, such as playback, recording, overdubbing, mixing, mastering, etc. latency is not important, since it can easily be compensated for. To explain that statement: During mixing or mastering, one doesn't care if it takes 10ms or 100ms between the instant the play button is pressed and the sound coming from the speaker. The same is true when recording with a count in. .. rubric:: Latency compensation :name: latency-compensation During tracking it is important that the sound that is currently being played back is internally aligned with the sound that is being recorded. This is where latency compensation comes into play. There are two ways to compensate for latency in a DAW, read-ahead and write-behind. The DAW starts playing a bit early (relative to the playhead), so that when the sound arrives at the speakers a short time later, it is exactly aligned with the material that is being recorded. Since we know that playback has latency, the incoming audio can be delayed by the same amount to line things up again. The second approach is prone to various implementation issues regarding timecode and transport synchronization. Ardour uses read-ahead to compensate for latency. The time displayed in the Ardour clock corresponds to the audio signal that is heared on the speakers (and is not where Ardour reads files from disk). As a side note, this is also one of the reasons why many projects start at timecode 01:00:00:00. When compensating for output latency the DAW will need to read data from before the start of the session, so that the audio arrives in time at the output when the timecode hits 01:00:00:00. Ardour does handle the case of 00:00:00:00 properly but not all systems/software/hardware that you may inter-operate with may behave the same. .. rubric:: Latency Compensation And Clock Sync :name: latency-compensation-and-clock-sync To achieve sample accurate timecode synchronization, the latency introduced by the audio setup needs to be known and compensated for. In order to compensate for latency, JACK or JACK applications need to know exactly how long a certain signal needs to be read-ahead or delayed: .. figure:: /images/jack-latency-excerpt.png :alt: Jack Latency Compensation Jack Latency Compensation In the figure above, clients A and B need to be able to answer the following two questions: - How long has it been since the data read from port Ai or Bi arrived at the edge of the JACK graph (capture)? - How long will it be until the data written to port Ao or Bo arrives at the edge of the JACK graph (playback)? JACK features an API that allows applications to determine the answers to above questions. However JACK can not know about the additional latency that is introduced by the computer architecture, operating system and soundcard. These values can be specified by the JACK command line parameters -I and -O and vary from system to system but are constant on each. On a general purpose computer system the only way to accurately learn about the total (additional) latency is to measure it. .. rubric:: Calibrating JACK Latency :name: calibrating-jack-latency Linux DSP guru Fons Adriaensen wrote a tool called jack_delay to accurately measure the round-trip latency of a closed loop audio chain, with sub-sample accuracy. JACK itself includes a variant of this tool called jack_iodelay. Jack_iodelay allows to measure the total latency of the system, subtracts the known latency of JACK itself and suggests values for jackd's audio-backend parameters. jack_[io]delay works by emitting some rather annoying tones, capturing them again after a round trip through the whole chain, and measuring the difference in phase so it can estimate with great accuracy the time taken. The loop can be closed in a number of ways: - Putting a speaker close to a microphone. This is rarely done, as air propagation latency is well known so there is no need to measure it. - Connecting the output of the audio interface to its input using a patch cable. This can be an analog or a digital loop, depending on the nature of the input/output used. A digital loop will not factor in the AD/DA converter latency. Once the loop has been closed, one must: #. Launch jackd with the configuration to test. #. Launch jack_delay on the command line. #. Make the appropriate connections between the jack ports so the loop is closed. #. Adjust the playback and capture levels in the mixer. .. rubric:: 7.3 - Timecode Generators and Slaves :name: timecode-generators-and-slaves :class: clear Ardour supports three common timecode formats: LTC, MTC, and MIDI Clock, as well as JACK-transport, a JACK-specific timecode implementation. | Ardour can generate timecode and thus act as timecode master, providing timecode information to other applications. Ardour can also be slaved to some external source in which case the playhead follows the incoming timecode. | Combining the timecode slave and generator modes, Ardour can also translate timecode. e.g create LTC timecode from incoming MTC. .. rubric:: Ardour Timecode Configuration :name: ardour-timecode-configuration Each Ardour session has a specific timecode frames-per-second setting which is configured in session > properties > timecode. The selected timecode affects the timecode ruler in the main window as well as the clock itself. Note that some timecode formats do not support all of Ardour's available fps settings. MTC is limited to 24, 25, 29.97 and 30 fps. The video pull-up modes change the effective samplerate of Ardour to allow for changing a film soundtrack from one frame rate to another. The concept is beyond the scope of this manual, but Wikipedia's entry on `Telecine `__ may be a good start. .. rubric:: Ardour Timecode Generator Configuration :name: ardour-timecode-generator-configuration This is pretty straightforward: simply turn it on. The MTC and MIDI-Clock generator do not have any options. The LTC generator has a configurable output level. JACK-transport cannot be *generated*. Jack itself is always synced to its own cycle and cannot do varispeed—it will always be synced to a hardware clock or another JACK master. The relevant settings for timecode generator can be found in Edit > Preferences > MIDI Preferences (for MTC, MC) and Edit > Preferences > Transport Preferences (for LTC). The timecode is sent to jack-ports ``ardour:MTC out``, ``ardour:MIDI clock out`` and ``ardour:LTC-out``. Multiple generators can be active simultaneously. Note that, as of Jan 2014, only the LTC generator supports latency compensation. This is due to the fact the Ardour MIDI ports are not yet latency compensated. In Session > Properties, it is possible to define an offset between Ardour's internal time and the timecode sent. Currently only the LTC generator honors this offset. Both LTC and MTC are limited to 30 fps. Using frame rates larger than that will disable the generator. In both cases also only 24, 25, 29.97df (drop-frame) and 30 fps are well defined by specifications (such as SMPTE-12M, EU and the MIDI standard). .. rubric:: MTC Generator :name: mtc-generator The MTC generator has no options. Ardour sends full MTC frames whenever the transport is relocated or changes state (start/stop). MTC quarter frames are sent when the transport is rolling and the transport speed is within 93% and 107%. .. rubric:: LTC Generator :name: ltc-generator The level of the LTC generator output signal can be configured in in the Preferences > Transport dialog. By default it is set to -18 dBFS, which corresponds to 0dBu in an EBU calibrated system. The LTC generator has an additional option to keep sending timecode even when the transport is stopped. This mode is intended to drive analog tape machines which unspool the tape if no LTC timecode is received. LTC is send regardless of Ardour's transport speed. It is accurately generated even for very slow speeds (<5%) and only limited by the soundcard's sampling-rate and filter (see `Gibbs phenomenon `__) for high speeds. .. rubric:: Ardour Slave Configuration :name: ardour-slave-configuration The timecode source can be switched with the button just right of Ardour's main clock. By default it is set to Internal in which case Ardour will ignore any external timecode. The button allows to toggle between Internal and the configured timecode source which is chosen in Edit > Preferences > Transport. When Ardour is chasing (synchronizing to) an external timecode source, the following cases need to be distinguished: #. the timecode source shares the clock #. the timecode source is independent (no wordclock sync) and #. the timecode source uses the same FPS setting as Ardour #. the timecode source runs at different frames-per-second In both cases the first option is preferred: clock sync + same FPS setting. .. rubric:: Frames-per-second :name: frames-per-second If the frames-per-second do not match, Ardour can either re-calculate and map the frames, or the configured FPS (Session > Properties) can be changed automatically while the slave is active. The behavior is configured with the checkbox Edit > Preferences > Transport > Match session video frame rate to external timecode. When enabled, the session video frame rate will be changed to match that of the selected external timecode source. When disabled, the session video frame rate will not be changed to match that of the selected external timecode source. Instead the frame rate indication in the main clock will flash red, and Ardour will convert between the external timecode standard and the session standard. | 29.97 drop-frame timecode is another corner case. While the SMPTE 12M-1999 specifies 29.97df as 30000/1001 frames per second, not all hardware devices follow that standard. The checkbox Lock to 29.9700 fps instead of 30000/1001 allows to use a compatibility mode for those devices. | When enabled, the external timecode source is assumed to use 29.970000 fps instead of 30000/1001. SMPTE 12M-1999 specifies 29.97df as 30000/1001. The spec further mentions that drop-frame timecode has an accumulated error of -86 ms over a 24-hour period. Drop-frame timecode would compensate exactly for a NTSC color frame rate of 30 \* 0.9990 (ie 29.970000). That is *not* the actual rate. However, some vendors use that rate—despite it being against the specs—because the variant of using exactly 29.97 fps yields zero timecode drift. .. rubric:: Clock Sync Lock :name: clock-sync-lock As described in the `On Clock and Time `__ chapter, timecode and clock are independent. If the external timecode source is not in sample-sync with the audio hardware (and JACK), Ardour needs to run at varispeed to adjust for the discrepancy. The checkbox External timecode is sync locked allows to select the behavior according to the setup. When enabled, it indicates that the selected external timecode source shares sync (Black & Burst, Wordclock, etc) with the audio interface. In other words: if enabled, Ardour will only perform initial synchronization and keep playing at speed 1.0 instead of vari-speed adjusting to compensate for drift. Note that vari-speed is unavailable when recording in Ardour, and all tracking happens at speed 1.0. So in order to record in sync with external timecode it must be sample-locked or it will drift over time. .. rubric:: MIDI Clock :name: midi-clock MIDI Clock is not a timecode format but tempo-based time. The absolute reference point is expressed as beats-per-minute and Bar, Beat and Tick. There is no concept of sample-locking for MIDI clock signals. Ardour will vari-speed if necessary to chase the incoming signal. Note that the MIDI Clock source must be connected to the ``ardour:MIDI clock in`` port. .. rubric:: LTC—Linear Timecode :name: ltclinear-timecode The LTC slave decodes an incoming LTC signal on a JACK audio port. It will auto-detect the frame rate and start locking to the signal once two consecutive LTC frames have been received. The incoming timecode signal needs to arrive at the ``ardour:LTC-in`` port. Port-connections are restored for each session and the preference dialog offers an option to select it for all sessions. Ardour's transport is aligned to LTC-frame start/end positions according to the SMPTE 12M-1999 specification, which means that the first bit of an LTC-Frame is aligned to different Lines of a Video-Frame, depending on the TV standard used. Only for Film (24fps) does the LTC-Frame directly match the video Frame boundaries. .. figure:: /images/ltc-transport-alignment.png :alt: LTC frame alignment for the 525/60 TV standard LTC frame alignment for the 525/60 TV standard Ardour supports vari-speed and backwards playback but will only follow speed changes if the sync locked option is disabled. While Ardour is chasing LTC, the main transport clock will display the received Timecode as well as the delta between the incoming signal and Ardour's transport position. A global offset between incoming timecode and Ardour's transport can be configured in Session > Properties. The user-bits in the received LTC frame are ignored. .. rubric:: MTC—MIDI Timecode :name: mtcmidi-timecode Ardour's MTC slave parses full timecode messages as well as MTC quarter-frame messages arriving on the ``ardour:MTC in`` port. The transport will only start rolling once a complete sequence of 8 quarter frames has been received. Ardour supports vari-speed and backwards playback but will only follow MTC speed changes if the sync locked option is disabled. When Ardour is chasing MTC, the main transport clock will display the received Timecode as well as the delta between the incoming signal and Ardour's transport position. .. rubric:: JACK Transport :name: jack-transport When slaved to jack, Ardour's transport will be identical to JACK-transport. As opposed to other slaves, Ardour can be used to control the JACK transport states (stopped/rolling). No port connections need to be made for jack-transport to work. JACK-transport does not support vari-speed, nor offsets. Ardour does not chase the timecode but is always in perfect sample-sync with it. JACK-transport also includes temp-based-time information in Bar:Beats:Ticks and beats-per-minute. However, only one JACK application can provide this information at a given time. The checkbox Session > Properties > JACK Time Master configures Ardour to act as translator from timecode to BBT information. .. rubric:: 7.4 - Overview of all Timecode related settings :name: overview-of-all-timecode-related-settings :class: clear Timecode settings are accessed from the menu in three places: - Session > Properties > Timecode - Edit > Preferences > Transport - Edit > Preferences > MIDI .. rubric:: Timecode Settings :name: timecode-settings +-----------------------------------+-----------------------------------+ | Timecode frames-per-second | Configure timecode | | | frames-per-second (23.976, 24, | | | 24.975, 25, 29.97, 29.97 drop, | | | 30, 30 drop, 59.94, 60). Note | | | that all fractional framerates | | | are actually fps*(1000.0/1001.0). | +-----------------------------------+-----------------------------------+ | Pull up/down | Video pull-up modes change the | | | effective samplerate of Ardour to | | | allow for changing a film | | | soundtrack from one frame rate to | | | another. See | | | `Telecine `__ | +-----------------------------------+-----------------------------------+ | Slave Timecode offset | The specified offset is added to | | | the received timecode (MTC or | | | LTC). | +-----------------------------------+-----------------------------------+ | Timecode Generator offset | Specify an offset which is added | | | to the generated timecode (so far | | | only LTC). | +-----------------------------------+-----------------------------------+ | JACK Time Master | Provide Bar|Beat|Tick and other | | | information to JACK. | +-----------------------------------+-----------------------------------+ These settings are session specific. .. rubric:: Transport Preferences :name: transport-preferences +-----------------------------------+-----------------------------------+ | External timecode source | Select timecode source: JACK, | | | LTC, MTC, MIDI Clock | +-----------------------------------+-----------------------------------+ | Match session video frame rate to | This option controls the value of | | external timecode | the video frame rate *while | | | chasing* an external timecode | | | source. When enabled, the session | | | video frame rate will be changed | | | to match that of the selected | | | external timecode source. When | | | disabled, the session video frame | | | rate will not be changed to match | | | that of the selected external | | | timecode source. Instead the | | | frame rate indication in the main | | | clock will flash red and Ardour | | | will convert between the external | | | timecode standard and the session | | | standard. | +-----------------------------------+-----------------------------------+ | External timecode is sync locked | Indicates that the selected | | | external timecode source shares | | | sync (Black & Burst, Wordclock, | | | etc) with the audio interface. | +-----------------------------------+-----------------------------------+ | Lock to 29.9700 fps instead of | The external timecode source is | | 30000/1001 | assumed to use 29.97 fps instead | | | of 30000/1001. SMPTE 12M-1999 | | | specifies 29.97df as 30000/1001. | | | The spec further mentions that | | | drop-frame timecode has an | | | accumulated error of -86ms over a | | | 24-hour period. Drop-frame | | | timecode would compensate exactly | | | for a NTSC color frame rate of 30 | | | \* 0.9990 (ie 29.970000). That is | | | not the actual rate. However, | | | some vendors use that | | | rate—despite it being against the | | | specs—because the variant of | | | using exactly 29.97 fps has zero | | | timecode drift. | +-----------------------------------+-----------------------------------+ | LTC incoming port | Offers a session agnostic way to | | | retain the LTC port connection. | +-----------------------------------+-----------------------------------+ | Enable LTC generator | Does just what it says. | +-----------------------------------+-----------------------------------+ | Send LTC while stopped | Enable to continue to send LTC | | | information even when the | | | transport (playhead) is not | | | moving. This mode is intended to | | | drive analog tape machines which | | | unspool the tape if no LTC | | | timecode is received. | +-----------------------------------+-----------------------------------+ | LTC generator level | Specify the Peak Volume of the | | | generated LTC signal in dbFS. A | | | good value is 0 dBu (which is | | | -18 dbFS in an EBU calibrated | | | system). | +-----------------------------------+-----------------------------------+ These settings are common to all sessions. .. rubric:: MIDI Preferences :name: midi-preferences +--------------------+-----------------------------+ | Send MIDI Timecode | Enable MTC generator | +--------------------+-----------------------------+ | Send MIDI Clock | Enable MIDI Clock generator | +--------------------+-----------------------------+ These settings are also common to all sessions. .. rubric:: 8 - Preferences :name: preferences :class: clear Global preferences control general workflow and system configuration, and should apply to all sessions. They are located in Edit > Preferences and stored in Ardour's user configuration file in the user's home directory. .. rubric:: General :name: general - DSP CPU Utilization - Signal processing uses: sets how many cpu processors can be used to do signal processing. It can be set to use one up to all processors. - Memory Usage - Waveform image cache (megabytes): sets the maximum amount of ram that can be used to store the images representing the waveforms in the editor. Past this amount, the images will be regenerated when needed, which can significantly decrease the system's performance. - Engine - Try to auto-launch audio/midi engine allows Ardour to try to automatically launch the audio and MIDI system, driver and device, thus not showing the `Audio/MIDI Setup <#newopen-session-dialog>`__ dialog. This can save a little time if the system is always used the same way. - Automation - **Thinning factor** ranges from 0 to 1000 with larger values sending fewer automation changes. Thinning is like lossy audio compression, removing data that is less likely to be noticed, although the more is removed, the more likely the loss will be noticed. The advantage to thinning is reduced CPU usage. - **Automation sampling interval** ranges from 1 to 1000 ms. Determines how frequently the automation input is sampled. The shorter the interval the higher the accuracy but also the higher the CPU requirements. - Tempo - Allow non quarter-note pulse: by default, Ardour understands the `tempo <#tempo-and-meter>`__ as the number of quarter notes in a minute. Checking this option allows to set the tempo based on any division of the note, from whole to 1/128th. This is reflected in the Edit Tempo window (accessed by double clicking a tempo marker) that shows a "Pulse" menu when this option is checked. - GUI Lock - Lock timeout (seconds):locks the GUI after this many idle seconds (zero being 'never lock'). The GUI can also be locked with Session > Lock. When locked, a dialog will display a "Click to unlock" button. .. rubric:: Session :name: session - Undo defines the behaviour of the Undo operations: - **Limit undo history** sets how many commands can be undone using Z or Edit > Undo. Unchecking will keep an endless memory of operations to undo, at the expense of memory. - **Save undo history** sets how many commands are saved so they are available to be undone after reopening the session. This can also be unchecked to keep all actions undoable, at the cost of bigger session files. - **Verify removal of last capture** when enabled prompts to verify removal the last recording capture when Edit > Remove Last Capture is executed. - Session Management: - **Make periodic backups of the session file** will create a backup session file after changes to the timeline. The backup file is the session name followed by *.ardour.bak*. The backup can be used to recover from crashes when the session had not been explicitly saved. - **Always copy imported files** selects, and then disables changes to, the *Copy files to session* option in the `Add Existing Media <#import-dialog>`__ dialog. - **Default folder for new sessions:** defaults the folder where Ardour will create new session folders. This is used in the *Session Setup* dialog displayed by Session > New. - **Maximum number of recent sessions:** determines how many of the last opened sessions shows in the *Recent Sessions* dialog displayed by Session > Recent. .. rubric:: Translation :name: translation - Internationalization - Use translations sets if Ardour should use a translated version of all the messages. The default (unchecked) is English (US). When checked, and if a language file exists for the system language, this file will be used to translate Ardour. .. rubric:: Editor :name: editor - General - Snap rubberband to grid when enabled uses the grid when `selecting regions <#select-regions>`__ with a rubberband rectangle. - Prompt for new marker names when enabled, popup a dialog when a new `marker <#working-with-markers>`__ is created. This allows markers to be named as they are created. - Allow dragging of the playhead, when enabled, allows dragging the playhead with the mouse in the **Editor** window. - Playhead dragging speed (%): chooses how fast the canvas scrolls when dragging the playhead outside of the visible canvas. - Limit zooming & summary view to X minutes beyond session extents prevents the zoom out both in the editor and the summary, to show anything past the chosen time after the end marker, restraining the vision to only useful content. - Zoom to mouse position when zooming with scroll wheel: by default, Ardour zooms to the `edit point <#edit-point-control>`__. When this option is checked, and the zoom is done with + mousewheel, the zoom will happen at the mouse cursor position regardless of the edit point chosen. - Zoom with vertical drag in rulers allows, when checked, to click anywhere in an empty zone of the `ruler <#ruler>`__ zone and drag up to zoom in or down to zoom out. - Double click zooms to selection allows by double clicking, to zoom on the selection, both on the time and tracks axes. If the selection has been done with or , then this key should still be pressed when double clicking for this to work, otherwise the first click breaks the group selection. - Update editor window during drags of the summary: when enabled the contents of the editor window will redraw the tracks area as the selection rectangle in the `summary <#summary>`__ area is moved or resized. - Auto-scroll editor window when dragging near its edges when enabled will scroll the editor window automatically when dragging a region. This can make it easier to see where to position the region. - Show gain envelopes in audio regions: sets in which `modes <#toolbox>`__ the gain envelope is displayed in audio regions. The gain envelope is superimposed over the region in the selected modes, and hidden otherwise for a better legibility. - Editor Behaviour - Move relevant automation when audio regions are moved, when enabled, causes automation data to stay with a region when the region is moved inside the playlist. When disabled, the automation is not affected by movement of regions. - Ignore Y-axis click position when adding new automation-points allows to create new automation points at the x-position of the mouse, without using the Y-position as the value, hence creating a new automation point at its present value. - Default fade shape: sets which `fade shape <#create-region-fades-and-crossfades>`__ is the default. - Regions in edit groups are edited together: sets the criteria to see if editing actions apply to tracks grouped together in an group. - Layering model: Ardour allows `layering <#layering-display>`__ multiple regions in the same track. This selector defines how these layers are managed, either manually or by placing the latest on top. - After splitting selected regions, select: determines which, if any, regions are selected after a split operation. The options are no regions, the regions created by the split, and if more than one region was selected to start with, the existing selection and the new regions. .. rubric:: Modifiers :name: modifiers This page allows to choose how things are done in the editor. This is a very flexible way for Ardour to match an existing workflow, or speed up the editing process based on the user's most used actions. The Reset to recommended defaults button at the bottom provides a way to revert any user made change to its default value. .. rubric:: Mixer :name: mixer - Solo contains settings that affect the use of `solo, muting <#muting-and-soloing>`__, and `panning <#panning>`__. - Solo controls are Listen controls: when enabled, the soloed track is soloed only on the monitor bus, the master fader mix is not affected by the solo. This option can also be set by enabling pre-fader listen or after-fader listen in the **Mixer** monitor section. - Exclusive solo when enabled will only solo the last track selected for solo. Previously soloed tracks will be un-soloed. This setting is also available from the **Mixer** monitor section. - Show solo muting when enabled outlines the mute button on tracks and busses when another track is soloed. - Soloing overrides muting when enabled allows a track to be heard when it is soloed while muted. This setting is also available from the **Mixer** monitor section. - Solo-in-place mute cut (dB): sets the attenuation of the other tracks when another track is soloed in place. This setting is also available from the **Mixer** monitor section. The default is "−inf" for −∞, meaning the other tracks are totally muted. - Listen Position: determines what is listened to when the solo controls are used as listen controls. The options are after-fader or pre-fader. - PFL signals come from: determines whether the pre-fader listen position is before or after the pre-fader processors. - AFL signals come from: determines whether the after-fader listen position is before or after the after-fader processors. - Default Track / Bus Muting Options sets the muting options for a newly created tracks or bus. The mute options for an existing track or bus are changed by the right-click context menu on a mute button. - Mute affects pre-fader sends when enabled pre-fader sends will be muted by default. - Mute affects post-fader sends when enabled post-fader sends will be muted by default. - Mute affects control outputs when enabled control outputs are muted by default. - Mute affects main outputs when enabled main outputs are muted by default. - Send Routing affects `aux and external sends <#aux-sends>`__. - Link panners of Aux and External Sends with main panner by default when enabled, sends follow the channel panner. When disabled, sends can panned independently of the channel panner and fader. Double clicking the send in the processor box toggles the main panner and fader between the aux send and the channel. .. rubric:: Signal Flow :name: signal_flow - Monitoring - Record monitoring handled by: determines whether Ardour provides monitoring of incoming audio or whether monitoring is provided by hardware. See `Monitoring <#monitoring>`__ for more information. - Tape machine mode when enabled defaults new audio tracks to tape machine mode. See `Track Types <#track-types>`__ for more information. - Track and Bus Connections - Auto-connect main output (master or monitor) bus to physical ports auto-connects the outputs to the first N physical ports. In a session without a `monitor section <#monitor-section>`__, the master-bus is connected to the system's playback ports, and if a monitor section exists, the monitor-bus' output are connected. - Connect track inputs: allows to choose when a new track is created whether its inputs will be automatically connected to the physical inputs of the system or not (hence the user has to manually connect it). - Connect track and bus outputs: allows to choose, for any new track or bus created, whether its output will automatically be connected to the master bus, directly to the physical outputs or to nothing (the user has to manually connect it). - Use 'Strict-I/O' for new tracks or busses determines the default choice for the `signal flow <#trackbus-signal-flow>`__ of a newly created track or bus. This can be overridden in the `Add Track/Bus/VCA <#adding-tracks-busses-and-vcas>`__ dialog .. rubric:: Audio :name: audio - Buffering settings determine how many seconds of audio off of disk will be buffered in memory. Longer settings reduce the risk of buffer under-runs but consume more memory. - Preset: will automatically choose the values for the playback and recording buffer based on the chosen size of the session. The **Custom** option allows to manually select the buffers with the two sliders below. - Playback (seconds of buffering): sets how many seconds of audio Ardour will buffer during playback. - Recording (seconds of buffering): sets how many seconds of audio Ardour will buffer during recording. - Denormals are a specific type of very small numbers that can cause issues with CPU consumption when using some plugins in some circumstances. Ardour provides two methods of handling the issue. Trying different combinations of these settings may minimize CPU consumption. - Use DC bias to protect against denormals adds a small constant value to numbers to move the numbers away from zero. - Processor handling:, if the computer's hardware supports it, offers two methods that can be used individually or combined. Flush to zero and denormals are zero. - Regions - Enable automatic analysis of audio generates the transient values (used in e.g. the `Rhythm Ferret <#rhythm-ferret>`__) automatically. When unchecked, the transient values will be generated on demand. - Replicate missing region channels: if a track is N-channel, and the region has fewer channels, this option copies the existing channel's data for this non-existent one. If left unchecked, the missing channels will stay silent. .. rubric:: MIDI :name: midi - Buffering - MIDI read-ahead time (seconds): defines how much time of MIDI data must be read in advance by Ardour and put in the buffer. More time means more stability while playing back, at the expense of more time to buffer the data. This should be set to a low value for a reasonably capable machine. - Session - Initial program change: Ardour will send a MIDI program change message on the ``ardour:MMC out`` JACK port when a session is loaded and whenever this field is changed. A value of -1 means don't send any program change message. - Audition - Sound MIDI notes as they are selected in the editor will play any selected or added MIDI note when in Draw or Internal Edit modes. The note is sent as MIDI as if Ardour was playing it withe the session, so the processors and signal routing will be applied. - Midi Audition Synth (LV2): allows to select in the list of LV2 instruments, which one will be used to audition MIDI when e.g. in the `import dialog <#import-dialog>`__. .. rubric:: Metronome :name: metronome - Metronome handles the way Ardour's metronome is played when enabled in the `Transport Bar <#transport-bar>`__. - Emphasis on first beat plays a different sound when the first beat is played (e.g. 1/4 in 4/4, 1/3 in 3/4,…). When unchecked, all the beats are indistinguishable. - Use built-in default sounds when checked, uses Ardour's own sounds for the metronome click. Unchecking this allows to set some custom sounds below. - Audio file: selects an audio file for the beats, in any `format <#supported-file-formats>`__ Ardour supports. - Emphasis audio file: in conjunction with Emphasis on first beat, selects an audio file for the first beats of each bar. - Gain level: allows the metronome's click sounds to be boosted or attenuated. - Options - Enable Metronome only while recording: when enabled, the metronome will remain silent unless Ardour is recording. .. rubric:: Metering :name: metering - Metering - Peak hold time: allows the meter to keep displaying the highest signal level for a period of time before reverting to showing the actual instantaneous value (unless an even higher peak occurs). The longer this time is, the easier it is to spot peaks, at the expense of instantaneous accuracy. - DPM fall-off: describes how fast the Digital Peak Meters can go from a high value to a lower one. Faster values are more accurate but less readable. - Meter line-up level; 0 dBu: chooses a standard for the conversion between dBFS (Full Scale) which represent the numeric signal level, and dBu which represents the analog signal level. This value is used to configure meter-marks and color knee-points, or set the reference levels for various meter-types. - IEC1/DIN Meter line-up level; 0 dBu: sets the reference level for the IEC1/DIN Meter - VU Meter standard: selects which standard to use for the zero value of the vu-meters, i.e. the analog dBu value that will show as 0 on the VU-meter. - Peak indicator threshold [dBFS]: at that value and over, the signal will make the peak meter to turn red, indicating a level too high. - Default Meter Types sets the default meters when creating a session or track. These meters can be changed afterwards by right-clicking a meter. - Default Meter Type for Master Bus: defines which kind of `meter <#metering-in-ardour>`__ will be used when creating a new session (does not apply to the current session). - Default Meter Type for busses: defines which kind of meter will be used when creating a new bus (applies to the bus created after changing the value). - Default Meter Type for tracks: same as above, for tracks. - Post Export Analysis - Save loudness analysis as image file allows, when the Analyze Exported Audio is checked in the `Export dialog <#export-dialog>`__, to save the analysis graph as a file named ``session.png`` alongside the exported audio file(s) (in the same folder). .. rubric:: Transport :name: transport - General - Stop at the end of the session causes the transport to stop during playback when it reaches the end marker. Behavior during recording is not changed. - Keep record-enable engaged on stop leaves the global record-enable engaged after transport is stopped. Does not affect track level record-enable which is never changed on stop. - Disable per-track record disarm while rolling, when enabled, will not allow the any track's record-enable to be disarmed during record, preventing accidentally stopping the recording of a take. - 12dB gain reduction during fast-forward and fast-rewind when enabled will reduce the unpleasant increase in perceived volume that occurs when fast-forwarding or rewinding through some kinds of audio. - Preroll: sets the duration of the preroll for playing and recording when using a preroll. Can be a musical duration (in bars) or a duration in seconds. - Looping - Play loop is a transport mode changes the behavior of the loop button, turning it into a toggle. When enabled, the loop button does not start playback but forces playback to always play the loop. Looping stays engaged when the transport is stopped. Playback continues where the transport stopped and continues to loop. When disabled, the loop button starts playing the loop but stop then cancels loop playback. - Do seamless looping removes any clicks that might otherwise be audible when the transport moves from the end of the loop range back to the beginning. - Dropout (xrun) Handling - Stop recording when an xrun occurs will stop the transport when an xrun occurs during recording, ensuring no audible glitches are recorded. - Create markers where xruns occur will create a new `marker <#working-with-markers>`__ when an xrun occurs during recording at the location of the xrun. This marks where possible xruns might produce audible glitches. .. rubric:: Sync :name: sync - External Synchronization - External timecode source determines which external source to use when Ardour is using an external `synchronization <#working-with-synchronization>`__ source. Depending on the timecode source chosen, the additional preference options below are available. - Match session video frame rate to external timecode controls the value of the video frame rate *while chasing* an external timecode source. When enabled, the session video frame rate will be changed to match that of the selected external timecode source. When disabled, the session video frame rate will not be changed to match that of the selected external timecode source. Instead, the frame rate indication in the main clock will flash red and Ardour will convert between the external timecode standard and the session standard. - Sync-lock timecode to clock (disable drift compensation) When enabled, Ardour will never varispeed when slaved to external timecode. Sync Lock indicates that the selected external timecode source shares clock-sync (Black & Burst, Wordclock, etc) with the audio interface. This options disables drift compensation. The transport speed is fixed at 1.0. Vari-speed LTC will be ignored and cause drift. When disabled, Ardour will compensate for potential drift regardless if the timecode sources shares clock sync. - Lock to 29.9700 fps instead of 30000/1001, when enabled, will force Ardour to assume the external timecode source uses 29.97 fps instead of 30000/1001. SMPTE 12M-1999 specifies 29.97 df as 30000/1001. The spec further mentions that drop-frame timecode has an accumulated error of -86 ms over a 24 hour period. Drop-frame timecode would compensate exactly for an NTSC color frame rate of 30 × 0.9990 (i.e. 29.970000). That is not the actual rate. However, some vendors use that rate—despite it being against the specs—because the variant of using exactly 29.97 fps has zero timecode drift. .. rubric:: LTC :name: ltc - Linear Timecode (LTC) Reader - LTC incoming port: specifies which physical incoming port of the system will provide the LTC signal. - Linear Timecode (LTC) Generator - Enable LTC generator when enabled Ardour will output an LTC timecode signal on its *LTC-out* port. If this option is checked, the two options below are active: - Send LTC while stopped, when enabled Ardour will continue to send LTC information even while the transport (playhead) is not moving. - LTC generator level [dBFS]: specifies the peak volume of the generated LTC signal in dbFS. A good value is 0dBu=−18dbFS in an EBU calibrated system. .. rubric:: MIDI :name: sync_midi - MIDI Beat Clock (Mclk) Generator - Enable Mclk generator when enabled Ardour will generate a (tempo dependant) beat clock at a rate of 24 pulses per quarter note on the ``ardour:MIDI clock out`` JACK port. - MIDI Time Code (MTC) Generator - Enable MTC Generator when enabled Ardour will generate MIDI time code on the ``ardour:MTC out`` JACK port. - Percentage either side of normal transport speed to transmit MTC: MIDI time code generation will be disabled when the transport speed is greater than normal speed plus this percentage or less than normal minus this percentage. - MIDI Machine Control (MMC) - Respond to MMC commands when enabled Ardour will respond to MIDI Machine Control commands received on the ``ardour:MMC in`` JACK port. - Send MMC commands when enabled Ardour will send MIDI Machine Control commands on the ``ardour:MMC out`` JACK port. - Inbound MMC device ID: is the only device ID Ardour will respond to when an MMC command is received on the ``ardour:MMC in`` JACK port. - Outbound MMC device ID: is the MIDI device ID Ardour will use when it sends MMC commands. .. rubric:: Control Surfaces :name: control_surfaces This tab contains settings for `control surfaces <#control-surfaces>`__. It lists all the Control Surface protocols Ardour knows. To enable a Control Surface Protocol, the Enable checkbox next to its name should be ticked. Editing the settings related to this protocol can be done by double-clicking its name or clicking the Show protocol settings (only for Generic MIDI and Open Sound Control). .. rubric:: MIDI Ports :name: midi_ports - MIDI Port Options - MIDI input follows MIDI track selection allows Ardour to automatically connect the MIDI input to the selected track. Selecting a different MIDI track results in Ardour disconnecting the MIDI device from the former track and connecting it to the newly selected one, so that the MIDI device is always connected to the selected track. Which MIDI device will follow selection can be chosen below. - MIDI Inputs This is a list of all the MIDI devices connected as inputs (capture devices) to Ardour. For each devices, there are 3 checkboxes: - Music Data if checked, Ardour will consider this device as a source for musical data input (notes, etc…) - Control Data if checked, Ardour will consider this device as a source for control data input (play/stop, etc…) - Follow selection if the above MIDI input follows MIDI track selection is checked, Ardour will make this device follow track selection. - MIDI Outputs This is a list of all the MIDI devices connected as outputs (playback devices) to Ardour. For each devices, there are 2 checkboxes: - Music Data if checked, Ardour will consider this device as a target for musical data output (notes, etc…) - Control Data if checked, Ardour will take this device as a target for control data output (play/stop, etc…) .. rubric:: Plugins :name: plugins The content of this preference page varies heavily between versions or Ardour: both the platform and the build-time options can make Ardour support some types of plugins and not others. While this documentation tries to show all possible options, most systems will only show a subset of the options hereunder, e.g. AudioUnits are macOS only… - Scan/Discover - Scan for Plugins will initiate an immediate scan of the system for available plugins. Useful to get a newly installed plugin recognised by Ardour. - General - Always Display Plugin Scan Progress When enabled a popup window showing plugin scan progress is displayed for indexing (cache load) and discovery (detect new plugins). - Silence plugins when the transport is stopped when stopping playback or recording, if this option is checked, the plugins that still emit sound (reverbs, etc…) will be stopped. If unchecked, the plugins will continue playing after the transport stop. - Make new plugins active when enabled, any plugin added to a track will be in active mode. If unchecked, the plugins will be added in inactive mode by default, hence have no processing effect on the track/bus. - Limit automatable parameters per plugin: as some plugins (synthesizers, …) have a lot of parameters, and those parameters can be automated by Ardour, checking this will limit the number of parameters that are listed as automatable, hence making the lists shorter and the GUI more responsive. - Plugin GUI - Automatically open the plugin GUI when adding a new plugin shows the plugins GUI as soon as it is added to the processing box. If unchecked, the plugin will be added in the processor box but the GUI will only be shown when double clicking it. - Show Plugin Inline Display on Mixer strip by default allows Ardour to show, in the `mixer strips <#audiomidi-mixer-strips>`__, a visual rendering of the effect. These Inline Display are a special feature of Ardour, so not all plugins are able to show this display. Most of Ardour's `own plugins <#plugins-bundled-with-ardour>`__ have an Inline Display. At any time, the plugin's Inline Display can be toggled on or off by double-clicking it. - Don't automatically open the plugin GUI when the plugin has an inline display mode: this option, available only if Automatically open the plugin GUI when adding a new plugin is checked, supercedes it and hides the plugin GUI at creation if it has an Inline Display, like Ardour's own ``a-*`` plugins. - Instrument - Ask to replace existing instrument plugin: if a MIDI track already has an instrument (i.e. MIDI to audio converter of some sort) and this option is checked, Ardour will detect it and offer to replace the existing instrument with the newly added one, avoiding a possible conflict. - Interactively configure instrument plugins on insert: when inserting a multichannel instrument plugin, if this option is checked, prompts the user for the channel configuration for this plugin. .. rubric:: VST :name: vst - VST - Enable Mac VST support (requires restart or re-scan) makes a MacOs system able to run VST-Mac plugins. As stated, a new scan for plugins is required, be it manually or by restarting Ardour. - Scan for [new] VST Plugins on Application Start When enabled new VST plugins are searched, tested and added to the cache index on application start. When disabled new plugins will only be available after triggering a 'Scan' manually. - Verbose Plugin Scan: adds information about the plugin in the `Log window <#status-bar>`__. - Scan Time Out Specifies the default timeout for plugin instantiation. Plugins that require more time to load will be blacklisted. A value of &infinity; disables the timeout. - VST Cache: Clicking the Clear button removes all VST plugins from the list of plugins available to be inserted into the processor box. A new VST plugin scan is then required. - VST Blacklist: Clicking the Clear button makes blacklisted VST plugins available to be added to the processor box. - Linux VST Path: Clicking the Edit button pops up a dialog to manage the directories that will be searched for Linux VST plugins. When modified, Ardour will offer to scan those paths for plugins. - Path: are the paths chosen above. - Windows VST Path: Clicking the Edit button pops up a dialog to manage the directories that will be searched for Windows VST plugins. When modified, Ardour will offer to scan those paths for plugins. - Path: are the paths chosen above. .. rubric:: Audio Unit :name: audio_unit - Audio Unit - Scan for [new] AudioUnit Plugins on Application Start When enabled, new AU plugins are searched, tested and added to the cache index on application start. When disabled, new plugins will only be available after triggering a 'Scan' manually. - AU Cache: Clicking the Clear button removes all AU plugins from the list of plugins available to be inserted into the processor box. A new AU plugins scan is then required. - AU Blacklist: Clicking the Clear button makes blacklisted AU plugins available to be added to the processor box. .. rubric:: Appearance :name: appearance - Graphics Acceleration - Possibly improve slow graphical performance (requires restart) Ardour uses hardware accelerated gradient creation by default for speed. Sometimes though, a buggy driver can cause this to make the system slow or unstable. Checking this will make Ardour draw its own gradients without hardware acceleration, improving stability and responsiveness on those buggy systems. - Graphical User Interface - Highlight widgets on mouseover, when checked, makes Ardour's widgets (buttons, sliders, …) slightly change color when the mouse hovers them, visually indicating what a mouse action would interact with. - Show tooltips if mouse hovers over a control when checked, displays a little help bubble about the control the mouse hovers. The mouse pointer needs to stay idle for about 1 sec for the tooltip to appear. - Update clocks at TC Frame rate: Ardour updates its clocks every 100 ms. Checking this will make the clock refresh at every TimeCode frame which is more responsive, at the cost of a bit more system stress. - Blink Rec-Arm buttons: when enabled, the record-armed buttons on tracks will blink when they are armed but not currently recording. When disabled, the record-armed buttons on tracks will be outlined in red instead of blinking. The global record-arm button in the `Transport bar <#transport-bar>`__ is unaffected. - Blink Alert indicators: when enabled, the Alert indicators (like the Error Log or the Feedback button) will blink when they are active (when an error or feedback has been detected, respectively). When disabled, the indicators will turn red instead of blinking. - GUI and Font scaling: allows the display size of most of the text and buttons in the user interface to be scaled up or down. May require a restart to take effect. .. rubric:: Editor :name: appearance_editor - General - Use name highlight bars in region displays (requires a restart): when enabled, the region name is displayed, in the editor, in its own opaque bar at the bottom of the region. When disabled, the region name is overlaid at the top of the region, possibly over audio waveforms or MIDI notes. - Region color follows track color: when enabled, the background color of regions in the editor will be displayed using the color assigned to the track. When disabled the default region background color will be used. - Waveforms - Show waveforms in regions when enabled shows a visual representation of the region's audio waveform. - Show waveform while recording when enabled, will draw the audio waveform in regions being recorded, in near real time. When disabled, only a region block will be drawn while recording, reducing CPU requirements. - Show waveform clipping: when enabled the waveform displayed will show peaks marked in red if they exceed the clip level. - Waveform Clip Level (dBFS): sets the level at which the waveform shown in an audio region will be drawn in red to indicate clipping. Setting lower than 0.0 dBFS can be useful if any tool in the audio chain has problems near 0.0 dBFS. - Waveform scale: when waveforms are shown in audio regions, they can be displayed using a *linear* or a *logarithmic* scale. See `Waveform display <#waveform-display>`__. - Waveform shape: when waveforms are shown in audio regions, they can be displayed using a *traditional* or a *rectified* shape. See `Waveform display <#waveform-display>`__. - Editor Meters - Show meters in track headers, when enabled, shows a small meter in the Editor's `track headers <#audio-track-controls>`__. The meter is shown on the right side area of the header and provides an instant, if unprecise, view of the levels on this track/bus. - Limit track header meters to stereo: if a track has more than two outputs (e.g. with a drum plugin), limits the number of meters in the track header to the first two ones. Only affects audio meters, not MIDI. - MIDI Regions - Display first MIDI bank/program as 0: when patches and bank changes are displayed in the editor, if this option is checked, the numbering will be zero-based instead of one-based, i.e. banks/programs will be numbered O, 1 ,2… instead of 1, 2, 3… - Don't display periodic (MTC, MMC) SysEx messages in MIDI Regions: if checked, will hide these control messages from the MIDI regions for better legibility. .. rubric:: Mixer :name: appearance_mixer - Mixer Strip - This table enables (checked) or disables (unchecked) the display of controls in the `mixer strip <#audiomidi-mixer-strips>`__. Controls whose display can be toggled are: **Input**, **Phase Invert**, **Record & Monitor**, **Solo Iso/Lock**, **Output**, **Comments** and VCA Assigns. - Use narrow strips in the mixer for new strips by default When enabled, new mixer strips are created in narrow format. When disabled, they are created in wide format. Existing mixer strips width can be toggled with the width control at the top left of the mixer strip. .. rubric:: Toolbar :name: toolbar - Main Transport Toolbar Items: this section allows to toggle the visibility of some elements of the main toolbar: - Display Record/Punch Options toggles the visibility of the `punch and record <#selection-and-punch-clocks>`__ slice of the main toolbar. - Display Monitor Options toggles the visibility of the `monitor options <#other-toolbar-items>`__ slice of the main toolbar. - Display Selection Clock toggles the visibility of the `selection clocks <#selection-and-punch-clocks>`__ slice of the main toolbar. - Display Secondary Clock toggles the visibility of the `secondary clocks <#transport-clocks>`__ slice of the main toolbar. - Display Navigation Timeline toggles the visibility of the `navigation/mini timeline <#mini-timeline>`__ slice of the main toolbar. - Display Master Level Meter toggles the visibility of the `selection clocks <#other-toolbar-items>`__ slice of the main toolbar. - Lua Action Script Button Visibility enables or disables the visibility of the four columns of `Lua script buttons <#other-toolbar-items>`__. Each columns contains two user-assignable buttons. .. rubric:: Theme :name: theme - Theme - Draw "flat" buttons: when enabled, button controls in the user interface will be drawn with a flat look. When disabled button controls will have a slight 3D appearance. - LED meter style if checked, the bar meters in the editor and mixer will be styled to look like if they were made of LEDs, with a dotted bar. Unchecking this option makes the bars flat and continuous. - Waveforms color gradient depth: determines how much gradient effect is applied to the inner of audio waveforms displayed in the editor. Values range from 0.0, no gradient effect, to 1.0, maximum effect. - Timeline item gradient depth: Determines how much gradient effect is applied to the backgrounds of regions displayed in the editor. Values range from 0.0, no gradient effect, to 1.0, maximum effect. - Icon Set: Changes the mouse cursor icons used to indicate different tool modes in the editor. An example would be the icons used to indicate whether the cursor will select a region or change the length of a region. .. rubric:: Colors :name: colors - Colors - Color Theme allows to switch between some presets bundled with Ardour, changing both the palette and items colors, hence styling Ardour all at once. - The table allows to change the color settings in Ardour by acting on three parameters: - Items that allow to choose any color from the palette (see below) to color a UI element. Clicking on a color sample in the **Color** column bring up the Palette, to choose from. - Palette that allows to create a set of colors that will be used in the UI. Using a palette allows for better consistency, instead of picking "free" colors for each UI element. Clicking on a color patch brings up a full color selector, to assign this color to this patch of the palette. - Transparency where possible, allows to select, with a slider, the transparency of the UI element, with 0 (slider to the left) being fully opaque. - Restore Defaults turns all the palette, item colors and transparency back to Ardour's default base setting, in case Ardour's appearance has turned into a toddler's toy. .. rubric:: Quirks :name: quirks - Various Workarounds for Windowing Systems: As Ardour is available on a number of platforms and windowing systems, some specific workarounds are sometimes required to provide a smooth experience to the user. - Use visibility information provided by your Window Manager/Desktop allows the system window manager's rules for the windows visibility to supercede Ardour's. - All floating windows are dialogs: when enabled, Ardour will use type "Dialog" for all floating windows instead of using type "Utility" for some of them. This may help usability with some window managers. This setting requires a restart of Ardour to take effect. - Transient windows follow front window.: when enabled, transient windows will follow the front window when toggling between the editor and mixer. This setting requires a restart of Ardour to take effect. - Float detached monitor-section window: as the `monitor section <#monitor-section>`__ can be detached from the mixer, this option makes it a floating window, which may be handled differently by the windowing system and easier to access. .. rubric:: Video :name: video - Video Server - Show Video Export Info before export Shows a warning message when exporting a video about licensing and offers to open the `export video <#workflow-amp-operations>`__ section of this manual. - Show Video Server Startup Dialog: when using video inside Ardour, this video is accessed via Xjadeo from a source file through a Video Server. This options shows the server's startup dialog (useful for debugging a malfunctioning video). - Advanced Setup (remote video server) can be used when the setup is more complex than opening a local file with Ardour. The tools used behind the scene by Ardour allow a lot of flexibility, so for a competent user, the options below are provided to access a distant file (i.e. on another machine). The default options for the two following fields ("http://localhost:1554" and "/") are suitable for local files. - Video Server URL: Base URL of the video server delivering the video through the network (``http://IP-or-address:port``). - Video folder is the server's local path to the document-root, i.e. the files that can be delivered by the server. - Video Monitor - Custom Path to Video Monitor (xjadeo) - leave empty for default: Ardour bundles offer xjadeo bundled, so it should run flawlessly. Though, for custom builds or if a newer version of xjadeo is available, one can specify a path to the wanted version of xjadeo. .. rubric:: 9 - Session Properties :name: session-properties-dialog :class: clear Session properties control aspects of the workflow or configuration that pertain to the current session only; these settings are initially set from the template used to create the session. They can be found in Session > Properties, and are stored in the session file. .. figure:: /images/a4_session_properties_timecode.png :alt: The Session Properties dialog. The Session Properties dialog. .. rubric:: 9.1 - Timecode Tab :name: timecode-tab :class: clear .. figure:: /images/a4_session_properties_timecode.png :alt: Session properties timecode tab Session properties timecode tab This tab is used to change how Ardour interprets and manipulates timecode. - Timecode Settings lets you set the number of frames per second and pull up/down to match the timecode used other synchronized systems. - External Timecode Offsets allows Ardour to a fixed offset from other synchronized systems. Slave Timecode offset adds the specified offset to the received timecode (MTC or LTC). Timecode Generator offset adds the specified offset to the timecode generated by Ardour (so far only LTC). - Jack Transport / Time Settings determines whether Ardour controls Bar|Beat|Tick and other information for Jack. .. rubric:: 9.2 - Sync Tab :name: sync-tab :class: clear .. figure:: /images/a4_session_properties_sync.png :alt: Session properties sync tab Session properties sync tab This tab is used to modify the timecode settings when working with video to use the imported video's timecode settings instead of the session defaults. .. rubric:: 9.3 - Fades Tab :name: fades-tab :class: clear .. figure:: /images/a4_session_properties_fades.png :alt: Session properties fades tab Session properties fades tab Change how Ardour works with region crossfades. - Destructive crossfade length is used when an operation on a region is destructive, such as when recording in a track is in tape mode. - When Region fades **active** is checked, the region fades set up in the mixer are used during playback. When unchecked, the fades are ignored. - When **Region fades visible** is checked the region fades are visible in the the **Editor**. .. rubric:: 9.4 - Media Tab :name: media-tab :class: clear .. figure:: /images/a4_session_properties_media.png :alt: Session properties media tab Session properties media tab Change how sound is stored on disk. These options do not change how sound is handled internally. - Sample format defaults to 32-bit floating point, the same as the internal representation. 24 and 16-bit integer representation are also available. - **File type** options are WAVE, WAVE-64, and CAF. .. rubric:: 9.5 - Locations Tab :name: locations-tab :class: clear .. figure:: /images/a4_session_properties_locations.png :alt: Session properties locations tab Session properties locations tab These options add file locations that will be searched to find the audio and midi files used by the session. This is useful when the files have been imported into the session but not copied into the session. To add a location, navigate to the directory where the files are stored. Drill down into the directory and then click open. The directory will show up in the dialog. The remove button next to the added directory can be used to remove it from the search path. .. rubric:: 9.6 - Filenames Tab :name: filenames-tab :class: clear .. figure:: /images/a4_session_properties_filenames.png :alt: Session properties filenames tab Session properties filenames tab This tab is used to change how Ardour names recorded regions. If Prefix track number is selected a unique number will appear on each track in the Editor window and will prefix the region name. If the track number is 2 and the region would have been Gtr-1.1 with track number prefix turned on the region will be named 2_Gtr-1.1 instead. See XX for base of the region name. If Prefix take name is selected and the Take name has Take1 the region will have the name Take1_Gtr-1.1 instead. If both boxes are checked the name will be Take1_2_Gtr-1.1 instead. When Prefix take name is enabled, the first time a track is recorded it will have the specified take name. When recording is stopped, any trailing number on the end of the take name will incremented by 1. If the track name specified doesn't have a number on the end, the number 1 will be suffixed. .. rubric:: 9.7 - Monitoring Tab :name: monitoring-tab :class: clear Provides options affecting monitoring. .. figure:: /images/a4_session_properties_monitoring.png :alt: The session properties 'monitoring' tab The session properties 'monitoring' tab The **Track Input Monitoring automatically follows transport state** affects how input monitoring is handling. See `Monitor Setup in Ardour <#monitor-setup-in-ardour>`__. The 'Use monitor section' displays an extra section in the **Mixer** window that is modelled on the similarly named section on large analog consoles. More information can be found on the `Monitor Section <#monitor-section>`__ page. .. rubric:: 9.8 - Meterbridge Tab :name: meterbridge-tab :class: clear The meters from audio tracks always display in the Meterbridge. This tab changes what additional controls are also displayed. .. figure:: /images/a4_session_properties_meterbridge.png :alt: Session properties meterbridge tab Session properties meterbridge tab - Route Display has options for showing midi tracks, busses, and the master bus. - Button Area has options for adding record enable, mute, solo, and input monitor buttons. - Name Labels adds the track name and, if numbers are enabled on the filenames tab, the number. .. figure:: /images/a4_meterbridge_full.png :alt: Meterbidge with all options on Meterbidge with all options on .. rubric:: 9.9 - Session Misc Tab :name: session-misc-tab :class: clear This tab has several things that don't fit on the other tabs. .. figure:: /images/a4_session_properties_misc.png :alt: Session properties misc tab Session properties misc tab - MIDI Options - If MIDI region copies are independent is selected, when a MIDI region is copied or duplicated, the new region is not linked to the region it was copied from. If it is not selected, the copied regions are linked and any editing of one of the linked regions changes all of the linked regions. - The Editor can be configured to handle overlapping MIDI notes several ways. - never allow them - don't do anything in particular - replace any overlapped existing notes - shorten the overlapped existing note - shorten the overlapped new note - replace both overlapping notes with a single note - Glue to bars and beats - New markers can be glued to bars and beats - New regions can be glued to bars and beats - Settings from the session properties dialogs can be saved to the default session template. .. rubric:: 10 - Configuring MIDI :name: configuring-midi :class: clear MIDI is a way to describe musical performances and to control music hardware and software. Ardour can import and record MIDI data, and perform a variety of editing operations on it. Furthermore, MIDI can be used to control various functions of Ardour. .. rubric:: MIDI Handling Frameworks :name: midi-handling-frameworks MIDI input and output for Ardour are handled by the same "engine" that handles audio input and output. +-----------------------------------+-----------------------------------+ | OS X | CoreMIDI is the standard MIDI | | | framework on OSX systems. | +-----------------------------------+-----------------------------------+ | Linux | ALSA MIDI is the standard MIDI | | | framework on Linux systems. | +-----------------------------------+-----------------------------------+ | Windows | There is no single standard MIDI | | | framework on Windows, but Ardour | | | can work with ASIO and others. | +-----------------------------------+-----------------------------------+ On Linux systems, QJackCtl control software displays ALSA MIDI ports under its "ALSA" tab (it does not currently display CoreMIDI ports). By contrast, JACK MIDI ports show up under the MIDI tab in QJackCtl. .. rubric:: JACK MIDI Configuration :name: jack-midi-configuration By default, JACK will **not** automatically detect and use existing MIDI ports. One of several ways of bridging between the native MIDI frameworks (e.g. CoreMIDI or ALSA) and JACK MIDI must be chosen, as described in the following sections. .. rubric:: 10.1 - MIDI on Linux :name: midi-on-linux :class: clear The right approach for using MIDI on Linux depends on which version of JACK is in use. The world divides into: +-----------------------------------+-----------------------------------+ | Systems using JACK 1, versions | On these systems, JACK must be | | 0.124 or later | started with the ``-X alsa_midi`` | | | server argument. To support | | | legacy control applications, the | | | ``-X seq`` argument to the ALSA | | | backend of JACK can also be used | | | to get the exact same results. | +-----------------------------------+-----------------------------------+ | All others | Using a2jmidid acts as a bridge | | | between ALSA MIDI and JACK. The | | | ``-X seq`` or ``-X raw`` | | | arguments should *not* be | | | used—the timing and performance | | | of these options is unacceptable. | +-----------------------------------+-----------------------------------+ .. rubric:: Using a2jmidid :name: using-a2jmidid a2jmidid is an application that bridges between the system MIDI ports and JACK. First it must be ensured that there is no ALSA sequencer support enabled in JACK. To check that, one must open QJackCtl's Setup window and set Settings > MIDI Driver to none, then uncheck the Misc > Enable ALSA Sequencer support option. The jack server must then be restarted before going on. .. rubric:: Checking for a2jmidid availability :name: checking-for-a2jmidid-availability Next, it must be checked whether a2jmidid is already installed. This is done by starting the JACK server, then going to the command line and typing: a2jmidid -e If a2jmidid does not exist, it must be installed with the software manager of the Linux distribution in use until this command responds. .. rubric:: Checking available MIDI ports :name: checking-available-midi-ports If JACK is correctly configured for MIDI, then the MIDI ports should appear in qjackctl under Connections > MIDI. .. rubric:: Making it automatic :name: making-it-automatic Once it has been verified that the ports appear in JACK as expected, this can be made to happen whenever JACK is started: - If a newer version of JACK 1 is in use, by just making sure the ``-X alsa_midi`` or ``-X seq`` options are enabled for whatever technique is being used to start JACK. - For other versions of JACK, by adding ``a2jmidid -e &`` as an "after start-up" script in the Setup > Options tab of QJackCtl, so that it is started automatically whenever JACK is started. .. rubric:: 10.2 - MIDI on OS X :name: midi-on-os-x :class: clear In order for CoreMIDI to work with Jack MIDI, a CoreMIDI-to-JACK-MIDI bridge is required. This feature is available on versions equal to or greater than version 0.89 of JackOSX. .. rubric:: Routing MIDI :name: routing-midi .. rubric:: Inside Ardour :name: inside-ardour MIDI ports show up in Ardour's MIDI connection matrix in multiple locations. Bridged CoreMIDI ports as well as JACK MIDI ports that have been created by other software clients will show up under the "Other" tab. Bridged CoreMIDI hardware ports show up under the "Hardware" tab. .. rubric:: External Applications :name: external-applications There are multiple options for connecting MIDI ports outside of Ardour. - `MIDI Monitor `__ is a handy tool for doing various MIDI-related tasks. - `MIDI Patchbay `__ allows connection of ports and filters MIDI data. .. rubric:: Part III - Ardour's Interface :name: ardours-interface :class: clear .. rubric:: 11 - Ardour's Interface Overview :name: about-ardours-interface :class: clear In Ardour, work is done in two main windows: the Editor and the Mixer. .. raw:: html
` <#main-menu>`__ .. raw:: html
.. raw:: html
` <#status-bar>`__ .. raw:: html
.. raw:: html
` <#transport-bar>`__ .. raw:: html
.. raw:: html
` <#selection-and-punch-clocks>`__ .. raw:: html
.. raw:: html
` <#other-toolbar-items>`__ .. raw:: html
.. raw:: html
` <#other-toolbar-items>`__ .. raw:: html
.. raw:: html
` <#transport-clocks>`__ .. raw:: html
.. raw:: html
` <#other-toolbar-items>`__ .. raw:: html
.. raw:: html
` <#selection-and-punch-clocks>`__ .. raw:: html
.. raw:: html
` <#mini-timeline>`__ .. raw:: html
.. raw:: html
` <#other-toolbar-items>`__ .. raw:: html
.. raw:: html
` <#audiomidi-mixer-strips>`__ .. raw:: html
.. raw:: html
` <#toolbox>`__ .. raw:: html
.. raw:: html
` <#zoom-controls>`__ .. raw:: html
.. raw:: html
` <#grid-controls>`__ .. raw:: html
.. raw:: html
` <#edit-point-control>`__ .. raw:: html
.. raw:: html
` <#nudge-controls>`__ .. raw:: html
.. raw:: html
` <#selection-and-punch-clocks>`__ .. raw:: html
.. raw:: html
` <#editor-lists>`__ .. raw:: html
.. raw:: html
` <#ruler>`__ .. raw:: html
.. raw:: html
` <#summary>`__ .. raw:: html
.. raw:: html
` <#track-and-bus-groups>`__ .. raw:: html
.. raw:: html
` <#bus-controls>`__ .. raw:: html
.. raw:: html
` <#audio-track-controls>`__ .. raw:: html
.. raw:: html
` <#automation>`__ .. raw:: html
.. raw:: html
` <#audio-track-controls>`__ .. raw:: html
.. raw:: html
` <#midi-track-controls>`__ .. raw:: html
.. raw:: html
` <#midi-track-controls>`__ .. raw:: html
.. raw:: html
.. raw:: html
.. raw:: html
` <#main-menu>`__ .. raw:: html
.. raw:: html
` <#status-bar>`__ .. raw:: html
.. raw:: html
` <#transport-bar>`__ .. raw:: html
.. raw:: html
` <#selection-and-punch-clocks>`__ .. raw:: html
.. raw:: html
` <#other-toolbar-items>`__ .. raw:: html
.. raw:: html
` <#other-toolbar-items>`__ .. raw:: html
.. raw:: html
` <#transport-clocks>`__ .. raw:: html
.. raw:: html
` <#other-toolbar-items>`__ .. raw:: html
.. raw:: html
` <#selection-and-punch-clocks>`__ .. raw:: html
.. raw:: html
` <#mini-timeline>`__ .. raw:: html
.. raw:: html
` <#other-toolbar-items>`__ .. raw:: html
.. raw:: html
` <#favorite-plugins-window>`__ .. raw:: html
.. raw:: html
` <#strips-list>`__ .. raw:: html
.. raw:: html
` <#groups-list>`__ .. raw:: html
.. raw:: html
` <#track-and-bus-groups>`__ .. raw:: html
.. raw:: html
` <#master-bus-strip>`__ .. raw:: html
.. raw:: html
` <#monitor-section>`__ .. raw:: html
.. raw:: html
` <#control-masters-mixer-strips>`__ .. raw:: html
.. raw:: html
` <#audiomidi-busses-mixer-strips>`__ .. raw:: html
.. raw:: html
` <#audiomidi-mixer-strips>`__ .. raw:: html
.. raw:: html
` <#audiomidi-mixer-strips>`__ .. raw:: html
.. raw:: html
.. raw:: html
The Editor and Mixer windows. Click on a section to access its description. The Editor and the Mixer share the same toolbar (the top of the window). The sections displayed in this toolbar can be customized to the user's workflow, by checking options in Preferences > Appearance > Toolbar. Switching between the Editor and the Mixer windows is done: - with the `Mode Selector buttons <#other-toolbar-items>`__ in the upper right - with the M shortcut - with the menu Window > Editor *(or Mixer)* > Show. Both windows can be visible at the same time (e.g. for a multi-monitor setup) using Window > Editor *(or Mixer)* > Detach option in the same submenu. .. rubric:: The Editor :name: the-editor The Editor window includes the editor track canvas where audio and MIDI data can be arranged along a timeline. This is the window where editing and arranging a project is done. 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. 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, both of these windows will be needed at various stages of a session's lifetime. .. rubric:: The Mixer :name: the-mixer The Mixer window represents signal flow and is the window that will probably be used most when mixing a session. It includes channel strips for each track and bus in the 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. To learn more about the process of mixing, see `Mixing <#basic-mixing>`__. .. rubric:: 12 - Main Menu :name: main-menu :class: clear The Main Menu is made of 8 menus that allow the user to interact with Ardour, and below is a reference of all the menu actions. Notice that a lot of this menus, and probably all of the most used ones have keyboard shortcuts to ease and fasten the work. A sum-up of these shortcuts can be found on the `Defaults Keyboard Bindings <#default-keyboard-bindings>`__ page, and every menu in Ardour can be reassigned to an user defined key binding, or used via `OSC <#controlling-ardour-with-osc>`__ with a control surface. .. rubric:: 12.1 - The Session Menu :name: the-session-menu :class: clear The Session menu groups together everything related to the session and the file operations. +-----------------------------------+-----------------------------------+ | New… | Creates a | | | `new <#newopen-session-dialog>`__ | | | session | +-----------------------------------+-----------------------------------+ | Open… | Opens an existing session | +-----------------------------------+-----------------------------------+ | Recent… | Opens a list of recent sessions | | | that can be opened | +-----------------------------------+-----------------------------------+ | Close | Closes the current session (but | | | not Ardour) | +-----------------------------------+-----------------------------------+ | Save | Saves the current session | +-----------------------------------+-----------------------------------+ | Save As… | Saves to a new session (with | | | options) | +-----------------------------------+-----------------------------------+ | Rename… | Changes the name of the session | +-----------------------------------+-----------------------------------+ | Snapshot (& keep working on | Create a | | current version)… | `Snapshot <#snapshots>`__ but any | | | subsequent change will be saved | | | to this session | +-----------------------------------+-----------------------------------+ | Snapshot (& switch to new | Same thing, and any subsequent | | version)… | change will be saved to this new | | | snapshot session | +-----------------------------------+-----------------------------------+ | Save Template… | Saves the session as a | | | `template <#session-templates>`__ | | | , | | | without the audio | +-----------------------------------+-----------------------------------+ | Archive… | Exports the session as a | | | `compressed | | | file <#backup-and-sharing-of-sess | | | ions>`__ | | | for archiving or sharing | | | purposes, optionally compressing | | | the audio to FLAC | +-----------------------------------+-----------------------------------+ | Metadata | | +-----------------------------------+-----------------------------------+ | Edit Metadata… | Opens the | | | `Metadata <#metadata>`__ window, | | | where information about the | | | session can be saved | +-----------------------------------+-----------------------------------+ | Import Metadata… | Creates the metadata by | | | extracting them from another | | | session | +-----------------------------------+-----------------------------------+ | Add Track, Bus or VCA… | Adds a `new | | | track/bus/VCA <#adding-tracks-bus | | | ses-and-vcas>`__ | | | to the session, same as the Track | | | > Add Track, Bus or VCA… | +-----------------------------------+-----------------------------------+ | Import | Opens the | | | `Import <#adding-pre-existing-mat | | | erial>`__ | | | windows, to add media to the | | | session | +-----------------------------------+-----------------------------------+ | Import PT session | Import a ProTools© session file. | | | Not everything in the original | | | session can be imported. | +-----------------------------------+-----------------------------------+ | Scripting | | +-----------------------------------+-----------------------------------+ | Add Lua Script… | Loads or adds a `Lua Session | | | script <#lua-scripting>`__ to the | | | current session | +-----------------------------------+-----------------------------------+ | Remove Lua Script | Removes a loaded Lua Session | | | script from the session | +-----------------------------------+-----------------------------------+ | Open Video… | Imports a `video | | | file <#video-timeline-and-monitor | | | ing>`__ | | | in the session | +-----------------------------------+-----------------------------------+ | Remove Video | Removes the video part of the | | | session (the video timeline | | | disappears) | +-----------------------------------+-----------------------------------+ | Export | | +-----------------------------------+-----------------------------------+ | Export to Audio File(s)… | `Export <#mixdown>`__ all or part | | | of the session in audio form | +-----------------------------------+-----------------------------------+ | Stem export… | `Exports each | | | track <#export-dialog>`__ as its | | | own audio file (for e.g. DAW | | | interchange) | +-----------------------------------+-----------------------------------+ | Export to Video File | Exports the session to a `video | | | file <#workflow-amp-operations>`_ | | | _ | +-----------------------------------+-----------------------------------+ | Clean-Up | | +-----------------------------------+-----------------------------------+ | Bring all media into session | Copies all the media files | | folder | imported from outside the session | | | folder in that folder, see | | | `Cleaning up | | | Sessions <#cleaning-up-sessions>` | | | __ | +-----------------------------------+-----------------------------------+ | Reset Peak Files | Reinitializes the buffered images | | | representing the audio files | +-----------------------------------+-----------------------------------+ | Clean-up Unused Sources… | Quarantines all the media files | | | not used in the session to a | | | specific sub-folder of the | | | session | +-----------------------------------+-----------------------------------+ | Flush Wastebasket | Deletes those quarantined files | +-----------------------------------+-----------------------------------+ | [] Properties | Shows the `Session | | | Properties <#session-properties-d | | | ialog>`__ | | | dialog, allowing to fine-tune the | | | parameters of the current session | +-----------------------------------+-----------------------------------+ | Lock | Locks the session by showing an | | | Unlock window that (until | | | clicked) blocks every action on | | | Ardour's window | +-----------------------------------+-----------------------------------+ | Quit | Exits Ardour. Prompts for saving | | | the session if it has been | | | modified. | +-----------------------------------+-----------------------------------+ .. rubric:: 12.2 - The Transport Menu :name: the-transport-menu :class: clear The Transport menu handles how Ardour handles the playback and playhead. +-----------------------------------+-----------------------------------+ | Start/Stop | Starts or stops the playhead, and | | | recording if it is armed | +-----------------------------------+-----------------------------------+ | Play | | +-----------------------------------+-----------------------------------+ | Play Selection | Only plays the selected part of | | | the session, be it a range or | | | selected regions | +-----------------------------------+-----------------------------------+ | Play Selection w/Preroll | As the previous menu, except it | | | starts the playback a few bars or | | | seconds before the beginning of | | | the selection (the amount of time | | | can be set in the | | | `Preferences <#preferences>`__) | +-----------------------------------+-----------------------------------+ | Start/Continue/Stop | Leaves loop play or range play | | | mode but without stopping the | | | transport | +-----------------------------------+-----------------------------------+ | Play from Edit Point and Return | Starts the playback at the `Edit | | | point <#edit-point-control>`__, | | | and when stopped, goes back to | | | the original location | +-----------------------------------+-----------------------------------+ | Play Loop Range | If a `Loop | | | range <#the-loop-range>`__ is | | | defined, play it and loop until | | | stopped | +-----------------------------------+-----------------------------------+ | Start Recording | This is a shortcut to trigger the | | | global recording, and start | | | playback at once | +-----------------------------------+-----------------------------------+ | Stop and Forget Capture | Stops the recording, removes the | | | newly created material, and goes | | | back to the original position | +-----------------------------------+-----------------------------------+ | Enable Record | Triggers the global recording. | | | Next time "Play" is pressed, it | | | will record on the track(s) that | | | are armed for recording | +-----------------------------------+-----------------------------------+ | Record w/Preroll | As the Start Recording menu, | | | except it starts the recording a | | | few bars or seconds before the | | | playhead's position (the amount | | | of time can be set in the | | | `Preferences <#preferences>`__) | +-----------------------------------+-----------------------------------+ | Record w/Count-In | As the Start Recording menu, | | | except it waits for 2 bars before | | | the playhead's position. The | | | Metronome will tick (even if | | | disabled) during the count-in | +-----------------------------------+-----------------------------------+ | Set Loop from Selection | Converts the selection into a | | | `Loop range <#the-loop-range>`__ | | | by placing loop markers at the | | | start and end of the selected | | | range | +-----------------------------------+-----------------------------------+ | Set Punch from Selection | Same thing, for | | | `Punch <#punch-range>`__ | +-----------------------------------+-----------------------------------+ | Set Session Start/End from | Same thing, for the start and end | | Selection | markers of the session, defining | | | the session's length | +-----------------------------------+-----------------------------------+ | Forward | Plays the audio forwards from the | | | playhead on. If the audio is | | | already playing forwards, | | | increment its speed by 50%. | +-----------------------------------+-----------------------------------+ | Rewind | Plays the audio backwards from | | | the playhead on. If the audio is | | | already playing backwards, | | | increment its speed by 50%. | +-----------------------------------+-----------------------------------+ | Transition to Roll | Plays the audio forwards, with a | | | speed of 1 (real time) | +-----------------------------------+-----------------------------------+ | Transition to Reverse | Plays the audio backwards, with a | | | speed of 1 (real time) | +-----------------------------------+-----------------------------------+ | Playhead | | +-----------------------------------+-----------------------------------+ | Playhead to Mouse | Set the position of the playhead | | | at the current position of the | | | mouse cursor | +-----------------------------------+-----------------------------------+ | Playhead to Active Mark | If a marker is selected, set the | | | position of the playhead at the | | | position of the marker | +-----------------------------------+-----------------------------------+ | Center Playhead | Centers the view on the playhead | | | without changing the zoom level | | | (putting the playhead in the | | | middle of the screen) | +-----------------------------------+-----------------------------------+ | Nudge Playhead Forward | Shifts the position of the | | | playhead to the right by the | | | amount shown in the `nudge | | | timer <#nudge-controls>`__ | +-----------------------------------+-----------------------------------+ | Nudge Playhead Backward | Same thing, to the left | +-----------------------------------+-----------------------------------+ | Move to Next Transient | When transient have been set, | | | moves the playhead to the next | | | one to the right | +-----------------------------------+-----------------------------------+ | Move to Previous Transient | Same, to the left | +-----------------------------------+-----------------------------------+ | Playhead to Next Grid | Regardless of the state of the | | | Grid Mode, goes to the next grid | | | to the right, as set by the | | | `Snap/Grid | | | unit <#grid-controls>`__ | +-----------------------------------+-----------------------------------+ | Playhead to Previous Grid | Same, to the left | +-----------------------------------+-----------------------------------+ | Playhead to Next Region Boundary | Moves the playhead to the right | | | to the next beginning or end of | | | region on the selected track or, | | | if no track is selected, on all | | | tracks | +-----------------------------------+-----------------------------------+ | Playhead to Previous Region | Same, to the left | | Boundary | | +-----------------------------------+-----------------------------------+ | Playhead to Next Region Boundary | Moves the playhead to next | | (No Track Selection) | beginning or end of region, be it | | | on the selected track or any | | | other | +-----------------------------------+-----------------------------------+ | Playhead to Previous Region | Same, to the left | | Boundary (No Track Selection) | | +-----------------------------------+-----------------------------------+ | Playhead to Next Region Sync | Moves the playhead to next Region | | | Sync Point, that is by default | | | the beginning of a region but | | | `can be moved <#grid-controls>`__ | +-----------------------------------+-----------------------------------+ | Playhead to Previous Region Sync | Same, to the left | +-----------------------------------+-----------------------------------+ | Jump to Next Mark | moves the playhead to the next | | | `marker <#creating-location-marke | | | rs>`__ | | | on the Ruler | +-----------------------------------+-----------------------------------+ | Jump to Previous Mark | Same, to the left | +-----------------------------------+-----------------------------------+ | Go to Zero | Sends the playhead to the | | | 00:00:00:00 time, regardless of | | | the sessions Start marker | +-----------------------------------+-----------------------------------+ | Go to Start | Sends the playhead to the Start | | | marker of the session | +-----------------------------------+-----------------------------------+ | Go to End | Sends the playhead to the End | | | marker of the session | +-----------------------------------+-----------------------------------+ | Go to Wall Clock | Sends the playhead to the current | | | value of system time, as shown on | | | the top right of the `Status | | | bar <#status-bar>`__ | +-----------------------------------+-----------------------------------+ | Active Mark | | +-----------------------------------+-----------------------------------+ | To Next Region Boundary | Moves the currently selected | | | `marker <#working-with-markers>`_ | | | _ | | | to the next region beginning or | | | end | +-----------------------------------+-----------------------------------+ | To Previous Region Boundary | Same, to the left | +-----------------------------------+-----------------------------------+ | To Next Region Sync | Moves the currently selected to | | | the next region sync point (by | | | default: beginning or end of the | | | region) | +-----------------------------------+-----------------------------------+ | To Previous Region Sync | Same, to the left | +-----------------------------------+-----------------------------------+ | Markers | | +-----------------------------------+-----------------------------------+ | Add Mark from Playhead | Creates a Marker at the position | | | of the playhead | +-----------------------------------+-----------------------------------+ | Remove Mark at Playhead | Removes any marker at the | | | position of the playhead | +-----------------------------------+-----------------------------------+ | Toggle Mark at Playhead | Combine the 2 previous: if a | | | marker exists, deletes it, | | | otherwise create it | +-----------------------------------+-----------------------------------+ | Locate to Mark *n* | If it exists, goes to the *n-th* | | | marker | +-----------------------------------+-----------------------------------+ | Set Session Start from Playhead | Puts the Start of the session | | | marker at the playhead's position | +-----------------------------------+-----------------------------------+ | Set Session End from Playhead | Puts the End of the session | | | marker at the playhead's position | +-----------------------------------+-----------------------------------+ | [] Time Master | Sets Ardour as the Time master, | | | i.e. Ardour sends the time | | | information to the audio system | +-----------------------------------+-----------------------------------+ | [] Punch In/Out | Based on the Punch in and Punch | | | out markers if they exist, tells | | | Ardour to record only between | | | those two points | +-----------------------------------+-----------------------------------+ | [] Punch In | Based on the Punch in marker, | | | only allow to record from this | | | point on | +-----------------------------------+-----------------------------------+ | [] Punch Out | Based on the Punch out marker, | | | forbids recording before this | | | point | +-----------------------------------+-----------------------------------+ | [] Audio Input | If checked, automatically switch | | | the | | | `monitor <#monitor-setup-in-ardou | | | r>`__ | | | from *input* to *playback*\ mode | | | when playing | +-----------------------------------+-----------------------------------+ | [] Follow Edits | If checked, selecting a region | | | moves the playhead to its | | | beginning | +-----------------------------------+-----------------------------------+ | [] Auto Play | If checked, moving the playhead | | | in the ruler starts the playback | +-----------------------------------+-----------------------------------+ | [] Auto Return | If checked, when the playback is | | | stopped, go back to the previous | | | position of the playhead. If not, | | | the playhead stays where it is | | | when the playback is stopped | +-----------------------------------+-----------------------------------+ | [] Click | Activates/deactivates the click | | | track (metronome) | +-----------------------------------+-----------------------------------+ | [] Follow Playhead | If checked, while playing, when | | | the playhead reaches the right of | | | the screen, Ardour scrolls one | | | screen to the right to keep the | | | playhead visible at all times | +-----------------------------------+-----------------------------------+ | [] Stationary Playhead | If checked *and* if Follow | | | playhead is checked, on playback, | | | the playhead stays at the center | | | of the screen, and the session | | | scrolls | +-----------------------------------+-----------------------------------+ | Panic | Immediately stops all MIDI | | | playback (useful e.g. when a MIDI | | | bug in encountered) | +-----------------------------------+-----------------------------------+ .. rubric:: 12.3 - The Edit Menu :name: the-edit-menu :class: clear The Edit menu groups together the actions related to the edition, and so will be mostly used while in Editor mode. +-----------------------------------+-----------------------------------+ | Undo (*action*) | Reverts the last editing | | | operation, namely *action* | +-----------------------------------+-----------------------------------+ | Redo | Does the last editing operation | | | again, after an Undo | +-----------------------------------+-----------------------------------+ | Undo Selection Change | Reverts the last selection | | | operation | +-----------------------------------+-----------------------------------+ | Redo Selection Change | Does the last selection operation | | | again after an Undo Selection | | | Change | +-----------------------------------+-----------------------------------+ | Cut | Deletes the current selection, | | | but puts it in memory ready to be | | | pasted | +-----------------------------------+-----------------------------------+ | Copy | Copies the current selection to | | | memory | +-----------------------------------+-----------------------------------+ | Paste | Pastes the memory at the `edit | | | point <#edit-point-control>`__, | | | after a Cut or Copy operation | +-----------------------------------+-----------------------------------+ | Select | | +-----------------------------------+-----------------------------------+ | Select All Objects | Selects all the regions and | | | automation points in the session | +-----------------------------------+-----------------------------------+ | Select All Tracks | Selects all the tracks, busses | | | and control masters in the | | | session | +-----------------------------------+-----------------------------------+ | Deselect All | Deselects all objects or tracks, | | | nothing is selected | +-----------------------------------+-----------------------------------+ | Invert Selection | Select the previously unselected | | | regions, and deselect the | | | previously selected ones | +-----------------------------------+-----------------------------------+ | Set Range to Loop Range | Creates a range selection on the | | | selected tracks, based on the | | | selected loop markers, and | | | switches to `Range Mode | | | tool <#toolbox>`__ | +-----------------------------------+-----------------------------------+ | Set Range to Punch Range | Same as above, based on the | | | selected punch markers | +-----------------------------------+-----------------------------------+ | Set Range to Selected Regions | Same as above, based on the | | | selected regions (i.e. from the | | | start of the earliest region to | | | the end of the latest one) | +-----------------------------------+-----------------------------------+ | Select All After Edit Point | Select all the regions and | | | automation points that exist | | | after the Edit Point, even if the | | | region starts before it. If some | | | tracks are selected, only selects | | | on these tracks. | +-----------------------------------+-----------------------------------+ | Select All Before Edit Point | Same as above, but before the | | | Edit point (i.e. to the left of | | | it) | +-----------------------------------+-----------------------------------+ | Select All Overlapping Edit Range | Select all the regions and | | | automation points of which at | | | least a part is in the current | | | selection range | +-----------------------------------+-----------------------------------+ | Select All Inside Edit Range | Selects all the regions that are | | | completely inside the selection | | | range, i.e. their start and end | | | are inside the range. If some | | | tracks are selected, only selects | | | on these tracks. | +-----------------------------------+-----------------------------------+ | Select All in Punch Range | Selects all the regions of which | | | a part in in the punch range. If | | | some tracks are selected, only | | | selects on these tracks. | +-----------------------------------+-----------------------------------+ | Select All in Loop Range | Same as above, based on the loop | | | range | +-----------------------------------+-----------------------------------+ | Move Range Start to Previous | Extends the left boundary of the | | Region Boundary | range to the left to the next | | | region start or end. The region | | | must be in the range. | +-----------------------------------+-----------------------------------+ | Move Range Start to Next Region | Same as above, to the right | | Boundary | (reduces the selection) | +-----------------------------------+-----------------------------------+ | Move Range End to Previous Region | Same as above, with the right | | Boundary | edge of the range, to the left | | | (reduces the selection) | +-----------------------------------+-----------------------------------+ | Move Range End to Next Region | Same as above, with the right | | Boundary | edge, to the right (extends the | | | selection) | +-----------------------------------+-----------------------------------+ | Start Range | Sets the left edge of the range | | | to the Edit point | +-----------------------------------+-----------------------------------+ | Finish Range | Sets the right edge of the range | | | to the Edit point | +-----------------------------------+-----------------------------------+ | Select Next Track or Bus | Select the track or bus under the | | | currently selected one. If | | | multiple tracks are selected, | | | only the first one is considered | +-----------------------------------+-----------------------------------+ | Select Previous Track or Bus | Same as above, with the track/bus | | | above the first one selected. | +-----------------------------------+-----------------------------------+ | Delete | Deletes all that is currently | | | selected | +-----------------------------------+-----------------------------------+ | Crop | Cuts the parts of the regions | | | that are outside the range | | | boundaries. Only applies on the | | | regions that belong at least in | | | part to the range. | +-----------------------------------+-----------------------------------+ | Split/Separate | Cuts the selected regions at the | | | Edit point, separating them in | | | two regions | +-----------------------------------+-----------------------------------+ | Separate | | +-----------------------------------+-----------------------------------+ | Separate Under | Removes all the parts of the | | | regions that are under the | | | selected one. Once done, the | | | selected region is alone on its | | | part of the track. | +-----------------------------------+-----------------------------------+ | Separate Using Loop Range | Cuts the selected regions or the | | | regions on the selected tracks | | | along the Loop range's start and | | | end markers. If nothing is | | | selected, acts on all tracks at | | | once. | +-----------------------------------+-----------------------------------+ | Separate Using Punch Range | Same as above, with the Punch | | | range markers | +-----------------------------------+-----------------------------------+ | Align | | +-----------------------------------+-----------------------------------+ | Align Start | Moves the selected regions to | | | align the beginning of the | | | regions to the Edit point | +-----------------------------------+-----------------------------------+ | Align Start Relative | When multiple regions are | | | selected, moves all the regions | | | together as a block to align the | | | beginning of the earliest one to | | | the Edit point. | +-----------------------------------+-----------------------------------+ | Align End | Moves the selected regions to | | | align the end of the regions to | | | the Edit point | +-----------------------------------+-----------------------------------+ | Align End Relative | When multiple regions are | | | selected, moves all the regions | | | together as a block to align the | | | end of the latest one to the Edit | | | point. | +-----------------------------------+-----------------------------------+ | Align Sync | Moves the selected regions to | | | align the Sync point of the | | | regions to the Edit point | +-----------------------------------+-----------------------------------+ | Align Sync Relative | When multiple regions are | | | selected, moves all the regions | | | together as a block to align the | | | earliest Sync point to the Edit | | | point. | +-----------------------------------+-----------------------------------+ | Fade | | +-----------------------------------+-----------------------------------+ | Fade Range Selection | For all the regions that either | | | begin or end in the range, create | | | a fade in or out on the regions | | | length. | +-----------------------------------+-----------------------------------+ | Set Fade In Length | If the edit point is withing the | | | region boundaries, adjusts | | | selected audio regions' fade in | | | to end at the edit point. | +-----------------------------------+-----------------------------------+ | [] Fade In | Toggles the fade in on the | | | selected region on or off | +-----------------------------------+-----------------------------------+ | Set Fade Out Length | Same as above, for the fade out | +-----------------------------------+-----------------------------------+ | [] Fade Out | Toggles the fade out on the | | | selected region on or off | +-----------------------------------+-----------------------------------+ | Remove Last Capture | Destroy the last recording. A | | | prompt reminds the user this | | | *cannot* be undone. | +-----------------------------------+-----------------------------------+ | Edit point | | +-----------------------------------+-----------------------------------+ | Change Edit Point | Toggles between the mouse and the | | | playhead as the Edit point | +-----------------------------------+-----------------------------------+ | Change Edit Point Including | Toggles between the mouse, the | | Marker | playhead and marker as the Edit | | | point | +-----------------------------------+-----------------------------------+ | Snap Mode | | +-----------------------------------+-----------------------------------+ | () No Grid | Disables | | | `snapping <#grid-controls>`__, | | | i.e. allows free movement of | | | regions and boundaries | +-----------------------------------+-----------------------------------+ | () Grid | Forces snapping, so any move of | | | region boundary will be lined to | | | the grid as chosen | +-----------------------------------+-----------------------------------+ | () Magnetic | If the movement of the region or | | | boundary happens near a grid | | | line, snaps, otherwise, allow | | | free movement | +-----------------------------------+-----------------------------------+ | Next Snap Mode | Toggles between the No Grid, Grid | | | and Magnetic snap modes | +-----------------------------------+-----------------------------------+ | Next Snap Choice | Circles through the snap choices, | | | as detailed below | +-----------------------------------+-----------------------------------+ | Previous Snap Choice | Circles through the snap choices, | | | as detailed below, in reverse | | | order | +-----------------------------------+-----------------------------------+ | Next Musical Snap Choice | Circles through the musical snap | | | choices, e.g. those expressed in | | | bars and beats | +-----------------------------------+-----------------------------------+ | Previous Musical Snap Choice | Same as previous, but in reverse | | | order | +-----------------------------------+-----------------------------------+ | Snap To | | +-----------------------------------+-----------------------------------+ | Snap to CD Frame | The grid unit will be 1/75th of a | | | second | +-----------------------------------+-----------------------------------+ | Snap to Timecode | The grid unit will be based on | | Frame/Second/Minute | the timecode settings for the | | | session | +-----------------------------------+-----------------------------------+ | Snap to Second/Minute | The grid unit will be based on | | | absolute times | +-----------------------------------+-----------------------------------+ | Snap to *n*\ th | The grid unit will be 1/\ *n* | | | beats and will depend on the | | | tempo and meter in effect at that | | | point in the timeline. | +-----------------------------------+-----------------------------------+ | Snap to Beat | Same as above, whole beat | +-----------------------------------+-----------------------------------+ | Snap to Bar | Same as above, whole bar | +-----------------------------------+-----------------------------------+ | Snap to Mark | The grid will be made of markers | +-----------------------------------+-----------------------------------+ | Snap to Region Start | No grid, the regions will snap to | | | the closest region start on any | | | track | +-----------------------------------+-----------------------------------+ | Snap to Region End | Same as above with the regions' | | | ends | +-----------------------------------+-----------------------------------+ | Snap to Regions Sync | Same as above, with the Sync | | | points (by default, start of the | | | region) | +-----------------------------------+-----------------------------------+ | Snap to Region Boundaries | Same as above, for both the | | | starts and ends of regions | +-----------------------------------+-----------------------------------+ | Tempo | | +-----------------------------------+-----------------------------------+ | Set Tempo from Region = Bar | Computes the tempo so that the | | | duration of the first selected | | | region is 1 bar. Ardour prompts | | | if the user wants it to be the | | | global tempo, or a tempo marker | | | at the beginning of the region | | | used | +-----------------------------------+-----------------------------------+ | Set Tempo from Edit Range = Bar | Same thing, with the current | | | Range instead of a region | +-----------------------------------+-----------------------------------+ | [] Smart Object Mode | Toggles the Smart Mode, allowing | | | the mouse to be in Range Mode in | | | the upper half of a region, and | | | in Grab Mode in the lower half | +-----------------------------------+-----------------------------------+ | Scripted Actions | | +-----------------------------------+-----------------------------------+ | [] Script Manager | Shows the `Script | | | manager <#lua-scripting>`__, | | | allowing to use and manage the | | | Lua scripts in the session | +-----------------------------------+-----------------------------------+ | Unset #\ *n* | Deactivate the *n*\ th script | +-----------------------------------+-----------------------------------+ | Preferences | Displays the | | | `Preferences <#preferences>`__ | | | panels, allowing to change | | | Ardour's behaviour | +-----------------------------------+-----------------------------------+ .. rubric:: 12.4 - The Region Menu :name: the-region-menu :class: clear The Region Menu is where the user can tweak its regions, the parts of audio or MIDI that sit on the timeline. +-----------------------------------+-----------------------------------+ | Insert Region from Region List | If a region is selected in the | | | Editor List, add it at the Edit | | | point | +-----------------------------------+-----------------------------------+ | Play | Starts playback at the beginning | | | of the selected region(s), and | | | stops at its(their) end | +-----------------------------------+-----------------------------------+ | Loop | Creates a loop range on the | | | selected region's boundaries, and | | | starts the looped playback | +-----------------------------------+-----------------------------------+ | Rename… | Changes the name of the region, | | | that appears in its top left area | +-----------------------------------+-----------------------------------+ | Properties… | Shows the Region properties | | | window, that displays detailed | | | information about the region and | | | allow for some modifications | +-----------------------------------+-----------------------------------+ | Loudness Analysis… | Shows the Audio Report/Analysis | | | window, that displays detailed | | | `dBFS | | | information <#metering-in-ardour> | | | `__ | | | as well as a spectrogram (dBFS of | | | frequency against time) | +-----------------------------------+-----------------------------------+ | Spectral Analysis… | Shows the Audio Report/Analysis | | | window, that displays a | | | integrated spectral view of the | | | region (dBFS against frequency) | +-----------------------------------+-----------------------------------+ | Edit | | +-----------------------------------+-----------------------------------+ | Combine | Creates a new region by joining | | | the selected audio regions in the | | | same track, and replaces those | | | region with the newly created | | | compound. The same rules are | | | applied to create the compound as | | | for playback regarding e.g. | | | layering | +-----------------------------------+-----------------------------------+ | Uncombine | Splits back the compound created | | | by *combining* into its original | | | audio regions | +-----------------------------------+-----------------------------------+ | Pitch Shift… | Changes the tune of the audio | | | region, by octave, semitones or | | | percentage, based on spectral | | | analysis. Optionally, and if they | | | have been set for the region, | | | preserves the formants | +-----------------------------------+-----------------------------------+ | Split/Separate | Cuts the selected regions at the | | | Edit point, separating them in | | | two regions | +-----------------------------------+-----------------------------------+ | Split at Percussion Onset | Allows splitting the selected | | | regions on its Percussion Onsets | | | marker as set by the Rhythm | | | Ferret (Not usable as of 5.5) | +-----------------------------------+-----------------------------------+ | Make Mono Regions | Creates mono regions out of a | | | stereo or multichannel region by | | | splitting it into its discrete | | | channels. The created regions are | | | added to the Editor List | +-----------------------------------+-----------------------------------+ | Close Gaps | Extends (or reduces) the selected | | | regions to be perfectly aligned. | | | Optionally, sets up a crossfade | | | duration, or a pull-back (spacing | | | between regions) | +-----------------------------------+-----------------------------------+ | Place Transient | Places a transient at the Edit | | | Point. Used e.g. for the Pitch | | | Shift… action | +-----------------------------------+-----------------------------------+ | Rhythm Ferret… | Opens the Rhythm Ferret which is | | | a powerful tool to sequence audio | | | files | +-----------------------------------+-----------------------------------+ | Strip Silence… | Opens the Strip Silence window | | | which is a very handy tool to | | | remove all audio under a | | | user-chosen threshold (with a | | | preview) | +-----------------------------------+-----------------------------------+ | Reverse | Mirrors the audio horizontally | +-----------------------------------+-----------------------------------+ | Layering | | +-----------------------------------+-----------------------------------+ | Raise to Top | On overlapping regions, puts the | | | selected one(s) on top | +-----------------------------------+-----------------------------------+ | Raise | On overlapping region, makes the | | | selected one(s) one layer higher | +-----------------------------------+-----------------------------------+ | Lower | Makes the selected region(s) one | | | layer lower | +-----------------------------------+-----------------------------------+ | Lower to Bottom | Sends the selected region to the | | | background | +-----------------------------------+-----------------------------------+ | MIDI | | +-----------------------------------+-----------------------------------+ | Transpose… | On a MIDI region, shows the | | | `Transpose MIDI | | | window <#transposing-midi>`__, | | | allowing to shift the pitch of | | | the whole MIDI region by ± *n* | | | semitones or octaves | +-----------------------------------+-----------------------------------+ | Insert Patch Change… | Inserts a patch change at the | | | Edit Point, allowing a change of | | | patch, channel, program and/or | | | bank | +-----------------------------------+-----------------------------------+ | Quantize… | Shows the `Quantize | | | window <#quantize-midi>`__, | | | allowing to perfectly align the | | | MIDI notes to the musical grid | +-----------------------------------+-----------------------------------+ | Legatize | Shortens or elongates the MIDI | | | notes to make them perfectly | | | sequential, i.e. the end of a | | | note is the start of the | | | following one | +-----------------------------------+-----------------------------------+ | Remove Overlap | Shortens or elongates the MIDI | | | notes to make them perfectly | | | sequential, i.e. the end of a | | | note is the start of the | | | following one | +-----------------------------------+-----------------------------------+ | Transform… | `Transform | | | window <#transforming-midi---math | | | ematical-operations>`__, | | | that allows for mathematical | | | operations on the midi notes | +-----------------------------------+-----------------------------------+ | Unlink from Other copies | Makes the selected MIDI region | | | independent, e.g. editing this | | | region won't affect any other | | | one. | +-----------------------------------+-----------------------------------+ | List Editor… | Shows the `List | | | Editor <#midi-list-editor>`__ | | | which sequentially lists all the | | | MIDI events in the region, and | | | allows for precise modifications | +-----------------------------------+-----------------------------------+ | Gain | | +-----------------------------------+-----------------------------------+ | [] Opaque | When checked, makes the region | | | opaque audio-wise, i.e., the | | | underlying regions won't be | | | audible | +-----------------------------------+-----------------------------------+ | [] Mute | When checked, mutes *only* the | | | selected region on the track, | | | without muting the track. The | | | muted regions will have *!!* | | | prepended to their name and will | | | be semi-transparent | +-----------------------------------+-----------------------------------+ | Normalize… | Shows the Normalize region | | | dialog, which allows to scale the | | | region level by setting its | | | maximum level, optionally | | | constraining the RMS | +-----------------------------------+-----------------------------------+ | Boost Gain | Increases the gain on the | | | selected region by boosting the | | | audio, without touching the | | | envelope or automation | +-----------------------------------+-----------------------------------+ | Cut Gain | Reduces the gain without touching | | | the envelope or automation | +-----------------------------------+-----------------------------------+ | Reset Envelope | If the gain envelope has been | | | edited, resets it to its initial | | | value (constant at 0 dB) | +-----------------------------------+-----------------------------------+ | [] Envelope Active | When unchecked, disables any | | | envelope editing that has been | | | made. The envelope will be | | | displayed in yellow instead of | | | green. | +-----------------------------------+-----------------------------------+ | Position | | +-----------------------------------+-----------------------------------+ | Move to Original Position | Moves the region where it was | | | initially recorded or inserted in | | | the session | +-----------------------------------+-----------------------------------+ | Snap Position to Grid | If the Grid Mode is set to | | | *Grid*, snaps the region to the | | | nearest grid line | +-----------------------------------+-----------------------------------+ | [] Lock | Locks the selected regions at | | | their current positions in time | | | and tracks, avoiding any movement | | | on the timeline. The region name | | | will be surrounded by *>* and *<* | | | brackets | +-----------------------------------+-----------------------------------+ | [] Glue to Bars and Beats | Locks the region position to | | | relative to the musical grid, | | | i.e. a change of tempo will move | | | the region to keep it on the same | | | bar/beat | +-----------------------------------+-----------------------------------+ | [] Lock to Video | Same as above, relative to the | | | position in the video | +-----------------------------------+-----------------------------------+ | Set Sync Position | Creates or move the Sync | | | position, i.e. the point of the | | | region that will be aligned or | | | snapped to the grid, and that is | | | (by default) the beginning of the | | | region. | +-----------------------------------+-----------------------------------+ | Remove Sync | Removes any user defined Sync | | | point, and resets the sync | | | position to the beginning of the | | | region | +-----------------------------------+-----------------------------------+ | Nudge Later | Moves the region to the right by | | | the amount shown in the `nudge | | | timer <#nudge-controls>`__ | +-----------------------------------+-----------------------------------+ | Nudge Earlier | Same as above, to the left | +-----------------------------------+-----------------------------------+ | Nudge Later by Capture Offset | Moves the region to the right by | | | the capture latency computed by | | | Ardour based on the user's | | | settings regarding latency | +-----------------------------------+-----------------------------------+ | Nudge Earlier by Capture Offset | Same as above, to the left | +-----------------------------------+-----------------------------------+ | Sequence Regions | Puts the selected regions one | | | after the other, so that the end | | | of one region is the beginning of | | | the next one, removing any | | | overlap or silence. The reference | | | point is the earliest region. | +-----------------------------------+-----------------------------------+ | Trim | | +-----------------------------------+-----------------------------------+ | Trim Start at Edit Point | If the Edit Point is within the | | | region boundaries, shortens the | | | region to align its start with | | | the Edit Point | +-----------------------------------+-----------------------------------+ | Trim End at Edit Point | Same as above, for the end of the | | | region | +-----------------------------------+-----------------------------------+ | Trim to Loop | Uses both the start and end Loop | | | markers to shorten the region | +-----------------------------------+-----------------------------------+ | Trim to Punch | Same as above with the Punch | | | markers | +-----------------------------------+-----------------------------------+ | Trim to Previous | On overlapping regions, shortens | | | the selected one so that the | | | previous region is complete, i.e. | | | the new start point for the | | | selected region is the end point | | | of the previous region on the | | | timeline | +-----------------------------------+-----------------------------------+ | Trim to Next | Same as above, with the end of | | | the selected region aligned to | | | the start of the following one. | +-----------------------------------+-----------------------------------+ | Ranges | | +-----------------------------------+-----------------------------------+ | Set Loop Range | Creates a Loop range based on the | | | selected regions, i.e. the start | | | of the loop range is the start of | | | the earliest region, and the end | | | of the loop is the end of the | | | latest region. | +-----------------------------------+-----------------------------------+ | Set Punch | Same as above, for the Punch | | | range | +-----------------------------------+-----------------------------------+ | Add Single Range Marker | Same as above, for the Edit range | +-----------------------------------+-----------------------------------+ | Add Range Marker Per Region | For each selected region, creates | | | its own Edit range based on the | | | boundaries of each region | +-----------------------------------+-----------------------------------+ | Set Range Selection | Creates a range selection based | | | on the boundaries of the selected | | | regions | +-----------------------------------+-----------------------------------+ | Fades | | +-----------------------------------+-----------------------------------+ | [] Fade In | Activates/deactivates the Fade In | | | at the start of the region | +-----------------------------------+-----------------------------------+ | [] Fade Out | Same as above, for the Fade out | | | at the end of the region | +-----------------------------------+-----------------------------------+ | [] Fades | Shortcut to activate/deactivate | | | both the fade in and fade out | +-----------------------------------+-----------------------------------+ | Duplicate | | +-----------------------------------+-----------------------------------+ | Duplicate | Creates a copy of the selected | | | region(s) and appends it to the | | | original | +-----------------------------------+-----------------------------------+ | Multi-Duplicate… | Shows the Duplicate dialog, | | | allowing to create multiple | | | copies, or a not-integer number | | | of copies (the last one will then | | | be truncated) | +-----------------------------------+-----------------------------------+ | Fill Track | Creates duplicates until it fills | | | the session, i.e. reaches the End | | | marker of the session. The last | | | duplicate may be truncated to fit | | | in | +-----------------------------------+-----------------------------------+ | Export… | Shows the `Export | | | dialog <#export-dialog>`__, with | | | all parameters set to export only | | | the selected region(s) | +-----------------------------------+-----------------------------------+ | Bounce (without processing) | Creates a bounce, i.e. a version | | | of the region with all the edits | | | (boundaries, envelope), as a new | | | region in the Editor List, | | | without any of the effects of the | | | mixer strip | +-----------------------------------+-----------------------------------+ | Bounce (with processing) | Same as above, *with* the effects | | | of the mixer strip | +-----------------------------------+-----------------------------------+ | Remove | Deletes the region from the edit | | | (no file is harmed in the | | | process, and the region stays in | | | the Editor for later use) | +-----------------------------------+-----------------------------------+ .. rubric:: 12.5 - The Track Menu :name: the-track-menu :class: clear The Track menu is where one can deal with the tracks, busses and control masters. +-----------------------------------+-----------------------------------+ | Add Track, Bus or VCA… | Shows the `Add Track, Bus or VCA… | | | window <#adding-tracks-busses-and | | | -vcas>`__, | | | where one can add one or more | | | tracks, busses or control masters | | | to the session and define its | | | parameters | +-----------------------------------+-----------------------------------+ | Duplicate Tracks/Busses… | Shows the Duplicate Tracks and | | | Busses window, allowing to | | | duplicate the selected track(s) | | | and optionally, its playlist | +-----------------------------------+-----------------------------------+ | Toggle Record Enable | Sets the Record Enable mode On on | | | the selected track(s). These | | | tracks will record audio/midi | | | next time the global record is | | | active and playback is started. | +-----------------------------------+-----------------------------------+ | Toggle Solo | Sets the solo On on the selected | | | tracks, so only these tracks will | | | play | +-----------------------------------+-----------------------------------+ | Toggle Mute | Mutes the selected tracks, they | | | won't play until unmuted | +-----------------------------------+-----------------------------------+ | Insert Time | Shows the `Insert Time | | | window <#insert-remove-time>`__, | | | allowing to insert a blank time | | | in the selected tracks' playlist | +-----------------------------------+-----------------------------------+ | Remove Time | Same as | | | `above <#insert-remove-time>`__, | | | but to remove time | +-----------------------------------+-----------------------------------+ | Move Selected Tracks Up | Changes the position of the | | | selected tracks one track up | | | towards the top. In the mixer, | | | the tracks will be moved to the | | | left. | +-----------------------------------+-----------------------------------+ | Move Selected Tracks Down | Same as above, towards the bottom | +-----------------------------------+-----------------------------------+ | Height | | +-----------------------------------+-----------------------------------+ | Fit Selection (Vertical) | Will fit the selected track(s) in | | | the window. If too many tracks | | | are selected, they'll be reduced | | | to their minimum height. | +-----------------------------------+-----------------------------------+ | Largest | Sets the selected tracks height | | | to a very high value, hence | | | making the tracks wide on screen | +-----------------------------------+-----------------------------------+ | Larger | Same as above, but a little less | | | high | +-----------------------------------+-----------------------------------+ | Large | Same as above, but again less | | | high | +-----------------------------------+-----------------------------------+ | Normal | Sets the height of the track to | | | its default value which is a | | | trade-off between readability and | | | number of tracks displayed | +-----------------------------------+-----------------------------------+ | Small | Reduces the size of the tracks to | | | a low value, increasing the | | | number of on screen tracks | +-----------------------------------+-----------------------------------+ | Toggle Active | Toggles the active state of a | | | track. An inactive track will be | | | grayed and won't play any sound. | | | That can be seen in the A column | | | of the `Tracks and Busses | | | List <#the-tracks-and-busses-list | | | >`__ | +-----------------------------------+-----------------------------------+ | Remove | Deletes this track and its | | | playlist (no file is harmed in | | | the process, and the regions from | | | the playlist stay in the Editor | | | for later use) | +-----------------------------------+-----------------------------------+ .. rubric:: 12.6 - The View Menu :name: the-view-menu :class: clear The View menu sets how the session is seen, and what's visible or not. +-----------------------------------+-----------------------------------+ | [] Maximise Editor Space | Puts the Editor window in full | | | screen mode | +-----------------------------------+-----------------------------------+ | [] Maximize Mixer Space | Puts the Mixer window in full | | | screen mode | +-----------------------------------+-----------------------------------+ | Primary Clock | | +-----------------------------------+-----------------------------------+ | Focus On Clock | Sets the focus on the `main | | | clock <#transport-clocks>`__, | | | allowing to type in numbers | | | directly to change the playhead | | | position | +-----------------------------------+-----------------------------------+ | Timecode | Sets the main clock in timecode | | | mode, so it displays time in the | | | Hours:Minutes:Seconds:Frames | | | format | +-----------------------------------+-----------------------------------+ | Bars & Beats | Sets the main clock in musical | | | time mode, so it displays time in | | | the Bars:Beats:Ticks format | +-----------------------------------+-----------------------------------+ | Minutes & Seconds | Sets the main clock in absolute | | | time mode, so it displays time in | | | the | | | Hours:Minutes:Seconds.Millisecond | | | s | | | format | +-----------------------------------+-----------------------------------+ | Samples | Sets the main clock in samples | | | time mode, so the time is | | | displayed in samples from the | | | absolute start | +-----------------------------------+-----------------------------------+ | Secondary Clock | | +-----------------------------------+-----------------------------------+ | Timecode | Same as for the main clock (see | | | above) | +-----------------------------------+-----------------------------------+ | Bars & Beats | Same as for the main clock | +-----------------------------------+-----------------------------------+ | Minutes & Seconds | Same as for the main clock | +-----------------------------------+-----------------------------------+ | Samples | Same as for the main clock | +-----------------------------------+-----------------------------------+ | Zoom | | +-----------------------------------+-----------------------------------+ | Zoom In | Zooms in, focusing the *Zoom | | | Focus* (see below) | +-----------------------------------+-----------------------------------+ | Zoom Out | Zooms out | +-----------------------------------+-----------------------------------+ | Zoom to Session | Adjust the zoom value so that all | | | the session (as defined by its | | | start and end markers) fit in the | | | window | +-----------------------------------+-----------------------------------+ | Zoom to Selection | Adjust the zoom value so that all | | | the selected regions fit in the | | | window | +-----------------------------------+-----------------------------------+ | Fit Selection (Vertical) | Fits the selected track(s) in the | | | window. If too many tracks are | | | selected, they'll be reduced to | | | their minimum height. | +-----------------------------------+-----------------------------------+ | Toggle Zoom State | Reverts to last zoom state (kind | | | of "undo" for zoom, even if edits | | | have been made in-between) | +-----------------------------------+-----------------------------------+ | Expand Track Height | Increases the height of the | | | selected tracks. If no track is | | | selected, then all the tracks are | | | expanded | +-----------------------------------+-----------------------------------+ | Shrink Track Height | Same as above, but reduces the | | | height of the tracks | +-----------------------------------+-----------------------------------+ | Zoom Focus | | +-----------------------------------+-----------------------------------+ | Zoom Focus Left | Sets the screen's left side as | | | the zoom target, i.e. when | | | zooming in, the left side of the | | | screen will stay at the same | | | place in the timeline | +-----------------------------------+-----------------------------------+ | Zoom Focus Right | Same, with the right of the | | | screen | +-----------------------------------+-----------------------------------+ | Zoom Focus Center | Same, with the center of the | | | screen | +-----------------------------------+-----------------------------------+ | Zoom Focus Playhead | Sets the playhead as the focus | | | point of the zoom, i.e. the point | | | in time that will stay fixed | +-----------------------------------+-----------------------------------+ | Zoom Focus Mouse | Same as above, with the mouse | | | pointer | +-----------------------------------+-----------------------------------+ | Zoom Focus Edit Point | Same as above, with the Edit | | | Point | +-----------------------------------+-----------------------------------+ | Next Zoom Focus | Circles between the previous | | | modes | +-----------------------------------+-----------------------------------+ | Rulers | | +-----------------------------------+-----------------------------------+ | [] Min:Sec | Shows (when checked) or hides a | | | line in `the Ruler <#ruler>`__ | | | with the time formatted as | | | Hours:Minutes:Seconds.Millisecond | | | s | +-----------------------------------+-----------------------------------+ | [] Timecode | Same as above, with the time | | | formatted as | | | Hours:Minutes:Seconds:Frames | +-----------------------------------+-----------------------------------+ | [] Samples | Same as the above, with the time | | | displayed in samples from the | | | absolute start | +-----------------------------------+-----------------------------------+ | [] Bars & Beats | Same as the above, with the time | | | formatted as Bars:Beats:Ticks | +-----------------------------------+-----------------------------------+ | [] Meter | Shows / hides the Meter line in | | | the ruler, where the signature | | | can be adjusted along the | | | playline | +-----------------------------------+-----------------------------------+ | [] Tempo | Shows / hides the Tempo line, | | | where the BPM can be changed with | | | markers | +-----------------------------------+-----------------------------------+ | [] Ranges | Shows / hides the Range line, | | | where ranges can be defined | +-----------------------------------+-----------------------------------+ | [] Loop/Punch | Shows / hides the Loop/Punch | | | line, where loops and Punches can | | | be defined | +-----------------------------------+-----------------------------------+ | [] CD Markers | Shows / hides the Range line, | | | where CD Markers can be defined | +-----------------------------------+-----------------------------------+ | [] Markers | Shows / hides the Markers line, | | | where custom markers can be | | | defined | +-----------------------------------+-----------------------------------+ | [] Video | Shows / hides the Video timeline, | | | where frames of the video are | | | shown for syncing purposes | +-----------------------------------+-----------------------------------+ | Video Monitor | | +-----------------------------------+-----------------------------------+ | Original Size | When the `Video | | | Monitor <#video-timeline-and-moni | | | toring>`__ | | | is active, resets its size to the | | | original size, i.e. 1 pixel in | | | the video is 1 pixel on screen | +-----------------------------------+-----------------------------------+ | [] Letterbox | When checked, forces the ratio | | | (width/height) to be the one of | | | the original video. If unchecked, | | | the video will be stretched to | | | fit the window | +-----------------------------------+-----------------------------------+ | [] Always on Top | Stays above all other windows, | | | enabling to work in Ardour | | | without the video windows to be | | | hidden in the background | +-----------------------------------+-----------------------------------+ | [] Fullscreen | Sets the Xjadeo window to be | | | fullscreen. Can be useful in a | | | dual monitor setup | +-----------------------------------+-----------------------------------+ | [] Timecode | When checked, displays a Timecode | | | over the video, in the | | | Hours:Minutes:Seconds:Frames | | | format | +-----------------------------------+-----------------------------------+ | [] Frame number | When checked, shows the absolute | | | frame number inside the video, | | | i.e. this image is the *n*\ th of | | | the video | +-----------------------------------+-----------------------------------+ | [] Timecode Background | Adds a black background to the | | | timecode for readability | +-----------------------------------+-----------------------------------+ | Scroll | | +-----------------------------------+-----------------------------------+ | Scroll Tracks Down | Scrolls the view toward the | | | bottom of the session from one | | | screen (vertically, so along | | | tracks) | +-----------------------------------+-----------------------------------+ | Scroll Tracks Up | Same as above, towards the top | +-----------------------------------+-----------------------------------+ | Scroll Forward | Scrolls the view toward the right | | | of the session from one screen | | | (horizontally, so along time) | +-----------------------------------+-----------------------------------+ | Scroll Backward | Same as above, to the left | +-----------------------------------+-----------------------------------+ | Views | | +-----------------------------------+-----------------------------------+ | Save View *n* | Saves the position on the | | | timeline in the memory, | | | horizontally and vertically | | | (along time and tracks) | +-----------------------------------+-----------------------------------+ | Go to View *n* | Loads and displays a saved | | | position (see above) | +-----------------------------------+-----------------------------------+ | [] Show Editor Mixer | When checked, the selected | | | tracks' mixer strip is displayed | | | on the left of the editor window, | | | allowing for a quick access to | | | e.g. effects and routing | +-----------------------------------+-----------------------------------+ | [] Show Editor List | In the Editor window, shows the | | | `Editor List <#editor-lists>`__, | | | giving access to a number of | | | handy lists (regions, tracks, …) | +-----------------------------------+-----------------------------------+ | [] Toggle Mixer List | In the Mixer view, shows the | | | Mixer list, giving access to some | | | handy lists (`Favorite | | | plugins <#favorite-plugins-window | | | >`__, | | | `The Strip | | | list <#strips-list>`__,…) | +-----------------------------------+-----------------------------------+ | [] Toggle Monitor Section | If the Use monitoring section on | | Visibility | this session has been checked in | | | the `Session Properties | | | window <#monitoring-tab>`__, | | | shows or hides the Monitor | | | Section in the Mixer | +-----------------------------------+-----------------------------------+ | [] Show Measure Lines | If checked, in the Editor, shows | | | a vertical white line at each | | | measure start | +-----------------------------------+-----------------------------------+ | [] Show Summary | If checked, in the Editor, shows | | | the `Summary <#summary>`__, | | | allowing a faster navigation in | | | the session | +-----------------------------------+-----------------------------------+ | [] Show Group Tabs | If checked, makes the groups | | | visible as tabs on the left in | | | the Editor, and on the top in the | | | mixer | +-----------------------------------+-----------------------------------+ | [] Show Marker Lines | If checked, each marker is | | | extended across all the tracks in | | | the editor with a line of the | | | same color | +-----------------------------------+-----------------------------------+ .. rubric:: 12.7 - The Window Menu :name: the-window-menu :class: clear The Window menu deals with the layout of the different windows, and their visibility. +-----------------------------------+-----------------------------------+ | [] Audio/MIDI Setup | Shows the `Audio/MIDI Setup | | | window <#newopen-session-dialog>` | | | __, | | | where the sound system | | | configuration can be modified | +-----------------------------------+-----------------------------------+ | Editor | | +-----------------------------------+-----------------------------------+ | Show | Switches to the Editor view | +-----------------------------------+-----------------------------------+ | Hide | Hides the Editor, hence showing | | | the Mixer when the windows are | | | attached | +-----------------------------------+-----------------------------------+ | Attach | If the Editor window is detached, | | | separated from the main window, | | | attach it back | +-----------------------------------+-----------------------------------+ | Detach | If the Editor is attached to the | | | main window, detach it (makes the | | | Editor a separated window, useful | | | for multi-monitor setup) | +-----------------------------------+-----------------------------------+ | Mixer | | +-----------------------------------+-----------------------------------+ | Show/Hide/Attach/Detach | Same as for the Editor, for the | | | *Mixer* window | +-----------------------------------+-----------------------------------+ | Preferences | | +-----------------------------------+-----------------------------------+ | Show/Hide/Attach/Detach | Same as for the Editor, for the | | | *Preferences* window | +-----------------------------------+-----------------------------------+ | Meterbridge | Shows the `Meterbridge | | | window <#metering-in-ardour>`__, | | | that displays all the tracks' | | | meter at once and their recording | | | status, and is very handy for | | | multitrack recording | +-----------------------------------+-----------------------------------+ | Scripting | Opens the `Lua Scripting | | | window <#lua-scripting>`__, | | | allowing to edit and run Lua | | | scripts | +-----------------------------------+-----------------------------------+ | [] Tracks and Busses | Opens the Tracks and Busses | | | window, which is a shortcut to | | | many tracks/busses operations | | | (routing, effects, …) | +-----------------------------------+-----------------------------------+ | [] Locations | Opens the `Ranges and Marks | | | window <#the-ranges-and-marks-lis | | | ts>`__, | | | a single point of control for all | | | range and location markers | +-----------------------------------+-----------------------------------+ | [] Binding Editor | Opens the `Key Bindings | | | window <#default-keyboard-binding | | | s>`__, | | | which allows for easy creation or | | | modification of any keyboard | | | shortcut | +-----------------------------------+-----------------------------------+ | [] Bundle Manager | Opens the Bundle Manager window, | | | allowing to create and manage | | | *Bundles*, which are a way to | | | simplify connection management, | | | by defining groups of ports | +-----------------------------------+-----------------------------------+ | [] Big Clock | Opens the `Main | | | Clock <#transport-clocks>`__ as | | | its own separate (and huge) | | | window, which is helpful when | | | recording | +-----------------------------------+-----------------------------------+ | [] Video Monitor | If a | | | `video <#video-timeline-and-monit | | | oring>`__ | | | has been imported in the session, | | | opens a video window (namely, | | | *Xjadeo*), synced to the timeline | +-----------------------------------+-----------------------------------+ | Midi Tracer | Opens the MIDI Tracer window, | | | allowing to follow each and every | | | MIDI message entering or leaving | | | Ardour | +-----------------------------------+-----------------------------------+ | [] Audio Connections | Opens the `Audio Connection | | | Manager window <#patchbay>`__, a | | | way to make connections to, from | | | and within Ardour's mixer | +-----------------------------------+-----------------------------------+ | [] MIDI Connections | Same as above, for the MIDI | | | connections | +-----------------------------------+-----------------------------------+ | [] Log | Shows the Log window, where | | | Ardour lists useful information, | | | warnings and errors | +-----------------------------------+-----------------------------------+ .. rubric:: 12.8 - The Help Menu :name: the-help-menu :class: clear The Help Menu gives access to useful information about Ardour. +-----------------------------------+-----------------------------------+ | [] About | Shows the About Ardour window, | | | which contains information about | | | the version, config, authors,and | | | license of Ardour | +-----------------------------------+-----------------------------------+ | Chat | This is a shortcut to the webchat | | | version of the Freenode IRC | | | channel of Ardour, where the | | | developers meet, and questions | | | can be asked if the Manual is not | | | enough | +-----------------------------------+-----------------------------------+ | Manual | Link to a FLOSSManual guide to | | | Ardour | +-----------------------------------+-----------------------------------+ | Reference | Link to this manual, hosted on | | | ardour.org | +-----------------------------------+-----------------------------------+ | User Forums | Link to ardour.org's user forum | +-----------------------------------+-----------------------------------+ | How to Report a Bug | Link to an helping page about | | | reporting bugs | +-----------------------------------+-----------------------------------+ | Report a Bug | Link to Ardour's Mantis | | | bugtracker | +-----------------------------------+-----------------------------------+ | Ardour Website | Link to Ardour's main and | | | official website | +-----------------------------------+-----------------------------------+ | Ardour Development | Link to the developers' part of | | | the official website | +-----------------------------------+-----------------------------------+ .. rubric:: 13 - Status Bar :name: status-bar :class: clear .. figure:: /images/status-bar.png :alt: The Status Bar The Status Bar The status bar is an informative bar at the top of the window, showing: +-----------------------------------+-----------------------------------+ | File: | the file format used in the | | | session, including when recording | +-----------------------------------+-----------------------------------+ | TC: | is the timecode, i.e. the number | | | of frames per second used by the | | | session (for videos) | +-----------------------------------+-----------------------------------+ | Audio: | gives the sample rate used in the | | | session, and the latency computed | | | from the buffer size | +-----------------------------------+-----------------------------------+ | Buffers: | describe how much data is | | | buffered, see below | +-----------------------------------+-----------------------------------+ | DSP: | for Digital Sound Processing, | | | shows how much of the CPU is used | | | by Ardour and its plugins | +-----------------------------------+-----------------------------------+ | PkBld: | *(only shows up while creating | | | peaks)* displays the number of | | | peak files left to create | +-----------------------------------+-----------------------------------+ | X: | shows the number of xruns since | | | Ardour's launch, see below | +-----------------------------------+-----------------------------------+ | Disk: | reports the remaining hard disk | | | space as the time that can be | | | recorded with the current session | | | setting | +-----------------------------------+-----------------------------------+ | Wall Clock | showing the system time | | | (especially useful in full screen | | | mode) | +-----------------------------------+-----------------------------------+ | Log button | that indicates if Ardour has | | | encountered any warning or error. | +-----------------------------------+-----------------------------------+ Right clicking anywhere on the Status Bar allows to choose which of this information we want displayed, through a checkbox menu. The buffers are labelled as p for playback and c for capture. If the system is fast enough, these buffers should be 100% full at all times, showing the system has time to precompute all the data before delivering it to the audio system. A buffer constantly under 20% is a sign of an underpowered computer system or of too much processing. An Xrun (short for buffer over- or under-run) happens when the system has been forced to skip audio frames, e.g. if the latency asked is too short for the computing power of the machine. It usually results in clicks, pops and crackles if it happens while recording. The log button turns yellow when a warning is shown, and red when an error occurs. Clicking the log button gives access to the log. .. rubric:: 14 - Transport Bar :name: transport-bar :class: clear .. rubric:: The transport controls :name: the-transport-controls The Transport Bar groups all the actions regarding the control of playback and recording. .. figure:: /images/transport.png :alt: The transport controls The transport controls This bar is made of (from left to right): +-----------------------------------+-----------------------------------+ | Midi Panic | Immediately stops all midi | | | output. | +-----------------------------------+-----------------------------------+ | Enable/disable Audio Click | Toggles (on/off) a click track | | | (metronome) along the | | | `tempo <#tempo-and-meter>`__. | | | Right clicking brings up the | | | Click submenu from the | | | Preferences. Scrolling with the | | | mouse wheel adjusts the gain of | | | the click. | +-----------------------------------+-----------------------------------+ | Go to Start of the Session | Jumps back at the beginning of | | | the session, as defined by the | | | `start | | | marker <#working-with-markers>`__ | | | . | +-----------------------------------+-----------------------------------+ | Go to End of the Session | Jumps forward to the end of the | | | session, as defined by the `end | | | marker <#working-with-markers>`__ | | | . | +-----------------------------------+-----------------------------------+ | Play Loop Range | Repeats the defined | | | `loop <#controlling-playback>`__ | | | as defined by the `Loop | | | range <#the-loop-range>`__, until | | | the "Stop playback" button is | | | pressed. Clicking the "Play loop | | | Range" button while already | | | active switches to normal Play | | | mode, which exits the loop | | | without stopping and restarting | | | playback. | +-----------------------------------+-----------------------------------+ | Play Range/Selection | If a range has been defined using | | | the Range Mode button, plays the | | | range, of if an audio or MIDI | | | region is selected, plays this | | | region. In both cases, the | | | playback stops at the end of the | | | range or selected region. | +-----------------------------------+-----------------------------------+ | Play from playhead | Starts the playback and | | | optionally record (more below). | +-----------------------------------+-----------------------------------+ | Stop | Whatever the playing mode (loop, | | | range, …) stops all playback. | | | Depending on other settings, some | | | effects (like chorus or reverb) | | | might still be audible for a | | | while. | +-----------------------------------+-----------------------------------+ | Toggle Record | Global switch button to | | | activate/deactivate recording. | | | While active, the button blinks | | | red. The button doesn't start | | | recording by itself: if one or | | | more tracks are marked as | | | record-enabled, pressing the | | | "Play from Playhead" starts | | | recording on those tracks. | +-----------------------------------+-----------------------------------+ All these actions are bound to keyboard shortcuts, which allows for speedier use and more focused work. If Ardour is synchronized with other devices then some or all of these control methods may be unavailable—depending on the synchronization protocol, Ardour may respond only to commands sent from its master device(s). Under these buttons is the Shuttle Speed Control that allows to scrub through the audio quickly. The slider decides the playback speed: the further from the center it is set, the faster the playback will scrub in both directions. The Shuttle Speed Control supports 2 operating modes, that can be chosen with right click > Mode: - Sprung mode that allows for a temporary scrub: it only scrubs while the mouse is left clicked on the control. - Wheel mode that allows to set a playback speed until the "Stop" button is pressed, which stops the playback and resets its speed. On the left of the slider is the positional sync button (which might show Internal, or MTC or several other values), than can be used to control whether or not the transport position and start is controlled by Ardour, or by an external positional synchronization source, such as MIDI Time Code (MTC), Linear Time Code (LTC) or JACK (see `Timecode Generators and Slaves <#timecode-generators-and-slaves>`__). The current playback status (Stop, Play, or speed %) is shown on the right of the speed slider. .. rubric:: Using Key Bindings :name: using-key-bindings 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 internal command names for some of them. +-------+----------------------------------------+ | Space | Switch between playback and stop. | +-------+----------------------------------------+ | Home | Move playhead to session start marker | +-------+----------------------------------------+ | End | Move playhead to session end marker | +-------+----------------------------------------+ | → | Playhead to next region boundary | +-------+----------------------------------------+ | ← | Playhead to previous region boundary | +-------+----------------------------------------+ | 0 | Move playhead to start of the timeline | +-------+----------------------------------------+ Go to the Transport and Transport > Playhead to find more. .. rubric:: 15 - Transport Clocks :name: transport-clocks :class: clear .. figure:: /images/new_main_clocks.png :alt: The transport clocks in Ardour The transport clocks in Ardour Clocks in Ardour are used to display 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 clocks (on a large enough screen), that display the current position of the playhead and additional information related to transport control and the timeline. These are called the transport clocks; the left one is the primary transport clock and the right one is the secondary transport clock. All the clocks in Ardour share the same powerful way of editing time. Refer to `Editing Clocks <#editing-clocks>`__ to learn how. Editing the time in the transport clocks will reposition the playhead in the same way that various other editing operations will. .. rubric:: The Special Role of the Secondary Transport Clock :name: the-special-role-of-the-secondary-transport-clock On a few occasions Ardour needs to display time values to the user, but there is no obvious way to specify what units to use. The most common case is 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. .. rubric:: Why are there two transport clocks? :name: why-are-there-two-transport-clocks Having two transport clocks allows seeing the playhead position in two different time units without having to change any settings. For example, one can see the playhead position in both timecode units and BBT time. .. rubric:: Special Modes for the Transport Clocks :name: special-modes-for-the-transport-clocks In addition to the time-unit modes, each of the two transport clocks (again, on a sufficiently large screen) 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 temporal order of these two points. The clocks will use a different color when in this mode to avoid confusion. To switch either (or both!) of the transport clocks into this mode, use Edit > Preferences > Transport and select the relevant checkboxes. Note that when in Delta to Edit Point mode, the transport clocks cannot be edited. .. rubric:: The Big Clock :name: the-big-clock To show the current playhead position in a big, resizable window, activate Window > Big Clock. The big clock is very useful when working away from the screen but still wanting to see the playhead position clearly (such as when working with a remote control device across a room). The big clock will 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. .. figure:: /images/bigclock.png :alt: The Big Clock, with no transport rolling (left) and recording (right). :height: 100px The Big Clock, with no transport rolling (left) and recording (right). .. rubric:: 16 - Selection and Punch Clocks :name: selection-and-punch-clocks :class: clear .. rubric:: The Selection Clocks :name: selection_clocks .. figure:: /images/selection-clocks.png :alt: The range clocks The range clocks The current selection range, as set with the `Range Mode tool <#toolbox>`__, is displayed in these three clocks: start of the range, end of the range, and length. Clicking on the range clocks will locate to either the beginning or end of the punch range. Right clicking on any of the clocks brings up a context menu allowing to change the type of time display between the `4 clock modes <#editing-clocks>`__, and to copy the selected clock's time to the clipboard. .. rubric:: The Punch Controls & clocks :name: punch_controls .. figure:: /images/punch-controls.png :alt: The Punch Controls, and the related Punch clocks The Punch Controls, and the related Punch clocks The punch controls available in the main toolbar, work in conjunction with the punch clocks, only visible while in Editor Mode. The In and Out buttons relate to the Punch range, and allow to use only one of the two punch boundaries, or both: +--------------+------------------------------------------------------------+ | In only | Records from the In marker on, without a end boundary | +--------------+------------------------------------------------------------+ | Out only | Records until the Out marker, without a beginning boundary | +--------------+------------------------------------------------------------+ | In *and* Out | Records only between the In and Out markers | +--------------+------------------------------------------------------------+ The punch clocks can be controlled the same way as the range clocks (moving the playhead, and changing the display mode). .. rubric:: Recording mode :name: rec-mode The Rec button affects how the tracks behave when recording: +-----------------------------------+-----------------------------------+ | Non-Layered OFF *(default)* | Tracks in normal mode will record | | | non-destructively — new data is | | | written to new files, and when | | | overdubbing, new regions will be | | | layered on top of existing ones. | | | This is the recommended mode for | | | most workflows. | +-----------------------------------+-----------------------------------+ | Non-Layered ON | Tracks using non-layered mode | | | will record non-destructively — | | | new data is written to new files, | | | but when overdubbing, the | | | existing regions are trimmed so | | | that there are no overlaps. This | | | does not affect the previously | | | recorded audio data, and trimmed | | | regions can be expanded again at | | | will. Non-layered mode can be | | | very useful for spoken word | | | material, especially in | | | combination with `push/pull | | | trimming <#pushpull-trimming>`__. | +-----------------------------------+-----------------------------------+ See `Track Modes <#track-types>`__ for more information. .. rubric:: 17 - Mini-Timeline :name: mini-timeline :class: clear .. figure:: /images/mini-timeline.png :alt: The Mini-Timeline. The Mini-Timeline. The mini-timeline allows, as the `Summary <#summary>`__ does, navigation of a session. Its main advantage, though, is that it stays visible even when in Mixer mode. The range of time covered by the mini-timeline is set by right clicking the timeline, and choosing a time span from 30 seconds up to 20 minutes. The mini-timeline also shows all markers (start, end and any user defined ones). Clicking a marker jumps to that point on the timeline, allowing for quick access to key timings in the session. While hovering with the mouse over the mini-timeline: - left clicking moves the playhead to the time under the mouse cursor - using the scroll wheel scrolls the playhead back and forth inside the session - using scroll wheel scrolls more finely inside the session - using scroll wheel scrolls even more finely inside the session .. rubric:: 18 - Other Toolbar Items :name: other-toolbar-items :class: clear .. rubric:: The Monitor Options :name: monitor-options .. figure:: /images/input-mode-buttons.png :alt: The Monitor options The Monitor options These buttons allow switching the monitoring mode globally, for all the tracks at once. The monitoring mode allows to decide what the user wants to be listening to, between: - All In: all the tracks play what's on their *In*\ puts. - All Disk: all the tracks play the actual content of the playlist on *Disk*. The Auto Input switch allows Ardour to auto-select what is played, which is: - When not playing: all tracks are on In (to listen to any connected source) - When playing, all tracks are on Disk (to play whatever was recorded on those tracks) - When recording, on rec-enabled tracks: In and on non rec-enabled ones: Disk .. rubric:: The Playhead Options :name: playhead_options .. figure:: /images/playhead-options.png :alt: The playhead options The playhead options Those 2 buttons control the behaviour of the playhead: - Follow Range is a toggle that can be used to control whether or not making a range selection will move the playhead to the start of the range. - Auto Return is a toggle switch too. When active, pressing the Stop button returns the playhead to its previous position, and when inactive, pressing Stop keeps the playhead at its current location. Activating Auto Return can be useful for hearing the same piece of audio before and after tweaking it, without having to set a loop range on it. .. rubric:: The Status indicators :name: status_indicators .. figure:: /images/status_buttons.png :alt: The Status buttons The Status buttons The Status buttons show the current session state: +-----------------------------------+-----------------------------------+ | Solo | Blinks when one or more tracks | | | are being soloed, see `Muting and | | | Soloing <#muting-and-soloing>`__. | | | Clicking this button disables any | | | active explicit and implicit solo | | | on all tracks and busses. | | | Clicking this button deactivates | | | the solo on every track/bus. | +-----------------------------------+-----------------------------------+ | Audition | Blinks when some audio is | | | auditioned, e.g. by using the | | | import dialog, or using the | | | Audition context menu in the | | | `Regions | | | List <#the-region-list>`__. | | | Clicking this button stops the | | | auditioning. | +-----------------------------------+-----------------------------------+ | Feedback | Blinks when Ardour detects a | | | feedback loop, which happens when | | | the output of an audio signal | | | chain is plugged back to its | | | input. This is probably not | | | wanted and can be dangerous for | | | the hardware and the listener. | +-----------------------------------+-----------------------------------+ .. rubric:: The Mode Selector :name: mode_selector .. figure:: /images/mode-selector_scripts_meter.png :alt: The Mode Selector The Mode Selector The Mode Selector allows switching between the Editor and Mixer windows. If a window is detached, the corresponding button is lit in blue. Clicking the button switches the detached window visibility. The global meter shows the levels of the master's output. Its the same meter that sits in the `Master's Mixer strip <#master-bus-strip>`__, and also shows a peak indicator, that turns red when any level exceeds 0dB. It can be reset by a Left click. The buttons in between the Mode Selector and the global meter are script buttons, which are user-definable buttons to attach any session `lua-script <#lua-scripting>`__ to. .. rubric:: 19 - Toolbox :name: toolbox :class: clear .. figure:: /images/toolbar-tools.png :alt: Editor toolbar's tools, aka toolbox Editor toolbar's tools, aka toolbox .. rubric:: Global Edit mode :name: global-edit-mode Ardour has a global edit mode selector at the left of the Editing toolbar, which affect how regions are moved or copied: +-----------------------------------+-----------------------------------+ | Slide | Regions move freely. Ardour | | | creates overlaps when necessary. | +-----------------------------------+-----------------------------------+ | Ripple | Editing affects the regions to | | | the "right" of the edit (see | | | below). | +-----------------------------------+-----------------------------------+ | Lock | No region motion is permitted | | | (except for "nudge"). | +-----------------------------------+-----------------------------------+ Ripple Edit mode provides the following conveniences: - Deleting a range will move later regions to compensate for the deleted time - Deleting a region will move later regions to compensate for the deleted region's length - Moving a region will move later regions to compensate for the length of the move - Inserting a new region (via dragging or via Paste) will move later regions to the right to compensate If Snap To Grid is enabled, then regions can only move so that they align with locations determined by the current snap settings (beats, or seconds, or other region boundaries, etc). See `Snap To the Grid <#grid-controls>`__ for details. .. rubric:: The *Smart* switch :name: the-smart-switch The Smart Mode button to the left of the mouse mode buttons modifies the Grab Mode. When enabled, the mouse behaves as if it is in "Range Mode" in the upper half of a region, and in "Grab Mode" in the lower half. This allows avoiding constant switching between these two modes. .. rubric:: Mouse Modes :name: mouse-modes +-----------------------------------+-----------------------------------+ | Grab Mode | The Grab Mode is used for | | | selecting, moving, deleting and | | | copying objects. 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 common mode to | | | work in, as it allows you to | | | select and move regions, as well | | | as modify automation points on | | | the automation tracks. | +-----------------------------------+-----------------------------------+ | Range Mode | When in Range Mode, the mouse | | | pointer appears as a vertical | | | line whenever it is over the | | | track canvas or the rulers. The | | | mouse will now be able to select | | | a point or range of time. Time | | | ranges can be selected over one | | | or several tracks, depending on | | | the selection of your tracks. | | | If none of your tracks are | | | selected, the Range Tool will | | | operate on all the session track | | | visualized in the Editor. | | | If you want to edit only | | | particular tracks, select them | | | before you apply the range tool. | +-----------------------------------+-----------------------------------+ | Cut Tool Mode | When in Cut Tool Mode, the mouse | | | pointer appears as a pair of | | | scissors whenever it is over the | | | track canvas or the rulers. This | | | tools allows to cut any region | | | into 2 regions at the mouse | | | cursor, regardless of the Edit | | | Point. | | | If one or more track(s) is | | | selected, then all the regions on | | | these tracks will be split at the | | | mouse cursor position. | | | If no track is selected, then | | | only the region hovered by the | | | mouse cursor will be split. | +-----------------------------------+-----------------------------------+ | Stretch Mode | When in time fx mode, the mouse | | | pointer appears as a distinctive | | | expanding square symbol whenever | | | it is over the track canvas or | | | the rulers. This mode is used to | | | resize regions using a | | | timestretch algorithm. Click on | | | an edge of a region of audio and | | | drag it one way or the other to | | | stretch or shrink the region. | +-----------------------------------+-----------------------------------+ | Audition Tool | Clicking a region using the | | | audition tool will play this | | | region to the control room | | | outputs. | | | 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. | +-----------------------------------+-----------------------------------+ | Draw Tool | When in Draw Tool mode, the mouse | | | pointer will change to a pencil. | | | You can then click within an | | | audio region to change the gain | | | envelope for that region. This | | | curve is separate from fader | | | automation for individual tracks. | | | It will remain locked to the | | | region's time, so if the region | | | is moved, the region gain | | | envelope is moved along with it. | | | The draw tool works on automation | | | too, allowing the creation and | | | modification of control points on | | | the automation curves. | | | Last, it is used on a MIDI region | | | to edit the notes. | +-----------------------------------+-----------------------------------+ | Internal/Region Edit Mode | When in Internal Edit mode, the | | | mouse pointer will change to | | | cross-hairs. This tool acts on | | | region gain and automation as the | | | Draw tool. | | | On a MIDI region, it allows to | | | lasso-select multiple notes at a | | | time. | +-----------------------------------+-----------------------------------+ .. rubric:: 20 - Controls :name: controls :class: clear .. rubric:: 20.1 - Zoom Controls :name: zoom-controls :class: clear .. figure:: /images/toolbar-zoom.png :alt: Editor toolbar's zoom Editor toolbar's zoom The zoom controls allow to navigate the session along both the time and track axes. The drop down Zoom Focus menu allows to select a focus point for the zoom, i.e. the center of the zoom. The choices are: - Left of the screen - Right of the screen - Center of the screen - Playhead - Mouse - Edit Point as set in the `Edit point <#edit-point-control>`__ control. The two leftmost zoom buttons (− and +) use this zoom focus to zoom out and in respectively. The Zoom to session button is a handy shortcut to zoom out or in until all the session (as defined by its `start/end markers <#working-with-markers>`__) fits horizontally. Changing the Number of visible tracks dropdown menu allows to fit this number of tracks vertically in the screen. There *is* a minimal track height to keep it visible, so according to you screen vertical size, some high number can have no effect. Inside this menu are two handy choices: - Selected tracks that focus on the selected tracks. If the selected tracks are not contiguous, the unselected tracks inbetween will be hidden, see the `Track and Bus list <#the-tracks-and-busses-list>`__. - All that fits all the tracks of the sessions vertically (provided there's enough screen estate). The rightmost buttons Shrink tracks and Expand tracks reduce or expand the vertical size of the selected tracks. If no track is selected, all the tracks will be shrunk or expanded each time the button is pushed. .. rubric:: 20.2 - Grid Controls :name: grid-controls :class: clear .. figure:: /images/toolbar-grid.png :alt: Editor toolbar's grid. Editor toolbar's grid. Ardour's editor utilizes a grid to assist in the placement of regions on the timeline, or with editing functions that need to happen at a specific point in time. This snapping of the cursor and various objects to the grid can be toggled on or off, as does its behaviour, and grid units. .. rubric:: About Snapping :name: about-snapping There are two ways to think about aligning material to a grid. The first and most obvious one is where an object's position is clamped to grid lines. In Ardour, this is called absolute snap and is commonly used when working with sampled material where audio begins exactly at the beginning of a file, note or region. The second, relative snap, is used when an object's position relative to the grid lines is important. In music, this allows to move objects around without changing the "feel" (or timing) of a performance. Absolute snap is the default method of snapping in Ardour. While dragging objects, pressing the absolute snap modifier key(s) switches from absolute to relative snap. The snap can also be entirely disabled by using the snap modifier (see below). Note that in relative snap mode the reference point is taken to be the distance to the nearest grid line. Note also that when an object lies exactly on a grid line, there will be no difference between relative and absolute snap modes. The relative snap and snap modifiers (along with other modifier keys) may be set in Edit > Preferences > User Interaction For common use patterns, it is recommended to assign a unique key for one snap modifier and two keys for the other in such a way that they share an otherwise unused key. For example, the snap modifier may be chosen to be the key and the relative snap modifier to be the and keys. .. rubric:: Snap Modes :name: snap-modes Using the above modifications, Ardour supports three different modes of snapping to the grid: +-----------------------------------+-----------------------------------+ | No Grid | disables the grid. All objects | | | move freely in this mode. In No | | | Grid mode, the grid may be | | | temporarily activated by pressing | | | the snap modifier (for absolute | | | snap) or switch to relative snap | | | by pressing the relative snap | | | modifier. | +-----------------------------------+-----------------------------------+ | Grid | activates normal snapping. All | | | positions of objects snap to the | | | grid. (See `Grid | | | Units <#gridunits>`__ below to | | | change the grid). Moving an | | | object in "Grid"-mode, does not | | | change its position until the | | | mouse is far enough for the | | | object to reach the next grid | | | line. To maintain an objects' | | | position relative to the grid | | | line, the "snap relative" | | | modifier can be used. When | | | holding down this modifier during | | | a drag, the dragged object will | | | jump while maintaining its | | | original distance from the line. | | | New objects will always be | | | created at grid points. Holding | | | down the snap modifier will | | | disable the current grid setting | | | and allow moving the object | | | freely. | +-----------------------------------+-----------------------------------+ | Magnetic | is a less strict type of | | | snapping. Objects can still be | | | moved to any position, but | | | positions close to the relative | | | or absolute grid points will | | | snap. In order to move an object | | | very close to a snap point, it | | | may be necessary to zoom in to | | | prevent snapping to that point, | | | or to use the snap modifier to | | | disable snap completely. As with | | | Grid mode, the snap modifier will | | | disable snap completely while the | | | absolute snap modifier will move | | | the "notch" of Magnetic snap to | | | the grid lines. | +-----------------------------------+-----------------------------------+ .. rubric:: Syncing Regions to the Grid :name: syncing-regions-to-the-grid By default, a region's beginning will be used as the reference for both types of snapping, this behaviour can be changed by setting a sync point in the region, by selecting the region(s) and pressing V. This will set the sync point to the current `edit point <#edit-point-control>`__. .. rubric:: Grid Units :name: gridunits The selector next to the grid mode selector defines the size of the grid elements. The grid can be set to several different units: +-----------------------------------+-----------------------------------+ | CD Frames | A CD Frame is 1/75th of a second. | | | Snapping to CD Frames (using | | | absolute snap) can be used to | | | avoid issues with CD track | | | lengths. | +-----------------------------------+-----------------------------------+ | Timecode Frames/Seconds/Minutes | The duration of a frame depends | | | on the timecode settings for the | | | session. | +-----------------------------------+-----------------------------------+ | Seconds/Minutes | These are absolute time units, | | | unaffected by sample rate or | | | timecode settings | +-----------------------------------+-----------------------------------+ | Beats/N | Set the grid to units of 1/N | | | beats, where N can be 128, 64, | | | 32, 16, 8, 7, 6, 5, 4, 3, 2. The | | | duration of a grid unit will | | | depend on the tempo and meter in | | | effect at that point in the | | | timeline. | +-----------------------------------+-----------------------------------+ | Beats | Set the grid to whole beats. The | | | duration of a grid unit will | | | depend on the tempo and meter in | | | effect at that point in the | | | timeline. | +-----------------------------------+-----------------------------------+ | Bars | Set the grid to whole bars. The | | | duration of a grid unit will | | | depend on the tempo and meter in | | | effect at that point in the | | | timeline. | +-----------------------------------+-----------------------------------+ | Markers | The grid lines are the markers. | +-----------------------------------+-----------------------------------+ | Region Starts | The grid lines are constructed | | | from region start points (see | | | below). | +-----------------------------------+-----------------------------------+ | Region Ends | The grid lines are constructed | | | from region end points (see | | | below). | +-----------------------------------+-----------------------------------+ | Region Syncs | The grid lines are constructed | | | from region sync points. | +-----------------------------------+-----------------------------------+ | Region Bounds | The grid lines are constructed | | | from region start or end points. | +-----------------------------------+-----------------------------------+ To use Region starts/ends/syncs/bounds as snap choices, it is necessary to have either: - *No* tracks selected, which means that Ardour snaps to regions on any track, or - Several tracks selected, which means that Ardour only snaps to regions on those selected tracks. If items are moved on a track, and only the current track is selected, then snapping will only happen with other regions on the same track. This means that enabling Edit > Preferences > Editor > Link Selections of Regions and Tracks will make the "Region" grid unit unusable. This option should not be used in conjunction with the use any of the Region grid units. .. rubric:: 20.3 - Edit Point Control :name: edit-point-control :class: clear .. figure:: /images/toolbar-editpoint.png :alt: Editor toolbar's Edit Point Editor toolbar's Edit Point Editing operations in a Digital Audio Workstation 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 set to either of the following: - the Playhead position - the selected (or "active") Marker - the position of the Mouse (or touch) pointer The default edit point is the location of the pointer. There are two keybindings available to cycle through the edit point options. The most common workflow tends to involve switching back and forth between the playhead and mouse as the edit point. Pressing the grave accent key \` switches between these two. Using \` cycles through all three choices (including the selected marker). The edit point can also be switched using the combo-selector just right of the snap/grid unit selector. .. rubric:: 20.4 - Nudge Controls :name: nudge-controls :class: clear .. figure:: /images/toolbar-nudge.png :alt: Editor toolbar's Nudge Editor toolbar's Nudge The nudge controls will move the selected region(s) by a fixed amount of time. 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. If there are no selected objects, the nudge controls can be used to move the playhead backward or forward by the amount shown on the clock. .. rubric:: 21 - Ruler :name: ruler :class: clear .. figure:: /images/ruler.png :alt: Ardour's Ruler Ardour's Ruler The Ruler scales the session along time, allows navigating, and can be marked for different uses. One of its main uses is to move the playhead: clicking anywhere on the timeline will bring the playhead at this location in time. Also, using the mouse's scrollwheel while hovering the Ruler will zoom in or out (⇑/⇓ ). The Ruler is made of a succession of rows, each having a special role related to time. Adding or removing rows can be done by right clicking anywhere in the ruler's header on the left, and ticking any of: +-----------------------------------+-----------------------------------+ | Mins:Secs | scaling the session with the | | | Mins:Secs:mSec notation | +-----------------------------------+-----------------------------------+ | Timecode | scaling the session with the | | | Hours:Mins:Secs:Frames notation | +-----------------------------------+-----------------------------------+ | Samples | scaling the session with the | | | sample number notation | +-----------------------------------+-----------------------------------+ | Bars:Beats | slicing the time according to the | | | time signature of the Meter | +-----------------------------------+-----------------------------------+ | Meter | shows the time signature. It can | | | be changed along the timeline, by | | | Right click > New Meter. The | | | Bars:Beats ruler will reflect the | | | change. | +-----------------------------------+-----------------------------------+ | Tempo | shows the BPM. It can be changed | | | along the timeline, by Right | | | click > New Tempo. The Bars:Beats | | | ruler will reflect the change. | +-----------------------------------+-----------------------------------+ | Range Markers | allow to create and modify ranges | | | directly on the Ruler. | +-----------------------------------+-----------------------------------+ | Loop/Punch Ranges | are special kind of ranges | | | designed to be played as a loop | | | and to do punch recording, i.e. | | | recording on a precise section of | | | time, respectively. | +-----------------------------------+-----------------------------------+ | CD Markers | are markers designed to be used | | | while creating a recording that | | | has to be split in time, as an | | | audio CD | +-----------------------------------+-----------------------------------+ | Location Markers | is meant to receive any kind of | | | marker, user generated or from | | | Ardour itself. | +-----------------------------------+-----------------------------------+ | Video Timeline | shows thumbnails of the | | | `video <#video-timeline-and-monit | | | oring>`__ | | | in the timeline | +-----------------------------------+-----------------------------------+ Most of the operations on the markers are described in `Working with Markers <#working-with-markers>`__, while the Meter, Tempo, Bars:Beats and Timecode use are described in `Tempo and Meter <#tempo-and-meter>`__. .. rubric:: 22 - Summary :name: summary :class: clear .. figure:: /images/summary.png :alt: Ardour's Summary Ardour's Summary The Summary is a global overview of the session, allowing for a good "bird's eye" view of where in time and tracks the work happens. Each horizontal line represents a track in the session, with the colored bars being the audio and MIDI regions, colored as per their track's color setting. Two yellow vertical lines show the position of the *Start* and *End* markers, defining the session's length. The red line shows the playhead's position. The transparent white rectangle represents what's actually displayed in the Editor window, i.e. what part of the session is being looked at on screen. The Summary also doubles as a navigator: - the arrow on the left allow to scroll the view horizontally to the left, by 1 length of the view each time - the arrow on the right allow to scroll the view horizontally to the right, by 1 length of the view each time - the white rectangle can be dragged anywhere on the session, moving the view accordingly - the right and left borders of the white square can be resized, zooming in and out accordingly .. rubric:: 23 - Editor Lists :name: editor-lists :class: clear At the right hand side of the editor window is an optional area which provides one of a range of useful lists of parts of the session. It is not shown by default when first starting using Ardour. The Editor list can be hidden or shown using View > Show Editor List. 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. .. rubric:: 23.1 - The Region List :name: the-region-list :class: clear 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: +-----------------------------------+-----------------------------------+ | Position | position of the start of the | | | region on the global timeline | +-----------------------------------+-----------------------------------+ | End | position of the region on the | | | global timeline | +-----------------------------------+-----------------------------------+ | Length | duration of the region | +-----------------------------------+-----------------------------------+ | Sync | position of the sync point, | | | relative to the start of region | | | (can be negative) | +-----------------------------------+-----------------------------------+ | Fade In | duration of the fade in. Can't be | | | less than 1 ms, to avoid | | | clipping. | +-----------------------------------+-----------------------------------+ | Fade Out | duration of the fade out | | | (positive value, ≥ 1 ms). | +-----------------------------------+-----------------------------------+ The secondary clock defines the time unit used in this list. `Set the secondary clock <#editing-clocks>`__ to the type of unit desired. At the right of the list are four columns of flags that can be altered: +-----------------------------------+-----------------------------------+ | L | whether the region position is | | | locked, so that it cannot be | | | moved. | +-----------------------------------+-----------------------------------+ | G | whether the region's position is | | | ‘glued’ to bars and beats. If so, | | | the region will stay at the same | | | position in bars and beats even | | | if the tempo and/or time | | | signature change. | +-----------------------------------+-----------------------------------+ | M | whether the region is muted, so | | | that it will not be heard. | +-----------------------------------+-----------------------------------+ | O | whether the region is opaque; | | | opaque regions ‘block’ regions | | | below them from being heard, | | | whereas ‘transparent’ regions | | | have their contents mixed with | | | whatever is underneath. | +-----------------------------------+-----------------------------------+ 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. .. rubric:: 23.2 - The Tracks and Busses List :name: the-tracks-and-busses-list :class: clear This lists the tracks and busses that are present in the session. The list order reflects the order in the editor, and track or bus names can be dragged-and-dropped in the editor list to re-order them in the editor. The columns in the list represent the following: +-----------------------------------+-----------------------------------+ | V | whether the track or bus is | | | visible; they can be hidden, in | | | which case they will still play, | | | but just not be visible in the | | | editor; this can be useful for | | | keeping the display uncluttered. | +-----------------------------------+-----------------------------------+ | A | whether the track or bus is | | | active; inactive tracks will not | | | play, and will not consume any | | | CPU. | +-----------------------------------+-----------------------------------+ | I | for MIDI tracks, whether the MIDI | | | input is enabled; this dictates | | | whether MIDI data from the | | | track's input ports will be | | | passed through the track. | +-----------------------------------+-----------------------------------+ | R | whether the track is | | | record-enabled. | +-----------------------------------+-----------------------------------+ | RS | whether the track is record safe; | | | a record safe track cannot be | | | armed for recording, to protect | | | against a mistake. | +-----------------------------------+-----------------------------------+ | M | whether the track is muted. | +-----------------------------------+-----------------------------------+ | S | track solo state. | +-----------------------------------+-----------------------------------+ | SI | track solo-isolated state. | +-----------------------------------+-----------------------------------+ | SS | solo safe state. | +-----------------------------------+-----------------------------------+ Each icon in these columns can be clicked to toggle the track/bus state, which is a very fast way to set multiple tracks/busses state at once. 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. .. rubric:: 23.3 - The Snapshot List :name: the-snapshot-list :class: clear This list gives the snapshots that exist of this session. Clicking on a snapshot name will load that snapshot. See `Snapshots <#snapshots>`__ for more information on snapshots. .. rubric:: 23.4 - The Track and Bus Group List :name: the-track-and-bus-group-list :class: clear 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-track-and-bus-group-list>`__. The columns in this list are as follows: +------+--------------------------------------------------------------------+ | Col | the colour that the group uses for its tab in the editor. | +------+--------------------------------------------------------------------+ | Name | the group name. | +------+--------------------------------------------------------------------+ | V | whether the tracks and busses in the group are visible. | +------+--------------------------------------------------------------------+ | On | whether the group is enabled. | +------+--------------------------------------------------------------------+ | G | ticked if the constituents of the group are sharing gain settings. | +------+--------------------------------------------------------------------+ | Rel | ticked if shared gains are relative. | +------+--------------------------------------------------------------------+ | M | ticked if the constituents share mute status. | +------+--------------------------------------------------------------------+ | S | ticked if the constituents share solo status. | +------+--------------------------------------------------------------------+ | Rec | ticked if the constituents share record-enable status. | +------+--------------------------------------------------------------------+ | Mon | whether the constituents share monitor settings. | +------+--------------------------------------------------------------------+ | Sel | whether the constituents are selected together. | +------+--------------------------------------------------------------------+ | A | whether the constituents share active status. | +------+--------------------------------------------------------------------+ .. rubric:: 23.5 - The Ranges and Marks Lists :name: the-ranges-and-marks-lists :class: clear The Ranges & Marks List is a tab in the Editor Lists area on the right of the Editor window. If the editor list area isn't visible it can be enabled by checking View > Show Editor List. The Ranges & Marks list 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. .. rubric:: Common elements :name: common-elements Each section has a set of editable `clock widgets <#editing-clocks>`__ which display the location of a marker, or the start, end, and duration times of a range, respectively. The Use PH buttons allows to set the corresponding clock to the current playhead position. A Middle click on any of the clocks will move the playhead to that location. Both functions are also available from the clock context menus. Right clicking on any of the clocks brings up a context menu that allows changing of the display between Timecode, Bars:Beats, Minutes:Seconds, and Samples. The — (subtract) button in front of each user-defined range or marker in the list allows that particular item to be removed. The name fields of custom ranges and markers can be edited. The Hide checkboxes make markers and ranges invisible on the respective ruler to reduce visual clutter; the markers remain active however, and can be used normally. Selecting Lock prevents the respective marker from being moved until unlocked. Where applicable, Glue fixes the marker position relative to the current musical position expressed in bars and beats, rather than the absolute time. This will make the respective marker follow changes in the tempo map. At the bottom of the list are buttons to add new markers or ranges. .. rubric:: List sections :name: list-sections +-----------------------------------+-----------------------------------+ | Loop/Punch Ranges | This list shows the current loop | | | and punch range settings. Since | | | these are built-in ranges, they | | | cannot be renamed or removed. | +-----------------------------------+-----------------------------------+ | Markers (Including CD Index) | This section lists the session's | | | markers. By ticking CD, Ardour is | | | instructed to create a CD track | | | index from this marker, which | | | will be included in the TOC or | | | CUE file when exporting. | +-----------------------------------+-----------------------------------+ | Ranges (Including CD Track | This is the list of ranges | | Ranges) | (including CD track ranges). | | | Ticking CD will convert the range | | | to a CD track, which will again | | | be included in exported TOC or | | | CUE files. This is relevant for | | | Disk-At-Once recordings that may | | | contain audio data between | | | tracks. | +-----------------------------------+-----------------------------------+ .. rubric:: 24 - Favorite Plugins Window :name: favorite-plugins-window :class: clear .. figure:: /images/favorite-plugins.png :alt: The Favorite Plugins window. The Favorite Plugins window. The Favorite Plugins window is on the top-left side of the Mixer Window. Like other elements in that window it has variable height and can be hidden by dragging it to zero-height. If it is not visible, the top-handle can be grabbed and dragged down to reveal it. Plugin names that have a right facing triangle next to them have presets associated with them; clicking on the triangle will cause all presets associated with the plugin to show in the list. .. rubric:: Features :name: features .. figure:: /images/mixer-to-fav-dnd.png :alt: Dragging a plugin to the window. Dragging a plugin to the window. The Favorite Plugins window provides easy access to frequently used plugins: - Plugins can be dragged from the window to any track or bus `processor box <#processor-box>`__, which will add the plugin to that track or bus at the given position. - The list includes user-presets for the plugins. Dragging a preset to a given track or bus will load that preset after adding the plugin. - Double-clicking on a plugin or preset adds the given plugin to all selected tracks/busses pre-fader. Other insert positions are available from the context menu (right click). - Dragging a plugin from a track into the window will add it to the list and optionally create a new preset from the current settings. The horizontal line in the list shows the spot where the plugin will land. - The context-menu allows the deletion of presets or removal of the plugin from the list. - Plugins in the list can be re-ordered using drag & drop. The custom order is saved. When favorites are added with the `Plugin Manager <#plugin-manager>`__, they are appended to the bottom of the list. .. rubric:: 25 - Strips list :name: strips-list :class: clear The Strips List is a quick way to manage big sessions, with lots of tracks, where the mixer would otherwise be too crowded. It is a list of all the tracks, busses and VCA in the session, with a tick to allow for hiding or showing them. This visibility status also affects the Editor view, and is exactly the same as toggling the V checkbox in the `Tracks and Busses <#the-tracks-and-busses-list>`__ panel of the Editor List. Dragging and dropping tracks inside the Strips List allows to reorganise the tracks in the session, both in the Mixer and the Editor. Clicking a track scrolls the Mixer to show this track. It is possible, by right clicking, to act on multiple tracks at once: - Show All - Hide All - Show All Audio Tracks - Hide All Audio Tracks - Show All Audio Busses - Hide All Audio Busses - Show All MIDI Tracks - Hide All MIDI Tracks The + button under the list is a shortcut to create a new track, bus or VCA, as in clicking Track > Add Track, Bus or VCA…. .. rubric:: 26 - Groups list :name: groups-list :class: clear The Groups List allows to quickly manage the `groups <#the-track-and-bus-group-list>`__ of the session, and make use of them. Each group has a Show checkbox to quickly toggle their visibility. Clicking an already selected group allows to rename it. The context menu, reached by right clicking a group, allows for multiple mixing actions: +-----------------------------------+-----------------------------------+ | Create New Group From… | Creates a new group based on some | | | track properties. The choice is: | | | | | | - Selection… to create a group | | | of all selected tracks | | | - Record Enabled… to create a | | | group of all the tracks that | | | are record enabled | | | - Soloed… to create a group of | | | all the soloed tracks | +-----------------------------------+-----------------------------------+ | Create New Group with Master | Acts exactly as the previous | | From… | choice, but also creates a | | | Control Master tied to these | | | tracks. | +-----------------------------------+-----------------------------------+ | Assign Selection to Control | Allows to link all the selected | | Master… | tracks to a chosen Control | | | Master, whether or not they | | | belong to a group. | +-----------------------------------+-----------------------------------+ | Assign Record Enabled to Control | Allows to link all the record | | Master… | armed tracks to a chosen Control | | | Master. | +-----------------------------------+-----------------------------------+ | Assign Soloed to Control Master… | Allows to link all the soloed | | | tracks to a chosen Control | | | Master. | +-----------------------------------+-----------------------------------+ | Enable All Groups | Enable all the groups, i.e. their | | | selected properties are | | | synchronized. | +-----------------------------------+-----------------------------------+ | Disable All Groups | Disable all the groups, i.e. | | | changing a property in a track | | | won't affect the others. | +-----------------------------------+-----------------------------------+ When a group is selected, right clicking it adds the following menu entries: +-----------------------------------+-----------------------------------+ | Create New Group with Master | Acts exactly as the previous | | From… | choice, but also creates a | | | Control Master tied to these | | | tracks. | +-----------------------------------+-----------------------------------+ | Edit Group… | Shows the Track/bus Group | | | `window <#the-track-and-bus-group | | | -list>`__. | +-----------------------------------+-----------------------------------+ | Collect Group | Rearranges the tracks/busses | | | order to visually group together | | | the tracks belonging to the same | | | group. | +-----------------------------------+-----------------------------------+ | Remove Group | Deletes the group (but not the | | | tracks/busses belonging to this | | | group). | +-----------------------------------+-----------------------------------+ | Assign Group to Control Master… | Allows to link all the tracks in | | | the group to a chosen VCA. | +-----------------------------------+-----------------------------------+ | Add/Remove Subgroup Bus | Creates/removes a new bus | | | connected to the Master, and send | | | the output of all the tracks in | | | the group to this new bus. | +-----------------------------------+-----------------------------------+ | Add New Aux Bus (pre/post-fader) | Creates a new bus connected to | | | the Master, and create `Aux | | | Sends <#aux-sends>`__ (pre or | | | post-fader) in all the tracks in | | | the group to this new bus. | +-----------------------------------+-----------------------------------+ The + button under the list allows the creation of an (empty) group, while the − button deletes the selected group (but not the tracks in this group). .. rubric:: 27 - Mixer Strips :name: mixer-strips :class: clear .. rubric:: 27.1 - Audio/MIDI Mixer Strips :name: audiomidi-mixer-strips :class: clear .. figure:: /images/mixer-1-strip-numbered.png :alt: A mixer strip A mixer strip A mixer strip in Ardour is a vertical view of the track, from a mixing point of view. This view is convenient to deal with I/O, effects, panning/muting, gain, etc… It has a general "top to bottom" flow. The mixer strips breaks down into: #. Header #. Track name #. Input(s) #. Polarity *only for audio tracks* #. Processor box #. Panner #. Recording options #. Mute/Solo #. Gain & Meter #. Control master #. Fader automation/mix group/metering point #. Output(s) #. Comments .. rubric:: Headers :name: headers At the top of the window, is the `group tabs <#the-track-and-bus-group-list>`__ (here, *recm…*). This allows to group tracks together for common controls. Bellow are 3 buttons: - The double arrow button allows to shrink/expand the width of the strip. Click the button will shrink/expand all the tracks at once - The color bar shows the color of the track in the editor - The X button toggles the visibility of the track OFF. To turn it back ON, one can either go to the `Tracks and Busses list <#the-tracks-and-busses-list>`__ in the Editor view and check the "V" column on the track's line or stay in the Mixer view and check the Show column of this strip in the `Strips list <#strips-list>`__. Right clicking on the color bar will bring up a context menu, which is exactly the same as clicking on the Track name button. .. rubric:: Track Name :name: track-name Clicking the Track name button will bring up a menu: +-----------------------------------+-----------------------------------+ | Color… | Changes the strip/track color | +-----------------------------------+-----------------------------------+ | Comments… | Shows an editor to put comments | | | about the track, see below the | | | Comments button | +-----------------------------------+-----------------------------------+ | Inputs… | Shows the Routing grid for the | | | inputs of the track | +-----------------------------------+-----------------------------------+ | Outputs… | Shows the Routing grid for the | | | outputs of the track | +-----------------------------------+-----------------------------------+ | Save As Template… | Allows to save the track without | | | its media content (I/O, | | | effects,…) for later reuse | +-----------------------------------+-----------------------------------+ | Rename… | Changes the name of the track | | | (effective both in the Mixer and | | | the Editor) | +-----------------------------------+-----------------------------------+ | Active | Select the active status of the | | | track. An inactive track won't | | | output any sound | +-----------------------------------+-----------------------------------+ | Strict I/O | While in `patchbayStrict | | | I/O <#trackbus-signal-flow>`__ | | | mode, a track *always* has as | | | many output as it has inputs, | | | regardless of the effects. When | | | disabled, a stereo effect put on | | | a mono track will result in a | | | stereo output for the strip. | +-----------------------------------+-----------------------------------+ | Pin Connections… | Shows the Pin Configuration | | | window, that shows (and allows to | | | modify) all the signal flows | | | inside the track | +-----------------------------------+-----------------------------------+ | Adjust Latency… | Shows the Track Latency dialog, | | | that allows fine-tune the latency | | | to the track, in samples, msec or | | | period | +-----------------------------------+-----------------------------------+ | Protect Against Denormals | Uses a trick to get rid of | | | *denormals*, which are very small | | | numbers the CPU can have a hard | | | time dealing with. To be used if | | | the CPU consumption for plugins | | | is noticeably higher than | | | expected | +-----------------------------------+-----------------------------------+ | Duplicate… | Copies the track to a new one, | | | optionally with its playlist | +-----------------------------------+-----------------------------------+ | Remove | Deletes the track and its | | | playlist | +-----------------------------------+-----------------------------------+ .. rubric:: Inputs :name: inputs The dropdown button shows the current input port(s), i.e. what's plugged to the "in" of the track. By default, each audio track is connected to the system inputs, ready for recording, as shown by the number(s). Clicking the dropdown Inputs button will allow to change the inputs, through a menu: +-----------------------------------+-----------------------------------+ | Disconnect | Disconnects everything, i.e. the | | | track has no input | +-----------------------------------+-----------------------------------+ | In *n* | Those are the system inputs, e.g. | | | to record from the soundcard. A | | | mono track will have *In 1* and | | | *In 2* separated, while a stereo | | | track can have *In 1+2* | +-----------------------------------+-----------------------------------+ | *Track n output* | All the outputs of compatible | | | tracks, e.g., a mono track can | | | only receive a mono signal, a | | | MIDI track can only receive MIDI | | | signal, … | +-----------------------------------+-----------------------------------+ | Add Audio Port | Adds an audio input to the track, | | | i.e. a mono audio track becomes a | | | stereo one | +-----------------------------------+-----------------------------------+ | Add MIDI Port | Adds a MIDI input to the track. | | | Adding it to an audio track makes | | | it a mixed Audio/MIDI track. This | | | can be useful e.g. to feed some | | | plugins with a MIDI signal to | | | control the audio, like a vocoder | +-----------------------------------+-----------------------------------+ | Routing Grid | Shows the `Routing Grid | | | window <#patchbay>`__, which | | | allows for more complex input | | | configuration | +-----------------------------------+-----------------------------------+ The Routing Grid can also be shown by right clicking the dropdown Inputs button. It allows to make the connections through a matrix, and connect things that are not listed in the menu above, or connect to multiple sources at once, reduce the number of inputs, etc… On audio tracks, is a Trim knob, as on traditional consoles. It set the base input level for the track, avoiding any clipping. Notice that it trims both any input, but (when playing back), also the level of the playlist as displayed in the Editor. It makes sense as while playing, the input of the track is the playlist, on which the mixer strip acts. On midi tracks, it is replaced by a MIDI Input button, that allows/disallows MIDI input on the track. .. rubric:: Polarity :name: polarity On audio tracks only, the Polarity button(s), 1 per input, allow to reverse the signal, i.e. a negative value will be positive and vice-versa. This can help deal with phasing issues. .. rubric:: Processor box :name: processor-box The processor box is where the effects are added. By default, one effect is always present: the Fader (see below). The effects can be added *pre*-fader and appear in brown, or *post*-fader, where they will appear in dark green. The signal flow is represented by lines, red for the MIDI and green for the audio. It is also where the `Sends <#aux-sends>`__ come from, whether external or auxiliary. To learn more about the processor box, see `The Processor Box <#processor-box>`__. .. rubric:: Panner :name: panner The Panner visually displays how the sound will be distributed between the different outputs. They'll look and behave differently if the track is mono, stereo, or has multiple channels. Right clicking the Panner will show a menu: +-----------------------------------+-----------------------------------+ | Bypass | When checked, the panner is | | | grayed, and the signal is not | | | affected by it | +-----------------------------------+-----------------------------------+ | Reset | Resets the panner to its default | | | settings, e.g. for a mono signal, | | | it is centered | +-----------------------------------+-----------------------------------+ | Edit… | Shows a Panner dialog, which | | | allows for fine tuning of the | | | panner | +-----------------------------------+-----------------------------------+ See `Panning <#panning>`__ to learn more about how to control the panner, and what kind of panners are available inside Ardour. .. rubric:: Recording options :name: recording-options The most noticeable button here is the Record Enable one, with a red circle. When enabled, next time the Global record will be armed and playback started, everything that comes from the input of the track will be recorded. Right clicking a disabled record button allows to enable Rec-Safe, thus protecting the track against accidental recording. The buttons on the right, In and Disk, show what the user is listening to by lighting up, between the *In*\ put and the actual content of the playlist on *Disk*. They also allow to override the automatic switching by pressing them to lock one source or the other to be what the user is hearing. .. rubric:: Mute/Solo :name: mutesolo These buttons allow to Mute (or silence) the track, or Solo them, shutting down the gain of the other tracks (totally by default, can be set to partially in the options). See `Muting and Soloing <#muting-and-soloing>`__ for more information. Notice that by default, Solo overrides Mute, i.e. if a track is both Soloed and Muted, it will play. That can be changed in the preferences. The two led button above are related to solo: - Solo Isolate, as the name suggests, isolates tracks or busses from the solo system. When tracks or busses are soloed the isolated ones will not mute. - Solo Lock locks the solo into its current state (i.e. solo on or solo off). It will not allow the solo state to be changed until the lock is released. .. rubric:: Gain & Meter :name: gain-meter On the right of this part is a `Meter <#metering-in-ardour>`__, displaying the level of the track's output after the fader. In can be set to display the signal at any point, see below *Metering Point*. Right clicking this meter shows a menu allowing to switch the meter type. The big Gain slider on the left allows to change the gain of the track. Its default OdB value is reminded with a white horizontal line, and its precise value is shown in a text field above it, that doubles as a way to type in a numeric value. The text field above the meter shows the "Peak", i.e. the maximum value that has been reached during playback. To avoid distortion, the value should stay below OdB, and if it goes above this value, the text field will turn red. Clicking on this field will reset the Peak value (for a new measurement or a new part of the track). Notice that if any gain automation has been set and the automation state is set on "Play" (see below), then the Gain fader is driven by the automation, and not by the user. The Gain fader will turn grey to show it is inactive. .. rubric:: VCAs :name: vcas If at least one `VCA <#control-masters-mixer-strips>`__ exists, this button will show up, allowing the user to link this track to any control master. Clicking the button lists all the available control masters, and a menu option to Unassign all. Notice that a track can be a slave to as many VCAs as they are in the session, hence multiplying the number of VCA buttons. The displayed number is the number of the VCA, not the count of VCAs linked to the track. A track with no VCA assigned will show a unique button with a "-vca-" label instead of this number. .. rubric:: Fader automation/mix group/metering point :name: fader-automationmix-groupmetering-point .. rubric:: Fader automation mode :name: fader-automation-mode This button allows to choose the mode used regarding automation: +-----------------------------------+-----------------------------------+ | Manual | *(default)* The playback won't | | | use the fader automation data | +-----------------------------------+-----------------------------------+ | Play | Enables playback/use of fader | | | automation data | +-----------------------------------+-----------------------------------+ | Write | While the transport is rolling, | | | all fader changes will be | | | recorded to the fader automation | | | lane | +-----------------------------------+-----------------------------------+ | Touch | While the transport is rolling, | | | touching the fader will initiate | | | recording all fader changes until | | | the fader is released. When the | | | fader is not being touched, | | | existing automation data will be | | | played/used to control the gain | | | level. | +-----------------------------------+-----------------------------------+ .. rubric:: Mix group :name: mix-group This button displays the mix group information as does the tab in the header (see above). It is convenient though, as it allows to quickly switch the track from one group to another with a drop down menu, also allowing to affect the track to a non-adjacent group (which the tab won't easily allow). .. rubric:: Metering Point :name: metering-point The metering displayed in the meter is by default is 'Post', i.e. Post fader. It can be changed with this button to Any point of the signal flow: +-----------------------------------+-----------------------------------+ | In | The input of the track | +-----------------------------------+-----------------------------------+ | Pre | Pre-fader | +-----------------------------------+-----------------------------------+ | Post | Post-fader | +-----------------------------------+-----------------------------------+ | Out | The output of the track | +-----------------------------------+-----------------------------------+ | Custom | A *Meter* processor is added to | | | the processor box and can be set | | | anywhere (by dragging and | | | dropping) to probe the signal | | | flow at that point | +-----------------------------------+-----------------------------------+ .. rubric:: Output(s) :name: outputs This button is exactly the same as the *Input* button, but applies to the *output* of the track. .. rubric:: Comments :name: comments This buttons open up a little text editor, that can be used to add some written notes to the track, as e.g. a particular setting. The button's caption is replaced by the beginning of the text, so it can be used as a "sub" name for the track. .. rubric:: 27.2 - Audio/MIDI Busses Mixer Strips :name: audiomidi-busses-mixer-strips :class: clear .. figure:: /images/bus-mixer-strip.png :alt: A bus mixer strip A bus mixer strip An Ardour bus can be considered a virtual track, as in a track that doesn't have a playlist (so, no regions). Its use is to "group" some audio signals to be treated the same way. One simple use case is to group all the audio tracks containing the different drums of a drum kit. Routing all the drum tracks' outputs to a bus allows, once the different levels amongst the drums have been set, to adjust the global level of the drum kit in the mix. Bus usage goes way beyond this simple example though: busses, as tracks, can receive plugins for common audio treatment, and be routed themselves as needed. This makes for a very useful tool that is very commonly used both for musical purposes and computing ones: instead of using e.g. ten discrete delay plugins on ten different tracks, busses are often used as receivers of `sends <#aux-sends>`__, and only one delay plugin is used on this bus, reducing the processing power needed. Audio Busses vs MIDI Busses Ardour supports two types of busses: Audio and MIDI. A MIDI bus differs from an audio bus just by: - its input (which is midi, as shown by the red signal lines in the processor box) instead of *n* audio - the fact that an instrument can be placed on it at creation time, whereas it can't easily be done for an audio bus - as for tracks, the MIDI bus doesn't have a trim knob or invert phase button(s). MIDI busses provide a particularly efficient workflow for virtual drum kits where the arrangement uses different MIDI tracks. Moreover, busses with both Audio and MIDI inputs are well suited for vocoders and similar plugins, where a MIDI signal controls an audio one. Adding any audio input to a MIDI bus transforms it into an audio bus. .. rubric:: Description :name: description Busses look and behave exactly like tracks, so they share nearly `all of their controls <#audiomidi-mixer-strips>`__. The differences are: - as the busses don't have a playlist (and cannot host any media), they can't be recorded on. The recording controls are not present - an Aux button replaces these controls. Clicking the Aux button makes every track that sends a signal to this bus through `Aux sends <#aux-sends>`__ blink in turquoise. Right clicking this button brings up a menu: +-----------------------------------+-----------------------------------+ | Assign all tracks (prefader) | Creates an Aux Send in every | | | track, to this bus. The send is | | | placed just before the fader | +-----------------------------------+-----------------------------------+ | Assign all tracks and busses | Creates an Aux Send in every | | (prefader) | track and every bus, to this bus. | | | The send is placed just before | | | the fader | +-----------------------------------+-----------------------------------+ | Assign all tracks (postfader) | Same as above, but the send is | | | placed just after the fader | +-----------------------------------+-----------------------------------+ | Assign all tracks and busses | Same as above, with tracks and | | (postfader) | busses | +-----------------------------------+-----------------------------------+ | Assign selected tracks (prefader) | Same as for all tracks, but only | | | applies to the selected tracks | +-----------------------------------+-----------------------------------+ | Assign selected tracks and busses | Same as for all tracks and | | (prefader) | busses, but only applies to the | | | selected tracks and busses | +-----------------------------------+-----------------------------------+ | Assign selected tracks | Same as above, but the send is | | (postfader) | placed just after the fader | +-----------------------------------+-----------------------------------+ | Assign selected tracks and busses | Same as above, with tracks and | | (postfader) | busses | +-----------------------------------+-----------------------------------+ | Set sends gain to -inf | For all the sends to this bus, | | | put the send fader to −∞ so no | | | signal is sent | +-----------------------------------+-----------------------------------+ | Set sends gain to 0dB | For all the sends to this bus, | | | put the send fader at the default | | | position, 0dB (100% of th signal | | | is sent) | +-----------------------------------+-----------------------------------+ .. rubric:: Connecting a track to a bus :name: connecting-a-track-to-a-bus Depending on the user's workflow and the way busses are used, two possibilities exists: .. rubric:: Connecting a track to a bus via its outputs :name: connecting-a-track-to-a-bus-via-its-outputs .. figure:: /images/connecting_bus_output.png :alt: Connecting a bus through a track's outputs Connecting a bus through a track's outputs Connecting the output(s) of a track to the input(s) of the bus sends *all* the audio/MIDI to the bus. In the mixer strip, select (at the bottom) the OUTPUT button (often, by default, "Master"), and in the list, choose the input of a bus. Note that only the bus able to receive this output will show up, e.g. a mono bus won't be able to be connected to the output of a stereo track). Obviously, doing so will (by default) disconnect the output from the Master's input, which means all the audio/MIDI will be routed to the bus. For more complex routing, the OUTPUT button allows to show the Routing Grid that allows to plug the output of the track to multiple outputs at once, be it busses, tracks, Master… The button will then reflect these multiple connections by showing a *\*number\**, number being the number of connections made in the routing grid. .. rubric:: Connecting a track to a bus via Sends :name: connecting-a-track-to-a-bus-via-sends .. figure:: /images/connecting_bus_send.png :alt: Connecting a bus through a send Connecting a bus through a send This allows not to interrupt the natural flow of the signal, i.e. the track will still output to what its connected to (e.g. Master). The signal is "tapped" at the point of insertion of the send, to be sent to the bus, by right clicking where in the signal flow the signal should be tapped, and selecting New Aux Send… > name_of_the_bus. By left-clicking the send meter, it is possible to adjust the amount of signal sent to the bus. This is often the way tracks are connected to an effect bus, like a Delay bus. Busses can be plugged to other busses, through outputs or sends. Both example workflows discussed previously, i.e. busses for grouping tracks and busses for effects, can both coexist, as e.g. a "grouping" drum bus can have a send to a reverb bus, and be connected to a compressor bus. .. rubric:: 27.3 - VCA Mixer Strips :name: control-masters-mixer-strips :class: clear .. figure:: /images/vca-numbered.png :alt: A VCA mixer strip A VCA mixer strip Although track/bus `groups <#the-track-and-bus-group-list>`__ offer a certain kind of grouped-control over gain, solo, mute and more, traditional mixing consoles have long had group master channels ("VCAs") which allows to combine both a single fader to control the group level while also allowing to easily adjust the relative levels inside the group. For large projects, this can make mixing much easier to control. Ardour implements those VCAs in a way that allows to use either or both of the conventions used on different traditional consoles for combining multiple masters: - Nest VCAs (VCA 2 controls VCA 1 etc.) - Chain VCAs (VCA 1 and VCA 2 both control track or bus *N*) .. rubric:: Description of the VCAs :name: description-of-the-vcas A VCA strip is made of (from top to bottom in the screenshot): #. Number of the VCA #. X button: Allows to hide the VCA strip. Left clicking this button toggles the exclusive visibility of the tracks connected to this VCA #. Name button #. M: mutes the VCA, S: solos the VCA #. Level meter: allows to adjust the level of the VCA #. ~vca~: a VCA button to optionally connect to another VCA Right-clicking the name button shows a context menus comprised of: +-----------------------------------+-----------------------------------+ | Rename | Renames the VCA | +-----------------------------------+-----------------------------------+ | Color… | Changes the color of the VCA | | | button in the tracks connected to | | | this one | +-----------------------------------+-----------------------------------+ | Drop All Slaves | Deletes all connections to this | | | VCA, i.e. no tracks are | | | controlled by this VCA anymore | +-----------------------------------+-----------------------------------+ | Remove | Deletes this VCA | +-----------------------------------+-----------------------------------+ .. rubric:: Connecting to a VCA strip :name: connecting-to-a-vca-strip .. figure:: /images/connecting_to_vca.png :alt: Connecting to a VCA Connecting to a VCA Connecting a track/bus/VCA to a VCA is as simple as clicking the VCA button that appears on any mixer strip under the main fader and choosing the VCA to connect to. The VCA button only shows up in mixer strips when at least one VCA exists, i.e., a VCA must be created *before* connecting tracks to it. Clicking the VCA button shows all the VCAs in the session, and any or all of this VCA can be checked to link them to the track, making this track controlled by multiple VCAs. The track will then show multiple buttons. Disconnecting a VCA from a track is done by unchecking this VCA in the list that pops up, or clicking Unassign All to disconnect from all VCAs at once. .. rubric:: 27.4 - Master Bus Strip :name: master-bus-strip :class: clear .. figure:: /images/master-strip.png :alt: The Master strip in the mixer The Master strip in the mixer The Master strip in Ardour is very similar to the other busses mixer strips. The list of differences is (from top to bottom): - There is no color affected to the master strip - The master strip cannot be hidden, so there is not X in the top right - It is by definition always solo, so no Solo, Iso or Lock buttons. It is replaced by a button to show the Monitoring section if `the session has one <#monitoring-tab>`__ - It cannot belong to a mix group, so the button is removed. The Master bus strip is *always* fixed, at the right end of the mixer, regardless of the scrolling position. .. rubric:: 28 - Editor Tracks :name: track-controls :class: clear .. rubric:: 28.1 - Audio Track Controls :name: audio-track-controls :class: clear .. figure:: /images/typical-audio-track-controls.png :alt: An audio track header section An audio track header section At the top-left of the controls is the name of the track, which can be edited by double-clicking on it. The new name must be unique within the session. Underneath the name is the track's main level fader. Changing it will affect the whole track : - dragging will change the fader's value as per the mouse's position - clicking will set the fader to −∞ - clicking will reset the fader to its original 0dB position. On the right-hand side of the headers are level meters for the outputs of the track (1 level per output). The control buttons are: +-----------------------------------+-----------------------------------+ | ● (Record) | The button with the pink circle | | | arms the track for recording. | | | When armed, the entire button | | | will turn pink, and change to | | | bright red as soon as the | | | transport is rolling and the | | | track is recording. Right | | | clicking will allow to en/disable | | | Rec-safe, protecting the track | | | against accidental recording. | +-----------------------------------+-----------------------------------+ | M (Mute) | Mutes the track. Right clicking | | | displays a menu which dictates | | | what particular parts of the | | | track should be muted. | +-----------------------------------+-----------------------------------+ | S (Solo) | Soloes the track. The behaviour | | | of the solo system is described | | | in detail in the section `Muting | | | and | | | Soloing <#muting-and-soloing>`__. | | | Right clicking will allow to | | | en/disable Solo isolate and Solo | | | safe. | +-----------------------------------+-----------------------------------+ | P (Playlist) | Opens a playlist menu when | | | clicked. The menu offers various | | | operations related to the track's | | | `playlist <#playlists>`__. | +-----------------------------------+-----------------------------------+ | A (Automation) | Opens the automation menu for the | | | track. For details see | | | `Automation <#automation>`__. | +-----------------------------------+-----------------------------------+ | G (Group) | Allows to assign the track to an | | | existing or a new group. For | | | details see `Track and bus | | | groups <#track-and-bus-groups>`__ | | | . | +-----------------------------------+-----------------------------------+ .. rubric:: 28.2 - MIDI Track Controls :name: midi-track-controls :class: clear A typical MIDI track header looks like this: .. figure:: /images/typical-midi-track-controls.png :alt: A MIDI track header A MIDI track header To show the full set of MIDI track controls, the `track height <#track-height>`__ must be increased beyond the default. MIDI tracks show only a few of the control elements when there is insufficient vertical space. A MIDI track has the same basic controls as an `audio track <#audio-track-controls>`__, with the addition of three extra elements: #. Some meters for the track's outputs (MIDI in red, Audio in green) #. The Scroomer, a zoom and scroll controller for the midi notes range #. When the track is tall enough, the External MIDI Device selection dropdown appears. Also, right clicking the ● (record) button shows the `Step Entry <#step-entry>`__ dialog instead of controlling the rec-safe. .. rubric:: The Scroomer :name: the-scroomer The Scroomer performs a couple of functions: - The scrollbar controls the range of pitches that are visible on the track, as visualized by the piano keyboard. Dragging the body of the scrollbar up and down displays higher or lower pitches. - Dragging the scrollbar handles zooms in and out and increases or decreases the range of visible pitches. - Double clicking the scrollbar auto-adjusts the zooms to make the range of visible pitches fit the actual content of the track. - Clicking on the piano plays the corresponding MIDI note for reference. .. rubric:: Channel and patch selection :name: channel-and-patch-selection .. rubric:: The Channel Selector :name: the-channel-selector .. figure:: /images/midi_channel_control.png :alt: The MIDI channel control window :figclass: mini The MIDI channel control window 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 channels. In the context menu (right click), the Channel Selector allows to control the MIDI channel(s) that will be visible in the editor. This window also gives control over which channel(s) will be recorded, and which will be played back, choosing between: - All channels - Only selected channels —Ardour then proposes to choose amongst the 16 channels which are to be recorded/played - Force all to one channel —Ardour then 'routes' all the channels to one user selectable channel. .. rubric:: The Patch Selector :name: the-patch-selector :class: clear .. figure:: /images/patch_selector.png :alt: The Patch Selector window :figclass: mini The Patch Selector window The Patch Selector window is an easy way to set which instrument will be used on any of the MIDI channels. Although patches can be changed at any time using a `patch change <#patch-change>`__, this dialog provides an easy and convenient way to preview patches in software and hardware instruments. It integrates fully with Ardour's support for MIDNAM (patch definition files), so Ardour can display named programs/patches for both General MIDI synths and those with MIDNAM files. The window itself makes it easy to choose a channel, a bank number, optionally choosing a bank number through its MSB and LSB numbers (CC#00 and CC#32) for large banks, then choosing an instrument. The keyboard at the bottom of the window allows for a quick preview of the selected instrument, either automatically (using the buttons on top of the keyboard) or manually by either clicking a note or using the computer keyboard as a piano keyboard. To edit the contents of a MIDI track see `MIDI Editing <#edit-midi>`__. .. rubric:: 28.3 - Bus Controls :name: bus-controls :class: clear .. figure:: /images/typical-bus-controls.png :alt: A bus header section A bus header section The bus' header is very similar to the `audio track header <#audio-track-controls>`__, minus : - the playlist button, as a bus doesn't have any playlists or regions by itself, it is only a pipe to route audio or midi through - the record button, for the same reason. For more information about the bus concept, see `Understanding basic concepts <#understanding-basic-concepts-and-terminology>`__. .. rubric:: 29 - Track and Bus Groups :name: track-and-bus-groups :class: clear Tracks and busses can be put into groups. Members of a group can share various settings—useful for managing tracks that 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). .. figure:: /images/track-in-group.png :alt: Track headers for a group Track headers for a group Tracks and busses can be grouped in various ways. In the editor window, a track's controls might look like the adjacent image. 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 to add adjacent tracks to a group. .. rubric:: Create New Groups :name: create-new-groups There are several ways to create groups for tracks and busses: - Right-clicking on the group tab and using one of the Create… options there. A group can be created with no members, or one that starts with the currently selected tracks, or record-enabled tracks, or soloed tracks. - Alternatively, clicking the g button on a track header to open the Group menu. The menu lists the available groups. Selecting one of these groups will add the track or bus to that group. The menu also allows creating a new group. - Finally, the `Groups list <#groups-list>`__ has a plus (+) button at the bottom of the list that can be clicked on to create a new group. .. rubric:: Remove Groups :name: remove-groups Context-clicking on a group tab and selecting Remove Group from the menu removes it. Removing a group does *not* remove the members of a group. Groups can also be removed by selecting them in the `Groups list <#groups-list>`__ and then pressing the minus (−) button at the bottom of the list. .. rubric:: Add/Remove Tracks and Busses From a Group :name: addremove-tracks-and-busses-from-a-group Clicking the g button displays a menu with a list of the available groups. Selecting one of these groups adds the track or bus to that group. Selecting No Group removes it. Alternatively, a group tab can be dragged to add or remove tracks from the group. .. rubric:: Activate/Deactivate Groups via the Group Tab :name: activatedeactivate-groups-via-the-group-tab Clicking on a group tab toggles the group between being active and inactive. An inactive group has no effect when editing its members. An active group will share its configured properties across its members. Tabs for disabled groups are coloured grey. .. rubric:: Modify Group Properties :name: modify-group-properties .. figure:: /images/route-group-dialogue.png :alt: The Track/bus Group dialog The Track/bus Group dialog Edit the properties of a group is done by right-clicking on its tab and choosing Edit Group…. This opens the track/bus group dialog, which is also used when creating new groups. .. rubric:: Group Color :name: group-color Clicking on the color selector button changes a group's color. This affects the color of the group's tab in the editor and mixer windows. The color does *not* affect the color of the group members unless the shared Color property is enabled. .. rubric:: Shared Properties :name: shared-properties 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 −3 dB and −1 dB, a change of the first track to a gain of −6 dB will result in the second track having a gain of −4 dB (the *difference* of the gains remains the same). `Muting <#bus-controls>`__, `Soloing <#bus-controls>`__, `record enable <#audio-track-controls>`__, `active state <#the-tracks-and-busses-list>`__, `color <#track-color>`__ and `monitoring <#monitoring>`__ are all straightforward. They simply mean that all member tracks or busses will share the same settings in these respects. Selection means that if a region is selected or deselected on one member track, `corresponding regions <#corresponding-regions-selection>`__ on other member tracks will be similarly selected. 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. .. rubric:: Group Tab Context Menu :name: group-tab-context-menu Context-clicking on the group tab offers a further menu of group-related actions. +-----------------------------------+-----------------------------------+ | Create a New Group | create a new group | +-----------------------------------+-----------------------------------+ | Create New Group from… | create a new group and | | | automatically add … | +-----------------------------------+-----------------------------------+ | Selected | all currently selected tracks and | | | busses | +-----------------------------------+-----------------------------------+ | Rec-enabled | all currently record-enabled | | | tracks | +-----------------------------------+-----------------------------------+ | Soloed | all currently soloed tracks and | | | busses | +-----------------------------------+-----------------------------------+ | Collect Group | moves all the member tracks so | | | that they are together in the | | | editor window | +-----------------------------------+-----------------------------------+ | Remove Group | removes the group (and only the | | | group, not its members). | +-----------------------------------+-----------------------------------+ | Add New Subgroup Bus | creates a bus (giving it the name | | | of the group) and connects the | | | output of each member to the new | | | bus. | +-----------------------------------+-----------------------------------+ | Add New Aux Bus | adds a bus and gives each member | | | a send to that bus. There are two | | | options for this, specifying | | | whether the sends should be | | | placed pre- or post-fader. | +-----------------------------------+-----------------------------------+ | Fit to Window | will zoom the member tracks so | | | that they fill the editor window. | +-----------------------------------+-----------------------------------+ | Enable All Groups | makes all group active, including | | | any hidden groups. | +-----------------------------------+-----------------------------------+ | Disable All Groups | makes all groups inactive, | | | including any hidden groups. | +-----------------------------------+-----------------------------------+ .. rubric:: 30 - Monitor Section :name: monitor-section :class: clear .. figure:: /images/monitoring-strip.png :alt: The Monitoring strip The Monitoring strip The Monitor section is an optional feature that provides Control Room/Monitor Speaker outputs. It can be activated for the current session in the `Session > Properties window <#monitoring-tab>`__ by enabling the Use monitor section in this session option in the Monitoring tab. By default the Monitor Section is fed with audio from the Master Bus, but depending on solo mode and other functions such as Auditioning, other audio sources may be temporarily heard instead. The Monitor section appears on the right hand side of the Mixer, and comprises: #. Detach/attach control. This separates the Monitor section into its own floating window #. Status indicators for important functions #. Solo behaviour selection #. Show, hide and status of the Monitor Sections inline processors #. Level controls for solo functionality #. Level control for Monitor Dim #. Individual monitor path controls #. Mute, Dim and Mono functions for the monitor outputs #. Monitor level control #. Monitor output routing .. rubric:: Status Indicators :name: status-indicators The Status indicators, two of which also appear in `the Transport tool bar <#about-ardours-interface>`__, flash to indicate when that function is in operation: - Soloing: This indicates when one or more tracks or busses are currently being soloed. See `Muting and Soloing <#muting-and-soloing>`__. Clicking on this indicator cancels all currently soloed channels or busses - Auditioning: This indicates when an audio file is being listened to directly, e.g. when using the import dialogue, or using the Audition context menu in the `Regions List <#the-region-list>`__. Clicking this indicator cancels the current audition - Isolated: This indicates when one or more tracks or busses are solo isolated. See `Muting and Soloing <#muting-and-soloing>`__. Clicking on this indicator cancels any current isolation. .. rubric:: Solo behaviour selection :name: solo-behaviour-selection The SiP, PFL and AFL controls inter-cancel with each other and select the desired Solo mode. Excl. Solo and Solo Mute then modify the modes behaviour. See `Muting and Soloing <#muting-and-soloing>`__. The current mode is indicated by the illuminated 'LED' on the button. +-----------------------------------+-----------------------------------+ | SiP | This selects *Solo In Place* as | | | the current solo mode and cancels | | | the previous mode. | +-----------------------------------+-----------------------------------+ | PFL | This selects *Pre Fade Listen* as | | | the current solo mode and cancels | | | the previous mode. | +-----------------------------------+-----------------------------------+ | AFL | This selects *After Fade Listen* | | | as the current solo mode and | | | cancels the previous mode. | +-----------------------------------+-----------------------------------+ | Excl. Solo | This enables or disables the | | | *Exclusive Solo* option. | +-----------------------------------+-----------------------------------+ | Solo » Mute | This enables or disables the | | | *Solo Mute* option. | +-----------------------------------+-----------------------------------+ Changing the solo mode (SiP, PFL or AFL) will update the labels on the mixer strips' solo controls accordingly. .. rubric:: The Processors button :name: the-processors-button Clicking the Processors button show or hides the Monitor Sections processor box. This is used in the same way as processor boxes present in `tracks <#audiomidi-mixer-strips>`__ and `busses <#audiomidi-busses-mixer-strips>`__. It can be used to insert plugins, e.g. a room correction EQ or a specific metering type. As this processing is local to the Monitor Section it is only applied to audio that is ultimately available at the monitor outputs. .. rubric:: Solo level controls :name: solo-level-controls These controls set the level of the audio when a channel or bus solo is engaged. +-----------------------------------+-----------------------------------+ | Solo Boost | This is the level that will be | | | added to the current main monitor | | | level when a track or bus is | | | soloed, providing a convenient | | | boost in level for the isolated | | | signal. The rotary control has a | | | range of 0dB to +10dB and can be | | | set at any point between these | | | two values. A drop down menu with | | | pre-defined values is also | | | provided for convenience. | +-----------------------------------+-----------------------------------+ | SiP Cut | Only relevant to Solo in Place | | | mode. This sets the level that | | | all muted tracks or busses will | | | be muted by. By default it is | | | -&infinity; i.e. the non soloed | | | tracks are totally inaudible. The | | | level can be raised to make the | | | other tracks audible, though | | | dimmed. This is also sometimes | | | referred to *Solo in Front*. The | | | rotary control has a range of | | | -inf to +0dB and can be set at | | | any point between these two | | | values. A drop down menu with | | | pre-defined values is also | | | provided for convenience. | +-----------------------------------+-----------------------------------+ .. rubric:: Dim level control :name: dim-level-control The Dim level control sets the amount by which the monitoring will be reduced when a Dim button is engaged. The rotary control has a range of -20dB to 0dB and can be set at any point between these two values. A drop down menu with pre-defined values is also provided for convenience. .. rubric:: Monitor path controls :name: monitor-path-controls Each of the individual paths through the Monitor Section, (e.g. L and R for stereo), can be controlled individually. Four functions are available: +-----------------------------------+-----------------------------------+ | Mute | Mutes the selected path(s) | +-----------------------------------+-----------------------------------+ | Dim | Reduces the selected path(s) | | | level by the amount set with the | | | Dim level control | +-----------------------------------+-----------------------------------+ | Solo | Solos the selected channel(s) | +-----------------------------------+-----------------------------------+ | Inv | Inverts the selected channel(s) | | | polarity | +-----------------------------------+-----------------------------------+ .. rubric:: Global Monitor controls :name: global-monitor-controls Those buttons directly affect the output of the monitoring section: - Mono: sums all of the paths to a single mono signal and applies it to all Monitor Section outputs. - Dim: Reduces overall monitor level by the amount set with the Dim level control. - Mute: Mutes all monitoring. .. rubric:: Global Monitor level :name: global-monitor-level This control sets the level for Monitor Section output. The rotary control has a range of -inf to +6dB and can be set at any point between these two values. A drop down menu with pre-defined values is also provided for convenience. .. rubric:: Monitoring Output routing :name: monitoring-output-routing Clicking on this button shows a menu that allows quick and convenient routing of the Monitor Section's outputs to audio hardware outputs, e.g. to feed control room monitors. It also has an option to open Ardour's routing matrix, where more detailed connectivity is available if routing to something other than hardware is required. .. rubric:: Part IV - Sessions & Tracks :name: sessions-tracks :class: clear .. rubric:: 31 - Sessions :name: sessions :class: clear .. rubric:: 31.1 - What's in a Session? :name: whats-in-a-session :class: clear The Session is the fundamental document type that is created and modified by the Ardour workstation. A Session is a folder on a 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: - ``session_name.ardour`` the main session snapshot - ``*.ardour``, any additional snapshots - ``session_name.ardour.bak``, the auto-backup snapshot - ``session_name.history``, the undo history for the session - ``instant.xml``, which records the last-used zoom scale and other metadata - ``interchange/``, a folder which holds the raw audio and MIDI files (whether imported or recorded) - ``export/``, a folder which contains any files created by the Session > Export function - ``peaks/``, a folder which contains waveform renderings of all audio files in the session - ``analysis/``, a folder which contains transient and pitch information of each audio file that has been analysed - ``dead sounds/``, a folder which contains sound files which Ardour has detected are no longer used in the session (during a Session > Clean-up > Clean-up Unused Sources operation, will be purged by Flush Waste Basket, see `Cleaning Up Sessions <#cleaning-up-sessions>`__) 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. .. rubric:: 31.2 - Where Are Sessions Stored? :name: where-are-sessions-stored :class: clear Sessions are stored in a single folder on the computer's filesystem. The first time Ardour is run, it will ask for the default location for this folder, with the initial choice being the current user's home folder. After the first-run dialog, the default location can still be changed at any time via Edit > Preferences > Misc > Session Management. A particular (different) location for a session can also be specified when creating it, in the `New Session dialog <#newopen-session-dialog>`__. .. rubric:: 31.3 - New/Open Session Dialog :name: newopen-session-dialog :class: clear The initial Session dialog, displayed at each start of Ardour, consists of several consecutive pages: .. rubric:: Open Session Page :name: open-session-page .. figure:: /images/session_setup.png :alt: The Session Setup Dialog :figclass: mini The Session Setup Dialog On this page, an existing session can be opened. Any `snapshot <#snapshots>`__ of a particular session can also be accessed by clicking on the arrow next to the session name to display all snapshots, and then selecting one. If the session is not displayed in the Recent Sessions list, the Other Sessions button will bring up a file selection dialog to navigate the file system. Alternatively, a New Session can be created. .. rubric:: New Session page :name: new-session-page :class: clear .. figure:: /images/session_new.png :alt: The New Session Dialog :figclass: mini The New Session Dialog .. figure:: /images/template_setup.png :alt: One of the Template Setup Dialogs :figclass: mini One of the Template Setup Dialogs This page allows to type in the name of a session, select a folder to save it in, and optionally use an existing `template <#session-templates>`__. The different templates, both the "factory" ones and the ones created by the user, are easily available on the left-side panel. Depending on the chosen template, a specific Template Settings window may be shown, allowing the user to fine-tune the details of the template and/or choose between the different options of the template. Templates can be huge time savers when working on similar projects, or on usual projects, as they allow to preset and tweak a lot of the `session properties <#session-properties-dialog>`__, (like the availability of a `monitoring section <#monitor-section>`__, connection to a Master Bus, etc.), and handle the creation of `tracks <#adding-tracks-busses-and-vcas>`__ of any kind. The Empty Template preset allows to create a session "from scratch". Everything a session template does can be done manually —albeit more tediously— and the resulting sessions will not differ whatsoever. As of Ardour 5.12, which introduced the new template dialog, the factory templates are: +-----------------------------------+-----------------------------------+ | Empty Template | Creates an empty session with no | | | tracks and no monitoring. A | | | stereo Master Bus is created, and | | | any track created defaults to | | | output on this bus. | +-----------------------------------+-----------------------------------+ | Advanced Session | Like the Empty Template, but adds | | | the ability to easily manage the | | | Master bus (channels, hardware | | | connection, and track | | | autoconnection), and the creation | | | of a monitoring section. | +-----------------------------------+-----------------------------------+ | Recording Session | Like the Empty Template, but | | | allows the fast creation of a | | | number of tracks, optionally | | | ready to record. | +-----------------------------------+-----------------------------------+ | Live Band | Fast tracks the creation of usual | | | tracks for a band setup (vocals, | | | guitars, piano, ...), and | | | optionally adds usual effects on | | | these tracks. | +-----------------------------------+-----------------------------------+ Selecting a template will display its description in the right-side panel, while hovering over a template name will show a tooltip indicating if it is a factory template, or, if it is a user-created one, which version of Ardour was used to create it. Whether or not a template is used, and before the "Template Setup" dialog, the Audio/MIDI Setup will be shown. .. rubric:: Audio/MIDI Setup :name: audiomidi-setup :class: clear .. figure:: /images/Audio-MIDI_Setup.png :alt: The Audio/MIDI Setup Dialog :figclass: mini The Audio/MIDI Setup Dialog This window exposes the different audio options to be used by Ardour for the current work session, for hardware and software and is made of: +-----------------------------------+-----------------------------------+ | Audio System | Depending on the operating | | | system, Ardour can possibly use | | | different audio systems, e.g. on | | | Linux, both ALSA and JACK are | | | available. | +-----------------------------------+-----------------------------------+ | Driver | On Mac OS X this will typically | | | be CoreAudio. On Linux usually | | | this will be either FFADO or | | | ALSA, depending on whether or not | | | a firewire device is used. | | | Advanced users on all platforms | | | may also use NetJack which | | | provides network audio I/O. | +-----------------------------------+-----------------------------------+ | Device | The selector should show all | | | available interfaces provided by | | | the driver above and which are | | | capable of duplex operation. | | | When using an Intel Mac running | | | OS X and the builtin audio | | | interface, its separate input and | | | output devices must be | | | `merged <#using-more-than-one-aud | | | io-device>`__ | | | first into a single "aggregate | | | device" before Ardour will be | | | able to use it. | +-----------------------------------+-----------------------------------+ | Sample Rate | The selector will allow to select | | | from any sample rate supported by | | | the device selected above it. | +-----------------------------------+-----------------------------------+ | Buffer Size | The size of the buffer used by | | | the audio interface can be | | | adjusted to allow for either | | | lower latency, or lower CPU usage | | | and higher latency. | +-----------------------------------+-----------------------------------+ | Input/Output Channels | Specifies the number of hardware | | | channels to use. The default is | | | all available channels. | +-----------------------------------+-----------------------------------+ | Hardware Input/Output Latency | Specify the hardware delay in | | | samples for precise latency | | | compensation. | +-----------------------------------+-----------------------------------+ | Calibrate | This button runs a semi-automated | | | guided process to obtain precise | | | hardware latency measurements for | | | the above option. | +-----------------------------------+-----------------------------------+ | MIDI System | Selects the MIDI driver to use. | | | On Mac OS X, this will be | | | CoreMIDI. On Linux, it can be | | | changed between two legacy ALSA | | | drivers or the (preferred) new | | | JACK+ALSA implementation. | +-----------------------------------+-----------------------------------+ .. rubric:: 31.4 - Renaming a Session :name: renaming-a-session :class: clear Using the Session > Rename menu allows to give the session a new name. A dialog will appear asking for the new one. This operation does **not** make a new session folder—the existing session folder and relevant contents are renamed. If the session was not saved before a rename operation, it will be saved automatically and then renaming will continue. Ardour's Session > Save As operation will not make a new copy of the session folder and its contents. All it does is create a new session file. .. rubric:: 31.5 - Session Metadata :name: metadata :class: clear .. rubric:: Session Metadata :name: session-metadata .. figure:: /images/edit-session-metadata.png :alt: The session metadata editor The session metadata editor Sessions can have various items of metadata attached to them, and saved in the session file. These metadata are filled by the user via Session > Metadata > Edit Metadata…. These metadata will be exported as tags in the audio and video files that support it, as long as the right option is chosen at the `export <#export-dialog>`__ stage. All the video format can retain a subset of the metadata if the Include Session Metadata is checked in the `export video <#workflow-amp-operations>`__ window, while only the Ogg-Vorbis (tagged) and FLAC (tagged) audio format will be exported with the metadata (as Vorbis comment). Ardour can also reuse the metadata from another session file in the current session, with Session > Metadata > Import Metadata…. This menu brings up a file selector, asking for the source ardour session file to extract the data from. This can be handy when reusing a lot of information (Author, Artist Name, etc…) or working on multiple tracks of the same media. .. rubric:: 31.6 - Backup and Sharing of Sessions :name: backup-and-sharing-of-sessions :class: clear An Ardour session is stored in a single folder on the computer's filesystem. This makes backup very easy: any tool capable of backing up a folder can be used to backup a session. The location of a session is picked when it is created —by default it will be in the default session location, which can be altered via Edit > Preferences > General > Session. 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. There is one complication in both cases: a session may reference media files that are stored outside of the session folder, if the user has opted not to select Session > Import > Copy to Session during import. Backing up a session with embedded files will not create a copy of the session containing those files. To bring those external files to the session folder, the `Session > Clean-up > Bring all media into session folder menu <#cleaning-up-sessions>`__ can be used. .. rubric:: Using the dedicated Zip/Archive Current Session tool :name: using-the-dedicated-ziparchive-current-session-tool .. figure:: /images/archive-session.png :alt: The Zip/Archive Current Session window The Zip/Archive Current Session window The Zip/Archive Current Session tool is located in the File > Archive… menu. It allows to create a single file containing everything useful in the session, to share it or back it up, conveniently compressed to a session-archive which is a zip-file (tar.xz to be specific) containing all the audio, MIDI, plugin-settings,... and the currently active session. Ardour can also extract those bundles (Session > Open…). As opposed to zipping the entire session-folder manually, #. the session-archive only contains the current session-snapshot and only files which are used #. externally referenced files are included in the archive. The window shows the following options: +-----------------------------------+-----------------------------------+ | Archive Name | The name of the archive file, | | | defaulting to the name of the | | | session followed by the date and | | | time | +-----------------------------------+-----------------------------------+ | a dropdown extension selector | allowing to choose between | | | different kind or compressed | | | archive file types | +-----------------------------------+-----------------------------------+ | Target directory/folder | defining where in the filesystem | | | the archive file will be | | | generated | +-----------------------------------+-----------------------------------+ | Audio Compression | a dropdown menu allowing to | | | compress the audio files | | | themselves by using an | | | audio-tailored compression | | | format, more on that below | +-----------------------------------+-----------------------------------+ | Exclude unused audio sources | a checkbox to drop every audio | | | that is in the session, but not | | | actually used in the editor | +-----------------------------------+-----------------------------------+ The Audio Compression selection accepts any of: - None - FLAC 16bit - FLAC 24bit Encoding the audio sources to FLAC allows for a good size reduction of the session. It should be noted though that FLAC is a fixed-point format, meaning that if the audio in the session is in a floating-point format, this conversion will lose some information on the samples values that are rounded, though usually, this lost information cannot be perceived. Choosing "*None*" for Audio Compression does not compress the audio to FLAC, hence preserving the floating-point data at the cost of a bigger file size. Notice also that converting to FLAC automatically normalizes the audio. Using the Exclude unused audio sources option allows to only keep the files actually used in the session, which can be useful to leave any unused take or reference material out of the backup, reducing the archive's global file size. .. rubric:: 32 - Tracks :name: tracks :class: clear .. rubric:: 32.1 - Track Types :name: track-types :class: clear Ardour offers three track types depending on the type of data they contain, and differentiates between three track modes, depending on their recording behaviour. .. rubric:: Track types :name: track-types-1 An Ardour track can be of type audio or MIDI, depending on the data that the track will primarily record and play back. *However, 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 play back MIDI data from disk but would produce audio, since the instrument plugin would turn MIDI data into audio data. Nevertheless, when adding tracks to a session, its content is typically known, and Ardour offers three choices: +-----------------------------------+-----------------------------------+ | Audio | An Audio Track is created with a | | | user-specified number of inputs. | | | The number of outputs is defined | | | by the master bus channel count | | | (for details see `Channel | | | Configuration <#channelconfigurat | | | ion>`__ | | | below). This is the type of track | | | to use when planning to work with | | | existing or newly recorded audio. | +-----------------------------------+-----------------------------------+ | MIDI | A MIDI track is created with a | | | single MIDI input, and a single | | | MIDI output. This is the type of | | | track to use when planning to | | | record and play back MIDI. There | | | are several methods to enable | | | playback of a MIDI track: add an | | | instrument plugin to the track, | | | connect the track to a software | | | synthesizer, or connect it to | | | external MIDI hardware. | | | If an instrument plugin is added, | | | the MIDI track outputs audio | | | alongside MIDI data. | +-----------------------------------+-----------------------------------+ | Audio/MIDI | There are a few notable plugins | | | that can usefully accept both | | | Audio and MIDI data (Reaktor is | | | one, and various "auto-tune" like | | | plugins are another). It can be | | | tricky to configure this type of | | | track manually, so Ardour allows | | | to select this type specifically | | | for use with such plugins. It is | | | *not* generally the right choice | | | when working normal MIDI tracks, | | | and a dialog will warn of this. | +-----------------------------------+-----------------------------------+ .. rubric:: Track Modes :name: trackmodes Audio tracks in Ardour have a mode which affects how they behave when recording: +-----------------------------------+-----------------------------------+ | Normal | Tracks in normal mode will record | | | non-destructively—new data is | | | written to new files, and when | | | overdubbing, new regions will be | | | layered on top of existing ones. | | | This is the recommended mode for | | | most workflows. | +-----------------------------------+-----------------------------------+ | Non-Layered | Tracks using non-layered mode | | | will record non-destructively—new | | | data is written to new files, but | | | when overdubbing, the existing | | | regions are trimmed so that there | | | are no overlaps. This does not | | | affect the previously recorded | | | audio data, and trimmed regions | | | can be expanded again at will. | | | Non-layered mode can be very | | | useful for spoken word material, | | | especially in combination with | | | `push/pull | | | trimming <#pushpull-trimming>`__. | +-----------------------------------+-----------------------------------+ | Tape | Tape-mode tracks do | | | **destructive** recording: all | | | data is recorded to a single file | | | and if a section of existing data | | | is overdub, the existing data is | | | destroyed irrevocably—there is no | | | undo. Fixed crossfades are added | | | at every punch in and out point. | | | This mode can be useful for | | | certain kinds of re-recording | | | workflows, but is not suggested | | | for normal use. | +-----------------------------------+-----------------------------------+ .. figure:: /images/a3_nonlayered_example.png :alt: Normal and non-layered overdubbing comparision Normal and non-layered overdubbing comparision The screenshot on the right shows the subtle difference between an overdub in normal mode (upper track) and one in non-layered mode (lower track). Both tracks were created using identical audio data. The upper track shows a new region which has been layered on top of the the existing (longer) region. It can be seen by the region name strips. The lower track has split the existing region in two, trimmed each new region to create space for the new overdub, and inserted the overdub region in between. .. rubric:: Channel Configuration :name: channelconfiguration 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 <#adding-tracks-busses-and-vcas>`__ dialog allows to select "Mono", "Stereo" and few other typical multichannel presets The name of the preset describes the number of input channels of the track or bus. If Ardour is configured to automatically connect new tracks and busses, the number of outputs will be determined by the number of inputs of the master `bus <#understanding-basic-concepts-and-terminology>`__, to which the track outputs will be connected. For example, with a two-channel master bus, a Mono track has one input and two outputs; a Stereo track has two inputs and two outputs. If Edit > Preferences > Signal Flow > Track and Bus Connections is set to manual, then tracks will be left disconnected by default and there will be as many outputs as there are inputs. It is up to the user to connect them as desired. This is not a particularly useful way to work unless something fairly unusual is done with signal routing and processing. It is almost always preferable to leave Ardour make connections automatically, even if some changes are manually done later. .. rubric:: 32.2 - Adding Tracks, Busses and VCAs :name: adding-tracks-busses-and-vcas :class: clear .. figure:: /images/add-track-or-bus.png :alt: The Add Track/Bus/VCA dialog. :figclass: mini The Add Track/Bus/VCA dialog. A track, bus or VCA can be added to a session by either: - Choosing Track > Add Track, Bus or VCA…. - Right-clicking in an empty part of the track controls area. - Clicking the Plus (+) button underneath the list of tracks in the mixer. Any of these actions will open the Add Track/Bus/VCA dialog. The list of available track templates (both factory and user-created ones) in the left panel allows to choose the `track(s) type <#track-types>`__ (e.g. Audio, MIDI, bus, VCA etc.). Some templates can do even more, like the factory-provided Live Band that automatically creates a number of usual tracks for a common band setup. See `New Session <#newopen-session-dialog>`__ for more information about templates. The common templates have parameters to tweak: +-----------------------------------+-----------------------------------+ | Add | Selects the number of tracks, | | | busses or VCAs to create. | +-----------------------------------+-----------------------------------+ | Name | Defines the name of the new | | | track(s). If multiple tracks are | | | created, or if a track with the | | | same name already exists, a space | | | and number will be happened at | | | the end (e.g.: Audio 1, Audio | | | 2…). | +-----------------------------------+-----------------------------------+ | Configuration | This menu allows to choose from a | | | number of route templates, which | | | determine the number of input | | | ports and optionally contain | | | plugins and other mixer strip | | | configuration. The most common | | | choices here are *mono* and | | | *stereo*. | +-----------------------------------+-----------------------------------+ | Instrument | This option is only available for | | | MIDI tracks and busses and allows | | | the selection of a default | | | instrument from the list of | | | available plugins. | +-----------------------------------+-----------------------------------+ | Group | Tracks and busses can be assigned | | | groups so that a selected range | | | of operations are applied to all | | | members of a group at the same | | | time (selecting record enable, or | | | editing, for example). This | | | option assigns the new track/bus | | | to an existing group, or create a | | | new group. | +-----------------------------------+-----------------------------------+ | Pin Mode | Defines how the number of output | | | responds to adding a plugin with | | | a different number of outputs | | | than the track itself. In *Strict | | | I/O* mode, plugins cannot alter | | | the track's channel count, while | | | in *Flexible I/O* mode, it will | | | automatically adapt to the I/O of | | | its plugins. See `Signal | | | flow <#trackbus-signal-flow>`__ | | | to learn more about those | | | options. | +-----------------------------------+-----------------------------------+ | Record mode | This option is only available for | | | audio tracks and affects how it | | | behaves when recording. See | | | `Track Modes <#track-types>`__ | | | for details. | +-----------------------------------+-----------------------------------+ | Position | Defines where in the track list | | | is the track created. The default | | | is *Last*, i.e. after all the | | | tracks and busses, and can also | | | be *First*, *Before Selection* | | | (to place it just above the | | | selected track) or *After | | | selection*. | +-----------------------------------+-----------------------------------+ Multiple tracks of different types can be created by using the Add selected items (and leave dialog open) button, which, used in conjunction with the Add field, allows for a very efficient and fast way to create a base track setup. New tracks appear in 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). .. rubric:: Removing Tracks and Busses :name: removing-tracks-and-busses Removing tracks and busses, is done by selecting them, right-clicking and choosing Remove from the menu. A warning dialog will pop up, as track removal cannot be undone; this option should be used with care! .. rubric:: 32.3 - Controlling Track Ordering :name: controlling-track-ordering :class: clear Ardour does not impose any particular ordering of tracks and busses in either the editor or mixer windows. The default arrangements are as follows: - In the Editor window, the Master bus will always be on top unless hidden. Tracks and busses will appear in their initial order, from top to bottom. The monitor section (if used) is never visible in the editor window. - In the Mixer window, the tracks and busses will be displayed in their initial order, from left to right. The Master bus is always on the far right and occupies its own pane, so that it is always visible no matter how many other mixer strips are present. If a Monitor section is used, it shows up at the right edge of the mixer window; it can also be torn off into a separate window. .. rubric:: Reordering Tracks :name: reordering-tracks The track ordering of the Editor and Mixer is synchronized: if a track is reordered in one window, the ordering in the other window will follow. .. rubric:: Reordering in the Editor Window :name: reordering-in-the-editor-window Reordering is done by selecting the tracks to be moved, then using Track > Move Selected Tracks Up (shortcut: ↑) or Track > Move Selected Tracks Down (shortcut: ↓). Alternatively, the `Tracks & Busses panel of the Editor Lists <#the-tracks-and-busses-list>`__ can be used, if visible. Here, tracks and busses can be freely dragged-and-dropped into any desired order. .. rubric:: Reordering in the Mixer Window :name: reordering-in-the-mixer-window Within the `Strips List <#strips-list>`__ pane at the top left of the Mixer window, tracks and busses can be freely dragged-and-dropped into any desired order. .. rubric:: "Collecting" Group Members :name: collecting-group-members Tracks and Busses that are members of a group can be reordered so that they display contiguously within the Editor and Mixer windows, by Right-clicking on the group tab and choosing Collect. .. rubric:: Ordering of New Tracks :name: ordering-of-new-tracks When `adding new tracks <#adding-tracks-busses-and-vcas>`__, the Insert: field allows to determine their placement. New tracks will be placed *Last* by default, so after the rightmost (in the mixer) or bottom-most (in the editor) selected track. If no tracks are selected, new tracks will be added at the end, regardless of the choice. Because new tracks are automatically selected, they can be quickly reordered in the editor window via the keyboard shortcuts after adding them. .. rubric:: Track Ordering and Remote Control IDs :name: track-ordering-and-remote-control-ids Every track and bus in Ardour is assigned a remote control ID. When a `control surface <#control-surfaces>`__ or any other remote control is used to control Ardour, these IDs are used to identify which track(s) or buss(es) are the intended target of incoming commands. Remote IDs are assigned to tracks and busses in the order that they appear in the mixer window from left to right, starting from #1; manual assignment of remote IDs is not possible. The master bus and monitor section can be accessed by name. .. rubric:: 32.4 - Track Context Menu :name: track-context-menu :class: clear Within the editor window, context-clicking (right click) on either a region or empty space within a track displays the track context menu. The context menu provides easy access to many track-level operations. If a region is clicked, the first item in the menu is the name of the region. If a `layered region <#layering-display>`__ is clicked, the next item in the menu is Choose Top. If selected, a dialog appears that allows to change the vertical order of layers at that point. See `Layering Display <#layering-display>`__ for more details. The rest of the track context menu is structured as follows: +-----------------------------------+-----------------------------------+ | Play | | +-----------------------------------+-----------------------------------+ | Play from Edit Point | Plays from the location of the | | | current `Edit | | | Point <#edit-point-control>`__. | +-----------------------------------+-----------------------------------+ | Play from Start | Plays from the start of the | | | session | +-----------------------------------+-----------------------------------+ | Play Region | Plays the duration of the session | | | from the start of the earliest | | | selected region to the end of the | | | latest selected region | +-----------------------------------+-----------------------------------+ | Select | | +-----------------------------------+-----------------------------------+ | Select All in Track | Selects all the regions and | | | automation points in the current | | | track | +-----------------------------------+-----------------------------------+ | Select All Objects | Selects all the regions and | | | automation points in the session | +-----------------------------------+-----------------------------------+ | Invert Selection in Track | Select the previously unselected | | | regions, and deselect the | | | previously selected ones *only* | | | in the current track | +-----------------------------------+-----------------------------------+ | Invert Selection | Select the previously unselected | | | regions, and deselect the | | | previously selected ones | +-----------------------------------+-----------------------------------+ | Set Range to Loop Range | Creates a range selection on the | | | selected tracks, based on the | | | selected loop markers, and | | | switches to `Range Mode | | | tool <#toolbox>`__ | +-----------------------------------+-----------------------------------+ | Set Range to Punch Range | Same as above, based on the | | | selected punch markers | +-----------------------------------+-----------------------------------+ | Set Range to Selected Regions | Same as above, based on the | | | selected regions (i.e. from the | | | start of the earliest region to | | | the end of the latest one) | +-----------------------------------+-----------------------------------+ | Select All After Edit Point | Select all the regions and | | | automation points that exist | | | after the Edit Point, even if the | | | region starts before it. If some | | | tracks are selected, only selects | | | on these tracks. | +-----------------------------------+-----------------------------------+ | Select All Before Edit Point | Same as above, but before the | | | Edit point (i.e. to the left of | | | it) | +-----------------------------------+-----------------------------------+ | Select All After Playhead | Same as above, but considering | | | the Playhead, regardless of the | | | Edit Point choice | +-----------------------------------+-----------------------------------+ | Select All Before Playhead | Same as above, with the Playhead | +-----------------------------------+-----------------------------------+ | Select All Between Playhead and | Selects all the regions between | | Edit Point | the Playhead and the Edit Point | +-----------------------------------+-----------------------------------+ | Select All Within Playhead and | Same as above, but the regions | | Edit Point | must be totally included between | | | the Playhead and Edit Point | +-----------------------------------+-----------------------------------+ | Select Range Between Playhead and | Creates a Range between the | | Edit Point | Playhead and the Edit Point | +-----------------------------------+-----------------------------------+ | Edit | | +-----------------------------------+-----------------------------------+ | Cut | Deletes the current selection, | | | but puts it in memory ready to be | | | pasted | +-----------------------------------+-----------------------------------+ | Copy | Copies the current selection to | | | memory | +-----------------------------------+-----------------------------------+ | Paste | Pastes the memory at the `Edit | | | Point <#edit-point-control>`__, | | | after a Cut or Copy operation | +-----------------------------------+-----------------------------------+ | Align | Aligns the sync point of all | | | selected regions to the Edit | | | Point | +-----------------------------------+-----------------------------------+ | Align Relative | Same as above, but considers | | | multiple regions as a block and | | | aligns the whole block, not each | | | regions | +-----------------------------------+-----------------------------------+ | Insert Selected Region | If a region is selected in `the | | | Region | | | List <#the-region-list>`__, | | | inserts it in the track | +-----------------------------------+-----------------------------------+ | Insert Existing Media | Inserts an external media file in | | | the track, same as `the Session > | | | Insert Media | | | menu <#adding-pre-existing-materi | | | al>`__ | +-----------------------------------+-----------------------------------+ | Nudge | | +-----------------------------------+-----------------------------------+ | Nudge Entire Track Later | Moves all the region to the right | | | by the amount shown in the `nudge | | | timer <#nudge-controls>`__ | +-----------------------------------+-----------------------------------+ | Nudge Track After Edit Point | Same as above, but only for | | Later | regions that begin after the Edit | | | Point | +-----------------------------------+-----------------------------------+ | Nudge Entire Track Earlier | Same as above, to the left | +-----------------------------------+-----------------------------------+ | Nudge Track After Edit Point | Same as above, to the left | | Earlier | | +-----------------------------------+-----------------------------------+ | (un)Freeze | Consolidates all the regions in | | | the track into one *frozen* | | | region which can be handled as a | | | normal, single region. This | | | operation can be undone at any | | | time with the same sub-menu. | +-----------------------------------+-----------------------------------+ .. rubric:: 33 - Controlling Track Appearance :name: controlling-track-appearance :class: clear Ardour offers many options for controlling the appearance of tracks, including color, height, waveform style and more. These can all be found in the Edit > Preferences > Editor menu. .. rubric:: 33.1 - Layering Display :name: layering-display :class: clear .. figure:: /images/track-layer-dialog.png :alt: The Track layering menu The Track layering menu Ardour allows arbitrary layering of regions—there can any number of regions at a given position. By default, the regions are overlaid in the editor window, to save vertical space. However, this display mode can be confusing for tracks with many overdubs, because its not obvious in which order the overdubs are layered. Although there are other methods of moving particular regions to the top of an overlapping set, and although Ardour also has playlists to manage `takes <#playlist-usecases>`__ a bit more efficiently than just continually layering, there are times when being able to clearly see all regions in a track without any overlaps is reassuring and useful. The example below shows a track with a rather drastic overdub situation, viewed in normal overlaid mode: .. figure:: /images/overlaps_layered.png :alt: Overlapping regions in *overlaid* mode Overlapping regions in *overlaid* mode This display can be changed by right clicking on the track header, showing the menu displayed above. There are two choices for layers, and overlaid is currently selected. Clicking on stacked, the track display changes to: .. figure:: /images/layers_stacked.png :alt: Overlapping regions in *stacked* mode Overlapping regions in *stacked* mode Regions can still be moved around as usual, and can be dragged so that they overlay each other again, but when the mouse button is released, things will flip back to them all being stacked cleanly. 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 a track has 10 overdubs stacked up in one spot, it will end up with 10 lanes. Obviously, using a large track height works much better for this than a small one. .. rubric:: 33.2 - Track Color :name: track-color :class: clear New tracks in Ardour are assigned a random color from a pastel color palette, so they should never end up being particularly bright or particularly dark. .. rubric:: Changing the color of specific tracks :name: changing-the-color-of-specific-tracks Changing the color of a track is done by selecting the track(s) and right clicking on the track header of one of them then from the context menu, selecting Color and picking a hue in the color dialog. Every selected track will be re-colored. If only one track is changed, right clicking on that track's header will be enough to select it, saving the extra mouse click. .. rubric:: Changing the color of all tracks in a group :name: changing-the-color-of-all-tracks-in-a-group Tracks that belong to a `track/bus group <#the-track-and-bus-group-list>`__ can share a common color by enabling the Color option for the group. With this enabled, any color change will be propagated to all group members. The group color can also be explicitly changed by context-clicking on the group tab in the Mixer, selecting Edit Group… and then clicking on the Color selector in the displayed dialog. .. rubric:: 33.3 - Track Height :name: track-height :class: clear At some stage of the production, a quick overview over as many tracks as possible may be required, or a detailed view into just a few, or a combination of the two. To facilitate this, the height can be configured individually for each track in the editor window, or globally. .. rubric:: Resizing one or a few tracks :name: resizing-one-or-a-few-tracks A right click on a track header will display the Height menu, and allow to choose from a list of standard sizes. All selected tracks will be redrawn using that height. Alternatively, moving the pointer to the bottom edge of a track header will change the cursor to a two-way vertical arrow shape. Left-dragging dynamically resizes all selected tracks. .. rubric:: Resizing all the tracks :name: resizing-all-the-tracks The three rightmost items of the `Zoom Controls <#zoom-controls>`__, in the toolbar, allow to quickly resize multiple tracks' heights at once, or to display a selected number of tracks in the editor, or all the selected ones, etc. .. rubric:: Fitting to the Editor Window :name: fitting-to-the-editor-window Fitting one or many tracks to the Editor window can be done by selecting the tracks to display and choosing Track > Height > Fit Selection (Vertical) or using the keyboard shortcut, f. Ardour adjusts the track heights and view so that the selected tracks completely fill the vertical space available, unless the tracks cannot be fitted even at the smallest possible size. The Visual Undo (default shortcut: Z) can be used to revert this operation. .. rubric:: 33.4 - Waveform display :name: waveform-display :class: clear The display of waveforms (or, more correctly, peak envelopes, since the actual waveform is only visible at the highest zoom levels) is configurable via the Edit > Preferences > Appearance > Editor dialog, to support different use cases and user preferences. The following options are available: Show waveforms in regions .. raw:: html
.. raw:: html
.. raw:: html
By default, Ardour draws waveforms within audio regions. Disable this option to hide them. Waveform scale Linear This is the traditional linear (1:1) display of the peak envelope, or, at higher zoom levels, the individual samples. Logarithmic Alternatively, a logarithmic display of the peak envelope can be used. This will give a better idea of program loudness (it is similar to dBs) and plot soft passages more clearly, which is useful for soft recordings or small track height. Waveform shape Traditional The zero line appears in the middle of the display and waveforms appear as positive and negative peaks above *and* below. Rectified The zero line appears at the bottom of the display and waveforms appear as absolute peaks *above* the line only. 34 - Importing and Exporting Session Data ========================================= 34.1 - Import Dialog ==================== .. figure:: /images/import-window.png :alt: The import window. The import window. Many sessions will require the use of existing material, whether it consists of audio and/or MIDI data. Using existing samples, loops and riffs from files stored on the system can be the basis for a new session, or a way to deepen and improve one that is already underway. Importing audio and MIDI data into the session is done with the Add Existing Media dialog, accessed by the Session > Import menu. The Soundfile Information Box ----------------------------- This box will display information about the currently selected file: - number of channels, - sample rate, - file format, - length, - embedded timestamp (applies to some professional formats such as Broadcast WAVE), and - `tags <#searching-for-files-using-tags>`__ (attached metadata to help categorize files in a library). If the sample rate differs from the current session rate, it is displayed in red, which indicates that the file must be resampled before importing. Resampling is controlled by the Conversion quality option described below. Auditioner ---------- Files can be auditioned before importing. The slider under the play and stop buttons allows to scrub around, a fader on the right side allows to control the playback volume. Auditioning MIDI files requires a MIDI instrument to be chosen in the Instrument dropdown list. Importing options ----------------- Through the Add files… option, imported files can be inserted in the session: +-----------------------------------+-----------------------------------+ | as new tracks | automatically creates new tracks | | | and import the files in it | +-----------------------------------+-----------------------------------+ | to region list | adds the files to the `region | | | list <#the-region-list>`__, from | | | where then can be manually | | | dragged into a track | +-----------------------------------+-----------------------------------+ | as new tape tracks | adds the files as `Tape | | | tracks. <#track-types>`__ | +-----------------------------------+-----------------------------------+ The Insert at option chooses where in time the file will be imported, amongst: the file timestamp (if available, zero by default) at the `edit point <#edit-point-control>`__ at the playhead at the session start. The Channel Mapping option is only available for multi-channel files (i.e. all but mono ones). It is either +-----------------------------------+-----------------------------------+ | one track/region per file | Creates a multi channel track for | | | each imported file | +-----------------------------------+-----------------------------------+ | one track/region per channel | Creates only mono channels, as | | | many as there are channels in the | | | imported files | +-----------------------------------+-----------------------------------+ | sequence files | If multiple files are imported, | | | they can be sequenced into a | | | single track in the order of | | | selection | +-----------------------------------+-----------------------------------+ The Conversion quality drop-down controls the quality of the resampling process, if the sampling rate of the source file differs from the session rate. Finally, and most importantly, the the files can be linked or copied to the session with the Copy files to session checkbox. Please read `Copying versus Linking <#copying-versus-linking>`__ for details. 34.2 - Supported File Formats ============================= The list of audio file formats that Ardour can understand 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). A full list of libsndfile's supported formats is available on the `libsndfile website `__. For MIDI import, Ardour will read any Standard MIDI Format (SMF) file. 34.3 - Adding Pre-existing Material =================================== There are several ways to importing 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>`__ dialog. Finally, files can also easily be imported into a project by dragging and dropping a file from some other application (e.g. the system's file manager). Files can either be dragged onto the Region List, into the desired track or into an empty space in the editor track display. The file will be imported and copied into the session, and placed at the position where the drag ended. 34.4 - Copying Versus Linking ============================= Copying and linking are two different methods of using existing audio files on the computer (or network file system) within a session. They differ in one key aspect: Copying ------- An existing media file is copied to the session's audio folder, and if necessary converted into the session's native format. For audio files, the format can be chosen (e.g. 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. Linking ------- A link to an existing media file somewhere on the disk is used as the source for a region, but the data is **not copied or modified** in any way. While linking is handy to conserve disk space, it means that the session is no longer self-contained. If the external file moves, it will become unavailable, and any changes to it from elsewhere will affect the session. A backup of the session directory will miss linked files. The Copy file to session option in the Import dialog window allows to choose to copy or link files into the session: +-----------------------------------+-----------------------------------+ | Copy file to session | This file will be imported in the | | | audio/MIDI folder of the session. | +-----------------------------------+-----------------------------------+ | Copy file to session | This file won't be copied. | +-----------------------------------+-----------------------------------+ There is a global preference Edit > Preferences > General > Session > Always copy imported files. If it is enabled, linking a file will not be possible. 34.5 - Searching for Files Using Tags ===================================== A tag is bit of information, or metadata, that is associated with a data file. Specifically, tags are texts, keywords or terms that have some relevance to a particular sound file. Ardour can store these tags in a searchable database so that they can quickly be searched for to retrieve sounds based on the tags that have been assigned to them. For example if the term 120bpm has been assigned to a sound, search later for this tag will make the file 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 the Ardour user folder. Creating and adding tags ------------------------ Adding tags to a given file is done by opening the Session > Import dialog, selecting the file in the browser, and typing new tags into the tag area in the soundfile information box on the right. Tags are stored when the input box loses focus, there is no need to explicitly save them. To have more than one tag for a file, new tags can either be added on new lines (meaning the Enter key is pressed between two tags) or they can be separated from the previous ones by a comma (,), with or without spaces. Searching for files by tag -------------------------- Searching for specific tags is done in the Search Tags tab of the same dialog. Files which have been tagged with the relevant terms will appear in the results window. Selected files can be auditioned and marked with additional tags if required. 34.6 - Stem Exports =================== Stem exports are covered fully in the `Export <#mixdown>`__ chapter. A stem export creates one file per track, starting at the beginning of the session. Each track can then be imported into another DAW. All data will be lost 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. 35 - File and Session Management and Compatibility ================================================== 35.1 - Session Templates ======================== Session templates are a way to store the setup of a session for future use. They do not store any *audio* data but can store: - The number of tracks and busses, along with their names - The plugins present on each track or bus (if any) - All I/O connections Creating a Session Template --------------------------- The Session > Save Template shows a dialog asking for the name of the new template, and a description. Using a Session Template ------------------------ In the `New Session dialog <#newopen-session-dialog>`__, a panel lists the different template (factory and user-created). Managing Templates ------------------ .. figure:: /images/manage_templates.png :alt: The Manage Templates window The Manage Templates window Both Session templates and Track Templates can be managed through the Manage Templates window, which can perform the following actions: - Renaming a template - Removing one - Adding/modifying its description - Exporting the templates (e.g. to be used in another Ardour instance) - Importing templates (from e.g. another Ardour instance). See also `Adding Tracks and Busses <#adding-tracks-busses-and-vcas>`__ for information on templates for individual tracks or busses. 35.2 - Snapshots ================ A snapshot is a backup of the current state of a session. It differs from a simple save by allowing branching. It is a "frozen" version of the session at a certain point in time. For example, creating a snapshot before changing the entire arrangement of a piece, or drastically altering the signal processing provides a reference to come back to, should that not work out. This is accomplished by using either of the Session > Snapshot menus. A small dialog will appear, allowing to enter a name for the snapshot. The default name is based on the current date and time. The difference between the two snapshot menus is: +-----------------------------------+-----------------------------------+ | Snapshot (& keep working on | Saves a snapshot of the session, | | current version)... | but keeps the current session | | | active, i.e. any subsequent | | | Session > Save will overwrite the | | | original session, and the | | | snapshot will remain unchanged. | +-----------------------------------+-----------------------------------+ | Snapshot (& switch to new | Saves a snapshot of the session, | | version)... | and uses this snapshot as the | | | current active session, i.e. any | | | subsequent Session > Save will | | | overwrite the snapshot, and the | | | original session will remain | | | unchanged. | +-----------------------------------+-----------------------------------+ Any number of snapshots can be created. Creating a snapshot does **not** modify the session, nor does it save the session. Instead, it saves an alternate version of the session, within the session folder. The snapshot shares all data present in the session. Switching to a Snapshot ----------------------- Switching to an existing snapshot is done by navigating the `Snapshot List <#the-snapshot-list>`__ and clicking the the name of the desired snapshot. Ardour will switch to the snapshot, and, if there are unsaved changes in the current session, offer to save them. Starting Ardour With a Snapshot ------------------------------- Since a snapshot is just another session file stored within the session folder, that "version" can be chosen when loading an existing session. The browser in the "Open Session" dialog will show an expander arrow for sessions that have more than one session file (i.e. snapshots) present. Clicking on it shows the list, and then clicking on the name of the snapshot loads it. 35.3 - Cleaning Up Sessions =========================== Recording and editing any serious session might leave the session with some unused or misplaced files here and there. Ardour can help deal with this clutter thanks to the tools located in the Session > Clean-up menu. .. _bring_all_media_into_session_folder: Bring all media into session folder ----------------------------------- When `importing media files <#adding-pre-existing-material>`__, if the Copy files to session has not been checked, Ardour uses the source file from its original destination, which can help avoiding file duplication. Nevertheless, when the session needs to be archived or transferred to another computer, moving the session folder will not move those *external* files as they are not in the folder, as seen in `Backup and sharing of sessions <#backup-and-sharing-of-sessions>`__. Using the Bring all media into session folder menu ensures that all media files used in the session are located inside the session's folder, hence avoiding any missing files when copied. .. _reset_peak_files: Reset Peak Files ---------------- Ardour represents audio waveforms with peak files, that are graphical images generated from the sound files. This generation can be time and CPU consuming, so it uses a cache of the generated images to speed up the display process. To watch for files modification, Ardour relies on the file-modification time. If an external file is embedded in the session and that file changes, but the system-clock is skewed or it is stored on an external USB disk (VFAT), Ardour can't know the change happened, and will still use its deprecated peak files. Using the Reset Peak Files menu allows to reset this cache, which frees up disk space, and forces the re-creation of the peak files used in the session. It can prove useful if some waveforms are not used anymore, or if a graphical or time glitch happens. .. _clean_up_unused_sources: Clean-up Unused Sources… ------------------------ Recording usually leaves a lot of unused takes behind, be it in midi or audio form, that can clutter the Region List, and eat up a lot of hard drive space. While its generally a good practice to keep as many things as possible while recording, when transferring or archiving the session, some clean up can help a lot in reducing the sessions clutter and size. Selecting Clean-up Unused Sources… will force Ardour to detect those unused waveforms by looking for unused regions, and (through a prompt) for unused playlists. The media files will not be destroyed, though. At this stage, they are just copied in a particular place of the session path (namely, in the ``dead sounds/`` sub-folder). .. _flush_wastebasket: Flush Wastebasket ----------------- Although Ardour is a *non-destructive* audio-editor, it allows for a very careful destruction of unused media materials. This function is closely linked to the previous one. When the unused sources have been cleaned up and quarantined, the Flush Wastebasket menu will allow for their physical destruction. As a safeguarding mechanism though, Flushing the wastebasket in impossible in the same working session as the Cleaning up of unused sources: the user needs to close the session and reload it before flushing. It allows to test the playback of the session and ensure both that Ardour did not commit any mistake (unlikely, but better safe than sorry), and that the user is absolutely sure of what he does. All media destroyed this way is not sent to the system's *trash can* but permanently deleted. If a file is mistakenly destroyed this way, the user will have to rely on data recovery techniques to try getting it back. 35.4 - Interchange with other DAWs ================================== It has never been particularly easy to move sessions or projects from one DAW to another. There are two interchange standards that have reasonably widespread support: - OMF (Open Media Framework), also known as OMFI. Developed and controlled by Avid, never standardized - AAF (Advanced Authoring Format). Developed by a consortium of media-related corporations. In practice both of these standards have such complex and/or incomplete specifications that different DAWs support them only partially, differently, or not at all. Transferring an Ardour session from / to another DAW ---------------------------------------------------- To move a session from another DAW to Ardour, or from Ardour to another DAW, there are two basic choices: - `Stem exports <#stem-exports>`__ - `Using AATranslator <#using-aatranslator>`__ Importing ProTools® files ------------------------- Ardour provides a basic import tool for ProTools® sessions, in the Session > Import PT Session menu. Though incomplete, this import is intended for ptf and ptx files. Protools® 5, 8, 9, 10, 11 have been tested with varying degrees of success. (versions 6 and 7 are not supported). The elements of the files that are imported are: - Audio regions data & position - MIDI notes (fused to a unique region). Using AATranslator ------------------ AATranslator is a Windows application that can convert sessions/projects from many different DAWs into other formats. At the present time (December 2016), 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 supported formats and DAWs. The list includes ProTools, Live, Reaper, OMF, AAF and many more. AATranslator is closed-source, non-free software (as of this writing, June 2017, the cost is 59 USD for the "Standard" version, and 199 USD for the "Enhanced" version). .. _recording: Part V - Playback & Recording ============================= 36 - Playing Back Track Material ================================ 36.1 - Controlling Playback =========================== .. figure:: /images/the-playhead.png :alt: The playhead The playhead The playhead is a red vertical line that indicates the current position of playback. Positioning the Playhead ------------------------ Positioning the playhead at the current pointer position ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Pressing P will set the playhead to the current position of the mouse pointer, if it is within the editor track area. Positioning the playhead on the timeline ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ A Left click anywhere on the `Ruler <#ruler>`__ will move the playhead to that position. Positioning the playhead with the transport clocks ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Clicking on either the primary or secondary transport clock and `editing their value <#editing-clocks>`__ moves the playhead to a specific position. Positioning the playhead at a marker ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Right clicking on the marker and selecting either Locate to Here or Play from Here will place the playhead at the marker's position. Alternatively, placing the mouse pointer on the marker and pressing P sets the playhead precisely on the marker location. Looping the Transport --------------------- When the `loop transport <#the-loop-range>`__ button is pressed, the playhead will jump the start of the loop range, and continue to the end of that range before returning to the start and repeating. While looping, a light green area is displayed in the Ruler over the tracks to show the loop range. By default, looping is bound to the l key. 36.2 - Using Key Bindings ========================= Ardour has many available commands for playback control that can be bound to keys. Many of them have `default bindings <#keyboard-and-mouse-shortcuts>`__, Some of the most used are found below. Those keybindings are shown in the corresponding menus. Memorizing at least the most frequently used can be a great time saver. +-------+----------------------------------------+ | Space | switch between playback and stop. | +-------+----------------------------------------+ | Home | Move playhead to session start marker | +-------+----------------------------------------+ | End | Move playhead to session end marker | +-------+----------------------------------------+ | → | Playhead to Next Grid | +-------+----------------------------------------+ | ← | Playhead to Previous Grid | +-------+----------------------------------------+ | 0 | Move playhead to start of the timeline | +-------+----------------------------------------+ | space | Start recording | +-------+----------------------------------------+ | space | Stop and forget capture | +-------+----------------------------------------+ 37 - Audio Recording ==================== 37.1 - Monitoring ================= When recording, it is important that performers hear themselves, and any pre-recorded tracks they are performing with. Audio recorders typically allow monitoring (i.e. listening to) the input signal of all tracks that are armed for recording, and playing back the unarmed tracks. 37.2 - Latency Considerations ============================= In the days of analog tape recording, the routing of monitor signals was performed with relays and other analog audio switching devices. Digital recorders have the same feature, but may impart some `latency <#latency-and-latency-compensation>`__ (delay) between the time a noise is made and the time that it will come back from the recorder. The latency of *any* conversion from analog to digital and back to analog is about 1.5–2 ms. Some musicians claim that even the basic A/D/A conversion time is objectionable. However even acoustic instruments such as the piano can have approximately 3 ms of latency, due to the time the sound takes to travel from the instrument to the musician's ears. Latency below 5 ms should be suitable for a professional recording setup. Because 2 ms are already used in the A/D/A process, extremely low buffer sizes must be used in the workstation I/O setup to keep the overall latency below 5ms. Not all `computer audio systems <#the-right-computer-system-for-digital-audio>`__ are able to work reliably at such low buffer sizes. For this reason it is sometimes best to route the monitor signal through an external mixing console while recording, an approach taken by most if not all professional recording studios. Many computer I/O devices have a hardware mixer built in which can route the monitor signal "around" the computer, avoiding the system latency. In either case, the monitoring hardware may be digital or analog. And in the digital case there will still be the A-D-A conversion latency of 1–2 ms. 37.3 - Monitor Signal Flow ========================== There are three basic ways to approach monitoring: External Monitoring ------------------- .. figure:: /images/external-monitoring.png :alt: External monitoring External monitoring When using external monitoring, 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 a "listen to the input" feature. This approach yields zero or near-zero latency. On the other hand it requires external hardware, and the monitoring settings are less flexible and not saved with the session. JACK-Based Hardware Monitoring ------------------------------ .. figure:: /images/jack-monitoring.png :alt: Hardware Monitoring Hardware Monitoring Some sound cards have the ability to mix signals from their inputs to their outputs with very low or even zero latency, a feature called hardware monitoring. Furthermore, on some cards this function 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. Software Monitoring ------------------- .. figure:: /images/ardour-monitoring.png :alt: Software Monitoring Software Monitoring With the software monitoring approach, all monitoring is performed by Ardour—it makes track inputs available at track outputs, governed by various controls. This approach will almost always have more routing flexibility than JACK-based monitoring. The disadvantage is that there will be some latency between the input and the output, which depends for the most part on the JACK buffer size that is being used. 38 - Punch Recording Modes ========================== 38.1 - Working With Markers =========================== It is very useful to be able to tag different locations in a session for later use when editing and mixing. Ardour supports both locations, which define specific positions in time, and ranges which define a start and end position in time. In addition to the standard location markers, there are three kinds of special markers: - CD markers are locations that are restricted to legal CD sector boundaries. They can be used to add track index markers to compact disc images. - The Loop range defines the start and end points for Looping. - The punch range defines the in and out points for punch recording. 38.2 - Creating Location Markers ================================ Location Markers appear in the `Locations Markers ruler <#ruler>`__ at the top of the timeline. The green begin and end markers, that define the length of the session, appear automatically, but yellow custom markers can be created at any position in a session. There are multiple ways to create custom markers at the current playhead position: - using the keyboard shortcut (default is Num-↵, the Enter key on the numeric keypad) - using the Transport > Markers > Add Mark from Playhead menu. Adding a marker at an arbitrary location on the timeline (i.e. not at the playhead position) can also be done either by: - right clicking in the Location Marker ruler, and selecting New location marker - using the `Ranges & Marks List <#the-ranges-and-marks-lists>`__, clicking New Marker and using the `clock widget <#editing-clocks>`__ to set its position. 38.3 - Creating Range Markers ============================= Range markers are essentially two `location markers <#creating-location-markers>`__ that appear in the `Range Markers ruler <#ruler>`__, and are grouped together to mark the beginning and end of a section in the timeline. Creating a Range on the timeline -------------------------------- Creating a new range can be done by right clicking on the Range Markers ruler at the top of the timeline, then selecting New Range. Two markers with the same name and opposing arrows will appear along the ruler. It is also possible to create range markers from a selected range or region in the Editor window, or to using the Ranges & Marks List in the Editor list. Editing a Range --------------- Both markers of a range can be independently moved along the timeline by clicking and dragging them to the desired location. They can also be moved together by dragging one marker. See `Moving markers <#moving-markers>`__ for more information. 38.4 - Moving Markers ===================== Single marker ------------- Left-clicking and dragging moves a single marker to a new location on the timeline. Multiple markers ---------------- It is possible to move multiple markers by the same distance. Left-clicking each discreet marker, or Left-clicking the first and last markers of a range of markers selects them, then dragging one to a new location will move all selected markers together. The markers are bounded by the zero point on the timeline. In other words, the first marker in the selection cannot move to the left of zero on the timeline. Both ends of a range marker --------------------------- By left-dragging either end of the range marker, the other end will move by the same distance. 38.5 - The Loop Range ===================== The loop range is a special range that defines the start and end points for loop play, which can be enabled in the transport bar. It can be defined via the timeline or the `Ranges & Marks list <#the-ranges-and-marks-lists>`__. 38.6 - Marker Context Menu ========================== Right-clicking a marker in the timeline opens the marker context menu: +-----------------------------------+-----------------------------------+ | Locate to Here | Move the playhead to this | | | marker's position. | +-----------------------------------+-----------------------------------+ | Play from Here | start playback from this marker's | | | position. | +-----------------------------------+-----------------------------------+ | Move Mark to Playhead | Move this marker to the current | | | playhead position. | +-----------------------------------+-----------------------------------+ | Create Range to Next Marker | Create a range marker between | | | this location and the next one | | | along on the timeline. | +-----------------------------------+-----------------------------------+ | Hide | Hide this marker from the view. | | | It can be made visible again from | | | the Window > Locations window or | | | the `Ranges & Marks | | | list <#the-ranges-and-marks-lists | | | >`__. | +-----------------------------------+-----------------------------------+ | Rename | Change the name of the marker. | +-----------------------------------+-----------------------------------+ | Lock | If this is ticked, it will be | | | impossible to drag the marker's | | | position; useful if you want to | | | prevent accidental movements. | +-----------------------------------+-----------------------------------+ | Glue to Bars and Beats | If this is ticked, the marker | | | will maintain its position in | | | bars and beats even if there are | | | changes in tempo and meter. | +-----------------------------------+-----------------------------------+ | Remove | Removes the marker. | +-----------------------------------+-----------------------------------+ There are also a few options in Transport > Active Mark. 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. 38.7 - Punch Range ================== The punch range is a special range used to define where recording will start and/or stop during a punch. It can be defined on the timeline or in the `Ranges & Marks <#the-ranges-and-marks-lists>`__ list. .. _editing-and-arranging: Part VI - Editing ================= 39 - Navigating the Editor ========================== Navigating the Editor window is obviously a very frequent operation. Ardour sticks with a lot of the usual conventions in this regard, to allow for a quick learning. As those operations are so common, it is worth taking the time to learn most of the keyboard and mouse shortcuts in order for these to become fast and natural. The keyboard shortcuts can, as always, be edited, so the defaults are shown here. Scrolling --------- Scrolling can be done on-canvas, or with the `Summary <#summary>`__. On Canvas ~~~~~~~~~ +-------------------------+-------+----------+ | Action | Mouse | Keyboard | +=========================+=======+==========+ | Scrolling up | ⇑ | ↑ | +-------------------------+-------+----------+ | Scrolling down | ⇓ | ↓ | +-------------------------+-------+----------+ | Scrolling up one page | | ⇞ | +-------------------------+-------+----------+ | Scrolling down one page | | ⇟ | +-------------------------+-------+----------+ | Scrolling left | ⇑ | | +-------------------------+-------+----------+ | Scrolling right | ⇓ | | +-------------------------+-------+----------+ Moving the playhead outside the view may scroll the screen accordingly, so using ← or →, while not *scrolling* per se, will result in scrolling if Transport > Follow playhead is checked. This is also true with the `Navigation Timeline <#mini-timeline>`__, and anything that moves the Playhead. In the Summary ~~~~~~~~~~~~~~ Clicking and dragging in the Summary will scroll the view left and right. If the screen view is clicked (the white rectangle) and dragged, the view can also be scrolled vertically. Additionally, on the left of the Summary, the two < and > arrows buttons allow to scroll one screen either left or right, while at the right of the Summary, the two ∧ and ∨ arrows buttons allow to scroll one screen either up or down. Zooming ------- Zooming (on time) can be done on-canvas (which will always be centered around the mouse cursor), with the Summary, or with the `Zoom Controls <#zoom-controls>`__. .. _on-canvas-1: On Canvas ~~~~~~~~~ +-------------+---+ | Zooming in | ⇑ | +-------------+---+ | Zooming out | ⇓ | +-------------+---+ .. _in-the-summary-1: In the Summary ~~~~~~~~~~~~~~ Resizing the screen view in the Summary (the white rectangle) changes the zoom accordingly. With the Zoom Controls ~~~~~~~~~~~~~~~~~~~~~~ With the Zoom Focus set, the − and + buttons will zoom out or in around this focus. The [ ] button zooms to the whole session as defined by the start and end markers. Theses controls are bound to the keyboard − and = respectively by default. Height of the tracks -------------------- Changing the height of the tracks results in more or less tracks on screen. This can be done on canvas, with the Summary or with the Zoom Controls. .. _on-canvas-2: On canvas ~~~~~~~~~ Using ⇓ or ⇑ while hovering over a track reduces or enhances its height, i.e. zooms on the hovered track, regardless of the selection. The F key resizes the tracks so that only the selected one(s) are displayed. If some unselected tracks are in-between those selected tracks, their `visibility <#the-tracks-and-busses-list>`__ will be toggled off. .. _in-the-summary-2: In the Summary ~~~~~~~~~~~~~~ Resizing the screen view in the Summary (the white rectangle) changes the number of tracks displayed (hence their heights) accordingly. It behaves more like a zoom as the relative height of the tracks are kept. .. _with-the-zoom-controls-1: With the Zoom Controls ~~~~~~~~~~~~~~~~~~~~~~ The three rightmost buttons of the Zoom Control bar, while not zoom buttons, act upon the height of the tracks: - The first selector directly selects how many tracks are currently on screen. - The second one reduces the height of the selected track(s). If none are selected, all the tracks are affected, while maintaining (as long as it is possible) their relative heights. - The third one enlarges the tracks, and is the counterpart of the previous one. 40 - Editing Basics =================== 40.1 - Working With Regions =========================== .. _working-with-regions-1: Working With Regions -------------------- 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: - the audio or MIDI source file(s) they represent, - an offset (the "start point") in the audio or MIDI file(s), and - a length. When placed into a playlist, they gain additional attributes: - a position along the timeline, and - a layer. There are other attributes as well, but they do not *define* the region. Things to know about regions: Regions Are Cheap ~~~~~~~~~~~~~~~~~ By themselves, regions consume very little in terms of 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, multiplying regions creation whenever needed should not be much of an issue CPU wise. Regions Are Not Files ~~~~~~~~~~~~~~~~~~~~~ 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 any way, nor does it create new audio files (only recording, and the Export, Bounce and Reverse operations create new audio files). 40.2 - Region Naming ==================== Region names are initially derived from either: - the name of the track for which they were recorded, or - the name of the embedded/imported file they represent. Whole File Region Names ----------------------- 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 imported to the session, a new region is created that represents the entire audio file. This region will have the name of the track/playlist/original file, followed by a "-", 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 track called Didgeridoo, the first recorded whole file region for that playlist will be called Didgeridoo-1. The next one will be Didgeridoo-2 and so on. For imported regions, the region name will be based on the original file name, but with any final suffix (e.g. ".wav" or ".aiff") removed. Normally, whole file regions are not inserted into tracks or playlists, but regions derived from them are. The whole-file versions live in the `Editor's region list <#the-region-list>`__ where they act as an organizing mechanism for regions that are derived from them. Normal Region Names ------------------- When a region is inserted into a track and playlist, its initial name will end in a version number, such as .1. 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 region, if the whole file region was Bach:Invention3, then the region in the track will appear with the name Bach:Invention3.1. Copied Region Names ------------------- Duplicating or splitting a region creates new region(s) that are based on the same original files. Hence, they share the same base name (in the example above, Hang drum-1), but their version number will be incremented each time. Duplicating Hang drum-1.4 by left dragging it will create a new region called Hang drum-1.5. Splitting Hang drum-1.5 by hitting the S key will remove the Hang drum-1.5 region and create two shorter regions named Hang drum-1.6 and Hang drum-1.7. Renaming Regions ---------------- Regions can be renamed at any time using the region context menu : right click > *name_of_the_region* > Rename... . The new name does not need to have a version number in it (in fact, it probably should not). Ardour will add a version number in the future if needed (e.g. if the region is copied or sliced). 40.3 - Corresponding Regions Selection ====================================== `Track Groups <#the-track-and-bus-group-list>`__ have a property titled Select which, if enabled, cause Ardour to propagate a region selection in one track of a group to the corresponding regions of the other tracks in that group. This can be particularly useful when an instrument has been recorded using multiple microphones (e.g. a drum kit): by enabling the Select property for the group, selecting a region in one of the tracks, Ardour will select the corresponding region in every other track of the group, which in turn means that a subsequent edit operation will affect all the tracks together. How Ardour Decides Which Regions are "Corresponding" ---------------------------------------------------- Regions in different tracks are considered to be corresponding for the purposes of sharing selection if they satisfy *all* the following criteria: #. each region starts at the same offset within its source file, #. each region is located at the same position on the timeline, and #. each region has the same length. Overlap Correspondence ---------------------- Sometimes, the rules outlined above are too strict to get Ardour to consider regions as corresponding. Regions may have been trimmed to slightly different lengths, or positioned slightly differently, and this will cause Ardour to not select regions in other grouped tracks. In this case, changing Edit > Preferences > Editor > Regions in active edit groups are edited together: to whenever they overlap in time will allow regions in different tracks to 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. 40.4 - Region Context Menu ========================== In the editor window, right clicking (context clicking) on a region displays a menu with track and region operations. The menu begins with the name of the region, or Selected Regions if multiple regions are selected. Selecting it will display `the Region menu <#the-region-menu>`__ for operations on this(these) region(s). Some items may not be in the exact same order as in the main menu. If there is more than one region layered at the point clicked, the menu will also contain a Choose Top item. This dialog allows to select which region should be on the top layer. See `Adjusting Region Layering <#layering-display>`__ for more details. Below these items is the rest of the `Track Context Menu <#track-context-menu>`__, which provides access to track-level operations. 40.5 - Common Region Edit Operations ==================================== This section covers a set of region editing operations that are likely to be used often while working on a session. Depending on work habits (and experience of other DAWs), some of these operations will be critical while others are used only rarely. All of these operations can be carried out from the keyboard (see `Default Keyboard Shortcuts <#default-keyboard-bindings>`__ for a list). Equivalent operations can be performed with the mouse in most cases. Some of these operations make use of `the edit point/range <#edit-point-control>`__ and `affect specific regions <#which-regions-are-affected>`__. +-----------------------------------+-----------------------------------+ | Spot (Align) | Move selected regions to the edit | | | point. | +-----------------------------------+-----------------------------------+ | Split | Split selected regions at the | | | edit point. | +-----------------------------------+-----------------------------------+ | Trim Start | Adjust the start of selected | | | regions to the edit point (or as | | | close as possible). | +-----------------------------------+-----------------------------------+ | Trim End | Adjust the end of selected | | | regions to the edit point (or as | | | close as possible). | +-----------------------------------+-----------------------------------+ | Duplicate | Make a copy of each selected | | | region and position it | | | immediately after the original. | +-----------------------------------+-----------------------------------+ | Crop | Truncate selected regions to the | | | edit range. | +-----------------------------------+-----------------------------------+ | Separate | Split selected regions at both | | | ends of the edit range. | +-----------------------------------+-----------------------------------+ | Set Fade In | Adjust selected audio regions' | | | fade in to end at the edit point. | +-----------------------------------+-----------------------------------+ | Set Fade Out | Adjust selected audio regions' | | | fade out to end at the edit | | | point. | +-----------------------------------+-----------------------------------+ | Toggle Fade In | Turn selected audio regions' fade | | | in on or off. | +-----------------------------------+-----------------------------------+ | Toggle Fade Out | Turn selected audio regions' fade | | | out on or off. | +-----------------------------------+-----------------------------------+ | Play Region | Play session from the start of | | | the earliest selected region. | +-----------------------------------+-----------------------------------+ | Zoom To Region | Zoom horizontally so that the | | | selected regions span the editor | | | track view. | +-----------------------------------+-----------------------------------+ | Set Sync Point | Set the sync point of all | | | selected regions to the edit | | | point. | +-----------------------------------+-----------------------------------+ | Insert | Inserts the currently selected | | | regions in the Region List at the | | | edit point. | +-----------------------------------+-----------------------------------+ 40.6 - Copy Regions =================== Copy a Single Region -------------------- Copying a region is done using the `Grab mouse mode <#toolbox>`__, by moving the mouse pointer into the region and left-dragging. Ardour creates a new region and follows the mouse pointer as it moves. See `Move Regions <#move-regions-with-the-mouse>`__ for more details on moving the copied region. Copy Multiple Regions --------------------- Copying multiple regions requires them to be selected before copying. Then left-dragging one of the selected regions will copy the regions as they move. The copied regions will keep their positions relative to each other. Fixed-Time Copying ------------------ Copying region(s) to other track(s) while keeping the copies at the same exact position on the timeline as the originals is done by simply using a Middle-drag instead. 40.7 - Move Regions With the Mouse ================================== Moving or copying a region is done using the `Grab mouse mode <#toolbox>`__, or the Smart mode with the pointer in the lower half of the region to begin a move or `copy <#copy-regions>`__ operation. With the pointer in the region, using a Left-drag will make the region follow the pointer as it is moved around. By default, the region can move freely along the timeline. To move a region from one track to another, the move must be started as described above, but the pointer should end in the desired track. The region will follow the pointer. if some other kinds of tracks are 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 an audio region cannot be dragged into an automation track or a bus, for example. Move Multiple Regions --------------------- In order to move multiple regions, they should be selected before moving. Then Left-dragging one of the selected regions will move all the regions, keeping their positions relative to each other. Fixed-Time Motion ----------------- Moving region(s) to other track(s) while keeping its at the same exact position on the timeline is done by simply using a Middle-drag instead. 40.8 - Align (Spot) Regions =========================== Aligning regions (sometimes called "spotting") means moving one or more regions based on a defined location, which in Ardour is always the `edit point <#edit-point-control>`__. An alignment operation moves the region(s) so that some part of the region is positioned at the edit point. Available alignment commands include: +-----------------------------------+-----------------------------------+ | Align Region starts a | Selected region(s) are moved so | | | that their start is located at | | | the current edit point | +-----------------------------------+-----------------------------------+ | Align Region ends a | Selected region(s) are moved so | | | that the end is located at the | | | current edit point | +-----------------------------------+-----------------------------------+ | Align Region sync points a | Selected region(s) are moved so | | | that their sync point is located | | | at the current edit point | +-----------------------------------+-----------------------------------+ | Align Region starts relative a | Selected region(s) are moved so | | | that the start of the earliest | | | region is located at the current | | | edit point, and all others | | | maintain their relative position | | | relative to that region | +-----------------------------------+-----------------------------------+ 41 - Edit Mode and Tools ======================== 41.1 - Editing Clocks ===================== Clock Modes ----------- Every clock in Ardour has four different, selectable clock modes. Each mode displays time using different units. The clock mode can be changed 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: +-----------------------------------+-----------------------------------+ | Timecode | Time is shown as SMPTE timecode | | | in Hours:Minutes:Seconds:Frames, | | | measured from the timecode zero | | | point on the timeline (which may | | | not correspond to the session | | | start and/or absolute zero on the | | | timeline, depending on | | | configurable timecode offsets). | | | The frames value is dictated by | | | either the session FPS setting, | | | or, if slaved to an external | | | timecode master, the master's | | | setting. In the transport clocks, | | | the FPS value is shown below the | | | time display, along with an | | | indication of the current | | | timecode source (INT means that | | | Ardour is its own timecode | | | source). | +-----------------------------------+-----------------------------------+ | BBT | Time is shown as | | | Bars:Beats:Ticks, indicating | | | musical time measured from the | | | start of the session. The | | | transport clocks show the current | | | tempo in bpm and meter below the | | | time display. | +-----------------------------------+-----------------------------------+ | Minutes:Seconds | Time is shown as | | | Hours:Minutes:Seconds.Millisecond | | | s, | | | measured from the absolute start | | | of the timeline (ignoring the | | | session start and any timecode | | | offsets). | +-----------------------------------+-----------------------------------+ | Samples | Time is shown as a sample count | | | from the absolute start of the | | | timeline (ignoring the session | | | start and any timecode offsets). | | | The number of samples per second | | | is given by the current sample | | | rate, and in the transport | | | clocks, this rate is shown below | | | the time display along with any | | | pullup/pulldown adjustment. | +-----------------------------------+-----------------------------------+ Changing clock values with the keyboard --------------------------------------- New values for the clock can be typed in 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. Time should be typed in the same order as the current clock mode—if the clock is in Timecode mode, it should be hours, minutes, seconds, frames. So, to change to a time of 12:15:20:15 one would type 12152015. Each number typed will appear in a different color, from right to left, overwriting the existing value. Mid-edit, after typing 3222 the clock might look like this: .. figure:: /images/clockedit.png :alt: A clock being edited in Ardour A clock being edited in Ardour Finishing the edit is done by pressing ↵ or Tab. The ESC key allows to exit an edit without changing the clock. If an entry is mis-typed 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 to allow for another try. Avoiding the mouse entirely --------------------------- There is a shortcut available to edit the transport clocks entirely without the mouse. It can be found in Window > Key Bindings > Transport > Focus On Clock. If bound to a key (÷ on the numerical keypad is the default), then pressing that key is equivalent to clicking on the primary (left) transport clock, and editing can begin immediately. Entering Partial Times ---------------------- One detail of the editing design that is not immediately obvious is that it is possible to enter part of a full time value. As an example, supposing that the clock is in BBT mode, displaying 024|03|0029, altering the value to the first beat of the current bar can be done by clicking on the clock and typing 010000. Similarly, if it is in Minutes:Seconds mode, displaying 02:03:04.456, getting to exactly 2 hours can be achieved by clicking on the clock and typing 0000000 to reset the minutes, seconds and milliseconds fields. Entering Delta Times -------------------- Values can also be typed into the clock that are intended as a relative change, rather than a new absolute value, by ending the edit by pressing + or - (the ones on any keypad will also work). The plus key will add the entered value to the current value of the clock, minus will subtract it. For example, if the clock is in Samples mode and displays 2917839, moving it back 2000 samples is done by typing 2000 and -, rather than ending with Enter or Tab. Changing clock values with the mouse ------------------------------------ Using a scroll wheel ~~~~~~~~~~~~~~~~~~~~ With the mouse pointer over the clock, moving the scroll wheel changes the clock values. Moving the scroll wheel up (⇑) increases the value shown on the clock, moving it down (⇓) decreases it. The step size is equal to the unit of the field hovered over (seconds, hours, etc.). Dragging the mouse ~~~~~~~~~~~~~~~~~~ With the mouse pointer over the clock, pressing the left mouse button and dragging also affects the clocks: dragging upwards increases the value shown on the clock, dragging downwards decreases it, again with a step size equal to the unit of the field where the drag began on. 41.2 - Which Regions Are Affected? ================================== This section explains the rules used to decide which regions are affected by editing operations. They don't really have to be understood—hopefully things will Just Work—but it may be useful eventually. Editing operations in Ardour either operate on a single point in time (Split being the obvious example) or 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: - If the `Edit Point <#edit-point-control>`__ is mouse, then - if the mouse is over a selected region, or no region, use all selected regions, or - if the mouse is over an unselected region, use just that region. - For all other Edit Points - use the selected regions *and* those that are both under the edit position *and* on a selected track, or on a track which is in the same active edit-enabled route group as a selected region. 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) indicate a time only. .. _select-regions: 42 - Making Selections ====================== Many editing operations in Ardour require to first select one or more regions to change them in some way. A single region, or multiple regions can be selected, including regions in different tracks. When a region is selected, it will appear in a darker color than unselected regions. 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 is made in one track across every other track of the group. See `Corresponding Regions Selection <#corresponding-regions-selection>`__ for more information on precisely how selections will be propagated to other tracks. Track Selection --------------- Tracks are selected by clicking on the Track header at the left of the Editor window. Multiple tracks can be selected with Left clicks, or a range of consecutive tracks with Left. Region Selection ---------------- Using the `Grab Mode tool <#toolbox>`__, left clicking on a region selects it. If `Smart mode <#toolbox>`__ is enabled, the lower half of the region must be clicked. Deselecting a Region -------------------- Still using the `Grab Mode tool <#toolbox>`__, Left-clicking the region deselects it. If `Smart mode <#toolbox>`__ is enabled, the lower half of the region must be clicked. Note that a left click simply toggles the selected status of an object, so it can be used to select unselected regions too. Selecting Multiple Regions in a Track ------------------------------------- This can be achieved in different ways: - Left-clicking each region. - Dragging a rubberband box from an empty point in a track before the first region to select to a point within or after the last region to select. Using left-drag allows doing it multiple times. - If the regions are all adjacent to one another, clicking the first region to select, then Left-clicking the last one. Selecting All Regions in a Track -------------------------------- The Select > Select All In Track option in the context menu (Right click on the track) selects all the regions in the track at once. See the `Track Context Menu <#track-context-menu>`__ for more information on other per-track selection operations that are available. Selecting Multiple Regions Across Different Tracks -------------------------------------------------- This can be achieved by a left-click or Left-click on the regions to select. Selecting a Region From the Region List --------------------------------------- Clicking the name of the region in the `Region List <#the-region-list>`__. selects it. This will do nothing for whole-file regions, since they do not exist anywhere in a playlist or track. 43 - Editing Regions and Selections =================================== 43.1 - Trimming Regions ======================= 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. Drag-Trimming With the Mouse ---------------------------- .. figure:: /images/trimming-region-before.png :alt: Trimming region - before and after Trimming region - before and after In Grab mode, moving the pointer near the beginning or end of the region changes the cursor to indicate that trimming is possible, and the edge of the region can then be Left-dragged in both directions. Trimming will obey `Snap settings <#grid-controls>`__. Other Trimming operations ------------------------- There are several commands for region trimming. Some use the `edit point <#edit-point-control>`__ to determine where to trim to. Some are not bound to any keys by default (but could be via the `Keybindings Editor <#default-keyboard-bindings>`__). These command are both in the Region > Trim main menu (with a region selected) or in the context menu of a region, right click on a region > *Name_Of_The_Region* > Trim +-----------------------------------+-----------------------------------+ | Trim Start at Edit Point (j) | Trim selected region(s) start to | | | edit point. | +-----------------------------------+-----------------------------------+ | Trim End at Edit Point (k) | Trim selected region(s) end to | | | edit point. | +-----------------------------------+-----------------------------------+ | Trim to Loop/Punch | Trim selected region(s) beginning | | | and end to the loop/punch | | | boundaries (if it exists). | +-----------------------------------+-----------------------------------+ | Trim to Previous (j) | Trim the start of selected | | | region(s) to the end of the | | | previous region. If the region is | | | too short, it is extended to its | | | maximum to the left. | +-----------------------------------+-----------------------------------+ | Trim to Next (k) | Trim the end of selected | | | region(s) to the start of the | | | following region. If the region | | | is too short, it is extended to | | | its maximum to the right. | +-----------------------------------+-----------------------------------+ 43.2 - Push/Pull Trimming ========================= Normally, when trimming 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, when trimming a region that directly adjoins another, the desired result is to move the boundary between the regions and not to make these regions overlap. This requires trimming both regions on either side of the junction, in opposite directions. Push/Pull trim, activated by pressing key before starting the drag, will do just that. The following pictures show the difference in the results of a normal trim and a push/pull trim: .. figure:: /images/before-trim.png :alt: Trimming vs. push/pull trimming. Before trimming, After a simple trim, After a push/pull trim Trimming vs. push/pull trimming. Before trimming, After a simple trim, After a push/pull trim In the initial situation, before trimming, two adjacent regions are present, the rightmost-one being selected. The simple trim, obtained by dragging the selected region's starting position earlier, overlaps the earlier region. A crossfade has been manually created between them, so their sound will fade from the leftmost region to the rightmost one. If the same trim is done, but by Left-dragging 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. In effect, it is like doing a simple trim to reduce the leftmost region, then doing a simple trim to extend the rightmost one to fill the gap. 43.3 - Stretching ================= The Stretch Mode tool can be switched to by selecting it in the `Toolbox <#toolbox>`__, or simply by hitting the T key. It allows to extend or reduce the duration of a region, optionally maintaining its pitch. This is one of the few operations in Ardour that affect the underlying audio data from a region, even if the original audio is kept safely—no data is lost in the process. This operation is usually used to fit an audio sequence with a different rhythm into a session, but can be used in a wide area of cases, due to its ability to maintain or alter the pitch. .. figure:: /images/before-stretch.png :alt: Using the Stretch Mode tool. Before stretching, while stretching, and after a stretch Using the Stretch Mode tool. Before stretching, while stretching, and after a stretch The Stretch Mode tool is very similar in use to doing a trim in grab mode: the boundary (start or end) is left-clicked and dragged to its wanted position. Notice a timer appearing, showing the new duration of the region using the same `clock mode <#editing-clocks>`__ as in the `primary transport clock <#transport-clocks>`__. Stretching is a complex operation (phase vocoding), involving resampling, frequency analysis and synthesis. The parameters used to transform the audio data are user tweakable, and exposed to the user as the left mouse button is released: .. figure:: /images/time-stretch-audio.png :alt: The Time Stretch Audio window The Time Stretch Audio window The Time Stretch Audio window is made of: +-----------------------------------+-----------------------------------+ | Duration | The target duration of the | | | region, expressed using the | | | primary transport clock's mode | +-----------------------------------+-----------------------------------+ | Percent | The target duration of the | | | region, expressed as a percentage | | | of the region's original length. | | | Can be either higher than 100% | | | (to expand the region) or lower | | | (to shrink it) | +-----------------------------------+-----------------------------------+ | Contents | The type of audio the region is | | | made of. Ardour will fine-tune | | | its algorithm based on this | | | content, see below | +-----------------------------------+-----------------------------------+ | Minimize time distortion | Tries to reduce the smearing of | | | the audio created by the phase | | | vocoding process | +-----------------------------------+-----------------------------------+ | a Progress bar | showing the operation in | | | progress. | +-----------------------------------+-----------------------------------+ The *Contents* should be selected to best fit the actual content of the region, amongst: Content Disable phase resynchronisation at transients Band-limit phase resync to extreme frequencies Disable phase locking to peak frequencies Use longer processing window (actual size may vary) Use shorter processing window Mushy X X X Smooth X X Balanced multitimbral mixture X Unpitched percussion with stable notes X Crisp monophonic instrumental (*default*) Unpitched solo percussion X X Resample without preserving pitch *see below* While the table above details *how* the different kinds of audio material alter the fine-tuning of the DSP, from an user point of view, the operation often consists in trying different settings and listening to the result. The best way to start experimenting is to consider the material itself: - If the material doesn't need its pitch to be preserved, the best choice is *Resample without preserving pitch* - For drum-type material, the best choice is (depending on the transients crispness, stretching factor...) one of the two *percussion* types - For melodic mono-tonal material (bass, winds,…), the best (and default) choice is *Crisp monophonic instrumental* - For multi-tonal material (chords,…), either one of the three first choice, or the default *Crisp*. 43.4 - Separate Under ===================== .. _separate-under-1: Separate Under -------------- When one region is over another, and the lower region has to be cut so that it directly adjoins both ends of the overlapping one, with no overlaps, the Separate Under tool can be a very efficient time-saver. With the upper region selected, the Edit > Separate > Separate Under menu will split the lower region so that it no longer overlaps the upper region at all. .. figure:: /images/before-separate-under.png :alt: Region arrangement before and after 'Separate Under' Region arrangement before and after 'Separate Under' If the upper region covers only one end of the lower region, then this operation is equivalent to `Trim to Next or Trim to Previous <#trimming-regions>`__, depending on which end is covered. Separate Using Range -------------------- A loop or punch range can also be used to slice a region. By using the Edit > Separate > Separate Using Loop/Punch Range, 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. .. figure:: /images/before-separate-loop.png :alt: Region arrangement before and after 'Separate Using Loop Range' Region arrangement before and after 'Separate Using Loop Range' 43.5 - Strip Silence from Audio Regions ======================================= .. figure:: /images/strip-silence-window.png :alt: The Strip Silence window The Strip Silence window The Strip Silence tool allows to remove the parts of one or multiple regions that are below a user-defined silence threshold. It does *not* destroy the underlying audio, but trims the regions according to the silence threshold parameter. The edit applies to all selected regions, allowing batch processing. The window, accessible either through the Region > Edit > Strip Silence menu or right click on a region > *Name_Of_The_Region* > Edit > Strip Silenceis made of: +-----------------------------------+-----------------------------------+ | Threshold | The audio level under which the | | | audio is considered silent (in | | | dBFS) | +-----------------------------------+-----------------------------------+ | Minimum length | A minimum number of samples for | | | Ardour to create a split. Under | | | this number, the region won't be | | | sliced | +-----------------------------------+-----------------------------------+ | Fade length | Ardour adds fades, both in and | | | out, to the trimmed regions, to | | | the created region (so the sliced | | | regions are longer by both the in | | | and out fades duration, expressed | | | in samples) | +-----------------------------------+-----------------------------------+ | A progress bar | showing the time Ardour takes to | | | compute the trimming based on the | | | current parameters | +-----------------------------------+-----------------------------------+ Changing any parameter in the window is reflected in the main editor: the silent segments are highlighted and the number and durations of the shortest segments is displayed, helping fine-tune the parameters. .. figure:: /images/strip-silence-audio.png :alt: Strip Silence : a view of the audio while changing the parameters, and after treatment Strip Silence : a view of the audio while changing the parameters, and after treatment The minimum length for silence can be useful when editing very percussive material and just needing to automatically trim the ends of a region. .. _insert-remove-time: 43.6 - Insert/Remove Time ========================= Insert Time ----------- .. figure:: /images/insert-time.png :alt: The Insert Time window The Insert Time window The Insert Time window allows to insert blank space in the timeline, on the selected track(s). It is accessed through the Track > Insert Time menu. The Insert Time window not only allows to set the time inserted, but also some fine tuning options: +-----------------------------------+-----------------------------------+ | Insert Time starting at: | Sets the point in the session | | | where the time will be added. By | | | default, it is the playhead's | | | position | +-----------------------------------+-----------------------------------+ | Time to insert: | Duration of the blank space | | | inserted | +-----------------------------------+-----------------------------------+ | Intersected regions should: | A choice as to what happens to | | | regions that exists at the Insert | | | Time set above. See below. | +-----------------------------------+-----------------------------------+ | Apply to all the track's | As a track can have multiple | | playlists | `playlists <#understanding-playli | | | sts>`__, | | | the insertion can happen either | | | only on the active playlist or on | | | all the playlists of this track | +-----------------------------------+-----------------------------------+ | Move glued-to-musical-time | Defines if MIDI regions in | | regions (MIDI regions) | selected tracks are affected by | | | the operation | +-----------------------------------+-----------------------------------+ | Move markers | As a | | | `marker <#working-with-markers>`_ | | | _ | | | can be locked or glued to | | | bars/beats, this option and the | | | two subjacent ones allow to shift | | | the time position of those | | | markers | +-----------------------------------+-----------------------------------+ | Move tempo and meter changes | The `tempo and | | | meter <#tempo-and-meter>`__ | | | markers, that can be used to | | | change the tempo along the | | | session, can also be shifted in | | | the process. Though, moving the | | | tempo markers while e.g. keeping | | | the MIDI regions unaffected can | | | create oddities. | +-----------------------------------+-----------------------------------+ Both the two time fields have a useful context menu, that allows to copy/paste the time and change the display among one of the `clock modes <#editing-clocks>`__. The Insert Time field also has two options to Set from Playhead (to get the insertion time from the playhead, which is what happens by default) and Locate to This Time which moves the playhead to the time field value, useful if the field has been manually edited to better visualize the insertion point. The "Intersected regions should" dropdown allows to select what happens to regions that cross the insertion position: +-----------------------------------+-----------------------------------+ | stay in position *(default)* | The crossed regions are not | | | affected by the time insertion. | | | Only regions after the insertion | | | point are moved. | +-----------------------------------+-----------------------------------+ | move | The crossed regions are shifted | | | in time. | +-----------------------------------+-----------------------------------+ | be split | The crossed regions are split, | | | and the section after the time | | | insertion point is shifted in | | | time. | +-----------------------------------+-----------------------------------+ This last mode allows a *brute force* insertion, creating a blank space in all the selected tracks, and replacing multiple operations. Note: One interesting option is, if a range selection (created with in `Range Mode <#toolbox>`__) exists, it is used as the default parameters in the window, instead of the playhead, for both the start time and duration. Remove Time ----------- The Remove Time window, accessed through the Track > Remove Time menu, is very similar to the previous, and its options are very similar. Only the *"Intersected regions should"* option is not present. The range selection note above can be especially useful in this context. 43.7 - Region Properties ======================== .. _region-properties-1: Region properties ----------------- .. figure:: /images/region-properties.png :alt: The Region Properties window The Region Properties window The Region properties window brings information about the selected regions, and allows to fine tune its sequencing. It is accessed through the Region > Properties… menu, or by right clicking the region, *Name_of_the_Region* > Properties…. This window also allows to manually set the different values. Field Meaning Editable Name: The `name of the region <#region-naming>`__ in the editor X Audition This button allows to listen to the region and only the region, dry (with no effects, regardless of the processors applied to the track). For MIDI, the default MIDI synth, set in the `Preferences <#preferences>`__, is used to audition the region. Position: Position in time of the left-hand side of the region X End: Position in time of the right-hand side of the region X Length: Duration of the region (=End−Position) X Sync point (relative to region): Position in time of the `Sync Point <#grid-controls>`__, relative to the beginning of the region. No manual sync point means the sync point is the beginning of the region (=Position), so will show as "0" in time and ``001|01|0000`` in Bars:Beats notation. X Sync point (absolute): Position in time of the `Sync Point <#grid-controls>`__, relative to the beginning of the session. No manual sync point means the sync point is the beginning of the region, and will be equal to the Position. X File start: Position in time of the beginning of the region relative to the source file start. If the region has not been trimmed on the left, then the regions start is the file start and this value is 0. Source: Name of the source audio/MIDI file the region is extracted from. A region can be a part of or a whole audio/MIDI file, and multiple regions can be based on the same source file. X Region gain: *(Audio files only)* Manual gain, in dB, applied constantly to the whole region, regardless of the global track's gain, automation, etc… X Peak amplitude: *(Audio files only)* Maximum level the signal reaches inside the region. Expressed in dBFS (Full Scale), where 0 is the numeric maximum a signal can reach. All the fields marked as "editable" in the table above allow the user to manually enter a value in the field, to manually set this value. Right-clicking on a field allow to switch between the different `clock modes <#editing-clocks>`__. The context menu that pops up also allows the relevant fields (Position, End, and both Sync points) to be set from the playhead location, which can be used to e.g. trim a region to the playhead or place a sync point exactly on a beat. .. _create-region-fades-and-crossfades: 44 - Fades and Crossfades ========================= Every Region has a fade-in and fade-out. By default, the region fade is very short, and serves to de-click the transitions at the start and end of the region. By adjusting the regions fade length, a more gradual transition can be accomplished. Region Fades ------------ Region fades are possible at the beginning and end of all audio regions. In object mode, a grip appears at the top left and top right of an audio region when the cursor hovers over it. Placing the cursor over the top of the grip displays the region fade cursor tip. Clicking and dragging the grip left or right in the timeline adjusts the length of the fade. Crossfades ---------- Crossfades refer to the behavior of two audio regions transitioning smoothly (mixing) from one to another on the same track. Historically, this was done by splicing two pieces of analog tape together, and this concept was carried forward into digital editing. Each track is a sequence of sound files (regions). If two regions are butted against each other, there needs to be a method to splice them smoothly together. The crossfade allows one region to fade smoothly out, while the next region fades smoothly in, like two pieces of tape that have been cut at an angle, and overlapped. But Ardour uses a more refined "layered" editing model, and therefore it is possible for multiple regions to be stacked on a single location with arbitrary overlaps between different layers. For this reason, crossfades must be implemented differently. It can't be assumed that a crossfade is an entity that exists between two regions; instead each region must have its own associated crossfades at each end, and the topmost region must always crossfade down to the underlying region(s), if any. Ardour solves this problem by putting a crossfade at the beginning and end of every region. The fades of the bottom-most region are first rendered, and then each region is rendered on top of the one below it, with fades at the end of each region providing a crossfade to the region(s) beneath it. It is important to understand that region fades *are* crossfades. When one region has another region or multiple regions beneath its fade area, then what will be heard is the topmost region fade-out mirrored as a fade-in on the underlying region(s). The grip for the topmost region will allow changing the length and type of the crossfade into the underlying region(s). In this way complicated series of crossfades can be created, and then another region layered atop the others, and faded into a complicated series. If a region doesn't have any region(s) under it, then the region is crossfaded to silence; for convenience this is called a "fade" rather than a crossfade. Fade Shapes ----------- .. figure:: /images/crossfade_menu.png :alt: The fade shape context menu. The fade shape context menu. To activate/deactivate or change the shape of a region's fadein or fade-out, the cursor has to be hovered over the region fade grip until the cursor tip indicates region fade editing, then right clicked to bring up a context menu. In the context menu is a list of options for the region fade. Activate/Deactivate enables and disables the region fade. Because each fade is also a crossfade, it has an inverse fade shape for the audio beneath the fade. It is important to know how the shapes differ, and which are most suitable for various editing tasks. The different types of fades are: +-----------------------------------+-----------------------------------+ | Linear | A simple linear coefficient | | | decrease, and its mathematical | | | inverse. A Linear fade starts | | | attenuating quickly, and then | | | cuts off even more abruptly at | | | lower levels. When used as a | | | crossfade, the signals are each | | | -6dB attenuated at the midpoint. | | | This is the correct crossfade to | | | use with highly-correlated | | | signals for a smooth transition. | +-----------------------------------+-----------------------------------+ | Constant Power | The constant power curve starts | | | fading slowly and then cuts off | | | abruptly. When used as a | | | crossfade between 2 audio | | | regions, the signals are | | | symmetrically attenuated, and | | | they each reach -3dB at the | | | midpoint. This is the correct | | | crossfade to use when splicing | | | audio in the general | | | (uncorrelated) case. | +-----------------------------------+-----------------------------------+ | Symmetric | The Symmetric fade starts slowly, | | | then attenuates significantly | | | before transitioning to a slower | | | fade-out near the end of the | | | fade. When used as a crossfade, | | | the Symmetric curve is not | | | mathematically correct like the | | | Constant Power or Linear curves, | | | but it provides a slower fade-out | | | at low volumes. This is sometimes | | | useful when editing 2 entire | | | music works together so that the | | | transition is more gradual. | +-----------------------------------+-----------------------------------+ | Slow | The Slow curve is a modified | | | linear decibel fade. The initial | | | curve starts more gradually so | | | that it has a less abrupt | | | transition near unity. After | | | that, it sounds like a perfectly | | | smooth fader or knob moved to | | | silence. This shape is excellent | | | as a general-purpose fade-out. | | | When used as a crossfade, the | | | inverse fade curve maintains | | | constant power but is therefore | | | non-symmetric; so its use is | | | limited to those cases where the | | | user finds it appropriate. | +-----------------------------------+-----------------------------------+ | Fast | The Fast curve is a linear | | | decibel fade; It sounds like a | | | perfectly smooth fader or knob | | | moved to silence. This shape is | | | excellent as a general-purpose | | | fade-in. When used as a | | | crossfade, the inverse fade curve | | | maintains constant power but is | | | therefore non-symmetric; so its | | | use is limited to those cases | | | where the user finds it | | | appropriate. | +-----------------------------------+-----------------------------------+ Although these fade shapes serve specific purposes, any of the shapes is usable in any situation, so the final decision is mostly an artistic choice. These fade curves are developed to provide a range of common uses, and are developed with the least possible amount of changes in the "slope" of the line. This provides artefact-free crossfades. Some DAWs provide complicated fade editors with parametric "spline" controls of the fade curves. While it might be interesting to develop a fade curve with a faster cutoff, the mathematical difference between this and simply shortening the fade is vanishingly small; and the amount of effort to shorten the fade is much easier than messing with a crossfade editor dialog. 45 - Gain Envelopes =================== .. figure:: /images/gain-envelope1.png :alt: A gain envelope (in green). A gain envelope (in green). In Ardour, every region has a gain envelope, which is normally hidden. Clicking on the Draw tool will cause all the gain envelopes on all regions to show themselves; these will appear as green lines with square dots (control points) at the beginning and end of each region. The vertical axis represents gain, with the top of the region representing +6dB and the bottom representing approximately -170dB. By default, the line starts and ends at 0dB; the control points can be moved up and down to change the amount of gain at that point. Gain follows the line between control points continuously during playback, and adjusts the gain for that region accordingly. It is completely automatic, unlike channel `automation <#automation>`__. Manipulating Gain Envelopes --------------------------- The default gain curve, by itself, is not very useful; in order to have more control over the shape of the gain envelope it is necessary to add extra control points. Clicking anywhere in the region where there are no existing control points adds a control point to the envelope; it will appear *on the line* at the X-axis of the mouse's current position in the region. .. figure:: /images/gain-envelope2.png :alt: A more complex gain envelope. A more complex gain envelope. Once added, a control point can be Left clicked and dragged to the desired location. Hovering over a control point will show its current level in dB. Left clicking a control point and pressing Delete, or Right clicking a point deletes it. 46 - Playlists ============== 46.1 - Understanding Playlists ============================== 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 `Working With Regions <#working-with-regions>`__. This page covers some of the things that can be done with playlists as objects in their own right. Tracks are not Playlists ------------------------ 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. The playlist associated with a track can be changed at (almost) any time, and tracks can even share playlists. Some other DAWs use the term "virtual track" to define 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"), which might be confusing. Playlists are Cheap ------------------- One thing to bear in mind is that playlists are cheap. They do not cost anything in terms of CPU consumption, and they have very minimal efforts on memory use. So generating new playlists whenever needed is recommended. They are not equivalent to tracks, which require extra CPU time and significant memory space, or audio files, which use disk space, or plugins that require extra CPU time. If a playlist is not in use, it occupies a small amount of memory, and nothing more. 46.2 - Playlist Operations ========================== In the `track header <#audio-track-controls>`__ (editor window, left pane) is a button labelled p (for "Playlist"). A click on this button displays the following menu: +-----------------------------------+-----------------------------------+ | (Local Playlists) | Shows all of the playlists | | | associated with this track, and | | | indicates the currently selected | | | playlist | +-----------------------------------+-----------------------------------+ | Rename… | Displays a dialog to rename the | | | current playlist | +-----------------------------------+-----------------------------------+ | New… | Creates a new empty playlist, and | | | the track switches to the new | | | playlist | +-----------------------------------+-----------------------------------+ | New Copy… | Creates a new playlist that is a | | | copy of the current playlist; the | | | track switches to the new | | | playlist | +-----------------------------------+-----------------------------------+ | Clear Current | Removes all regions from the | | | current playlist | +-----------------------------------+-----------------------------------+ | Select From All… | Displays a playlist browser to | | | manually choose which playlist | | | this track should use. (from this | | | track or another one) | +-----------------------------------+-----------------------------------+ Renaming Playlists ------------------ Playlists are created by default with the name of the active playlist, plus a version number, and the first playlist is named after the track with which it is associated. So, the first playlist for a track called "Cowbell" will be called "Cowbell.1", the next one "Cowbell.2", etc. This name can be changed at any time, to anything: Ardour does not require playlist names to be unique, although it will make the user's 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. 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. Using the fact that playlist names are based on the active one with an incremented version number, one can rename a playlist "Cowbell take.1" so that the next playlist created is automatically named "Cowbell take.2" etc. This allows for a quick way to label different takes. Sharing Playlists ----------------- It is entirely possible to share playlists between tracks. The only slightly unusual thing that should be noted when sharing is that edits to the playlist made in one track will magically appear in the other. It is an obvious consequence of sharing. One application of this attribute is parallel processing, described in `Playlist Use Cases <#playlist-usecases>`__. To avoid this kind of behaviour, and nevertheless use the same (or substantially the same) playlist on two tracks, the desired playlist must be chosen in the second track, and then the New Copy… button clicked. This generates an independent copy of it for that track, which can then be edited without affecting the original. 46.3 - Playlist Usecases ======================== Using Playlists for Parallel Processing --------------------------------------- One of the uses of playlists is to apply multiple effects to the same audio stream. For example, applying two different non-linear effects such as distortion or compression to the same audio source (linear effects can be just applied one after the other in the same track) can be done by creating a new track, applying the original track's playlist, and then applying effects to both tracks independently. The same result could be achieved by feeding the track to multiple busses which then contain the processing, but this increases the overall latency, complicates routing and uses more space in the Mixer window. Using Playlists for "Takes" --------------------------- Using Playlists for takes is a good solution when one needs the ability to edit individual takes, and select between them. Each time a new take is started, a new playlist should be created with p > New. Thus, later, any previous or later takes can be selected as desired. Creating a composite edit from multiple takes, can be achieved either: - by creating a new track to assemble the final version, and "cherry picking" from the playlists in the original track by copying regions over as required - by recording each successive take on top of the others in "layers" and then editing them using the layer tools. Using Playlists for Multi-Language Productions ---------------------------------------------- The same approach as for takes is useful when recording or editing content in multiple versions, such as dubbed movie dialog in several languages: having all versions on the same track allows to apply the same processing, making it easy to switch language before exporting the session. 47 - Rhythm Ferret ================== .. figure:: /images/rhythm-ferret.png :alt: The Rhythm Ferret window The Rhythm Ferret window The Rhythm Ferret is a dedicated tool to speed up the usually labor intensive task of slicing and adjusting a sound region to match a specific time grid. It is especially useful for drum tracks, either to match a different tempo, or to adjust a slightly out of tempo performance. It is not limited to this use though, as it supports both percussive and note type detection, and can be used on melodic material too. Accessing the Rhythm Ferret --------------------------- The Rhythm Ferret window can be accessed by right clicking any audio region, then *Name_Of_The_Region* > Edit > Rhythm Ferret. Once the window is open, selecting any region will make it the focus of the Rhythm Ferret's detection, hence allowing to process multiple regions sequentially without reopening the window each time. The window itself is made of: - a "mode" selection - some parameters for this mode - an operation selection, that for now only allows to Split regions. The "Mode" selection -------------------- As the Rhythm Ferret is able to detect both percussive hits and melodic notes, it is important to choose the best suited mode for the considered material, so that Ardour can perform the detection with the greatest accuracy : - Percussive Onset will detect the start of each hit based on the sudden change in energy (= volume) of the waveform - Note Onset will detect the start of each note based on the changes in the frequency domain. The Percussive Onset mode ------------------------- In this mode, only two parameters are active: +-----------------------------------+-----------------------------------+ | Sensitivity (%) | The proportion of the samples | | | that must exceed the energy rise | | | threshold in order for an onset | | | to be detected (at frames in | | | which the detection function | | | peaks). This roughly corresponds | | | to how "noisy" a percussive sound | | | must be in order to be detected. | +-----------------------------------+-----------------------------------+ | Cut Pos Threshold (dB) | The rise in energy amongst a | | | group of samples that is required | | | for that to be counted toward the | | | detection function's count. This | | | roughly corresponds to how "loud" | | | a percussive sound must be in | | | order to be detected. | +-----------------------------------+-----------------------------------+ As those parameters are very material-related, there is no recipe for a perfect match, and a good peak detection is a matter of adjusting those two parameters by trial and error, and trying using the Analyze button after each try. Vertical grey markers will appear on the selected region, showing where Ardour detects onsets as per the parameters. This markers can be manually adjusted, see below. The Note Onset Mode ------------------- In the Note Onset mode, more parameters are active: +-----------------------------------+-----------------------------------+ | Detection function | The method used to detect note | | | changes. More on this below. | +-----------------------------------+-----------------------------------+ | Trigger gap (postproc) (ms) | Set the minimum inter-onset | | | interval, in milliseconds, i.e. | | | the shortest interval between two | | | consecutive onsets. | +-----------------------------------+-----------------------------------+ | Peak threshold | Set the threshold value for the | | | onset peak picking. Lower | | | threshold values imply more | | | onsets detected. Increasing this | | | threshold should reduce the | | | number of incorrect detections. | +-----------------------------------+-----------------------------------+ | Silence threshold (dB) | Set the silence threshold, in dB, | | | under which the onset will not be | | | detected. A value of -20.0 would | | | eliminate most onsets but the | | | loudest ones. A value of -90.0 | | | would select all onsets. | +-----------------------------------+-----------------------------------+ The Detection function, used in Note Onset mode to choose the mathematical strategy used to detect the note changes, is user-selectable: +-----------------------------------+-----------------------------------+ | Energy based | This function calculates the | | | local energy of the input | | | spectral frame | +-----------------------------------+-----------------------------------+ | Spectral Difference | Spectral difference onset | | | detection function based on | | | Jonathan Foote and Shingo | | | Uchihashi's "The beat spectrum: a | | | new approach to rhythm analysis" | | | (2001) | +-----------------------------------+-----------------------------------+ | High-Frequency Content | This method computes the High | | | Frequency Content (HFC) of the | | | input spectral frame. The | | | resulting function is efficient | | | at detecting percussive onsets. | | | Based on Paul Masri's "Computer | | | modeling of Sound for | | | Transformation and Synthesis of | | | Musical Signal" (1996) | +-----------------------------------+-----------------------------------+ | Complex Domain | This function uses information | | | both in frequency and in phase to | | | determine changes in the spectral | | | content that might correspond to | | | musical onsets. It is best suited | | | for complex signals such as | | | polyphonic recordings. | +-----------------------------------+-----------------------------------+ | Phase Deviation | This function uses information | | | both energy and in phase to | | | determine musical onsets. | +-----------------------------------+-----------------------------------+ | Kullback-Liebler | Kulback-Liebler onset detection | | | function based on Stephen | | | Hainsworth and Malcom Macleod's | | | "Onset detection in music audio | | | signals" (2003) | +-----------------------------------+-----------------------------------+ | Modified Kullback-Liebler | Modified Kulback-Liebler onset | | | detection function based on Paul | | | Brossier's "Automatic annotation | | | of musical audio for interactive | | | systems" (2006) | +-----------------------------------+-----------------------------------+ Ardour defaults to Complex Domain, which usually gives good result for harmonic material. Manual adjustment ----------------- .. figure:: /images/rhythm-ferret-demo-a.png :alt: The Rhythm Ferret: Analyzing, Splitting regions, and snapping to grid The Rhythm Ferret: Analyzing, Splitting regions, and snapping to grid Using the Rhythm Ferret consists usually in finding the right parameters to split the audio, by adjusting them and clicking the Analyze button. Each time an analysis is run, Ardour erases the previous results, and creates grey markers on the region according to the parameters. Those markers can be manually dragged with the LEFT mouse button to adjust their positions. Once the markers are suitably placed, the second button in the down hand side of the Rhythm Ferret window allows to Apply the operation. At the moment of writing, only the Split Region is available, which will split the region at the markers. Those regions can then be manually aligned, or have their sync points set to the closest grid (as per the `Grid settings <#grid-controls>`__ in effect), by selecting all the regions, and using the right click then Selected Regions > Position > Snap position to grid. .. _midi: Part VII - MIDI =============== .. _edit-midi: 48 - MIDI Editing ================= Ardour's handling of MIDI editing differs from most other DAWs and MIDI sequencers. Key features of Ardour MIDI handling ------------------------------------ - All editing is done in-place, in-window. There is no separate piano roll window or pane. Edit notes right where they appear. - 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 - Editing note information in Ardour 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 notes cannot be selected in several regions and then all deleted, nor can they be copied-and-pasted from one region to another. Region(s), though, can be copy-pasted just as with audio. - All MIDI I/O is done via JACK for sample accurate timing and maximal efficiency when communicating with external software synthesizers. - Every MIDI track has its own JACK MIDI port for input; it may have an arbitrary combination of audio and MIDI outputs, depending on the signal processing in the track; the full flexibility of JACK connectivity is present for MIDI just as it is for audio. - Full automation for MIDI tracks, integrated with the handling of all MIDI CC data for each track. - Controllers (CC data) can be set to discrete or continuous modes (the latter will interpolate between control points and send additional data). - There is a Normal and a Percussive mode for note data editing. - The scroomer is a combination scroll/zoom tool for altering the zoom level and range of visible MIDI data. Notable Differences ------------------- - Fader (volume) control currently operates on transmitted MIDI data, not by sending CC #7. - All note/data editing is per-region. There are no cross-region operations at this time. - By default, copying a MIDI region creates a deep link—both regions share the same data source, and edits to the contents of one will affect the other. Breaking this link is done by selecting 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. The region will no longer be trimmable back to its original length after an Unlink operation, and the operation cannot be undone. .. _create-midi-tracks: 49 - Creating MIDI Tracks ========================= Creating new MIDI track(s) can be done using the Session > Add Track/Bus menu. In the `Add Track/Bus dialog <#adding-tracks-busses-and-vcas>`__, MIDI Tracks must be picked from the combo selector at the upper left. A track template can be used, by selecting it in the *Configuration* drop down menu. One singularity of the MIDI track creation in the ability to select right at creation time the instrument that will be used in the track. The instrument in this context is any plugin that will generate audio in response to receiving MIDI. .. _create-midi-regions: 50 - Creating MIDI Regions ========================== Although recording MIDI is a common way to create new MIDI regions, it is often desirable to do so as part of editing/arranging. Create a new MIDI region is as simple as entering draw mode (press "d" or click on the pencil tool) and then Left-clicking in a MIDI track. A region will be created that is one bar long. Alternatively, use the left button to drag-create a new region of the desired length. Once the region exists, to trim it to a different length, switch back to grabber/object/select mode (press "g" or click on the grabber tool). It can then be `trimmed <#trimming-regions>`__ to any length desired. Once a region has been created, `some notes <#add-new-notes>`__ should be added to it. .. _add-new-notes: 51 - Adding New Notes ===================== Adding new notes ---------------- In general, most MIDI editing will probably be done with the mouse in object mode. This allows to select notes, copy, move or delete them and alter their properties (see below). But at some point, *adding* notes to a MIDI region using the mouse will mean 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 to tell Ardour that the user is 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 Left-drag. The other, useful 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, Draw Notes mode can not be used while using region-level editing. So, to summarize: +-----------------------------------+-----------------------------------+ | Selecting, moving, copying, | Note Level Editing disabled, | | trimming, deleting *regions* | using object, range or other | | | mouse modes | +-----------------------------------+-----------------------------------+ | Selecting, moving, copying | Note Level Editing enabled, and | | trimming, deleting *notes* | using mouse object mode | +-----------------------------------+-----------------------------------+ | Adding new notes | enabling "Note Level Editing" and | | | then either | | | | | | - using mouse object mode and | | | Left-drag, or | | | - using mouse draw mode. | +-----------------------------------+-----------------------------------+ Note that there is also `a step entry editor <#step-entry>`__ allowing to enter notes from a virtual keyboard and lots more besides. .. _change-note-properties: 52 - Changing Note Properties ============================= All the details about a selected note can be viewed by context-clicking on it. The dialog that pops up will also allow to modify all the properties of the selected note(s). Individual properties can also be modified more efficiently using the techniques described below. +-----------------------------------+-----------------------------------+ | Moving notes | Right arrow and Left arrow move | | | the selected note(s) early and | | | later in time. | +-----------------------------------+-----------------------------------+ | Changing pitch values | ↑ increases the pitch of the | | | selected notes. | | | ↓ 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. This can be | | | overrode with . The default shift | | | distance is one semitone. alters | | | this to one octave. | +-----------------------------------+-----------------------------------+ | Changing velocity values | ↑ increases the velocity of the | | | selected notes. | | | ↓ reduces the velocity 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 velocities. This can be | | | overrode with . Also, pressing v | | | pops up a dialog that will allow | | | 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). | +-----------------------------------+-----------------------------------+ | Changing channel | Pressing c brings up a dialog | | | that allows 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. | +-----------------------------------+-----------------------------------+ | Changing start/end/duration | , (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, ,/. can be | | | used. The note will be altered by | | | the current grid setting. To | | | change the start/end positions by | | | 1/128th of a beat, the modifier | | | must be added to these shortcuts. | +-----------------------------------+-----------------------------------+ | Quantization | q 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. q will | | | display the quantize dialog to | | | allow 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. | +-----------------------------------+-----------------------------------+ | Step Entry, Quantize etc. | Refer to the `Step | | | Entry <#step-entry>`__, | | | `Quantizing | | | MIDI <#quantize-midi>`__, etc. | | | specific pages. | +-----------------------------------+-----------------------------------+ 53 - Handling Overlapping Notes =============================== Every MIDI note consists of two messages, a NoteOn and a NoteOff. 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 two instances of the same note overlap. Which one to use is a per-session property and can be modified from Session > Properties > Misc > MIDI Options. +-----------------------------------+-----------------------------------+ | never allow them | Edits that would create note | | | overlaps are not allowed | +-----------------------------------+-----------------------------------+ | don't do anything in particular | Ardour leaves overlapping notes | | | alone—the behaviour of a MIDI | | | receiver (plugin or hardware) is | | | undefined | +-----------------------------------+-----------------------------------+ | replace any overlapped existing | When one note is moved to overlap | | note | another, remove the one that | | | wasn't being moved | +-----------------------------------+-----------------------------------+ | shorten the overlapped existing | When one note is moved to overlap | | note | another, shorten the one that | | | wasn't moved so that there is no | | | overlap | +-----------------------------------+-----------------------------------+ | shorten the overlapping new note | When one note is moved to overlap | | | another, shorten the one that was | | | moved so that there is no overlap | +-----------------------------------+-----------------------------------+ | replace both overlapping notes | When one note is moved to overlap | | with a single note | another, merge them both to form | | | one (longer) note | +-----------------------------------+-----------------------------------+ 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. Dealing with the consequences is up to the user. 54 - Note Cut, Copy and Paste ============================= While in `note edit <#add-new-notes>`__ mode, selected notes can be cut and paste as in most software, that is: - cut: x - copy: c - delete: Delete - paste: v. These operations use the same keyboard shortcuts as most editing software does, and as Ardour uses for regions. Obviously, the paste operation only works if a cut or copy operation has happened beforehand. 55 - Note Selection =================== Selecting/Navigating note-by-note --------------------------------- Tab selects the next note. Tab selects the previous note. Tab or Tab adds the next/previous note to the selection. Selecting notes with the mouse ------------------------------ While in mouse object mode, any note can be clicked to select it. Once a note has been selected, Left-clicking on another selects all notes between them. Adding or removing a note to/from the selection is done by Left clicking it. Clicking and dragging outside of a note rubberband selects a series of notes. Three different selection operations are possible while in mouse range mode: - Vertical drags within the MIDI region will select all notes within the spanned note range. - Clicks on the piano header of the track (if visible—the track must be tall enough to display it) will select all occurrences of that note. - Drags on the piano header of the track will select all notes within the spanned note range. Listening to Selected Notes --------------------------- 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 to hear each note as it is selected. .. _quantize-midi: 56 - Quantizing MIDI ==================== .. figure:: /images/quantize.png :alt: The Quantize dialog The Quantize dialog Quantizing a MIDI region, usually one recorded from a MIDI instrument, consists in perfectly aligning the notes with the grid by shifting the notes positions to the closest grid line. The result is a perfectly timed MIDI region, allowing to correct rhythmically poor performance. This dialog is accessed via the Region > MIDI > Quantize... while having a MIDI region selected, or by right clicking a MIDI region, *Name_Of_The_Region* > MIDI > Quantize... or with the default 5 shortcut and includes: +-----------------------------------+-----------------------------------+ | Snap note start | If checked, the start of the | | | notes will be aligned to the grid | | | as defined in the following | | | combo-box (see below) | +-----------------------------------+-----------------------------------+ | Snap note end | If checked, the end of the notes | | | will be aligned to the grid as | | | defined in the following | | | combo-box (see below) | +-----------------------------------+-----------------------------------+ | Threshold (ticks) | Defines how close from a grid | | | point a note must be in order to | | | be quantized. Notes farther than | | | this number of | | | `ticks <#timecode-generators-and- | | | slaves>`__ | | | will not be affected. | +-----------------------------------+-----------------------------------+ | Strength | Defines how close to its new | | | position the note must be moved, | | | as a percentage of the nominal | | | distance (allowing for a | | | non-perfect quantization, i.e. | | | just making the performance | | | rhythmically better without | | | giving it a machine-generated | | | feel) | +-----------------------------------+-----------------------------------+ | Swing | Applies a *swing* to the midi | | | notes, i.e. delays every 2nd note | | | by this amount, to e.g. simulate | | | a groovy drummer | +-----------------------------------+-----------------------------------+ The grid selection combo boxes allow a choice between the current *main grid*, or many beat subdivisions. Both note start and note end can be selected at once, resulting in a 2-pass quantization: the note starts are aligned to the grid (with or without the swing and Strength parameters), then their ends are aligned. The swing is a value between 0 and 130, and is relative to the user-selected grid type: every note which is considered a second note (i.e. close enough to an odd grid line as per the threshold value) will be delayed by this number of ticks. 57 - Step Entry =============== Editing MIDI can be a tedious task. Ardour allows using a connected MIDI device like a music keyboard or pad controller, or use the mouse. A third option, providing fine-grain control, precision and speed of entry 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, because step entry is related to *recording* MIDI data. Step editing and recording MIDI via the track's MIDI port cannot happen simultaneously. .. figure:: /images/a3_step_entry.png :alt: Ardour's Step Entry dialog Ardour's Step Entry dialog The dialog (quite closely modelled on Logic's) contains: - Chord entry switch (successive notes are stacked in a chord until it is released) - Note length selectors - Triplet toggle - Normal, single, double and triple dotted note selectors - Sustain button - Buttons to: - Insert a rest of the current selected note duration - Insert a rest of the current grid step size - Move back to the last inserted note - Move forward to the next beat, or bar - Move forward to the edit point - Dynamics controls from pianississimo to fortississimo - Channel selector - Explicit numerical velocity selector, for more precise control than the dynamics selectors offer - Octave selector - Buttons to add bank or program change events - a full 10 octave virtual keyboard More or less all actions in the step entry dialog can be driven directly from the keyboard, so that moving back and forth from the keyboard to the mouse is not necessary even for complex data insertion. The default key bindings for this (configured in ``step_editing.bindings``) are: +----------------+------------------------------------+ | grave | octave 0 | +----------------+------------------------------------+ | 1 to 9 | octave 1 to 9 | +----------------+------------------------------------+ | 0 | octave 10 | +----------------+------------------------------------+ | F1 | note length whole | +----------------+------------------------------------+ | F2 | note length half | +----------------+------------------------------------+ | F3 | note length third | +----------------+------------------------------------+ | F4 to F8 | note length quarter to sixtyfourth | +----------------+------------------------------------+ | a | insert C | +----------------+------------------------------------+ | w | insert C ♯ | +----------------+------------------------------------+ | s | insert D | +----------------+------------------------------------+ | e | insert D ♯ | +----------------+------------------------------------+ | d | insert E | +----------------+------------------------------------+ | f | insert F | +----------------+------------------------------------+ | t | insert F ♯ | +----------------+------------------------------------+ | g | insert G | +----------------+------------------------------------+ | y | insert G ♯ | +----------------+------------------------------------+ | h | insert A | +----------------+------------------------------------+ | u | insert A ♯ | +----------------+------------------------------------+ | j | insert B | +----------------+------------------------------------+ | Tab | insert rest | +----------------+------------------------------------+ | Primary Tab | insert snap rest | +----------------+------------------------------------+ | BackSpace | back | +----------------+------------------------------------+ | z | note velocity 𝆏𝆏𝆏 | +----------------+------------------------------------+ | x | note velocity 𝆏𝆏 | +----------------+------------------------------------+ | c | note velocity 𝆏 | +----------------+------------------------------------+ | v | note velocity 𝆐𝆏 | +----------------+------------------------------------+ | b | note velocity 𝆐𝆑 | +----------------+------------------------------------+ | n | note velocity 𝆑 | +----------------+------------------------------------+ | m | note velocity 𝆑𝆑 | +----------------+------------------------------------+ | comma | note velocity 𝆑𝆑𝆑 | +----------------+------------------------------------+ | Up | next note velocity | +----------------+------------------------------------+ | Down | prev note velocity | +----------------+------------------------------------+ | Primary Up | next note length | +----------------+------------------------------------+ | Primary Down | prev note length | +----------------+------------------------------------+ | apostrophe | toggle triplet | +----------------+------------------------------------+ | period | toggle dotted | +----------------+------------------------------------+ | Primary period | no dotted | +----------------+------------------------------------+ | bar | toggle chord | +----------------+------------------------------------+ 58 - Patch Change ================= .. figure:: /images/patch_change.png :alt: A patch change in a MIDI region A patch change in a MIDI region 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, with a vertical line showing where in the region (hence "when") this patch change happens. Inserting Patch Changes ----------------------- To insert a patch change, the `edit point <#edit-point-control>`__ should be located where the patch change should be (within an existing MIDI region). When right clicking, and from the MIDI region's context menu, selecting MIDI > Insert Patch Change, a dialog appears allowing to set the bank and program values. Modifying Patch Changes ----------------------- Context-clicking on a patch change will bring up the same dialog that was used to create it, allowing to modify the program and/or bank numbers. The mouse wheel can also be used: ⇑/⇓ on the patch change will alter the program number, ⇑/⇓ will modify the bank number. Moving Patch Changes -------------------- Just Left-dragging the patch change moves it around. Removing Patch Changes ---------------------- Pressing Del with the mouse pointer into the rectangular area, or using the delete mouse button operation will remove the patch change (the operation can be undone). Names for Patch Numbers: MIDNAM files ------------------------------------- MIDNAM files assign human-redable names to the "coordinates" (MSB, LSB, pc) of instruments and controls of MIDI-devices. A number of MIDNAM files come already pre-bundled with Ardour. Should this not be the case for your device, you can add your own (see below). Selecting a device ~~~~~~~~~~~~~~~~~~ For the proper names to show up in the "Patch Selector"-dialog, you have to assign a device to your current track. To do so, hover the lower border of the tracks header (the mouse-cursor will change to a "resize-cursor") and expand it. You'll see dropdown menus. Select your device in the menu. Adding a custom MIDNAM-file ~~~~~~~~~~~~~~~~~~~~~~~~~~~ MIDNAM-files are XML-Files. You can edit them using your favorite text-editor. When doing so, please ensure to change the "Model" of the device, as Ardour will only load each model once (i.e. it will skip files, if there are clashes). After you have done modifications to a file, it is a good idea to validate it. This can be done using the tool *xmllint* as shown below: :: $ xmllint --valid --noout myfile.midnam $ wget http://www.midi.org/dtds/MIDINameDocument10.dtd $ xmllint --dtdvalid MIDINameDocument10.dtd myfile.midnam Once you are satisfied with your file, you have to put it at a location where Ardour picks it up. The best place would be the (hidden) directory `Ardour configuration directory <#files-and-directories-ardour-knows-about>`__ subdirectory patchfiles. in your home-folder. Should the sub-directory *patchfiles* not exist yet, just create it. The path and file-names are case-sensitive. The file should end with "*.midnam*". After restarting Ardour, hit the small Log-button in the upper right corner of the main window. It should say something like (this is Linux, Macos or Windows will be different): :: [INFO]: Loading 3 MIDI patches from /home/username/.config/ardour5/patchfiles The added device should now show up in the dropdown mentioned in the previous paragraph. Should the MIDNAM-file be useful for the general public, it would be nice to share it: Fork the Ardour-project on `gitHub `__ by hitting the "Fork"-Button. Go to the patchfiles-directory (and read the README). You can upload the file using the Web-Interface. Be sure to select "*Create a new branch for this commit and start a pull request*". 59 - Independent and Dependent MIDI Region Copies ================================================= When copying a MIDI region, Ardour has to decide whether to make the copy refer to the same data as the original or not. If it does refer to the same data, then editing either the copy or the original will affect the both of them. If it refers to an independent copy of the data then each one can be edited without affecting the other. Changing dependent/independent copying for the entire session ------------------------------------------------------------- Session > Properties > Misc > MIDI region copies are independent can be used to control the default behaviour when making a copy of a MIDI region. When enabled, every new copy of a MIDI region results in a copy being made of the MIDI data used by the region, and the new copy of the region will refer to that data. When disabled, every new copy of a MIDI region will refer to the same MIDI data, and thus editing any copy will change the contents of all of them. Changing the status of this option has no effect on the existing dependent/independent status of existing region copies. Making an existing copy of a MIDI region independent ---------------------------------------------------- Right clicking on the MIDI region to be independent then selecting MIDI > Unlink From Other Copies makes it independent: the copy is now using its own version of the data, and edits to the copy will affect only the copy. Other copies will continue to share data. Note that the copied data only covers the extent of the region when the copy is made. If the region was already trimmed and then a copy is made, an independent copy will have no access to data that is earlier or later than the bounds of the region it was copied from. Put differently, making an independent copy of a trimmed MIDI region only retains the visible part of it. 60 - Transposing MIDI ===================== .. figure:: /images/transpose_midi.png :alt: The Transpose dialog The Transpose dialog A whole region, or multiple regions, can be transposed at once, with the help of the Transpose MIDI dialog, accessed by right clicking a region > *name_of_the_midi_region* > MIDI > Transpose… . This very simple dialog allows to choose either a number of semitones to add or subtract to all the notes inside the region(s), and/or for more significant changes, octaves (12 semitones). .. _automating-midi---pitch-bending-and-aftertouch: 61 - Automating MIDI-Pitch bending and aftertouch ================================================= Adding pitch bending or aftertouch can add a lot of subtlety to an otherwise plain sounding midi region and help humanize it. .. figure:: /images/MIDI_pitch_bending.png :alt: Automation: pitch bending Automation: pitch bending Pitch bending and aftertouch both work the same way, through automation, by right clicking the MIDI track's header > Automation > Bender (or Pressure) > the channel to bend. Using the Draw tool, as for all the automation, allows to create a gradual change from one drawn point to another. A line in the center produces no change to the pitch, while a line above the center will bend the pitch to a higher note (up to 4 semitones) and a line going under the middle will bend the pitch to a lower note. The values can be anything between 0 (-4 semitones) to 16383 (+4 semitones). No automation or a value of 8192 means no pitch shifting. Aftertouch works very similarly, though the values are between 0 and 127. It should be noted that aftertouch differs from velocity, as aftertouch allows to slightly change the timbre or create a vibrato, while the velocity sets the power with which the note is played (e.g. on a keyboard, the key is hit). .. _transforming-midi---mathematical-operations: 62 - Transforming MIDI-Mathematical operations ============================================== Considering the numerical nature of MIDI events, it can be tempting to apply mathematical transformations to our MIDI regions by using mathematical operations. Ardour makes it very easy and powerful with the Transform tool. .. figure:: /images/MIDI_transform.png :alt: MIDI transformation MIDI transformation To access the Transform tool, right click the MIDI region > *name_of_the_region* > MIDI > Transform… First, select the property you want to modify in the 'Set' field, then change the target value using the 2 following fields. If you want to add more operands, click the "+" sign to create new lines. You can remove a superfluous line using the "-" sign on the right of the newly created line. In the picture above, the Transform tool has been used to add a bit of humanisation, by slightly changing the velocity of each note of the region, by a random number between -19 and +19 from its original velocity. So three operations are applied: - Set velocity to this note's velocity - + a random number from 1 to 20 - - a random number from 1 to 20 Each note will trigger a calculation of its own, so its velocity will be increased by a random number between 1 and 20, then decreased by a random number between 1 and 20. The properties that can be computed are: - note number (e.g. C2 is note number 24, C#2 is 25 and `so on <#midi-notes-ref>`__) - velocity (the global intensity of the note, between 0 and 127) - start time (in beats) - length (in beats) - channel and the calculation may be based on the following properties: - this note's - the previous note's - this note's index (number of the note, i.e. the first one is 0, the second is 1, etc.) - exactly (for a constant value, between 1 and 127) - a random number from *lower* to *higher* (*lower* and *higher* being constant values between 1 and 127) - equal steps from *lower* to *higher* (*lower* and *higher* being constant values between 1 and 127) The mathematical operators can be: - + (addition) - - (subtraction) - \* (multiplication) - / (euclidian division) - mod (remainder of the euclidian division). All these operations can be very handy, as long as there is a mathematical way to achieve the targeted goal. Beware though of odd "border cases": division by zero (which does nothing), using the note's index and forgetting it starts at 0 and not 1, etc. Very interesting results can nevertheless be created, like humanizing (randomizing the velocity, start time and duration of all the notes), creating arpeggios, automating tedious tasks, transposing, etc. 63 - MIDI List Editor ===================== .. figure:: /images/midi-list-editor.png :alt: The MIDI List Editor window The MIDI List Editor window The List Editor is a way to look at the MIDI data of a region, not graphically as they are displayed in the Editor, but in a tabular form. This way of seeing the MIDI data allows for a quicker "debugging" of a MIDI region, and for a fast *non-graphical* (i.e. no mouse involved) editing. This list has a vertical flow, i.e. the first events (in time) are on the top of the window, and the latest are at its bottom. It is accessed by selecting the Region > MIDI > List Editor… menu while having one MIDI region selected, or by Right clicking the MIDI region and choosing *Name_Of_The_Region* > MIDI > List Editor… The window displays the following MIDI data: +-----------------------------------+-----------------------------------+ | Start | the timestamp of the start of the | | | note | +-----------------------------------+-----------------------------------+ | Channel | the MIDI channel of the event | +-----------------------------------+-----------------------------------+ | Num | The `MIDI | | | number <#midi-notes-ref>`__ of | | | the note | +-----------------------------------+-----------------------------------+ | Name | The MIDI name of the note, made | | | of its English name and octave | | | (e.g. "C4") | +-----------------------------------+-----------------------------------+ | Vel | the velocity of the note (i.e. | | | its intensity, between 0 and 127) | +-----------------------------------+-----------------------------------+ | Length | duration of the note, either | | | expressed as a number (in ticks, | | | related to the tempo) or as a | | | text (fraction of a beat, also | | | related to the tempo) | +-----------------------------------+-----------------------------------+ At the top of the window is a Sound Selected MIDI Notes, which is a toggle button allowing to listen to a note as it is selected. Each value can be manually modified, by Left clicking it. The Name field is related to the Number one, and cannot be edited. To change a note, its number must be changed, which will be reflected in the Name field. 64 - MIDI Tracer ================ .. figure:: /images/midi-tracer.png :alt: The MIDI Tracer window The MIDI Tracer window The MIDI Tracer is similar to the `MIDI List Editor <#midi-list-editor>`__, in the way that it displays MIDI information as a tabular text view, and has a vertical flow, i.e. the events follow a top to bottom time order. Its use is different though, as it is *not* bound to a specific region or track: the MIDI that is monitored is any global input or output Ardour presents to the system. It is hence a very useful option to monitor a MIDI port, be it an external controller/device or the in/output of any track. It is accessed by selecting the Window > MIDI Tracer menu. The window is made of: +-----------------------------------+-----------------------------------+ | Port | a list of all the MIDI ports | | | Ardour presents to the system. | | | They are both internal and | | | external and are the same ports | | | Ardour presents to JACK, if | | | enabled. | +-----------------------------------+-----------------------------------+ | the events list | where all the events for this | | | port are listed, see below | +-----------------------------------+-----------------------------------+ | Line history | how many lines should be kept in | | | the events list | +-----------------------------------+-----------------------------------+ | Delta times | if checked, shows the times as | | | the duration since the last | | | event, instead of the `absolute | | | time <#on-clock-and-time>`__ | +-----------------------------------+-----------------------------------+ | Decimal | if checked, shows the MIDI data | | | as decimal values instead of the | | | original hexadecimal values | +-----------------------------------+-----------------------------------+ | Enabled | if checked, the events are | | | displayed in the events list, | | | otherwise stops the logging | +-----------------------------------+-----------------------------------+ | Auto-Scroll | if checked, the events list | | | scrolls as new events are logged, | | | allowing to keep the newest | | | events on screen | +-----------------------------------+-----------------------------------+ The events list displays the events as columns: +-----------------------------------+-----------------------------------+ | time of the event | either absolute or relative, | | | based on the Delta times checkbox | +-----------------------------------+-----------------------------------+ | MIDI status (event type) | what midi events happened (e.g. | | | Note On, Note Off, Pitch Bend, …) | +-----------------------------------+-----------------------------------+ | MIDI channel | in which MIDI channel did the | | | event happen | +-----------------------------------+-----------------------------------+ | MIDI data bytes (event | parameters of the event, e.g. for | | parameters) | a Note On: what note was it, and | | | which was the note's velocity | +-----------------------------------+-----------------------------------+ Note: The MIDI Tracer can lists all kind of MIDI events, "audio" ones, but also `scene automation <#midi-scene-automation>`__ or `timecodes <#timecode-generators-and-slaves>`__ ones. 65 - MIDI Recording =================== 66 - MIDI Scene Automation ========================== Ardour is capable of being used to both record and deliver MIDI "scene" automation. These are MIDI messages typically used to switch presets or "scenes" on a variety of external equipment (or software), including lighting and other audio/video tools. A common use case is to automatically change presets between songs or to change lighting conditions based on a specific position on the timeline. Each change from one scene to another is represented by a marker in the "Marker" bar. Technically, scene changes are delivered as a combination of bank and program change MIDI messages. MIDI allows for 16384 banks, each with 128 programs. Recording Scene Changes ----------------------- Ardour has a dedicated MIDI port named "Scene In". Recording scene changes can be done by connecting this port to whatever source(s) of MIDI scene (bank/program change) messages should be recorded. Whenever the global record enable button is engaged and Ardour's transport is rolling, a new marker will be created for each scene change message received via the "Scene In" port. If two different scene changes are received within a certain time period, only the later one will be recorded as a new marker. The default threshold for this is 1 millisecond. If a scene change message is received while the playhead is close to an existing marker with an associated scene change, the recording process will alter the scene change in the existing marker rather than adding a new one. The default threshold for this "proximity" test is 1 millisecond. Manually Creating Scene Changes ------------------------------- This feature is not currently implemented. Playing back Scene Changes -------------------------- Ardour has a dedicated MIDI port named "Scene Out". Playing back scene changes can be done by connecting this port to whatever target(s) of MIDI scene (bank/program change) messages should be sent to. When the global record enable button is *not* enabled, the relevant message(s) will be sent via the "Scene Out" port as the playhead rolls past each marker with a scene change associated with it. Editing Scene Changes --------------------- This feature is not currently implemented. Disabling Scene Changes ----------------------- This feature is not currently implemented. .. _arranging: Part VIII - Arranging ===================== 67 - Time, Tempo and Meter ========================== 67.1 - Tempo and Meter ====================== Tempo and meter belong together. Without both, there is no way to know where a beat lies in time. Tempo provides a musical pulse, which is divided into beats and bars by a meter. When tempo is changed or an audio-locked meter is moved, all objects on the timeline that are glued to bars and beats (locations, regions) will move in sympathy. When performing meter or tempo operations, it is advisable to use the BBT ruler (available by right-clicking an existing marker or ruler name), and ensure that the constraint modifier is set (in Preferences->User Interaction) so that no other modifiers share its key combination. The constraint modifier is the "Constrain drags using: " setting under the "When Beginning a Drag" heading. One viable setting is . Tempo ----- Tempo can be adjusted in several ways: - by double clicking on a tempo marker. This opens the tempo dialog which allows entering the tempo directly into an entry box. - by using the constraint modifier (which is set in Preferences->User Interaction) to drag the beat/bars in the BBT ruler or the tempo/meter lines. This is the preferred way to match the tempo to previously recorded material. - by holding down the constraint modifier while dragging a tempo vertically. This is used for more complex tempo solving, as it allows changing of the position and tempo of a tempo marker in the same drag; it is, however, a useful way to adjust the first tempo for a quick result. A tempo may be locked to audio or musical time. This can be changed by right-clicking on a tempo. If a tempo is locked to music, an entry will be available to lock it to audio. Similarly an audio-locked tempo may be locked to music by right-clicking it and selecting the "Lock to Music" entry. Audio locked tempo marks stay in their frame position as their neighbour's positions are altered. Their pulse (musical) position will change as their neighbours move. Music locked tempo marks move their frame position as their neighbours are moved, but keep their pulse position (they will move as the music is moved). A tempo may be constant or ramped: - A constant tempo will keep the session tempo constant until the next tempo section, at which time it will jump instantly to the next tempo. These are mostly useful abrupt changes, and is the way in which traditional DAWs deal with tempo changes (abrupt jumps in tempo). - A ramped tempo increases its tempo over time so that when the next tempo section has arrived, the session tempo is the same as the second one. This is useful for matching the session tempo to music which has been recorded without a metronome. Ramps may also be used as a compositional tool, but more on this later. Note that a ramp requires two points—a start and an end tempo. The first tempo in a new session is ramped, but appears to be constant as it has no tempo to ramp to. It is only when a new tempo is added and one of them is adjusted that a ramp will be heard. The same applies to the last tempo in the session—it will always appear to be constant until a new last tempo is added and changed. .. figure:: /images/constant-tempo.png :alt: A series of constant tempo markers. The tempo at the playhead position is the same as the previous tempo. A series of constant tempo markers. The tempo at the playhead position is the same as the previous tempo. .. figure:: /images/ramped-tempo.png :alt: A ramped tempo marker. The tempo at the playhead position is approaching the second tempo. Because the playhead is equidistant (in beats) between the two markers, the tempo at the playhead is the average of the two. A ramped tempo marker. The tempo at the playhead position is approaching the second tempo. Because the playhead is equidistant (in beats) between the two markers, the tempo at the playhead is the average of the two. To add a new tempo, use the primary modifier and click on the tempo line at the desired position. The new tempo will be the same as the tempo at the position of the mouse click (it will not change the shape of the ramp). To copy a tempo, hold down the primary modifier and drag the tempo to be copied. Meter ----- Meter positions beats using the musical pulse of a tempo, and groups them into bars using its number of divisions per bar. The first meter in a new session may be moved freely. It has an associated tempo which cannot be dragged by itself (although all others can). It can be moved freely and is locked to audio. New meters are locked to music. They may only occur on a bar line if music locked. An audio locked meter provides a way to cope with musical passages which have no meter (rubato, pause), or to allow a film composer to insert a break in music which cannot be counted in beats. If a meter is audio-locked, its bar number is fixed from the point at which it left the main score. That bar number cannot be changed, nor can tempo motion allow the previous bar to overlap. If another bar is needed, lock the meter to music again (right click->"Lock to Music"), drag the meter to the desired bar and re-lock to audio. The new bar can be freely dragged again. - To change a meter, double click it. A dialog will appear. - To copy a meter, hold down and drag it. 67.2 - Techniques for Working with Tempo and Meter ================================================== Matching a recorded tempo with a tempo ramp ------------------------------------------- .. figure:: /images/tempo-ramp_1.png :alt: Initial state. :figclass: mini Initial state. As a general approach, the best way to control tempo ramps is to use them in pairs. One typical use of tempo ramps is to match the click to a drum performance recorded in 'free time', like in the (admittedly bad) 4/4 example on the left. Step 1 : First meter ~~~~~~~~~~~~~~~~~~~~ .. figure:: /images/tempo-ramp_2.png :alt: Placing the first meter :figclass: mini Placing the first meter The first thing needed is determining where the first beat is in the recording and left dragging the first meter to that position. Step 2 : Locating the *n*\ th bar ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. figure:: /images/tempo-ramp_3.png :alt: Locating a known beat :figclass: mini Locating a known beat Now the first click will be in time with the first beat. By listening to the recorded drums, the position of bar *n* (here, 9th beat, 3rd bar) is visually located (the playhead may be moved to this location to "pin" it). Step 3 : Aligning the ruler with the tempo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. figure:: /images/tempo-ramp_4.png :alt: Matching the tempi :figclass: mini Matching the tempi Holding the constraint modifier ( by default), the third bar marker in the BBT ruler is dragged at the position of the third bar in the recording (where the playhead is located). This drag can be done either in the Meter or in the Tempo rulers. The tempo (on the first and only tempo marker) reflects the new value based on this change. The click now matches the first 8 beats, but after that it can wander off, which will be reflected in the tempo lines thet won't quite match the drum hits. Step 4 : Placing a new tempo marker ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. figure:: /images/tempo-ramp_5.png :alt: Creating a tempo marker :figclass: mini Creating a tempo marker A new tempo marker is placed on the last position where the click matches the recorded audio, by -clicking the Tempo ruler. This will "anchor" the value of the tempo at that position. Step 5 : Placing another tempo marker at the *n*\ th beat ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. figure:: /images/tempo-ramp_6.png :alt: Placing another marker :figclass: mini Placing another marker Another tempo marker is placed *n* beats after the previous marker (here, 4 beats, 1 bar). Step 6 : Changing the tempo to a new value ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. figure:: /images/tempo-ramp_7.png :alt: Adjusting the tempo :figclass: mini Adjusting the tempo Now, -dragging any beat **after** the second new tempo marker will allow to align the drum audio and tempo after the second marker. Step 7 : Ramping the tempo change ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. figure:: /images/tempo-ramp_8.png :alt: Ramping the change :figclass: mini Ramping the change Although it may be unnecessary in some cases where the tempo changes abruptly, most of the time, the tempo change is progressive in time, like an instrumentist drifting in tempo. In those cases, the tempo change should be progressive too, and Ardour allows that by ramping the tempo change. right clicking the first tempo marker, a menu appears, allowing to Ramp to Next. This will make the tempo between the two markers linearly change from the first marker's value to the second's. Again, some time later the click will probably drift again, so the same technique has to be repeated: adding two new tempos and dragging the BBT ruler **after** the newest tempo so that the beats align with the audio again. In a general sense, adding tempo markers in pairs allows to 'pin' the tempo at the marker's location while moving further to the right. Other use cases --------------- Audio locked meters can be useful when composing, as they allow a continuous piece of music to be worked on in isolated segments, preventing the listening fatigue of a fixed form. Reassembly is left as an excercise for the reader. Tempo ramps can also be used in a video context, e.g. for an accelerando, by snapping to TC frames and dragging the ruler so that a bar ends up on a significant video frame. .. _mixing: Part IX - Mixing ================ 68 - Basic Mixing ================= 68.1 - Metering in Ardour ========================= Introduction ------------ An engineer reading and using audio level meters compares to a musician reading or writing sheet-music. Just like there are virtuoso musicians who can't read a single note, there are great sound-engineers who just go by their ears and produce great mixes and masters without ever looking at a single meter. Yet, in order to work in or with the broadcast industry, it is usually unavoidable to use meters. Audio level meters are very powerful tools that are useful in every part of the entire production chain: - When tracking, meters are used to ensure that the input signal does not overload and maintains reasonable headroom. - Meters offer a quick visual indication of an activity when working with a large number of tracks. - During mixing, meters provide an rough estimate of the loudness of each track. - At the mastering stage, meters are used to check compliance with upstream level and loudness standards and to optimize the loudness range for a given medium. Meter Types ----------- A general treatise on metering is beyond the scope of this manual. It is a complex subject with a history… For background information and further reading we recommend: - `How To Make Better Recordings in the 21st Century—An Integrated Approach to Metering, Monitoring, and Leveling Practices `__ by Bob Katz. Has a good historic overview of meters and motivates the K-meter - `Wikipedia: Peak programme meter `__—overview of meter types. - "Audio Metering: Measurements, Standards and Practice: Measurements, Standards and Practice", by Eddy Brixen. ISBN: 0240814673 - "Art of Digital Audio", by John Watkinson. ISBN: 0240515870 There are different metering standards, most of which are available in Ardour. In short: +-----------------------------------+-----------------------------------+ | Digital peak-meter | A Digital Peak Meter displays the | | | absolute maximum signal of the | | | raw audio PCM signal (for a given | | | time). It is commonly used when | | | tracking to make sure the | | | recorded audio never clips. To | | | that end, DPMs are always | | | calibrated to 0 dBFS, or the | | | maximum level that can be | | | represented digitally in a given | | | system. This value has no musical | | | reason whatsoever and depends | | | only on the properties of the | | | signal chain or target medium. | | | There are conventions for | | | fall-off-time and peak-hold, but | | | no exact specifications. | | | Various conventions for DPM | | | fall-off times and dBFS line-up | | | level can be chosen in Edit > | | | Preferences > Metering. | +-----------------------------------+-----------------------------------+ | RMS meters | An RMS-type meter is an averaging | | | meter that looks at the energy in | | | the signal. It provides a general | | | indication of loudness as | | | perceived by humans. Ardour | | | features three RMS meters, all of | | | which offer additional peak | | | indication. | | | | | | - K20: A meter according to the | | | K-system introduced by Bob | | | Katz, scale aligned to | | | -20 dBFS, rise/fall times and | | | color schema according to | | | spec. | | | - K14: Same as K20 with scale | | | aligned to -14 dBFS. | | | - K12: Same as K20 with scale | | | aligned to -12 dBFS (since | | | 3.5.143). | | | - Peak + RMS: standard RMS, | | | customizable via Edit > | | | Preferences > Metering | +-----------------------------------+-----------------------------------+ | IEC PPMs | IEC-type PPMs are a mix between | | | DPMs and RMS meters, created | | | mainly for the purpose of | | | interoperability. Many national | | | and institutional varieties exist | | | (EBU, BBC, DIN). | | | These loudness and metering | | | standards provide a common point | | | of reference which is used by | | | broadcasters in particular so | | | that the interchange of material | | | is uniform across their sphere of | | | influence, regardless of the | | | equipment used to play it back. | | | | | | For home recording, there is no | | | real need for this level of | | | interoperability, and these | | | meters are only strictly required | | | when working in or with the | | | broadcast industry. However, | | | IEC-type meters have certain | | | characteristics (rise-time, | | | ballistics) that make them useful | | | outside the context of broadcast. | | | | | | Their specification is very | | | exact, and consequently, there | | | are no customizable parameters. | +-----------------------------------+-----------------------------------+ | VU meters | VU meters are the dinosaurs | | | (1939) amongst the meters. They | | | react very slowly, averaging out | | | peaks. Their specification is | | | very strict (300ms rise-time, | | | 1–1.5% overshoot, flat frequency | | | response). Ardour's VU meter | | | adheres to that spec, but for | | | visual consistency it is | | | displayed as a bar-graph rather | | | than needle-style (more below). | +-----------------------------------+-----------------------------------+ Ardour Specifics ---------------- .. figure:: /images/mixer-meter-context-menu.png :alt: Mixer strip meter context menu Mixer strip meter context menu Meters are available in various places in Ardour: - The mixer window features fixed height meters for each channel strip. - There are small (narrow) meters on each track-header in the editor window. - There are variable height meters in the meterbridge window. - Optionally, a fixed-size master meter can be displayed in the main toolbar. - Various other locations (file import, sends) have level-meters. They all share the same configuration and color-theme which is available in preferences and the theme-manager. Settings for the Peak and RMS+Peak meters as well as VU meter standards are found in Edit > Preferences > Metering. The type of meter and the metering point (the place in the signal chain where the meter taps the signal) are configurable in the context menu of each meter. Depending on the Edit > Preferences > Mixer settings, the metering point is also accessible via a button in each Mixer strip. Regardless of meter type and standard the meter display will highlight red if the signal on the given channel exceeds the configured peak threshold. | Left clicking on the peak-indicator button resets the peak-hold indicator of a single channel. | Left clicking resets a whole group, and | Left clicking resets all meters. Overview of meter types ----------------------- .. figure:: /images/meter-types-18.png :alt: Bar-graph meters in Ardour :figclass: mini Bar-graph meters in Ardour .. figure:: /images/needle-meters-18.png :alt: Needle-style meters as external LV2 plugins :figclass: mini Needle-style meters as external LV2 plugins The figure on the left shows all available meter-types in Ardour when fed with a -18 dBFS 1 kHz sine wave. Due to layout concerns and consistent look and feel all meters available in Ardour itself are bar-graph type meters. Corresponding needle-style meters—which take up more visual screen space—are available as LV2 plugins (see image on the right): `meters.lv2 `__. 68.2 - Signal Routing ===================== Ardour does most of its internal signal routing via JACK: all track and bus inputs and outputs are JACK ports, as are sends and inserts, which means they can be tapped into by other JACK clients. Only the signal flow inside a track or bus (i.e. from `processor to processor <#processor-box>`__) is handled internally. By default, Ardour will automatically create the following connections: - Track inputs are optionally auto-connected to hardware inputs, in round robin order, depending on the setting chosen in the `Session > New Session dialog <#newopen-session-dialog>`__. - Bus inputs are left disconnected. - The number of track and bus outputs are equal to the number of inputs of the master bus. - Track and bus outputs are always auto-connected to the master bus inputs. - Master bus outputs are connected to hardware outputs. This configuration is sufficient to do basic tracking and playback of many sessions without any adjustment by the user. Changing these connections is generally not necessary and often leads to problems. However, for many workflows during mixing, more complicated signal routing is required. Ardour offers many possibilities for connecting things to fit any particular workflow. 68.3 - Aux Sends ================ Auxiliary sends are simple `processors <#processor-box>`__ in a bus or track channel strip. They tap the signal at a specific point in the signal flow (pre-fader, post-fader, before or after EQs and other plugins, etc.) and send a copy of that signal to a bus, without affecting the normal signal flow downwards to the channel fader. Aux sends from several tracks are collectively sent to a bus in Ardour, to create a monitor mix for a musician, or to feed an effect unit. A bus used in this way is considered an auxiliary bus or Aux bus even though it is the same as any other bus. The output of such a bus might be routed to separate hardware outputs (in the case of headphone or monitor wedge mixes), or returned to the main mix (in the case of an effect). Aux sends are not JACK ports, `External Sends <#external-sends>`__ should be used to send audio to Jack ports. External Sends can send the tapped signal somewhere else directly, which is not usually possible on hardware mixers. It may be useful to `compare and contrast <#comparing-aux-sends-and-subgroups>`__ the use of aux sends with `subgrouping <#subgrouping>`__. Adding a new aux bus -------------------- New busses can be created using the Session > Add Track, Bus or VCA… menu, and selecting Audio Busses in the Template/Type selector on the left of the Add Track/Bus/VCA dialog. Adding a send to an aux bus --------------------------- Context-clicking on the processor box for the track to send to the bus, and choosing New Aux Send … shows a submenu, listing the busses. Choosing one bus will add a send (which will be visible in the processor box). Note that if the only existing bus is the Master Bus, the menu will be grayed out. Pre-fader and Post-fader Aux Sends ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Depending on whether the context-click happened 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 amount of effect is always proportional to the main mix fader. - Pre-fader sends ensure that the level sent to the bus is controlled *only* by the send, not the main fader—this is typical when constructing headphone and monitor wedge mixes. The color of the processor will reflect this pre/post position (red for Pre, green for Post). Dragging and dropping the send inside the processor box before or after the Fader processor changes the type of fader accordingly. Adding a new aux bus and sending a Track Group to it ---------------------------------------------------- All members of a group can be sent to a new aux bus at once with a single click. After creating the `track group <#track-and-bus-groups>`__ (and adding tracks to it), context-clicking on the group tab allows to 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 this aux bus. Altering Send Levels -------------------- The amount of the signal received by a send that it delivers to the bus it connects to can be altered in two ways: Using the Send Fader ~~~~~~~~~~~~~~~~~~~~ Every send processor 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 a very fine control over the send level is required. Map Aux Sends To Main Faders ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In Mixer mode, pressing the button marked Aux on a aux bus will alter the channel strip for every track or 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. Clicking the Aux button of the aux bus again reverts the channel strips to their normal use. Disabling Sends --------------- 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 to the aux bus by this track. When enabled, the signal arriving at the send will be delivered to the aux bus. Send Panning ------------ Send panners can be configured to either be independent of the main panner, or to follow it. The latter could be useful for Reverb effects, or for in-ear monitor mixes delivered in stereo. 68.4 - Comparing Aux Sends and Subgroups ======================================== Auxes and Subgroups share a common concept—they both provide a way for one 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. Aux sends leave the existing signal routing to the main mix in place, and are typically used to create a separate mix to send to (for example) monitors or headphones (for performer monitor mixes): .. figure:: /images/aux_routing.png :alt: Aux signal routing :width: 300px Aux signal routing Subgroups usually remove the original signal routing to the main mix and replace it with a new one that delivers the output of the subgroup bus to the main mix instead. .. figure:: /images/subgroup_routes.png :alt: Sub group signal routing :width: 300px Sub group signal routing 68.5 - External Sends ===================== Like a normal aux send, an external send taps the signal at a specific point within a channel strip, but delivers it to an external application or piece of hardware rather than an Ardour bus. 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 to experiment with external applications or hardware signal processing applications. Adding an External Send ----------------------- Context-clicking on the `processor box <#processor-box>`__ in a channel strip (at the desired location, pre or post fader) and choosing Add new External Send will show a dialog containing the standard Ardour `patchbay <#patchbay>`__ to allow to connect the send to the desired destination. Removing an External Send ------------------------- An external send can be removed in several ways: - Right-clicking the send in the processor box and choosing either Cut or Delete. - Selecting the send (with a single left click) and pressing the Del key. .. _altering-send-levels-1: Altering Send Levels -------------------- 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. Dragging it alters the level, Shift-click restores to unity (0dB) gain. .. _disabling-sends-1: Disabling Sends --------------- Clicking the small LED in the send display within the processor box turns 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. Editing Send Routing -------------------- Double-clicking on the send in the processor box will re-display the patchbay dialog that gives full control over the routing of the send. 68.6 - Inserts ============== | Inserts are signal tap points that can be placed anywhere inside a channel strip. Unlike Auxes, they will interrupt the signal flow, feeding the signal from before the insert point to its Insert send(s), and connecting the remainder of the channel strip to the Insert return(s), both of which are JACK ports which are visible to other JACK applications. | Inserts are the JACK equivalents of normalized switching jacks on an analog console. An insert allows to either use a special external DSP JACK application that is not available as a plugin, or to splice an external analog piece of gear into a channel strip, such as a vintage compressor, tube equalizer, etc. In the latter case, the inserts would first be connected to a pair of hardware ports, which are in turn connected to the outboard gear. Disabling (bypassing) an insert is done by clicking on its LED in the processor box. When an insert is created, the signal will be interrupted until the relevant connections to the insert ports are made! Inserts will incur an additional JACK period of latency, which can be measured and compensated for during mixing, but not during tracking! 68.7 - Subgrouping ================== Subgrouping (sometimes known as "Grouping" or "Audio Grouping") is a way to collect related signals together to apply some common treatment, before sending them on to the main mix. One standard application is to group several tracks belonging to the same instrument or section (such as a drum kit or horn section), to be able to adjust their volume with a single fader, after their inner balance has been set using the track faders. Ardour also provides `VCAs <#control-masters-mixer-strips>`__ that is a very flexible way to adjust the volume of a group of tracks/busses when no additionnal processing is needed. Create a subgroup from an existing Track/Bus group is done by right-clicking on the relevant `group tab <#the-track-and-bus-group-list>`__, and choosing 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 manual connections have been selected in the session preferences. The bus will be named after the track group name. Alternatively, a group can be created manually, by first adding a new bus, then, for each track to be fed in the subgroup bus, disconnecting its outputs from the master and connecting it to the inputs of the subgroup bus instead. This can be done in the global audio patchbay or on a track by track basis via the output button of each track's channel strip. Remove a subgroup (bus) is done by right -clicking on the track group tab, and selecting Remove subgroup bus. Simply deleting the bus itself 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 disconnected. 68.8 - Patchbay =============== .. figure:: /images/connection-manager.png :alt: An example patchbay An example patchbay The patchbay is the main way to make connections to, from and within Ardour's mixer. Notable exceptions are internal aux sends and connections to the monitor bus (when 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: +-----------------------------------+-----------------------------------+ | Hardware | These are ports which are | | | connected to a physical piece of | | | hardware (a sound card or MIDI | | | interface). | +-----------------------------------+-----------------------------------+ | Ardour Busses | All ports belonging to busses. | +-----------------------------------+-----------------------------------+ | Ardour Tracks | All ports belonging to tracks. | +-----------------------------------+-----------------------------------+ | Ardour Misc | These are other ports that do not | | | fit into the previous two | | | categories; for example, the | | | ports on which the metronome | | | click is output, and MIDI ports | | | for things like control surfaces | | | and timecode. | +-----------------------------------+-----------------------------------+ | Other | If there are other JACK clients | | | running, their ports will be | | | found here. If there are no such | | | ports, the tab will not exist (on | | | one or both axes of the grid). | +-----------------------------------+-----------------------------------+ The main part of the patchbay is a matrix grid. Within this grid, green dots represent connections, and any of the squares can be clicked on to make or break connections. Clicking and dragging draws 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 Fred and Jim are connected to the master bus, left to left and right to right. Variants on the Patchbay ------------------------ Slightly different versions of the patchbay are available from different places in Ardour. A global view of all JACK audio connections is available, in Window > Audio Connections, or by pressing P. A corresponding MIDI Connection Manager can be opened using 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. Other patchbay features ----------------------- right-clicking on a port name in the connection manager opens a context menu which provides a few handy options: +-----------------------------------+-----------------------------------+ | Add audio port | These options add audio or MIDI | | and | ports to the clicked source, if | | Add MIDI port | this is possible. In this way, | | | for example, tracks and busses | | | can be extended to have more | | | inputs or outputs. | +-----------------------------------+-----------------------------------+ | Remove *port_name* | Removes the given port, if | | | possible. Right-clicking a port | | | will do the same. | +-----------------------------------+-----------------------------------+ | Disconnect all from *port_name* | Disconnects everything from the | | | given port. | +-----------------------------------+-----------------------------------+ | Rescan | Ardour will try to keep abreast | | | of any changes to the JACK ports | | | on the system, and reflect them | | | in any connection managers which | | | are open. If for some reason this | | | fails, this can be used to | | | re-scan the list of ports and | | | update the manager. | +-----------------------------------+-----------------------------------+ | Show individual ports | If a session has lots of | | | multi-channel tracks or busses, | | | it may be an unnecessary detail | | | that left has to be connected to | | | left and right to right every | | | time a connection is made. This | | | obviously gets worse with higher | | | channel counts (such as for 5.1 | | | or Ambisonics). To make life | | | easier with such sessions, Show | | | individual ports can be unticked. | | | After that, the channels of | | | tracks and busses will be hidden, | | | and any green dots added in the | | | connection manager will | | | automatically connect each | | | channel of the source to the | | | corresponding channel of the | | | destination (left to left, right | | | to right and so on). In this | | | mode, a half-circle in the | | | connection grid indicates that | | | some (but not all) of the | | | source's ports are connected to | | | the destination. | +-----------------------------------+-----------------------------------+ | Flip | This will flip the visible ports | | | on the vertical axis with those | | | on the horizontal. If, for | | | example, the top of the | | | connection manager is showing | | | Ardour Busses and the right is | | | showing Hardware, flip will swap | | | the view to the opposite. | | | Flipping can also be done by | | | pressing f. Note that if there | | | are no matching tabs on both | | | axes, flipping will be | | | impossible. | +-----------------------------------+-----------------------------------+ 68.9 - Track/Bus Signal Flow ============================ Overview -------- .. figure:: /images/track_signal_routing.png :alt: Typical signal routing in a channel strip. Typical signal routing in a channel strip. In each individual Track or Bus the signal flow is top to bottom, as shown in the diagram on the right. Trim, Fader and Panner are provided by Ardour. The Processor Box can hold third party plugins or host-provided redirects (insert, aux-send, etc.). An important aspect is that the signal flow is multi-channel and not fixed throughout the track. For example, a track can have a mono input, a mono to stereo plugin (e.g. reverb) flowing into a surround panner with 6 outputs. The design of Ardour is that the width of the signal flow is defined by the passage through plugins in the processor box, followed by panning. The number of inputs to the panner is defined by the number of outputs of the last plugin in the chain. The number of panner outputs is equal to the track's outputs ports, which can be added and removed dynamically. This schema is called *Flexible I/O*. It is very powerful and a distinctive feature of Ardour. The golden rule of processor signal flow: The number of outputs of one link of the process chain defines the number of inputs of the next, until the panner. Due to this rule there is one very common case that is hard to achieve: keeping a mono track mono. With *Flexible I/O*, if a stereo plugin is added on a mono track, the signal flow after that plugin becomes stereo. Strict I/O ---------- Strict I/O enforces a simple rule: plugins have the same number of inputs as they have outputs. By induction the track will have as many output ports as there are input ports. Adding a plugin will not modify the signal flow. The number of plugin outputs is forced to the number of inputs present at the point of insertion. If a plugin pin is missing, it is ignored. If a plugin pin is not connected, it is fed with silence. Non-connected plugin outputs are ignored. Strict I/O enforces the number of output ports. The number of inputs to the panner (outputs of last plugin) defines the number of track outputs (after panner). Required ports are automatically added, excess ports are removed. The user cannot manually add or remove output ports. Strict I/O is set when creating the track and can later be enabled or disabled dynamically in the context menu of every mixer strip. .. figure:: /images/strict_io_routing.png :alt: Flexible vs. Strict I/O. Flexible vs. Strict I/O. There are two exceptions to the above rule: - Midi Synths. When adding a synth at a point where there is a Midi port only, the synthesizer plugin will add audio output ports, which trickle down the processor chain to all follow up plugins as inputs and in turn force their outputs to match - Side chain inputs are not affected by Strict I/O Customizing the Signal Flow: The Pin Connection window ------------------------------------------------------ The signal flow though the mixer can be customized at every processor node via Pin Configuration in the context menu of every processor. User customization overrides all automatic (Flexible and Strict I/O mode) inferred output port settings. The Pin Connection window is made of three vertical sections: - an I/O config column - an interactive diagram - a sidechain column By default, the I/O config is set to *Automatic*, i.e. the Manual Config LED light is turned off. In this mode, the diagram will display the standard input/outputs for this plugin, i.e. the number of ports (inputs & outputs) is equal to the number of pins on the plugin, and a one-to-one connection is automatically created. Adding new instances of the plugin allows to apply this plugin to more inputs or outputs. E.g., a mono effect can be applied to each channel of a *n*-channels track by adding as many instances of the plugins as there are input channels (i.e. ports). This happens automatically when adding, e.g., a mono effect to a stereo track: - Ardour creates two instances of the plugin - the plugin gets a (2x1) label in the processor box - its two input ports are each connected to one pin of an instance - each mono output pin of the plugin is connected to one output port Output channels can also, in Manual Config mode, be added or removed, whether they are audio or MIDI. Using the Pin Connection overrides the I/O config setting (Flexible vs. Strict). A processor *can*, even in Strict I/O mode, have a different number of outputs than inputs. Non-customized plugins downstream will follow suit depending on the selected route mode. e.g. adding an additional output to a plugin on a track set to Strict I/O will trickle down the process chain to the output and result in the addition of an output port. This is useful for example in case of a mono to stereo reverb. The window allows connection of the I/O ports to the plugin pins and other I/O ports, provided they are compatible (MIDI vs. audio), just by dragging and dropping the end connectors on top of one another. A dotted connector's line is a "*thru*" line that directly connects an input to an output without connecting to a pin on the plugin—hence without any audio modification. These "thru" connections are latency compensated, with respect to those being affected by the plugin, in order to avoid phasing issues. An example of using "thru" connections, shown below, is separate left/right channel equalization using two mono plugins on a stereo track: .. figure:: /images/left_right_eq.png :alt: An example of using two mono plugins on a stereo track. An example of using two mono plugins on a stereo track. The only way to add inputs to a processor is via `Sidechaining <#sidechaining>`__ from another signal. This is done by "tapping" the signal from another track or bus at any point. Adding a sidechain signal in Ardour is as simple as enabling the Side Chain button in the Pin Configuration window, and choosing an Audio or MIDI sidechain in the Add Sidechain Input lower right hand section. A new drop-down menu appears, which displays a list of the tracks/busses available to be sidechained, or, for a more complex setup (e.g. sidechaining from hardware directly), the `Routing Grid <#patchbay>`__ (also accessible with a Right-click on the drop-down menu). The sidechain ports can then be connected, as other inputs, to a pin of the plugin, or an output port as a "thru". 68.10 - Sidechaining ==================== Dynamic Processors—such as compressors—in general use the the original input signal for analysis and operate on the same signal. Side-chaining uses the signal level of *another input* to control the compression level of the original signal. Effect Processors which have a side-chain input (sometimes also called *key input*) have an additional input pin to receive a signal from an external input. In Ardour that extra input can be connected in the plugin's Pin Configuration dialog: the signal from one track can be tapped off and used as an input to a plugin on a different track. This dialog is accessed via the plugin's context-menu > Pin Connections…. In case a plugin has a dedicated sidechain input, Ardour automatically creates a port for the input. This is a normal I/O port which can be fed by any external signal. The Pin Configuration dialog is not limited to processors with a dedicated sidechain input, it also allows to manually create (or remove) a sidechain input port and provides for flexible connection of the signal to plugin pins. The operational flow in the Ardour GUI starts at the processor which is to receive the signal: a sidechain source is selected, and Ardour creates a dedicated send-processor in the source processor box, the level of which can be adjusted either in the Pin Configuration window or directly on the source's send. A simple example: Sidechain compression --------------------------------------- One example is the use of a bass drum track to trigger the compression on a bass track. The sidechain compressor (a-Compressor) will be placed on the bass track, and will need to receive the signal from the bass drum track as a way to trigger the compression. .. figure:: /images/sc-comp-pin.png :alt: A sidechain compression: Pin configuration, mixer view and editor view. A sidechain compression: Pin configuration, mixer view and editor view. Here, on the bass track, an *a-Compressor* has been added, and the Drum track has been set as the sidechain source. The mixer reflects this by showing an *SC*-send processor in the drum track, very similar to a `send <#aux-sends>`__. The bass track also shows an arrow as one of the a-compressor input. As a result, in the editor, each peak in the kick drum track triggers the compression on the bass track and the resulting track shows the compression kicking in on each kick drum peak, hence reducing the gain. The compression is applied to the bass, but only based on the level of the drum track. This is commonly used for *ducking* effect, when e.g. a radio speaker's voice triggers the compression on the audio playing. MIDI Sidechaining ----------------- Ardour allows the sidechain sources to be either audio or MIDI tracks/busses. This is particularly useful when a MIDI signal is used to control an audio effect, like a vocoder or an auto-tuner, like `fat1 `__, the LV2 port of Fons Adriaensen's `Zita AT1 `__ by Robin Gareus: .. figure:: /images/pin-connection-autotune.png :alt: MIDI sidechaining example: fat1.lv2. MIDI sidechaining example: fat1.lv2. Here, the MIDI track is inputted to the plugin's MIDI IN pin through a sidechain, indicating to the plugin what note the source audio should be corrected to. Notice that in the example above, the output of the "Vocals" track is connected to the input of the "Corrected" track. We could have chosen to insert the "Vocals" track content as an audio sidechain too, totally disconnecting the input from the plugin, and connecting the plugin's input pin to the audio sidechain port. Pre-processing the sidechained signal ------------------------------------- Sometimes, the effects of a sidechain signal on a plugin can be enhanced by pre-processing the signal. In the first example above, if the entire drum part is on one track, then compressing with this signal as a sidechain will result in every peak triggering the compression, be they bass drum kicks or snare, cymbals, etc. In this case, adding an EQ to the drum track with a low pass filter would filter out the peaks created by the high pitched instruments of the drum kit, and allow for a better triggering, though to avoid damaging the original drum track, a send to an intermediary track would be better suited to place the EQ on. This track won't be connected to the Master, as its content is of no musical interest except for its use as a trigger, allowing for some extreme EQ. 68.11 - Muting and Soloing ========================== 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, to suit different studio set-ups. Without a monitor bus --------------------- When using Ardour without a monitor bus, there is only one way in which mute and solo will work: - Mute on a track or bus will mute that track on the master bus, so that it will not be heard. - Solo on a track or bus will solo that track or bus and mute all others. Soloing a bus will also solo any tracks or busses which feed that bus. With a monitor bus ------------------ For setups with a monitor bus, more options are available, mostly governed by the setting of the Solo controls are Listen controls option in Edit > Preferences > Mixer. 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, 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 to reflect this. Now, without any mute or listen, the monitor bus remains fed by the master bus. Also: - Mute will mute the track or bus, so that it will not be heard anywhere (neither on the master nor monitor busses), much as before. - Listen will disconnect the monitor bus from the master bus, so that the monitor bus now only receives things that are "listened to". Listen will not perform any muting, and hence the master bus will not be affected by a listened track or bus. When solo controls are listen controls, the listening point can be set to either After-Fade Listen (AFL) or Pre-Fade Listen (PFL). 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: .. figure:: /images/solo-mute.png :alt: Mute/solo signal flow Mute/solo signal flow 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 than listen), the monitor out is fed from the master bus. Other solo options ------------------ Edit > Preferences > Mixer has some more solo options: Solo-in-place mute cut ~~~~~~~~~~~~~~~~~~~~~~ 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 is desired. Exclusive solo ~~~~~~~~~~~~~~ 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. Show solo muting ~~~~~~~~~~~~~~~~ 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 it is recommended to leave it that way unless extremely comfortable with Ardour's mute/solo behaviour. Soloing overrides muting ~~~~~~~~~~~~~~~~~~~~~~~~ If this is enabled, a track or bus that is both soloed and muted will behave as if it is soloed. Mute affects… ~~~~~~~~~~~~~ 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. 68.12 - Panning =============== Panning is the process of distributing one or more signals across a series of outputs so that the listener will have the experience of them coming from a particular point or area of the overall listening field. It is used to create a sense of space and/or a sense of motion in an audio mix. Different signals can be spread out across the space, and moved over time. Types of Panners ---------------- The way a panner works depends a great deal on how many signals it is going to process and how many outputs it will send them to. The simplest case is distributing a single signal to 2 outputs, which is the common case when using a "mono" track and a stereo speaker setup. But panning in Ardour could theoretically involve distributing any number of signals to any number of outputs. In reality, Ardour does not have specific panners for each different situation. Currently, it has dedicated panners for the following situations: - 1 signal distributed to 2 outputs (the `mono panner <#mono-panner>`__) - 2 signals distributed to 2 outputs (the `stereo panner <#stereo-panner>`__) - N signals distributed to M outputs (the `VBAP panner <#vbap-panner>`__) Even for each of these cases, there are many different ways to implement panning. Ardour currently offers just one solution to each of these situations, but in the future will offer more. In addition to the panners, Ardour has a balance control for subtle corrections to existing stereo images. 68.13 - Mono Panner =================== The default mono panner distributes 1 input to 2 outputs. Its behaviour is controlled by a single parameter, the position. By default, the panner is centered. Mono Panner User Interface -------------------------- .. figure:: /images/mono-panner.png :alt: The mono panner The mono panner The mono panner looks quite similar to the `stereo panner <#stereo-panner>`__ interface. The difference is that the L/R labels in the lower half of the mono panner do not move because there is no "width" to control. On the adjacent picture, the panner is centered, as shown by the central position of the slider, called position indicator. .. _using-the-mouse-1: Using the mouse --------------- To change the position smoothly, press the right button and drag anywhere within the panner. *Note: grabbing the position indicator is not needed in order to drag.* +-----------------------------------+-----------------------------------+ | Reset to defaults | Click right | +-----------------------------------+-----------------------------------+ | Change to a "hard left" | Double click right in the left | | | side of the panner | +-----------------------------------+-----------------------------------+ | Change to a "hard right" | Double click right in the right | | | side of the panner | +-----------------------------------+-----------------------------------+ | Set the position to center | Double Click right in the middle | | | of the panner | +-----------------------------------+-----------------------------------+ Keyboard bindings ----------------- When the pointer is within a mono panner user interface, the following keybindings are available to operate on that panner: +-------+------------------------------------+ | ← / ← | move position 1° / 5° to the left | +-------+------------------------------------+ | → / → | move position 1° / 5° to the right | +-------+------------------------------------+ | 0 | reset position to center | +-------+------------------------------------+ Using the scroll wheel/touch scroll ----------------------------------- When the pointer is within a mono panner user interface, the scroll wheel may be used as follows: +--------+----------------------------------+ | ⇑ or ⇐ | move position to the left by 1° | +--------+----------------------------------+ | ⇑ or ⇐ | move position to the left by 5° | +--------+----------------------------------+ | ⇓ or ⇒ | move position to the right by 1° | +--------+----------------------------------+ | ⇓ or ⇒ | move position to the right by 5° | +--------+----------------------------------+ 68.14 - Balance Control ======================= For stereo tracks, it is possible to switch between the default stereo panner and a traditional balance control by right-clicking on the panner widget. .. figure:: /images/stereo-balance.png :alt: Stereo Balance control Stereo Balance control When the balance is centered, the incoming signals will be unaffected. Moving it to one side will linearly attenuate the signal of the opposite side. While the balance control is considerably less flexible than the stereo panner, it works with arbitrary content without danger of introducing comb filter artefacts. 68.15 - Stereo Panner ===================== The default stereo panner distributes two inputs to two outputs. Its behaviour is controlled by two parameters, width and position. By default, the panner is centered at full width. The stereo panner assumes that the signals to distribute are either uncorrelated (i.e. totally independent), or that they contain a stereo image which is mono-compatible, such as a co-incident microphone recording, or a sound stage that has been created with pan pots.\ `\* <#caveat>`__ With the default values it is not possible to alter the position, since the width is already spread entirely across both outputs. To alter the position, the width must first be reduced. Stereo Panner User Interface ---------------------------- .. figure:: /images/stereo-panner.png :alt: The Stereo Panner The Stereo Panner The panner user interface consists of three elements, divided between the top and bottom half. Clicking and/or dragging in the top half controls position; clicking and/or dragging in the bottom half controls width (see below for details). In the top half is the position indicator, which shows where the center of the stereo image is relative to the left and right edges. When this is the middle of the panner, the stereo image is centered between the left and right outputs. When it all the way to the left, the stereo image collapses to just the left speaker. In the bottom half are two signal indicators, one marked L and the other R. The distance between these two shows the width of the stereo image. If the width is reduced to zero, there will only be a single signal indicator marked M (for mono), whose color will change to indicate this special state. It is possible to invert the outputs (see below) so that whatever would have gone to the right channel goes to the left and vice versa. When this happens, the entire movable part of the panner changes color to indicate clearly that this is the case. Position vs. L/R ~~~~~~~~~~~~~~~~ Although the implementation of the panner uses the "position" parameter, when the user interface displays it numerically, it shows a pair of numbers that will be familiar to most audio engineers. +-----------------------+-----------------------+-----------------------+ | Position | L/R | English | +=======================+=======================+=======================+ | 0 | L=50% R=50% | signal image is | | | | midway between left | | | | and right speakers | +-----------------------+-----------------------+-----------------------+ | -1 | L=100% R=0% | signal image is | | | | entirely at the left | | | | speaker | +-----------------------+-----------------------+-----------------------+ | 1 | L=0% R=100% | signal image is | | | | entirely at the right | | | | speaker | +-----------------------+-----------------------+-----------------------+ One way to remember this sort of convention is that the middle of the USA is not Kansas, but "Los Angeles: 50% New York: 50%". Examples In Use ~~~~~~~~~~~~~~~ +------------+------------------------------------+ | Appearance | Settings | +============+====================================+ | |image0| | Width=100%, L=50 R=50 | +------------+------------------------------------+ | |image1| | Width=0%, L=50 R=50 | +------------+------------------------------------+ | |image2| | Width=-100%, Position = 0 (center) | +------------+------------------------------------+ | |image3| | Width=36%, L=44 R=56 | +------------+------------------------------------+ | |image4| | Width=0%, L=0 R=100 | +------------+------------------------------------+ .. _using-the-mouse-2: Using the mouse ^^^^^^^^^^^^^^^ Mouse operations in the upper half of the panner adjust the position parameter, constrained by the current width setting. Mouse operations in the lower half of the panner adjust the width parameter, constrained by the current position setting. The position can be changed smoothly, by pressing the right button and dragging within the top half of the panner, then releasing. The position will be limited by the current width setting. *Note: it is not necessary to grab the position indicator in order to drag.* The width can also be changed smoothly, by pressing the right button and dragging within the lower half of the panner, then releasing. The width will be limited by the current position setting. *Note: it is not necessary to grab the L/R indicators in order to drag.* +-----------------------------------+-----------------------------------+ | Reset to defaults | Click right | +-----------------------------------+-----------------------------------+ | Change to hard left | Double click right in the upper | | | left half of the panner | +-----------------------------------+-----------------------------------+ | Change to a hard right | Double click right in the upper | | | right half of the panner | +-----------------------------------+-----------------------------------+ | Move position as far left as | Double click right in the upper | | possible, given width | left half of the panner | +-----------------------------------+-----------------------------------+ | Move position as far right as | Double click right in the upper | | possible, given width | right half of the panner | +-----------------------------------+-----------------------------------+ | Set the position to center | Click right in the upper middle | | | of the panner | +-----------------------------------+-----------------------------------+ | Reset to maximum possible width | Double click right on the lower | | | left side | +-----------------------------------+-----------------------------------+ | Invert (flip channel assignments) | Double click right on the lower | | | right side | +-----------------------------------+-----------------------------------+ | Set width to 0° | Double click right in the lower | | | middle | +-----------------------------------+-----------------------------------+ .. _keyboard-bindings-1: Keyboard bindings ^^^^^^^^^^^^^^^^^ When the pointer is within a stereo panner user interface, the following keybindings are available to operate on that panner: +-------+------------------------------------+ | ↑ / ↑ | increase width by 1° / 5° | +-------+------------------------------------+ | ↓ / ↓ | decrease width by 1° / 5° | +-------+------------------------------------+ | ← / ← | move position 1° / 5° to the left | +-------+------------------------------------+ | → / → | move position 1° / 5° to the right | +-------+------------------------------------+ | 0 | reset position to center | +-------+------------------------------------+ | ↑ | reset width to full (100%) | +-------+------------------------------------+ .. _using-the-scroll-wheeltouch-scroll-1: Using the scroll wheel/touch scroll ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ When the pointer is within a stereo panner user interface, the scroll wheel may be used as follows: +-------+-----------------------------------+ | ⇐ / ⇐ | increase width by 1° / 5° | +-------+-----------------------------------+ | ⇒ / ⇒ | decrease width by 1° / 5° | +-------+-----------------------------------+ | ⇑ / ⇑ | move position 1° / 5° to the left | +-------+-----------------------------------+ | ⇓ / ⇓ | move position 1° / 5°to the right | +-------+-----------------------------------+ Stereo panning caveats ---------------------- | The stereo panner will introduce unwanted side effects on material that includes a time difference between the channels, such as A/B, ORTF or NOS microphone recordings, or delay-panned mixes. | When the width is reduced, two highly correlated signals with a delay are effectively summed, which will cause comb filtering. Let's take a closer look at what happens when a source is recorded at 45° to the right side with an ORTF stereo microphone array and then the width manipulated. For testing, we apply a pink noise signal to both inputs of an Ardour stereo bus with the stereo panner, and feed the bus output to a two-channel analyser. Since pink noise contains equal energy per octave, the expected readout is a straight line, which would indicate that our signal chain does not color the sound: .. figure:: /images/stereo-panner-with-ORTF-fullwidth.png :alt: Stereo panner with ORTF full width Stereo panner with ORTF full width An ORTF is simulated using Robin Gareus' stereo balance control LV2 to set the level difference and time delay. The Trim/Gain can be ignored—its purpose is just to align the test signal with the 0dB line of the analyser. An ORTF microphone pair consists of two cardioids spaced 17 cm apart, with an opening angle of 110°. For a far source at 45° to the right, the time difference between the capsules is 350 μs or approximately 15 samples at 44.1 kHz. The level difference due to the directivity of the microphones is about 7.5 dB (indicated by the distance between the blue and red lines in the analyser). Now for the interesting part: if the width of the signal is reduced to 50%, the time-delayed signals will be combined in the panner. What happens to the frequency response of the left and right outputs is shown in the following picture: .. figure:: /images/stereo-panner-with-ORTF-halfwidth.png :alt: Stereo panner with ORTF half width Stereo panner with ORTF half width It can be argued that all spaced microphone recordings will undergo comb filtering later, when the two channels recombine in the air between the speakers. Perceptually however, there is a huge difference: our hearing system is very good at eliminating comb filters in the real world, where their component signals are spatially separated. But once they are combined inside a signal chain, this spatial separation is lost and the brain will no longer be able to sort out the timbral mess. Depending on the material and on how much the width needs to be manipulated, some degree of comb filtering may be acceptable. Then again, it may not. It is advised to listen carefully for artefacts when manipulating unknown stereo signals—many orchestra sample libraries for example do contain time-delay components. 68.16 - VBAP Panner =================== | Ardour's VBAP panner is currently in development, and its semantics may change in the near future, possibly affecting mixes using it. It is advised not to rely on it for important production work while the dust settles. | The Panner only works in fixed static mode, it does not support automation playback. VBAP is a versatile and straightforward method to pan a source around over an arbitrary number of speakers on a horizontal polygon or a 3D surface, even if the speaker layout is highly irregular. Basic concepts -------------- VBAP was developed by Ville Pulkki at Aalto University, Helsinki, in 1997. It works by distributing the signal to the speakers nearest to the desired direction with appropriate weightings, aiming to create a maximally sharp phantom source by using as few speakers as possible: - one speaker, if the desired direction coincides with a speaker location, - two speakers, if the desired direction is on the line between two speakers, - and three speakers in the general 3D case. Thus, if the panner is moved onto a speaker, only this speaker will get any signal. This is handy when precise 1:1 routing is needed. The drawback of VBAP is that a moving source will constantly change its apparent sharpness, as it transitions between the three states mentioned above. An horizontal VBAP panner has one parameter, the azimuth angle. A full-sphere panner offers an additional elevation angle control. More elaborate implementations of VBAP also include a spread parameter, which will distribute the signal over a greater number of speakers in order to maintain constant (but no longer maximal) sharpness, regardless of position. Ardour's VBAP panner does not currently include this feature. Speaker layout -------------- .. figure:: /images/VBAP-panner-5.png :alt: The VBAP panner with 5 outputs :figclass: mini The VBAP panner with 5 outputs Each VBAP panner is specific to its speaker layout—the panner has to "know" about the precise location of all the speakers. A complete VBAP implementation must therefore include the possibility to define this layout. Ardour currently uses a simplified approach: if a track or bus has more than two output channels (which implies stereo), it assumes that there are N speakers distributed in a regular N-gon. That means that for irregular layouts such as 5.1 or 7.1, the direction dialed in will differ a bit from the actual auditory result, but any desired spatialisation can still be achieved. Experimental 3D VBAP ~~~~~~~~~~~~~~~~~~~~ .. figure:: /images/VBAP-panner-10.png :alt: The VBAP panner with 10 outputs, in experimental 3D mode :figclass: mini The VBAP panner with 10 outputs, in experimental 3D mode For tracks with 10 outputs, Ardour will currently assume a 3-dimensional speaker layout corresponding to Auro-3D 10.1, which is a horizontal 5.1 system, four elevated speakers above L, R, Ls, and Rs, and an additional "voice-of-god" speaker at the zenith. N:M panning ----------- .. figure:: /images/VBAP-panner-4in5.png :alt: The VBAP panner in 4 in, 5 out mode :figclass: mini The VBAP panner in 4 in, 5 out mode For tracks and busses with more than one input, Ardour will (for now) assume that the inputs are distributed symmetrically along the latitude around the panner direction. The width parameter controls the opening angle of the distribution sector. 69 - Plugin and Hardware Inserts ================================ 69.1 - Working With Plugins =========================== Plugins are bits of software that get loaded by Ardour in order to: - Create various audio or MIDI effects - Generate audio by functioning as "software instruments" They are usually written by 3rd parties, though `a few come as part of a standard Ardour install <#plugins-bundled-with-ardour>`__. The sources for plugins are many and varied; see `here <#getting-more-plugins>`__ for some information on how to get them. Ardour supports a variety of different plugin standards: +-----------------------------------+-----------------------------------+ | LADSPA | An early, simple, lightweight | | | plugin API, audio effects only, | | | plugins have no editors/GUI of | | | their own (Ardour provides one, | | | however). | +-----------------------------------+-----------------------------------+ | LV2 | An extensible, full-featured | | | plugin API, audio and MIDI, | | | plugins can provide their own | | | GUIs but may use the one Ardour | | | provides instead. | +-----------------------------------+-----------------------------------+ | AU | OS X only, full featured, audio | | | and MIDI, plugins can provide | | | their own GUI | +-----------------------------------+-----------------------------------+ | VST | Plugins using Steinberg's VST | | | plugin standard. Varies by | | | platform: | | | +--------------+--------------+ | | | | on Linux | (native) | | | | | | Linux VST | | | | | | plugins | | | | | | fully | | | | | | supported | | | | | | (VST2.4) | | | | +--------------+--------------+ | | | | on Windows | (native) | | | | | | Windows VST | | | | | | plugins | | | | | | fully | | | | | | supported | | | | | | (VST2.4) | | | | +--------------+--------------+ | | | | on OS X | (native) | | | | | | macOS VST | | | | | | plugins | | | | | | fully | | | | | | supported | | | | | | (VST2.4) | | | | | | since Ardour | | | | | | 5.5 | | | | +--------------+--------------+ | +-----------------------------------+-----------------------------------+ | Windows VST Plugins on Linux | VST plugins for Windows, but | | | being used on Linux. *Not | | | supported by normal builds of | | | Ardour.*\ `Read | | | more… <#using-windows-vst-plugins | | | -on-linux>`__ | +-----------------------------------+-----------------------------------+ Adding/Removing/Copying Plugins ------------------------------- 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 <#processor-box>`__ page. 69.2 - Processor Box ==================== .. figure:: /images/processor-box.png :alt: Processor Box. Processor Box. In Ardour terminology, a processor is anything which treats the signal in some way and gets plugged into a mixer strip. Ardour provides several builtin processors such as the fader or panners. Processors can also be plugins used for effects or as instruments, as well as sends or inserts which affect `signal routing <#signal-routing>`__. The arrangement of processors is arbitrary, and there is no limit to how many there can be. The Processor Box will automagically add a scrollbar to itself if there are more processors in it than can be shown in the given space. The main box in the top half of a mixer strip shows the processor box. Processors are shown as colored rectangles, with a small LED beside them that lights up when the processor is enabled. The color of the processor depends on its location in the sequence; processors that are pre-fader are colored in red, and post-fader processors are colored green (in the default theme). The processor box will always contain a blue Fader processor. This indicates where in the processor chain the main channel fader is located; this is the fader shown in the lower half of the strip. It can be enabled and disabled like any other processor. Adding Processors ----------------- Processors can be added to the chain by Right-clicking in the processor list, This does three things: - A gap is opened up to indicate the location of the click. The gap shows where any new processors will be inserted. - The processor under the click is selected. - An options menu is presented. From the menu, new processors can be inserted. Processors can also be dragged and dropped from the `Favorite Plugins window <#favorite-plugins-window>`__ to an appropriate spot in the Processor Box. The Favorite Plugins window can be populated via the `Plugin Manager <#plugin-manager>`__, or by dragging and dropping an existing processor from the processor box to the Favorite Plugins window. To Reorder (Move) Processors ---------------------------- 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 Enable/Disable a Processor ----------------------------- .. figure:: /images/processor.png :alt: A typical processor. A typical processor. 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 and effectively bypass it. Some processors have their own bypass controls that are independent of the one that Ardour provides; this can make it appear that the plugin is non-responsive when its independent bypass control is active. Selecting Processors -------------------- A processor in the processor box can be selected with a Left-click on it; it will be highlighted in red. Other processors can be selected at the same time by Left-clicking on them while holding down the key, and ranges can be selected by Left-clicking on them while holding down the key. Removing Processors ------------------- Context-click on the processor to be removed, and select Delete; or Right-click on it; or Left-click on it and press the Delete key. If multiple processors are selected, they will all be deleted at the same time. 69.3 - Plugin Manager ===================== The Plugin Manager serves two purposes. Primarily it is used to control the display status of plugins. It can also be used to find and insert plugins into the `Processor Box <#processor-box>`__. It is displayed either by a double-click in the Processor Box or by choosing New Plugin > Plugin Manager… from the Processor Box context menu. Displayed for each plugin is the status (normal, favorite, hidden), name, type, category, creator (author), and the number of audio and MIDI connections. The plugins can be sorted by clicking on a column header. .. figure:: /images/plugin-manager.png :alt: The Plugin Manager window. The Plugin Manager window. Plugin Display Status --------------------- Click on a Fav(orite) or Hide radio button to change a plugin's display status. Clicking on an already selected radio button will cancel it, returning the plugin to the normal display status. Plugins marked as a favorite show up in the Processor Box context menu under New Plugin > Favorites. Setting the hide radio button on a plugin will keep the plugin from showing in the Processor Box context menus New Plugin > By Creator or New Plugin > By Category. Filtering Listed Plugins ------------------------ The bottom left part of the Plugin Manager is used to filter the listed plugins. Typing into the text-box will filter the plugins based on the filter mode selected by drop-down box. Clicking Clear empties the text-box. Inserting Plugins in the Processor Box -------------------------------------- The right part of the plugin manager shows plugins that have been selected for insertion into the Processor Box. A plugin can be added by either double clicking the plugin entry in the top left part, or, if already selected in top left part, by clicking Add. Plugins can be removed from the right part with a double click, or, if already selected, by clicking Remove. 69.4 - Managing Plugin Presets ============================== All plugin control widgets, whether they are created by Ardour or by the plugin, have a common set of controls at the top of the window. These include 4 controls for managing plugin presets. .. figure:: /images/plugins_preset_bar.png :alt: The plugin presets toolbar. The plugin presets toolbar. What Is a Plugin Preset? ------------------------ 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 of 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 ------------------- The preset selector (1) is a regular selector that can be clicked to display a list of all known presets for this plugin. This will include presets that have been created by the user, and for some plugin formats, presets that come with the plugin itself. Loading a New Preset -------------------- Clicking on the preset selector pops up a menu showing the names of all available presets. Clicking on the name of a preset loads it, and various controls in the plugin editor change to reflect the new value of some or all parameters. Creating a Preset ----------------- Saving the current plugin settings as a new preset is done by clicking on the Add button (2) at the top of the window. A dialog will appear asking for a name for the preset. Saving a Preset --------------- To modify the settings in an existing preset, the preset selector must be used to load the preset, then, when the settings have been adjusted, the Save button (3) clicked. The new values will be stored, overwriting the previous version of this preset. Deleting a preset ----------------- Deleting an existing preset is achieved by loading the preset first, then clicking the Delete button (4). The preset will be removed, and the preset selector turns blank, showing that no preset is currently loaded (although the settings will stay as they were). 69.5 - Working with Ardour-built Plugin Editors =============================================== The plugin editor can be shown by double-clicking on the plugin within the `processor box <#processor-box>`__. A new window will appear showing the editor/GUI for the plugin. .. figure:: /images/exemple-plugin.png :alt: A generic plugin Editor (A-Eq) ¶ ParametersDescriptionAnalysis graph :figclass: mini A generic plugin Editor (A-Eq) ¶ ParametersDescriptionAnalysis graph Generic Plugin Editor --------------------- If a plugin does not have its own GUI, Ardour will construct a generic plugin editor from a small set of common control elements. Ardour will do this even for plugins that have their own, if Edit > Preferences > GUI > Use Plugins' own interface instead of Ardour's is disabled. The generic UI can be temporarily switched to by right clicking on a processor and selecting Edit with generic controls. This is necessary in order to access the `plugin automation controls <#automation>`__. In the generic UI, any controller can be reset to its default state by Left-clicking on it. Analysis Graph -------------- At the bottom of the generic plugin editor, clicking the arrow displays the Analysis Graph. This graph displays: - the transfer function in white, - the phase response in red (optional), - the post effect spectrum in green. The transfer function plots the output amplitude of the plugin (considered as a "black box") against its input amplitude, along the audio spectrum. The phase response, that can be switched on or off using the Show phase checkbox, plots the phase of the plugins output against its input phase, along the audio spectrum. The scale is shown in yellow on the right. The green spectrum plots the output signal spectrum, after the plugin (for tracks that have a signal on). The dB scale selector in the bottom left allows to change the vertical scale of the graphs. MIDI instruments specificities ------------------------------ .. figure:: /images/instrument_plugins-keyboard.png :alt: The MIDI keyboard in instruments plugins The MIDI keyboard in instruments plugins The generic UI provides, for all MIDI instruments plugins, a keyboard, that can be used either with the mouse, or by using a QWERTY keyboard as a piano. Both the channel and the velocity can be set above the keyboard. 69.6 - Plugins Bundled With Ardour ================================== Ardour does not come with any built-in signal processors of its own (other than volume faders) but does ship, since v5.0, with the small group of plugins listed below. These plugins are listed as authored by "Ardour Team", which are LV2 plugins, and are named with "a-" as the start of the name (like a-EQ) or are listed as authored by "Ardour LUA Task Force" in which case they are example (but still useful) LUA scripts. These plugins use Ardour's generic GUI, and they work on all supported platforms so that projects started on one platform will sound the same on another platform—if they use just these plugins. +-----------------------------------+-----------------------------------+ | a-Amplifier | A versatile ±20dB multi-channel | | | amplifier | +-----------------------------------+-----------------------------------+ | a-Compressor | A side-chain enabled compressor | | | with the usual controls. Comes in | | | stereo and mono versions | +-----------------------------------+-----------------------------------+ | a-Delay | A basic single-tap delay line, | | | with tempo sync | +-----------------------------------+-----------------------------------+ | a-EQ | A nice sounding 4-band parametric | | | EQ with shelves | +-----------------------------------+-----------------------------------+ | a-Fluid Synth | Wraps the Fluidsynth SoundFont2 | | | synthesis engine as a new sample | | | player | +-----------------------------------+-----------------------------------+ | a-High/Low Pass Filter | Independent high and low pass | | | filters with steepness up to 48dB | | | per octave | +-----------------------------------+-----------------------------------+ | a-Inline Scope | A mixer strip inline waveform | | | display | +-----------------------------------+-----------------------------------+ | a-Inline Spectrogram | A mixer strip inline spectrum | | | display | +-----------------------------------+-----------------------------------+ | a-MIDI Monitor | A mixer strip inline display to | | | show recent MIDI events | +-----------------------------------+-----------------------------------+ | a-Reverb | A reverb that finds a balance | | | between sounding good, using a | | | lot of CPU and having too many | | | controls | +-----------------------------------+-----------------------------------+ 69.7 - Getting More Plugins =========================== The following list shows a few plugin packages. In some cases, a package contains just one or two plugins; in other cases, dozens. This list does not aim at being exhaustive. Plugins by Standard: -------------------- .. _LV2: LV2 ~~~ - SWH http://plugin.org.uk/lv2/ [GNU GPLv3] - ll-plugins http://ll-plugins.nongnu.org/ [GNU GPLv3] - ZynAddSubFX http://zynaddsubfx.sourceforge.net/ [GNU GPLv2+] - OvertoneDSP https://www.overtonedsp.co.uk/ [Proprietary] - Invada Studio https://launchpad.net/invada-studio/ [GNU GPLv2] - Pianoteq https://www.pianoteq.com/ [Proprietary] .. _LADSPA: LADSPA ~~~~~~ - Kokkini Zita http://kokkinizita.linuxaudio.org/linuxaudio/ [GNU GPL/GNU GPLv3] - Blepvco `http://www.smbolton.com/linux.html `__ [GNU GPLv2+] - Blop http://blop.sourceforge.net/ [GNU GPLv2] - CAPS http://quitte.de/dsp/caps.html [GNU GPLv3] - CMT http://www.ladspa.org/cmt/overview.html [GNU GPLv2] - FOO https://github.com/sampov2/foo-plugins [GNU GPLv2] - NJL https://github.com/tialaramex/njl-plugins [GNU GPLv2] - Omins http://www.nongnu.org/om-synth/omins.html [GNU GPLv3] - SWH http://plugin.org.uk/ [GNU GPLv3] - TAP http://tap-plugins.sourceforge.net/ [GNU GPLv2] - VCF `http://www.suse.de/~mana/ladspa.html `__ [GNU LGPL] - VLevel `http://vlevel.sourceforge.net/ `__ [GNU GPLv2] - Vocoder http://www.sirlab.de/linux/download_vocoder.html [GNU GPLv2+] - WASP http://linux01.gwdg.de/~nlissne/wasp/index.html [GNU GPLv3] - Nova http://chuck.stanford.edu/planetccrma/mirror/fedora/linux/planetccrma/10/i386/repoview/ladspa-nova-plugins.html [GNU GPLv2+] - Socal’s LEET Plugins http://code.google.com/p/leetplugins/ [GNU GPLv2] .. _LinuxVST: Linux VST (LXVST) ~~~~~~~~~~~~~~~~~ - Loomer http://www.loomer.co.uk/ [Proprietary] - Distrho http://distrho.sourceforge.net/ports.php [GNU GPLv3] - Argotlunar http://argotlunar.info/ [GNU GPLv2] - U-he https://u-he.com/ [Proprietary] How to install plugins? ----------------------- .. _linux-1: Linux ~~~~~ Installation will vary a little depending on how the plugins have been obtained. If a particular plugin package appears in the local repository, installing it using is done by using the normal software package management tool for the system. Most Linux distributions that are good for audio work will have most of the LADSPA and LV2 plugins mentioned above available in ready-to-use form. Finding them will typically require *searching* the distribution's repository to find the name of the package. The tools for doing this vary from distribution to distribution. A good place to start searching is with the name of the package (e.g. "caps" or "cmt"). There are no fixed rules about what different Linux distributions call their packages for a given set of plugins. If the package isn't available, then the plugins can be built from source (plugins are generally fairly easy to compile and well-documented). LADSPA plugins are shared library files. They need to be installed in either /usr/lib/ladspa, /usr/local/lib/ladspa or in a directory mentioned in the local LADSPA_PATH environment variable. LV2 plugins are folders/directories. They need to be installed in either /usr/lib/lv2, /usr/local/lib/lv2 or a directory mentioned in the local LV2_PATH environment variable. Linux VST (LXVST) plugins are distributed as shared library files. They are typically installed in /usr/lib/lxvst, /usr/local/lib/lxvst or a directory mentioned in the local LXVST_PATH environment variable. .. _os-x-1: OS X ~~~~ Except for the particularly technical computer user, building and installing plugins in the LV2 (or LADSPA) format is probably not something worth planning on. Most of the plugins likely to be used on OS X will be in Apple's AudioUnit format. These have their own installation process that tends to just work. 69.8 - Using Windows VST Plugins on Linux ========================================= 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. However, doing so has three *substantial* downsides: - It requires a special build of Ardour that is fundamentally very different from normal builds - Support depends on `Wine `__, a Windows "emulator" - As usual with plugins, a crashing plugin will take Ardour down with it—and crashes in Windows VST plugins are more likely when used in this way 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 (thanks largely 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? It is understandable that there are many outstanding plugins available as Windows VSTs and, that in many cases, no equivalent is available for Linux. If a workflow is so dependent on those plugins, Ardour should be used on Windows (or potentially used with an actual Windows VST host running inside of Wine). If the effort can be made, a better environment can be obtained 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 `Loomer `__. A Plea To Plugin Manufacturers ------------------------------ Please consider porting your plugins so that users can enjoy them on Linux too. Several other commercial plugin developers have already done this. You can choose between using "Linux VST" (which is what Loomer and others have done)—you will find toolkits like JUCE that help to make this fairly easy—or using LV2 format which is ultimately more flexible but probably requires more work. We have users—thousands of users—on Linux who would like to use your plugins. 70 - Automation =============== Automation is the ability to dynamically control various aspects of a track's innate attributes and the attributes of any processors attached to it. In Ardour, automation can be used to make dynamic changes to a track's: - Volume - Panning - Trim - Muting - Any attached processor's parameters Any combination of these can be enabled on a single track; as such, it offers a lot of power and flexibility over how a track will ultimately sound when played back. 70.1 - Automation Nomenclature ============================== .. figure:: /images/automation-fader1.png :alt: An example of a fader automation lane (below) with its associated track (above). An example of a fader automation lane (below) with its associated track (above). Track automation occurs in one or more lanes. Each lane has a control that allows setting the amount or position of a certain parameter associated with the lane. Parameters are things that can be controlled on a track's automation lane, such as volume, panning, muting, trim, etc. Automation curves consist of lines connected by control points, that live within the confines of a lane; these tell Ardour how to change a given parameter over time. Automation modes govern how a given automation lane will behave during playback. 70.2 - Automation Modes ======================= In order to understand how automation in Ardour works, it is necessary to understand the four modes of automation. They are: Manual, Play, Write, and Touch. .. figure:: /images/automation-modes1.png :alt: The automation mode menu. The automation mode menu. Manual mode is basically analogous to a processor's bypass switch. Whenever an automation lane is in this mode, it is inactive and any level that is manually set for controlling the lane's parameter will persist during playback like normal. In Ardour, every track and processor parameter is initially set to Manual mode. Play mode tells Ardour to use the automation curve in the automation lane to control the level of the parameter controlled by the lane *during playback*. The control that normally sets the parameter will be *unresponsive to manual input* and will move automatically in accord with the lane's automation curve during playback. Write mode allows continuous, dynamic setting of a control during playback; all such settings are written to the lane the control is in. This defines the lane's automation curve in the interval being played, and overwrites any existing automation curve in the lane being manipulated. Touch mode is similar to Write mode, except it only overwrites sections of a lane's automation curve when the control is changed in some way. This allows for changing only the parts of an automation curve that are desired to be changed, while leaving the rest unchanged. 70.3 - Automation Lanes ======================= .. figure:: /images/automation-lane1.png :alt: A typical automation lane. A typical automation lane. An automation lane is similar to a track in that it holds data that can be played back; however, unlike a track, it is not an independent entity—it is always attached to the track that it controls. Automation lanes also contain zero to one automation curves. Each lane controls one and only one parameter of the track it is attached to. Every track will have at least five automation lanes associated with it: trim, fader, mute, and pan (which consists of two lanes: L/R and Width); it can possibly have many more if there are any processors associated with it. All these lanes are automatically attached to the track but hidden, and initially they are all empty (have no automation curves in them). .. figure:: /images/automation-multi-lane1.png :alt: An example of a track with three lanes of automation (fader & pan). An example of a track with three lanes of automation (fader & pan). Automation lanes typically have the following controls: - A hide button (square button with an "X" inside) - A horizontal fader - An automation mode selector The hide button, as the name implies, hides the automation lane. The horizontal fader controls the level of the parameter that the lane controls; manipulating this while in Write or Touch mode during playback will make changes to the lane's automation curve. The automation mode selector selects which mode the lane is in (Manual, Play, Write, or Touch). The hide button will only hide the lane; it does not remove it from the track. The automation lane never really goes away—the closest one can get to that is to clear the automation curve and hide the lane. 70.4 - Automation Curves ======================== .. figure:: /images/automation-curve1.png :alt: A typical automation curve. A typical automation curve. An automation curve is a series of lines connected by control points that defines a continuous line. As the curve is traversed from left to right, the line defines the level of the parameter controlled by the automation lane. The curve by itself does nothing; it will *only* control playback if the lane it is in is in Play mode. .. _track-automation: 70.5 - Controlling a Track with Automation ========================================== .. figure:: /images/automation-menu1.png :alt: The automation menu. The automation menu. To automate a parameter on a given track, click on the track's A button and select a parameter to control from the menu that appears. Once a parameter has been selected, an automation lane for that parameter will appear beneath the track. The lane thus shown will be empty; from here an automation curve must be defined. If the height of the automation lane is too small to see all of its controls, the height can be increased by Left clicking on the bottom border of the lane and dragging it. There are three ways to define an automation curve: - Record it using Write mode - Record it using Touch mode - Draw it using the mouse Recording an Automation Curve Using Write Mode ---------------------------------------------- To create an automation curve using Write mode, first set the lane's mode selector to Write, then set the playhead to the position where the automation curve should start, then set the transport to play. While the playhead is moving, Ardour will continuously record any changes made with the lane's fader. Even if no changes are made to the fader, they will overwrite anything that existed in the lane where the playhead is moving. When the desired automation curve has been recorded, stop the transport. After the transport is stopped, the lane's mode selector will automatically switch to Touch mode—it is generally a bad idea to leave an automation lane in Write mode, as it is a destructive operation that makes it easy to inadvertently overwrite existing automation curves. Recording an Automation Curve Using Touch Mode ---------------------------------------------- Creating an automation curve using Touch mode is similar to the method employed in creating one using Write mode; the only difference is that changes are written to the automation curve *only* when the lane's fader is moved—at all other times, whatever was in the automation curve will remain as it was. Touch mode is useful when only small parts of the automation curve need touching up versus Write mode, which is usually used to create the automation curve in the first place. Drawing an Automation Curve Using the Mouse ------------------------------------------- In Draw mode, control points can be entered in the automation lane by Left-clicking in the lane at a point where there is no existing control point. Once added, a control point can be Left-clicked and dragged to a desired location. Hovering over a control point will show its current level in dB. To remove a control point, Left-click it and press Delete, or Right-click on it. Controlling the Track --------------------- Once an automation curve has been defined through any of the methods outlined above, the track won't do anything with it until the lane that the curve was defined in is set to Play mode. Then, during playback, as the playhead moves through the automation curve, the lane's control will move in accord with the curve. The lane's fader will *not* be responsive to manual input while it is in Play mode. 71 - Mixdown ============ 71.1 - Export Dialog ==================== When the work in Ardour is finished, one or multiple sound file(s) need to be created, be it to be printed to a medium such as a CD or DVD, uploaded to a streaming site or sent to another person or software for further work. This can be done either using Session > Export > Export to Audio file(s)…, or Session > Export > Stem Export…. .. figure:: /images/export-dialog-file-format.png :alt: The Export window The Export window File Format ----------- This tab contains controls for the format of the exported audio file(s). More than one format can be enabled here, in which case each will be exported in turn. Ardour is supplied with a list of export formats, including: - BWAV 32float - CD (Red Book) - DVD-A - FLAC 24 bit - FLAC 24 bit (tagged) - Ogg/Vorbis - Ogg/Vorbis (tagged) - Ring Tone These formats can be edited, or new ones created, with the `"Edit Export Format Profile" <#export-format-profiles>`__ dialog, which appears when clicking the Edit or New buttons to the right of the drop-down list of formats. Presets can also be created, consisting of one or more formats. Ardour provides some ready-made presets, too: - CD + DVD-A - CD + FLAC - CD + FLAC (tagged) - CD + Ogg/Vorbis + FLAC (tagged) - CD + Ogg/Vorbis - CD + Ogg/Vorbis (tagged) - CD only - DVD-A only - FLAC - FLAC (tagged) - Ogg/Vorbis + FLAC - Ogg/Vorbis + FLAC (tagged) - Ogg/Vorbis - Ogg/Vorbis (tagged) The location ------------ Aside from providing a way to tell Ardour *where* to put the created file(s), the location part of the window allows to name the exported files with a lot of choice regarding the naming convention, hence blending into the user's workflow, and providing a clean way to keep the export folders from being cluttered with poorly named files. The name of the file(s) can optionally be made of: - The session or snapshot's name - A custom label (i.e., any text) - A revision number - The name of the timespan (see below) - A date (in multiple formats) - A time (also in multiple format). As in the screenshot above, when writing a file could erase a present file with the same name, Ardour shows a yellow warning line in the bottom of the window, and a button to list all the files that would be erased and replaced. Analyze exported audio ---------------------- .. figure:: /images/export-report-analysis.png :alt: The Export Report/Analysis window The Export Report/Analysis window Checking Analyze Exported Audio shows the Export Report/Analysis window. This provides a lot of useful information about the exported file: - the file name and location - its format - its channel count - its sample rate - its duration and timecode. It also allows to Play the file, and the Open Folder button gives a quick access to the place where it has been created. The most prominent feature though, are the two generated views of the audio file in time (waveform) and frequency (sonograph) domain, and the loudness analysis, giving: - the Peak value - the True Peak value (to take inter sample peaks into account) - the Normalization Gain (if it has been applied) - the Integrated Loudness - the loudness range - a graph of the multiplicity of the peaks at the different loudness levels. Time Span --------- .. figure:: /images/export-dialog-timespan.png :alt: The Time Span tab The Time Span tab This tab allows to select the range (or ranges) of the timeline to export. By default, "session" is enabled—this will export the whole session from the start marker to the end marker. Any loop or range present in the session can be chosen, or a combination thereof. The realtime checkboxes allow to export audio as it is played, and not freewheeling to render the file as fast as Ardour can. This can prevent odd behaviours from some plugins (reverbs, etc...). This can be chosen globally (with the Realtime Export checkbox at the top) or individually on a per time span basis, with the RT checkbox next to each time span. Channels -------- .. figure:: /images/export-dialog-channels.png :alt: The Channels tab The Channels tab This tab decides which outputs (tracks or busses) should be sent to the exported file. By default, only the Master Bus is sent. Stem Export ----------- .. figure:: /images/export-dialog-stem-export.png :alt: Stem export Stem export Stem exporting allows to transfer files between different systems and softwares by exporting each track individually, including silence, to keep them in sync. If 'Stem Export' is chosen, the 'Channels' tab appears slightly differently: in this case each chosen channel (track or bus) is exported to its own file, instead of all channels being mixed together into a single file. The exported tracks or busses can, by checking Apply track/bus processing, be exported with the effects/processors applied, so that the destination system does not need those effects plugins. 71.2 - Export Format Profiles ============================= .. _export-format-profiles-1: Export Format Profiles ---------------------- An Export Format Profile specifies the file format in which Ardour will export audio files, and also other audio file export options. Export Format Profiles are edited via the Edit Export Format Profile dialog. .. figure:: /images/edit-export-format-profile.png :alt: The 'Edit Export Format Profile' dialog The 'Edit Export Format Profile' dialog Normalize ~~~~~~~~~ If enabled, levels of exported files will be normalized to the level chosen here. The normalization can be either: - Peak, which adjusts the gain to bring the highest signal peak to the chosen level (in dBFS), - Loudness, which adjusts the gain to bring the average amplitude to the chosen level (in LUFS), without exceeding the chosen true-peak value (in dBTP). EBU R128 is only available for mono or stereo sounds while true-peak works for any channel layout. Trim silence at start/end ~~~~~~~~~~~~~~~~~~~~~~~~~ These checkboxes allow to remove any part Ardour considers silent (0dB), at the beginning or/and end of each exported track. Add silence at start/end ~~~~~~~~~~~~~~~~~~~~~~~~ These checkboxes allow to add silence at the beginning or/and end of each exported track. The duration of the added silence can be manually fixed in the adjacent 'timer' input fields. Compatibility/Quality/File format/Sample rate ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Compatibility ^^^^^^^^^^^^^ Selecting an item in the 'Compatibility' emphasizes the settings in the other columns that are compatible with the selected standard, by turning incompatible options red. When an incompatible quality/format/sample rate is selected, the compatibility column checkbox disappears. Quality ^^^^^^^ The appropriate item in the 'Quality' column will be highlighted when a file format is chosen. At the moment, selecting a Quality setting does not show the compatible File formats. .. _file-format-1: File format ^^^^^^^^^^^ This column contains a list of Ardour's supported export file types. Selecting one updates the options underneath it. Sample rate ^^^^^^^^^^^ A specific sample rate can be chosen for the exported files, or the current session's sample rate (by choosing 'Session rate'), without sample rate conversion. Sample rate conversion quality ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ In case the chosen sample rate does not match the current session's sample rate, the sample rate conversion quality can be chosen here. Better quality options are slower. Format Options ~~~~~~~~~~~~~~ Options relevant to the chosen file format will appear just under the Compatibility/Quality/File format/Sample rate table. Tag with session's metadata ^^^^^^^^^^^^^^^^^^^^^^^^^^^ If the exported file format supports metadata (e.g. FLAC, Ogg Vorbis), use data entered in the `Session Metadata <#metadata>`__ window to tag the exported files. Sample Format and Dithering ^^^^^^^^^^^^^^^^^^^^^^^^^^^ The Sample Format is the bit depth of exported files, i.e. the numbers of values a sample can have. Increasing the sample format results in a better defined audio file at the cost of increasing the file size. If the exported files bit depth is less than Ardour's native bit depth (32 bits floating point by default), the dithering algorithm, that chooses how to compute the conversion can be chosen in the Dithering column. Options ~~~~~~~ These options are presented whatever the chosen format is: Create CUE/TOC/chapter mark file ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ As well as exporting an audio file, Ardour can create a file (in CUE, TOC or MP4ch format respectively) containing CD track information, as defined in the `Ranges & Marks List <#the-ranges-and-marks-lists>`__. Those files can then be used to either burn a CD or DVD, or to create "chapters" inside a compatible mp4 video container. Label ~~~~~ The Label field allows to choose the name which will be shown for this format in the drop-down list of export formats in the 'File Formats' tab of the `Export dialog <#export-dialog>`__. Command to run post-export ~~~~~~~~~~~~~~~~~~~~~~~~~~ If this is not blank, it is considered as a command to be run after the export of each file. Either the command must exist in $PATH, or an absolute path to an executable file can be specified here. Certain sequences are allowed here to stand for the exported file name and various parameters. Currently these are: +-----------------------------------+-----------------------------------+ | ``%f`` | Full path and filename of the | | | exported audio file | +-----------------------------------+-----------------------------------+ | ``%d`` | Directory containing the exported | | | audio file (including trailing | | | directory separator) | +-----------------------------------+-----------------------------------+ | ``%b`` | Basename of the exported audio | | | file (without extension) | +-----------------------------------+-----------------------------------+ | ``%s`` | Path to the current session file | +-----------------------------------+-----------------------------------+ | ``%n`` | Name of the current session file | +-----------------------------------+-----------------------------------+ | ``%%`` | A literal percent sign | +-----------------------------------+-----------------------------------+ Any part of the command-line enclosed in double-quotes (") will be used as-is. For example, exporting an mp3 file can be done by inserting ``lame -b320 %f`` which will convert the exported audio file ('%f') to a 320 kbs mp3 using the lame encoder (provided lame is installed first on the system). .. _video: Part X - Video ============== 72 - Video Timeline and Monitoring ================================== Ardour offers a video timeline and video monitoring for convenient audio mixing and editing to video, in order to produce film soundtracks and music videos, or perform TV post-production tasks. The video capabilities are: - Import a single video and optionally extract the soundtrack from it. - Provide a video monitor window, or full-screen display, of the imported video in sync with any of the available Ardour timecode sources. - Display a frame-by-frame (thumbnail) timeline of the video. - Allow for a configurable timecode offset. - *Lock* audio regions to the video. - Move audio regions with the video at video-frame granularity. - Export the video, trim start and end, add blank frames and/or multiplex it with the soundtrack of the current session. The setup of the video subsystem is modular and can be configured in different ways, including: - One machine for all video decoding, video monitoring and audio editing tasks - Two machines, one for video monitoring, one for Ardour - Three machines, separate video server (for timeline decoding and file archive), dedicated video monitor, and Ardour Ardour does *not*: - allow for more than one video to be loaded at a time. - provide video editing capabilities 73 - Video Timeline Setup ========================= No configuration is required if everything is to meant be run on a single machine, and the version of Ardour comes from http://www.ardour.org. Everything is pre-configured and included with the download/install. Single Machine -------------- If Ardour is compiled from source, or installed from a 3rd party repository, three additional tools will need to be installed manually, which are used by Ardour to provide video features: - xjadeo (the video monitor application): `http://xjadeo.sf.net `__ - harvid (a video decoder used for the thumbnail timeline): `http://x42.github.com/harvid/ `__ - ffmpeg, ffprobe (used to import/export video, extract soundtracks and query video information): http://ffmpeg.org Ardour requires xjadeo ≥ version 0.6.4, harvid ≥ version 0.7.0 and ffmpeg (known to work versions: 1.2, 2.8.2) The Ardour development team is in control of the first two applications. ffmpeg however can be a bit of a problem. To avoid conflicts with distribution packages, Ardour looks for ``ffmpeg_harvid`` and ``ffprobe_harvid``. All four applications need to be found in ``$PATH`` (e.g. ``$HOME/bin`` or ``/usr/local/bin``). For convenience the binary releases of harvid include ffmpeg_harvid and ffprobe_harvid, but if the distribution provides suitable ffmpeg commands, symbolic links can be created to the distribution-provided binaries: sudo ln -s /usr/bin/ffmpeg /usr/bin/ffmpeg_harvid sudo ln -s /usr/bin/ffprobe /usr/bin/ffprobe_harvid Binary releases are available from ardour.org as well as an installer script: `install_video_tools.sh `__. The easiest way to install the video-utilities is by running the following line in a terminal: sh -c "$(curl -s -L http://git.io/tVUCkw)" Studio Setup ------------ As Setting up a proper A/V post-production studio can be a complicated task, it is advised to read the info in the previous section to get familiar with the tools involved first. As much as the Ardour team streamlines and simplifies the *single machine* setup, the studio setup is focused on modularity. - TODO: - Synchronization ardour → video-display-box should be accomplished by external means. Jack-transport(netjack), MTC, LTC (OSC and/or ssh-pipe work but introduce additional latency + jitter) - Ardour launches ``XJREMOTE`` (environment variable, default 'xjremote' which comes with xjadeo). - Either use a custom shell script that ssh'es into the remote box and launches/controls xjadeo there, selects the sync-source and passes though communication between ardour ⇔ xjadeo via ssh (xjadeo is launched stopped with the session). - …or override xjremote's behavior—instead of IPC with a local running xjadeo-process, using OSC for example. Xjadeo would run permanently and Ardour will just tell it to load files and set offsets via OSC. See `xjremote-osc `__ example script. - If the video server runs remotely, Ardour needs to be configured in Ardour > Preference > Video (hostname of the video-server). - Ideally the machines have a common shared folder (NFS or similar). Ardour's import (audio-extract) and export (mux) functionality depends on having access to the video file. Also Ardour's video-import transcodes the file into a suitable proxy-format that allows reliable seeking to any frame… .. _transcoding-formats-amp-codecs: 74 - Transcoding, Formats & Codecs ================================== This chapter provides a short primer on video files, formats and codecs – because it is often cause for confusion: A video file is a container. It usually contains one video track, one or more audio tracks, and possibly subtitle tracks, chapters… The way these tracks are stored in the file is defined by the file format. Common formats are avi, mov, ogg, mkv, mpeg, mpeg-ts, mp4, flv, or vob. Each of the tracks by itself is encoded using a Codec. Common video codecs are h264, mpeg2, mpeg4, theora, mjpeg, wmv3. Common audio codecs are mp2, mp3, dts, aac, wav/pcm. Not all codecs can be packed into a given format. For example the mpeg format is limited to mpeg2, mpeg4 and mp3 codecs (not entirely true). DVDs do have stringent limitations as well. The opposite would be .avi: pretty much every audio/video codec combination can be contained in an avi file-format. To make things worse, naming conventions for video codecs and formats are often identical (especially MPEG ones) which leads to confusion. All in all it is a very wide and deep field. Suffice there are different uses for different codecs and formats. Ardour specific issues ---------------------- Ardour supports a wide variety of video file formats codecs. More specifically, Ardour itself actually does not support any video at all but delegates handling of video files to `ffmpeg `__, which supports over 350 different video codecs and more than 250 file formats. When importing a video into Ardour, it will be transcoded (changed from one format and codec to another) to avi/mjpeg for internal use (this allows reliable seeking to frames at low CPU cost—the file size will increase, but hard disks are large and fast). The export dialog includes presets for common format and codec combinations (such as DVD, web-video,..). If in doubt, one of the presets should be used. As a last note: every time a video is transcoded, the quality can only get worse. Hence for the final mastering/muxing process, one should always go back and use the original source of the video. .. _workflow-amp-operations: 75 - Workflow & Operations ========================== Overview of Operations ---------------------- +-----------------------------------+-----------------------------------+ | Session > Open Video… | Add/replace a video to/on the | | | timeline | +-----------------------------------+-----------------------------------+ | Window > Video Monitor | Open/close external video monitor | | | window | +-----------------------------------+-----------------------------------+ | View > Video Monitor > … | Various settings of the video | | | monitor | +-----------------------------------+-----------------------------------+ | Session > Export > Export to | Export session and multiplex with | | Video File… | video-file | +-----------------------------------+-----------------------------------+ | Left-drag the video in the | Re-align video and move 'locked' | | timeline | audio-regions along | +-----------------------------------+-----------------------------------+ | Context-menu on the | Prevent accidental drags | | video-timeline: Lock | | +-----------------------------------+-----------------------------------+ | Audio region context menu: | Mark audio region(s) to be moved | | *Name_Of_The_Region* > Position > | along with the video. | | Lock to video | | +-----------------------------------+-----------------------------------+ Adding a video -------------- Adding a video is a two-step process: selecting a video file, and choosing import mode and optionally selecting an audio track to extract. Only one video can be present in the session, so opening a video when one is already opened results in replacing the video. Launching the video server (optionnal) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. figure:: /images/launch_video_server.png :alt: The Launch Video Server dialog :figclass: mini The Launch Video Server dialog Importing a video makes Ardour start the video server automatically. If the Show video Server Startup Dialog option in the Video section of the `preferences <#preferences>`__ is checked, the Launch Video Server window is shown, allowing more complex operations, e.g. connecting to a remote video server instead of a local one. Selecting a file ~~~~~~~~~~~~~~~~ .. figure:: /images/set_video_track.png :alt: The video open dialog :figclass: mini The video open dialog This step is rather straight-forward. The panel on the right side allows to seek through the video and displays basic file information. It is also useful to check if the video format/codec is supported. The lower part of the window shows some options: - Open Video Monitor Window to automatically show the video monitor (Harvid). This can also be done later by using the Window > Video Monitor menu which is binded to V by default. - Adjust Session Framerate to Match Video Framerate which can also be set later with the `Session Properties <#session-properties-dialog>`__. Having the session and video framerate at the same value allows their sync not to drift off. Import options ~~~~~~~~~~~~~~ .. figure:: /images/transcode-import_video_file.png :alt: The Transcode/Import Video dialog :figclass: mini The Transcode/Import Video dialog This step analyzes the video file in more detail and offers import options: +-----------------------------------+-----------------------------------+ | Import/Transcode Video to Session | This is the default. The video | | | will be imported in a suitable | | | video format/codec for the | | | timeline and video monitor and | | | saved inside the session folder. | | | A location other than the session | | | folder can also be chosen | | | (external disk, or network | | | storage of the video server on a | | | different machine) by using the | | | Output File: field. | +-----------------------------------+-----------------------------------+ | Reference from Current Location | Only useful for opening files | | (Previously Transcoded Files | that were previously encoded (are | | Only) | already in a good format/codec | | | for Ardour). Should be used with | | | care. | +-----------------------------------+-----------------------------------+ | Do not Import Video (Audio Import | Useful for extracting audio only. | | Only) | | +-----------------------------------+-----------------------------------+ By default the video is imported using the original width/height. If it is a large video (e.g. full-HD), it makes sense to scale it down to decrease the CPU load and disk I/O required to decode and play the file. A small, low-quality representation of the image is usually sufficient for editing soundtracks. The default bitrate in kbit/sec is set to use 0.7 bits per pixel (in comparison, the average DVD medium uses 5000 kbit/s; at PAL resolution this is about 0.5 bits per pixel, but the DVD is using the mpeg2—a denser compression algorithm than the mjpeg codec used by Ardour). The Extract Audio: offers options regarding the Audio part of the stream, allowing to either not extract audio, or to choose which audio stream to add to the session. When extracting any audio, if it includes `LTC timecodes <#timecode-generators-and-slaves>`__, those can be extracted and used to sync the video by checking the option below. Working with A/V ---------------- Working with A/V in Ardour is similar to working in a pure audio setup, except for the presence of a video timeline in the `ruler <#ruler>`__ zone, and a Xjadeo video window, showing a preview of the result. .. figure:: /images/video_timeline.png :alt: The Video Timeline :figclass: mini The Video Timeline The Xjadeo window supports some user interactions, such as showing some OSD information or changing the zoom level. Xjadeo's documentation is available on its `website `__. .. _export: Exporting Video --------------- .. figure:: /images/export_video_file.png :alt: The Video Export Dialog The Video Export Dialog The video export will take audio from the current Ardour session and multiplex it with a video file. The soundtrack of the video is taken from an audio export of Ardour's master bus. An arbitrary video file can be chosen. For high quality exports, the original file (before it was imported into the timeline) should be used. This is the default behaviour if that file can be found. If not, Ardour will fall back to the imported proxy-video which is currently in use on the timeline. Any existing audio tracks on this video file are stripped. The range selection allows to cut or extend the video. If the session is longer than the video duration, black frames are prefixed or appended to the video. (Note: this process may fail with non-standard pixel aspect ratios). If Ardour's session range is shorter, the video will be cut accordingly. Audio sample-rate and normalization are options for Ardour's audio exporter. The remaining settings are options that are directly passed on to ffmpeg. The file format is determined by the extension chosen for it (.avi, .mov, .flv, .ogv, .webm,…). Note: not all combinations of format, codec, and settings produce files which are according to specifications. For example, flv files require sample rates of 22.1 kHz or 44.1 kHz, mpeg containers can not be used with ac3 audio-codec, etc. If in doubt, one of the built-in presets should be used. Ardour video export is not recommended for mastering! While ffmpeg (which is used by Ardour) can produce high-quality files, this export lacks the possibility to tweak many settings. We recommend using `winff `__, `devede `__ or `dvdauthor `__ to mux and master. Nevertheless this video-export comes in handy to do quick snapshots, intermediates, dailies or online videos. .. _control-surfaces: Part XI - Control Surfaces ========================== 76 - Controlling Ardour with OSC ================================ OSC lets synthesizers and other devices communicate with Ardour. OSC devices can send commands relating to playback (such as play or stop), performance (such as volume, play, stop, and almost any other function (such as Edit, or Undo). .. _osc58-controlling-ardour-with-osc: 76.1 - OSC: Controlling Ardour with OSC ======================================= OSC lets synthesizers and other devices communicate with Ardour. OSC devices can send commands relating to playback (such as play or stop), performance (such as volume, play, stop, and almost any other function (such as Edit, or Undo). *Note:* OSC control has changed dramatically since Ardour 4.7. The Path structure has been completely redone, Banking has been introduced, The controller is now able to tell Ardour what kind of feedback it can work with (including bank size) and two new math styles have been added to gain controls. If you are using an Ardour version of 4.7 or less, please read `Osc control in Ardour 4.7 and prior. <#osc-control-for-ardour-4.7-and-prior>`__ 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, particularly the "Actions" part below, since this relates to the GTK GUI for Ardour rather than the backend. Connecting to Ardour via OSC ---------------------------- OSC support is not enabled by default, but can be turned on via Edit > Preferences > Control Surfaces. 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 ```` section: