2 title: Introduction to Ardour
8 title: Welcome to Ardour
14 title: Welcome to Ardour!
19 <dfn>Ardour</dfn> is a professional digital workstation for working with audio and MIDI.
22 <h2>Ardour is meant for...</h2>
24 <h3>Audio Engineers</h3>
27 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.
33 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.
36 <h3>Soundtrack Editors</h3>
39 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.
45 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.
48 <h2>Ardour features...</h2>
50 <h3>Audio and MIDI Multi-Track Recording and Editing</h3>
53 Any number of tracks and busses. Non-linear editing. Non-destructive (and destructive!) recording. Any bit depth, any sample rate. Dozens of file formats.
56 <h3>Plugins with Full Sample Accurate Automation</h3>
59 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.
62 <h3>Transport Sync and External Control Surfaces</h3>
65 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.
68 <h3>Powerful Anywhere-to-Anywhere Signal Routing</h3>
71 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.
74 <h3>Video Timeline</h3>
77 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.
86 <dfn>Ardour</dfn> allows recording and editing both audio and MIDI data, addin of many different kinds of effects and mixing.
89 <p>Some things Ardour is used for include:</p>
92 <li>Digitally record acoustic/electric instruments or vocals</li>
93 <li>Compose and arrange audio and MIDI tracks</li>
94 <li>Edit live recordings</li>
95 <li>Mix and edit movie soundtracks and dialogue</li>
96 <li>Create sound designs for an arbitrary number of output channels</li>
100 title: Isn't This A Really Complicated Program?
105 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.
109 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.
113 Some people complain that Ardour is not "intuitive" to use—its lead developer has <a href="http://community.ardour.org/node/3322">some thoughts on that</a>.
117 title: Why Write a DAW for Linux?
122 It is fairly understandable that existing proprietary DAWs do not run on Linux, given the rather small (but growing) share of the desktop market that Linux has. However, when surveying the landscape of "popular operating systems", we find:
126 <li>older versions of Windows: plagued by abysmal stability and appalling security</li>
127 <li>newer versions of Windows seem stable but still suffer from security problems</li>
128 <li>OS X: an amazing piece of engineering that is excellent for audio work but only runs on proprietary hardware and still lacks the flexibility and adaptability of Linux.</li>
132 Security matters today, and will matter more in the future as more and more live or semi-live network based collaborations take place.
136 Let's contrast this with Linux, an operating system which:
140 <li>can stay up for months (or even years) without issues</li>
141 <li>is endlessly configurable down to the tiniest detail</li>
142 <li>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)</li>
143 <li>is fast and efficient</li>
144 <li>runs on almost any computing platform ever created, including old "slow" systems and new "tiny" systems (e.g. Raspberry Pi)</li>
145 <li>is one of the most secure operating systems "out of the box"</li>
149 More than anything, however, Ardour's primary author uses Linux and wanted a DAW that ran there.
153 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.
157 Although OS X has a number of disadvantages compared to Linux, its ease of use and its presence in many studios already makes it a worthwhile platform.
161 title: Why is it called Ardour?
166 The name <dfn>"Ardour"</dfn> came from considerations of how to pronounce the acronym <abbr title="Hard Disk Recorder">HDR</abbr>. The most obvious attempt sounds like a vowelless "harder" and it then was then a short step to an unrelated but slightly homophonic word:
170 <dfn>ardour</dfn> n 1: a feeling of strong eagerness (usually in favor of
171 a person or cause); "they were imbued with a revolutionary ardor"; "he
172 felt a kind of religious zeal" [syn: ardor, elan, zeal]<br />
173 2: intense feeling of love [syn: ardor]<br />
174 3: feelings of great warmth and intensity; "he spoke with great ardor"
175 [syn: ardor, fervor, fervour, fervency, fire, fervidness]
179 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.
183 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.
187 title: Why write another DAW?
192 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.
195 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:
199 <li>they do not run natively on Linux</li>
200 <li>they are not available in source code form, making modifications, improvements, bugfixes by technically inclined users or their friends or consultants impossible.</li>
204 title: Creating Music with Ardour
209 Ardour can be used in many different ways, from extremely simple to
210 extremely complex. Many projects will be handled using the following
211 kind of <dfn>workflow</dfn>.
214 <h2>Stage 1: Creating Your Project</h2>
217 The first step is to create a new <dfn>session</dfn>, or open an
218 existing one. A session consists of a folder containing a session file
219 that defines all the information about the session. All media files used
220 by the session can be stored within the session folder.
224 More details on sessions can be found in
225 <a href="/working-with-sessions">Working With Sessions</a>.
228 <h2>Stage 2: Creating and Importing Audio and MIDI data</h2>
231 Once you have a session, you will want to add some audio and/or MIDI
232 material to it, which can be done in one of 3 ways:
236 <li><dfn>Record</dfn> incoming audio or MIDI data, either via audio or MIDI hardware
237 connected to your computer, or from other applications.</li>
238 <li><dfn>Create</dfn> new MIDI data using the mouse and/or various dialogs</li>
239 <li><dfn>Import</dfn> existing media files into the session</li>
242 <dfn>MIDI recordings</dfn> consist of performance data ("play note X at
243 time T") rather than actual sound. As a result, they are more flexible
244 than actual audio, since the precise sound that they will generate when
245 played depends on where you send the MIDI to.<br />
246 Two different synthesizers may produce very different sound in response
247 to the same incoming MIDI data.
250 <dfn>Audio recordings</dfn> can be made from external instruments with
251 electrical outputs (keyboards, guitars etc.) or via microphones from
252 acoustic instruments.
255 Ardour uses the <dfn>JACK Audio Connection Kit</dfn> for all audio and
256 MIDI I/O, which means that recording audio/MIDI from other applications
257 is fundamentally identical to recording audio/MIDI from your audio/MIDI
261 <h2>Stage 3: Editing and Arranging</h2>
263 Once you have some material within the session, you can start to arrange
264 it in time. This is done in one of the two main windows of Ardour, the
265 <dfn>Editor</dfn> window.
268 Your audio/MIDI data appears in chunks called <dfn>regions</dfn>, which
269 are arranged into horizontal lanes called <dfn>tracks</dfn>. Tracks are
270 stacked vertically in the Editor window. You can copy, shorten, move,
271 and delete regions without changing the actual data stored in the session
272 at all—Ardour is a <dfn>non-destructive</dfn> editor. (Almost)
273 nothing that you do while editing will ever modify the files stored on
274 disk (except the session file itself).
277 You can also carry out many <dfn>transformations</dfn> to the contents
278 of regions, again without altering anything on disk. You can alter,
279 move, and delete MIDI notes, and remove silence from audio regions, for
283 <h2>Stage 4: Mixing and Adding Effects</h2>
285 Once you have the arrangement of your session mostly complete, you will
286 typically move on to the <dfn>mixing</dfn> phase. Mixing is a broad term
287 to cover the way the audio signals that your session generates during
288 playback and processed and added together into a final result that you
289 actually hear. It can involve altering the relative levels of various
290 parts of the session, adding effects that improve or transform certain
291 elements, and others that bring the sound of the whole session to a new
295 Ardour will allow you to <dfn>automate</dfn> changes to any mixing
296 parameters (such as volume, panning, and effects controls)—it will
297 record the changes you make over time, using a mouse or keyboard or some
298 external control device, and can play back those changes later. This is
299 very useful because often the settings you need will vary in one part of
300 a session compared to another—rather than using a single setting
301 for the volume, you may need increases followed by decreases (for example,
302 to track the changing volume of a singer). Using automation can make all
303 of this relatively simple.
306 <h2>Stage 5: Export</h2>
308 Once you are really satisfied with the arrangement and mix of your
309 session, you will typically want to produce a single audio file that
310 contains a ready-to-listen to version of the work. Ardour will allow you to
311 <dfn>export</dfn> audio files in a variety of formats (simultaneously in
312 some cases). This exported file would typically be used in creating a CD,
313 or be the basis for digital distribution of the work.
316 Of course sometimes you will want to do export material that isn't finished
317 yet, for example to give a copy to someone else to try to mix on their own
318 system. Ardour will allow you to export as much of a session as you want, at
319 any time, in any supported format.
324 title: Ardour Concepts
330 title: Understanding Basic Concepts and Terminology
335 This section will help you get acquainted with the basic terminology and
336 concepts associated with Ardour. More detailed information on each aspect
337 of the program is provided in later chapters.
342 An <dfn>Ardour session</dfn> is a container for an entire project. A
343 session may contain an arbitrary number of <dfn>tracks</dfn> and
344 <dfn>busses</dfn> consisting of audio and <abbr title="Musical Instrument
345 Digital Interface">MIDI</abbr> data, along with
346 information on processing those tracks, a mix of levels, and everything
347 else related to the project. A session might typically contain a song, or
348 perhaps an entire album or a complete live recording.
351 Ardour sessions are held in directories; these directories contain one or
352 more <dfn>session files</dfn>, some or all of the audio and MIDI data and
353 a number of other state files that Ardour requires. The session file
354 describes the structure of the session, and holds automation data and
358 Ardour's session file is kept in
359 <abbr title="eXtensible Markup Language">XML</abbr> format, which is
360 advantageous as it is somewhat human-readable, and human-editable in a
361 crisis. Sound files are stored in one of a number of optional formats, and
362 MIDI files as <abbr title="Standard MIDI File">SMF</abbr>.
365 It is also possible for Ardour sessions to reference sound and MIDI files
366 outside the session directory, to conserve disk space and avoid
367 unnecessary copying if the data is available elsewhere on the disk.
370 Ardour has a single current session at all times; if Ardour is started
371 without specifying one, it will offer to load or create one.
374 More details can be found at
375 <a href="/working-with-sessions">Working With Sessions</a>.
380 A <dfn>track</dfn> is a concept common to most
381 <abbr title="Digital Audio Workstation">DAWs</abbr>, and also used in
382 Ardour. Tracks can record audio or MIDI data to disk, and then replay
383 it with processing. They also allow the audio or MIDI data to be edited
384 in a variety of different ways.
387 In a typical pop production, one might use a track each for the kick
388 drum, another for the snare, more perhaps for the drum overheads and
389 others for bass, guitars and vocals.
392 Ardour can record to any number of tracks at one time, and then play
393 those tracks back. On playback, a track's recordings may be processed by
394 any number of plugins, panned, and its level altered to achieve a
398 A track's type is really only related to the type of data that it stores
399 on disk. It is possible, for example, to have a MIDI track with a
400 synthesizer plugin which converts MIDI to audio. Even though the track
401 remains MIDI (in the sense that its on-disk recordings are MIDI), its
402 output may be audio-only.
405 More details can be found at
406 <a href="/working-with-tracks">Working With Tracks</a>.
409 <h2 id="busses">Busses</h2>
411 <dfn>Busses</dfn> are another common concept in both DAWs and hardware
412 mixers. They are similar in many ways to tracks; they process audio or
413 MIDI, and can run processing plugins. The only difference is that their
414 input is obtained from other tracks or busses, rather than from disk.
417 One might typically use a bus to collect together the outputs of related
418 tracks. Consider, for example, a 3-track recording of a drum-kit; given
419 kick, snare and overhead tracks, it may be helpful to connect the output
420 of each to a bus called "drums", so that the drum-kit's level can be set
421 as a unit, and processing (such as equalisation or compression) can be
422 applied to the mix of all tracks. Such buses are also called
428 A track may contain many segments of audio or MIDI. Ardour contains
429 these segments in things called <dfn>regions</dfn>, which are
430 self-contained snippets of audio or MIDI data. Any recording pass, for
431 example, generates a region on each track that is enabled for recording.
432 Regions can be subjected to many editing operations; they may be moved
433 around, split, trimmed, copied, and so on.
436 More details can be found at
437 <a href="/working-with-regions">Working With Regions</a>.
442 The details of what exactly each track should play back is described by a
443 <dfn>playlist</dfn>. A playlist is simply a list of regions; each track
444 always has an active playlist, and can have other playlists which can be
445 switched in and out as required.
448 More details can be found at
449 <a href="/working-with-playlists">Working With Playlists</a>.
454 Ardour allows you to process audio and MIDI using any number of
455 <dfn>plugins</dfn>. These are external pieces of code, commonly seen as
456 VST plugins on Windows or AU plugins on Mac OS X. Ardour supports
457 the following plugin standards:
459 <dl class="wide-table">
460 <dt><abbr title="Linux Audio Developers' Simple Plugin API">LADSPA</abbr></dt>
461 <dd>the first major plugin standard for Linux. Many LADSPA plugins are
462 available, mostly free and open-source.</dd>
463 <dt><abbr title="LADSPA Version 2">LV2</abbr></dt>
464 <dd>the successor to LADSPA. Lots of plugins have been ported from
465 LADSPA to LV2, and also many new plugins written.</dd>
466 <dt><abbr title="Virtual Studio Technology">VST</abbr></dt>
467 <dd>Ardour supports VST plugins that have been compiled for Linux.</dd>
468 <dt><abbr title="Audio Units">AU</abbr></dt>
469 <dd>Mac OS X versions of Ardour support AudioUnit plugins.</dd>
472 Ardour has some support for running Windows VST plugins on Linux, but
473 this is rather complicated, extremely difficult for the Ardour
474 developers to debug, and generally unreliable, as it requires to run a
475 large amount of Windows code in an emulated environment.<br />
476 If it is at all possible, you are strongly advised to use native
477 LADSPA, LV2 or Linux VST plugins on Linux, or AU on Mac OS X.
480 More details can be found at
481 <a href="/working-with-plugins">Working With Plugins</a>.
486 title: Basic GUI Operations
491 Ardour offers a number of different ways for you to interact with it.
492 This chapter provides information on basic techniques for <dfn>entering
493 text</dfn>, <dfn>making selections</dfn>, and <dfn>using shortcuts</dfn>.
497 title: Interface Elements
503 <h2>Pull Down Menus</h2>
504 <h2>Pop Up Menus</h2>
505 <h2>Context Menus</h2>
508 <p class="fixme">Add content</p>
516 Almost every available function in Ardour can be executed via a
517 <dfn>key binding</dfn> or <dfn><abbr title="Open Sound
518 Control">OSC</abbr></dfn> command. There are many more functions
519 available than there are keys on even the largest current computer
520 keyboards, so only a subset of them are bound to keys by default.
523 <h2>Key bindings for menu items</h2>
526 Existing key bindings in menus are listed on the right side of the
531 To create a custom key binding for a menu item quickly, navigate to
532 the relevant (sub-) menu, hover over the item with the mouse and press
533 the desired combination of modifiers and key.
537 Ardour will silently re-assign the binding if you use a key
538 combination that is already in use, possibly removing a standard
539 keyboard shortcut without warning you. That might lead to confusion
540 when you ask other users for help, and they explain something in terms
541 of a standard key binding, which will then have a completely
542 different effect on your system.
545 <h2>Key binding editor</h2>
548 For a complete overview of all existing keyboard bindings, go to
549 <kbd class="menu">Window > Key Bindings</kbd>. This widget will let
550 you view and edit even those functions that are not available in the menu,
551 and even remove key bindings altogether.
555 title: Selection Techniques
560 Ardour follows the conventions used by most other computer software
561 (including other DAWs) for <dfn>selecting objects</dfn> in the
562 <abbr title="Graphical User Interface">GUI</abbr>.
565 <h2>Selecting individual objects</h2>
568 Clicking on an object (sometimes on a particular part of its
569 on-screen representation) will select the object, and deselect other
573 <h2>Selecting multiple (similar) objects</h2>
576 A <kbd class="mod1 mouse">left</kbd> click on an object toggles its
577 <samp>selected</samp> status, so using <kbd class="mod1 mouse">left</kbd>
578 on a series of objects will select (or deselect) each one of them. You can
579 construct completely arbitrary selections with this technique.
582 <h2>Selecting a range of objects</h2>
585 In cases where the idea of "select all objects between this one and that
586 one" makes sense, you can select one object and then click
587 <kbd class="mod3 mouse">left</kbd> on another to select both of them as
588 well as all objects in between.
591 <h2>Time range selection</h2>
594 To select a time <dfn>range</dfn> in the Editor,
595 click <kbd class="mouse">Left</kbd> and drag the mouse.
596 A <kbd class="mod1 mouse">Left</kbd> drag then lets you create other
597 ranges and a <kbd class="mod3 mouse">left</kbd> click extends a range
598 to cover a wider area.
601 <h2>Selection Undo</h2>
604 The set of objects (including time range) that are selected at any one
605 time is known as the selection.
606 Each time you select or deselect an object, the new selection is stored in an
608 This stack is cleared each time the content of the timeline changes.
609 If you have built up a complex selection and then accidentally cleared it,
610 choosing <kbd class="menu">Edit > Undo Selection Change</kbd> will restore your previous selection.
611 If you then decide that you had in fact made the correct change, choosing
612 <kbd class="menu">Edit > Redo Selection Change</kbd> will take you back
613 to where you were before you chose <kbd class="menu">Edit > Undo Selection Change</kbd>.
622 By default, Ardour will show helpful <dfn>tooltips</dfn> about
623 the purpose and use of each <abbr title="Graphical User
624 Interface">GUI</abbr> element if you position the pointer
625 over it and hover there for a short while.
626 These little pop-up messages can be a good way to discover the
627 purpose of many aspects of the GUI.
631 Pop-ups can be distracting for experienced users, who may opt to
632 disable them via <kbd class="optoff">Edit > Preferences > GUI >
633 Show tooltip if mouse hovers over a control</kbd>.
637 title: Undo/Redo for Editing
642 While editing, it happens that you apply an unintended change, or make
643 a choice one that you later decide was wrong. All changes to the
644 arrangement of session components (regions, control points) along the
645 timeline can be <dfn>undone</dfn> (and <dfn>redone</dfn> if necessary).
649 The default keybindings are <kbd class="mod1">Z</kbd> for Undo and
650 <kbd class="mod1">R</kbd> for Redo. These match the conventions of most
651 other applications that provide undo/redo.
655 Changes are also saved to the <dfn>session history</dfn> file, so that
656 undo/redo is possible even if you close the session and reopen it later,
657 even if you quit Ardour in between.
661 The maximum number of changes that can be undone can be configured under
662 <kbd class="menu">Edit > Preferences > Misc > Undo</kbd>.
663 The maximum number of changes stored in the history file is a separate
664 parameter, and can also be set in the same place.
668 In addition to the normal undo (which works only on actions that change
669 the timeline), there is a <dfn>visual undo</dfn> which will revert any
670 command that affects the display of the editor window. Its shortcut is
671 <kbd class="mod3">Z</kbd>.
672 There is also an undo for selection. See
673 <a href="/ardours-interface/basic-gui-operations/selection-techniques/">Selection Techniques</a> for more information.
677 Note that changes made to mixer strips, such as turning knobs or changing faders, cannot be undone.
681 title: Using the Mouse
688 Throughout this manual, the term <dfn>click</dfn> refers to the act of pressing
689 and releasing the <kbd class="mouse">Left</kbd> mouse button. This action is used to select objects, activate
690 buttons, turn choices on and off, pop up menus and so forth.<br />
691 On touch surfaces, it also corresponds to a single, one-finger tap on
695 <h2>Right Clicking</h2>
698 The term <dfn>right-click</dfn> refers to the act of pressing and releasing
699 the <kbd class="mouse">Right</kbd> mouse button.
700 This action is used to pop up <dfn>context menus</dfn> (hence the term
701 "context click", which you will also see). It is also used by default in
702 combination with the shift key to delete objects within the editor
707 Some mice designed for use with Mac OS X may have only one button. By
708 convention, pressing and holding the Control key while clicking is
709 interpreted as a right-click by many application..
712 <h2>Middle Clicking</h2>
715 A <dfn>middle-click</dfn> refers to the act of pressing and releasing the
716 <kbd class="mouse">Middle</kbd> mouse button. Not all all mice have a middle click button
717 (see the <a href="/setting-up-your-system/mouse/">Mouse</a> chapter for
718 details). Sometimes the scroll wheel acts as a clickable middle button.
719 This action is used for time-constrained region copying and mapping MIDI
724 Internally, your operating system may identify the mouse buttons as
725 <kbd class="mouse">Button1</kbd>, <kbd class="mouse">Button2</kbd>, and
726 <kbd class="mouse">Button3</kbd>, respectively. It may be possible to
727 invert the order of buttons to accommodate left-handed users, or to re-assign
728 them arbitrarily. This manual assumes the canonical order.
731 <h2>Double Clicking</h2>
734 A <dfn>double click</dfn> refers to two rapid press/release cycles on the
735 leftmost mouse button. The time interval between the two actions that
736 determines whether this is seen as two clicks or one double click is
737 controlled by your system preferences, not by Ardour.
743 A <dfn>drag</dfn> primarily refers to the act of pressing the leftmost
744 mouse button, moving the mouse with the button held down, and then
745 releasing the button. On touch surfaces, this term also corresponds to
746 a single one-finger touch-move-release action.
750 Ardour also uses the middle mouse button for certain kinds of drags,
751 which will be referred to as <dfn>middle-drag</dfn>.
757 There are many actions in Ardour that can be carried out using a mouse
758 button in combination with a <dfn>modifier key</dfn>. When the manual
759 refers to <kbd class="mod1 mouse">Left</kbd>, it means that you should first
760 press the <kbd class="mod1"></kbd> key, carry out a left click
761 while <kbd class="mod1"></kbd> is held down, and then finally release the key.
765 Available modifiers depend on your platform:
768 <h3>Linux Modifiers</h3>
771 <li><kbd>Ctrl</kbd> (Control)</li>
772 <li><kbd>Shift</kbd></li>
773 <li><kbd>Alt</kbd></li>
774 <li><kbd>Mod2</kbd></li>
775 <li><kbd>Mod3</kbd></li>
776 <li><kbd>Mod4</kbd></li>
777 <li><kbd>Mod5</kbd></li>
781 The following section is almost certainly wrong. Will need to be checked
786 Mod2 typically corresponds to the <kbd>NumLock</kbd> key on many systems.
787 On most Linux systems, there are no keys that will function as modifiers
788 Mod3, Mod4 or Mod5 by default, but they can be setup using
789 <dfn>xmodmap(1)</dfn>. This can be rather useful.
792 <h3>OS X Modifiers</h3>
795 <li><kbd>Cmd</kbd> (Command, "windmill")</li>
796 <li><kbd>Ctrl</kbd> (Control)</li>
797 <li><kbd>Alt</kbd> (Option)</li>
798 <li><kbd>Shift</kbd></li>
801 <h2>Scroll Wheel</h2>
804 Ardour can make good use of a <dfn>scroll wheel</dfn> on your mouse, which can be
805 utilized for a variety of purposes. Scroll wheels generate vertical
806 scroll events, <kbd class="mouse">⇑</kbd> (ScrollUp) and
807 <kbd class="mouse">⇓</kbd> (ScrollDown). Some also emit horizontal
808 events, <kbd class="mouse">⇐</kbd> (ScrollLeft) and
809 <kbd class="mouse">⇒</kbd> (ScrollRight).
813 When appropriate, Ardour will differentiate between these two different
814 scroll axes. Otherwise it will interpret ScrollDown and ScrollLeft as
815 equivalent and similarly interpret ScrollUp and ScrollRight as equivalent.
819 Typically, scroll wheel input is used to adjust
820 <dfn>continuous controls</dfn> such as faders and knobs, or to scroll
821 vertically or horizontally inside a window.
824 <p class="fixme">Should add some mention of drag & drop operations; the "Dragging" section above doesn't mention it at all.</p>
827 title: Cut and Paste Operations
832 The <dfn>clipboard</dfn> is a holder for various kinds of objects (regions,
833 control events, plugins) that is used during <dfn>cut-and-paste
840 A <dfn>cut</dfn> operation removes selected objects and places them in the
841 clipboard. The existing contents of the clipboard are overwriten.<br />
842 The default key binding is <kbd class="mod1">x</kbd>.
848 A <dfn>copy</dfn> of the selected objects are placed in clipboard. There is
849 no effect on the selected objects themselves. The existing contents of the
850 clipboard are overwritten. <br />
851 The default key binding is <kbd class="mod1">c</kbd>.
857 The current contents of the clipboard are <dfn>paste</dfn>d (inserted)
858 into the session, using the current <dfn>edit point</dfn> as the
859 destination. The contents of the clipboard remain unchanged—you
860 can paste the same item multiple times. <br />
861 The default key binding is <kbd class="mod1">v</kbd>.
865 title: Deleting Objects
870 Within the Editor window (and to some extent within the Mixer window too),
871 there are several techniques for <dfn>deleting</dfn> objects (regions,
872 control points, and more).
875 <h2>Using the mouse and keyboard</h2>
877 Select the object(s) and then press the <kbd>Del</kbd> key.
878 This does <strong>not</strong> put the deleted object(s) into the cut
879 buffer, so they cannot be pasted elsewhere.
882 <h2>Using normal cut and paste shortcuts</h2>
884 Select the object(s) and then press <kbd class="mod1">x</kbd>. This puts
885 the deleted object(s) into the cut buffer so that they could be pasted
889 <h2>Using just the mouse</h2>
891 By default, <kbd class="mouse">Shift Right</kbd> will delete the
892 clicked-upon object. Like the Del key, this does <strong>not</strong>
893 put the deleted object(s) into the cut buffer.
896 The modifier and mouse button used for this can be controlled via
897 <kbd class="menu">Edit > Preferences > User Interaction >
898 Delete using ...</kbd>. Any modifier and mouse button combination can
903 title: Ardour's Interface
908 In Ardour, work is done in two main windows: the <dfn>Editor</dfn> and the
912 <p><img class="right" src="/images/editor-summary.png"
913 alt="Ardour's editor window" /></p>
916 To switch between those windows, use the buttons (in the upper right),
917 the shortcut <kbd class="mod2">M</kbd>, or the menu
918 <kbd class="menu">Window > Editor <em>(or Mixer)</em> > Show</kbd>.
919 Both windows can be visible at the same time (eg. for a multi-monitor
920 setup) using <kbd class="menu">Detach</kbd> in the same menu.
924 The <dfn>Editor</dfn> window includes the editor track <dfn>canvas</dfn> where audio and MIDI data can be arranged along a timeline. This is the window used while <a href="/editing-and-arranging/">editing and arranging</a> a session. This window has a general <em>horizontal</em> sense to it: the timeline flows from left to right, and the playhead showing the current position in the session moves from left to right—the window represents <dfn>time</dfn> in a fairly literal way.
927 <p><img class="right" src="/images/mixer-summary.png"
928 alt="ardour's mixer window" /></p>
931 The <dfn>Mixer</dfn> window on the other hand represents signal flow and is the window likely used most when mixing a session. It includes <dfn>channel strips</dfn> for each track and bus in the session. It has a general <em>vertical</em> 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.
935 It is possible to show a single channel strip in the editor window, and this can be 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—sometimes the focus is on editing, other times the focus is on mixing.
939 title: Starting Ardour
944 There are several ways of <dfn>starting Ardour</dfn>, which may vary
945 depending on which platform you are using it.
949 <li>double-click the Ardour icon in your platform's file manager (e.g.
950 Nautilus on Linux, Finder on OS X)</li>
951 <li>double click on an Ardour session file in your platform's file manager</li>
952 <li>on Linux, you can also start Ardour <a
953 href="/ardours-interface/starting-ardour/starting-ardour-from-the-command-line">on the command line</a></li>
957 When Ardour is run for the very first time, a special dialog is displayed
958 that will ask you several questions about your setup. You will not be asked
959 these questions again, but you can always modify your choices via the
960 <kbd class="menu">Edit > Preferences</kbd> dialog.
963 <p class="fixme">This may have been true in the past, but now, considering that the startup dialog lets one tune JACK parameters up front, this is prety much bollocks. The rest is wrong as well</p>
965 In general, it is sensible to start JACK before you run Ardour. This is not
966 necessary, but will provide you with more control and options over JACK's
971 If you open Ardour without specifying an existing session it will display
972 the <kbd class="menu">Session > New...</kbd> dialog. If JACK is not already
973 running, there will be an extra <kbd class="menu">Audio Engine</kbd> tab in
974 that dialog to configure JACK, which Ardour will then start automatically.
978 If you did specify an existing session but JACK is not already running, the
979 <kbd class="menu">New Session</kbd> dialog will contain just the Audio Engine tab.
983 title: Starting Ardour From the Command Line (Linux)
984 menu_title: Starting from Linux Cmdline
989 Like (almost) any other program on Linux, Ardour can be started on the
990 command line. Type the following command in a terminal window:
992 <kbd class="cmd lin">ardour5</kbd>
994 To start Ardour with an existing session:
996 <kbd class="cmd lin">ardour5 <em>/path/to/session</em></kbd>
998 replacing /path/to/session with the actual path to your session. You can
999 specify either the session folder or any session file inside the folder,
1000 including snapshots.
1003 To start Ardour with a new, named session:
1005 <kbd class="cmd lin">ardour5 -N <em>/path/to/session</em></kbd>
1007 <h3>Other Command Line Options</h3>
1011 title: Keyboard and Mouse Shortcuts
1017 title: Default Keyboard Bindings
1018 menu_title: Key Bindings
1023 Almost every available function in Ardour can be bound to a keyboard
1024 shortcut (and those few that cannot will usually respond to an <a
1025 href="/using-control-surfaces/controlling-ardour-with-osc/"><abbr
1026 title="Open Sound Control">OSC</abbr> command</a>). Ardour comes with a
1027 rich set of default <dfn>key bindings</dfn> for the most commonly used
1031 <p>These bindings strive to be <dfn>mnemonic</dfn>, that is, easy and intuitive
1032 to remember, and follow widely accepted conventions. As a general rule,
1033 the first letter of an operation will be used for as a shortcut, if
1034 available. This does not necessarily lead to the best ergonomics for
1035 rapid editing—there are alternative binding sets for that—but it does make it simpler for newcomers to remember some of the most
1036 useful ones, for example<br />
1037 <kbd>S</kbd> for <kbd class="menu">Region > Edit > Split"</kbd>
1039 <kbd>P</kbd> for <kbd class="menu">Transport > Playhead > Playhead to Mouse</kbd>.
1043 Almost every key binding in Ardour can be changed in <kbd class="menu">Window > Key Bindings</kbd>.
1047 The conventions for using modifier keys (<kbd class="mod1">‌</kbd>, <kbd
1048 class="mod2">‌</kbd>, <kbd class="mod3">‌</kbd> etc.) differ among platforms, so we provide different default bindings for each.
1052 title: Mnemonic Bindings for Linux
1058 A printable cheat-sheet with the mnemonic bindings for <dfn>Linux</dfn>
1059 is available for download in
1060 <a href="/files/a3_mnemonic_cheatsheet.pdf">US Letter</a> and
1061 <a href="/files/a3_mnemonic_cheatsheet-a4.pdf">A4</a> paper format.
1065 This set of bindings assumes an en_US keyboard. However, most if not all
1066 bindings will also work on other keyboards when you use the
1067 <kbd>AltGr</kbd> to compose those glyphs that are not directly accessible.
1070 <h2>Transport & Recording Control</h2>
1072 <dl class="bindings">
1073 <dt>destroy last recording</dt>
1074 <dd><kbd class="mod1">Del</kbd></dd>
1075 <dt>engage record</dt>
1076 <dd><kbd class="mod3">r</kbd></dd>
1077 <dt>fast forward</dt>
1078 <dd><kbd class="mod3">→</kbd></dd>
1079 <dt>loop play (the loop range)</dt>
1080 <dd><kbd class="">l</kbd></dd>
1082 <dd><kbd class="mod3">←</kbd></dd>
1083 <dt>set playhead position</dt>
1084 <dd><kbd class="">p</kbd></dd>
1085 <dt>start recording</dt>
1086 <dd><kbd class="mod3">Space</kbd></dd>
1087 <dt>stop (keep loop/range play)</dt>
1088 <dd><kbd class="mod12">Space</kbd></dd>
1089 <dt>stop and destroy</dt>
1090 <dd><kbd class="mod1">Space</kbd></dd>
1091 <dt>toggle auto play</dt>
1092 <dd><kbd class="">5</kbd></dd>
1093 <dt>toggle auto return</dt>
1094 <dd><kbd class="">6</kbd></dd>
1095 <dt>toggle click (metronome)</dt>
1096 <dd><kbd class="">7</kbd></dd>
1097 <dt>toggle playhead follows edits</dt>
1098 <dd><kbd class="mod3">F</kbd></dd>
1099 <dt>toggle playhead tracking</dt>
1100 <dd><kbd class="mod1">F</kbd></dd>
1101 <dt>toggle roll</dt>
1102 <dd><kbd class="">Space</kbd></dd>
1103 <dt>toggle selected track rec-enable </dt>
1104 <dd><kbd class="mod3">b</kbd></dd>
1105 <dt>toggle selected track solo status</dt>
1106 <dd><kbd class="mod2">s</kbd></dd>
1107 <dt>transition to reverse</dt>
1108 <dd><kbd class="mod3">↓</kbd></dd>
1109 <dt>transition to roll</dt>
1110 <dd><kbd class="mod3">↑</kbd></dd>
1113 <h2>Session & File Handling</h2>
1115 <dl class="bindings">
1116 <dt>add track(s) or bus(ses)</dt>
1117 <dd><kbd class="mod13">n</kbd></dd>
1118 <dt>export session</dt>
1119 <dd><kbd class="mod4">e</kbd></dd>
1120 <dt>import audio files</dt>
1121 <dd><kbd class="mod1">i</kbd></dd>
1122 <dt>open a new session</dt>
1123 <dd><kbd class="mod1">n</kbd></dd>
1124 <dt>open a recent session</dt>
1125 <dd><kbd class="mod13">o</kbd></dd>
1126 <dt>open an existing session</dt>
1127 <dd><kbd class="mod1">o</kbd></dd>
1129 <dd><kbd class="mod1">q</kbd></dd>
1130 <dt>save session</dt>
1131 <dd><kbd class="mod1">s</kbd></dd>
1132 <dt>snapshot session</dt>
1133 <dd><kbd class="mod13">s</kbd></dd>
1134 <dt>toggle selected track MIDI input</dt>
1135 <dd><kbd class="mod2">i</kbd></dd>
1138 <h2>Changing What's Visible</h2>
1140 <dl class="bindings">
1141 <dt>fit tracks vertically</dt>
1142 <dd><kbd class="">f</kbd></dd>
1143 <dt>move selected tracks down</dt>
1144 <dd><kbd class="mod1">↓</kbd></dd>
1145 <dt>move selected tracks up</dt>
1146 <dd><kbd class="mod1">↑</kbd></dd>
1147 <dt>scroll down (page)</dt>
1148 <dd><kbd class="">PgDn</kbd></dd>
1149 <dt>scroll down (step)</dt>
1150 <dd><kbd class="">↓</kbd></dd>
1151 <dt>scroll up (page)</dt>
1152 <dd><kbd class="">PgUp</kbd></dd>
1153 <dt>scroll up (step)</dt>
1154 <dd><kbd class="">↑</kbd></dd>
1155 <dt>toggle editor window mixer</dt>
1156 <dd><kbd class="mod3">e</kbd></dd>
1157 <dt>visual undo</dt>
1158 <dd><kbd class="mod3">z</kbd></dd>
1159 <dt>zoom height to selected region(s)</dt>
1160 <dd><kbd class="mod12">z</kbd></dd>
1161 <dt>zoom height and time to selected region</dt>
1162 <dd><kbd class="mod2">z</kbd></dd>
1164 <dd><kbd class="">=</kbd></dd>
1166 <dd><kbd class="">-</kbd></dd>
1169 <h2>Window Visibility</h2>
1171 <dl class="bindings">
1172 <dt>toggle locations dialog</dt>
1173 <dd><kbd class="mod2">l</kbd>(ell)</dd>
1174 <dt>focus on main clock</dt>
1175 <dd><kbd class="kp">÷</kbd></dd>
1176 <dt>maximise editor space</dt>
1177 <dd><kbd class="mod12">f</kbd></dd>
1178 <dt>switch between editor & mixer window</dt>
1179 <dd><kbd class="mod2">m</kbd></dd>
1180 <dt>show rhythm ferret window </dt>
1181 <dd><kbd class="mod2">f</kbd></dd>
1182 <dt>toggle big clock</dt>
1183 <dd><kbd class="mod2">b</kbd></dd>
1184 <dt>toggle color manager</dt>
1185 <dd><kbd class="mod2">c</kbd></dd>
1186 <dt>toggle editor window</dt>
1187 <dd><kbd class="mod2">e</kbd></dd>
1188 <dt>toggle global audio patchbay</dt>
1189 <dd><kbd class="mod2">p</kbd></dd>
1190 <dt>toggle global midi patchbay</dt>
1191 <dd><kbd class="mod23">p</kbd></dd>
1192 <dt>toggle key bindings editor</dt>
1193 <dd><kbd class="mod2">k</kbd></dd>
1194 <dt>toggle preferences dialog</dt>
1195 <dd><kbd class="mod2">o</kbd></dd>
1196 <dt>toggle preferences dialog</dt>
1197 <dd><kbd class="mod13">p</kbd></dd>
1200 <h2>Editing with Edit Point</h2>
1203 Most edit functions operate on a single <dfn>Edit Point</dfn> (EP). The edit
1204 point can be any of: playhead (default), the mouse or an active marker.
1205 The choice of edit point (by default) also sets the <dfn>Zoom Focus</dfn>.
1208 <dl class="bindings">
1209 <dt>EP to next region sync</dt>
1210 <dd><kbd class="">;</kbd></dd>
1211 <dt>EP to prev region sync</dt>
1212 <dd><kbd class="">'</kbd></dd>
1213 <dt>cycle to next grid snap mode</dt>
1214 <dd><kbd class="">2</kbd></dd>
1215 <dt>cycle to next zoom focus</dt>
1216 <dd><kbd class="">1</kbd></dd>
1217 <dt>insert from region list</dt>
1218 <dd><kbd class="">i</kbd></dd>
1219 <dt>insert time</dt>
1220 <dd><kbd class="mod1">t</kbd></dd>
1221 <dt>move EP to playhead</dt>
1222 <dd><kbd class="mod2">↵</kbd></dd>
1223 <dt>next EP w/marker</dt>
1224 <dd><kbd class="mod1">`</kbd></dd>
1225 <dt>next EP w/o marker</dt>
1226 <dd><kbd class="">`</kbd></dd>
1228 <dd><kbd class="">k</kbd></dd>
1230 <dd><kbd class="">j</kbd></dd>
1231 <dt>trim region end to edit point</dt>
1232 <dd><kbd class="mod3">}</kbd></dd>
1233 <dt>trim region start to edit point</dt>
1234 <dd><kbd class="mod3">{</kbd></dd>
1235 <dt>trim region to end of prev region</dt>
1236 <dd><kbd class="mod1">j</kbd></dd>
1237 <dt>trim region to start of next region</dt>
1238 <dd><kbd class="mod1">k</kbd></dd>
1239 <dt>use previous grid unit</dt>
1240 <dd><kbd class="">3</kbd></dd>
1241 <dt>use next grid unit</dt>
1242 <dd><kbd class="">4</kbd></dd>
1243 <dt>use previous grid unit</dt>
1244 <dd><kbd class="mod1">3</kbd></dd>
1245 <dt>use next musical grid unit</dt>
1246 <dd><kbd class="mod1">4</kbd></dd>
1249 <h2>Aligning with the Edit Point</h2>
1252 <dfn>Align operations</dfn> move regions so that their start/end/sync
1253 point is at the edit point. <dfn>Relative</dfn> operations just align the first
1254 region and moves other selected regions to maintain relative positioning.
1257 <dl class="bindings">
1258 <dt>align end(s)</dt>
1259 <dd><kbd class="mod2">a</kbd></dd>
1260 <dt>align start(s)</dt>
1261 <dd><kbd class="mod14">a</kbd></dd>
1262 <dt>align start(s) relative</dt>
1263 <dd><kbd class="mod4">a</kbd></dd>
1264 <dt>align sync points</dt>
1265 <dd><kbd class="mod3">a</kbd></dd>
1266 <dt>align sync points (relative)</dt>
1267 <dd><kbd class="">a</kbd></dd>
1268 <dt>range end to next prev edge</dt>
1269 <dd><kbd class="mod1">></kbd></dd>
1270 <dt>range end to next region edge</dt>
1271 <dd><kbd class="">></kbd></dd>
1272 <dt>range start to next region edge</dt>
1273 <dd><kbd class="mod1"><</kbd></dd>
1274 <dt>range start to prev region edge</dt>
1275 <dd><kbd class=""><</kbd></dd>
1278 <h2>Edit Point Playback</h2>
1280 <dl class="bindings">
1281 <dt>play edit range</dt>
1282 <dd><kbd class="mod2">Space</kbd></dd>
1283 <dt>play from EP & return</dt>
1284 <dd><kbd class="mod4">Space</kbd></dd>
1285 <dt>play selected region(s)</dt>
1286 <dd><kbd class="">h</kbd></dd>
1288 <h2>Region Operations</h2>
1290 <dl class="bindings">
1291 <dt>duplicate region (multi)</dt>
1292 <dd><kbd class="mod3">d</kbd></dd>
1293 <dt>duplicate region (once)</dt>
1294 <dd><kbd class="mod2">d</kbd></dd>
1295 <dt>export selected region(s)</dt>
1296 <dd><kbd class="mod14">e</kbd></dd>
1297 <dt>increase region gain</dt>
1298 <dd><kbd class="">^</kbd></dd>
1299 <dt>move to original position</dt>
1300 <dd><kbd class="mod2">o</kbd></dd>
1301 <dt>mute/unmute</dt>
1302 <dd><kbd class="mod1">m</kbd></dd>
1304 <dd><kbd class="">n</kbd></dd>
1305 <dt>nudge backward</dt>
1306 <dd><kbd class="kp">–</kbd></dd>
1307 <dt>nudge forward</dt>
1308 <dd><kbd class="kp">+</kbd></dd>
1309 <dt>quantize MIDI notes </dt>
1310 <dd><kbd class="">q</kbd></dd>
1311 <dt>reduce region gain</dt>
1312 <dd><kbd class="">&</kbd></dd>
1314 <dd><kbd class="mod2">r</kbd></dd>
1315 <dt>set fade in length</dt>
1316 <dd><kbd class="">/</kbd></dd>
1317 <dt>set fade out length</dt>
1318 <dd><kbd class="">\</kbd></dd>
1319 <dt>set region sync point</dt>
1320 <dd><kbd class="">v</kbd></dd>
1322 <dd><kbd class="">s</kbd></dd>
1323 <dt>toggle fade in active</dt>
1324 <dd><kbd class="mod1">/</kbd></dd>
1325 <dt>toggle fade out active</dt>
1326 <dd><kbd class="mod1">\</kbd></dd>
1328 <dd><kbd class="mod2">t</kbd></dd>
1331 <h2>Generic Editing</h2>
1333 <dl class="bindings">
1335 <dd><kbd class="mod1">c</kbd></dd>
1337 <dd><kbd class="mod1">x</kbd></dd>
1339 <dd><kbd class="">Del</kbd></dd>
1341 <dd><kbd class="mod1">v</kbd></dd>
1343 <dd><kbd class="mod1">r</kbd></dd>
1345 <dd><kbd class="mod1">z</kbd></dd>
1351 There are a few functions that refer to an <dfn>Edit Range</dfn>. The
1352 current edit range is defined using combinations of the possible edit
1353 points: <dfn>playhead</dfn>, <dfn>active marker</dfn>, or <dfn>mouse</dfn>.
1356 <dl class="bindings">
1357 <dt>all after playhead</dt>
1358 <dd><kbd class="mod13">p</kbd></dd>
1359 <dt>all before playhead</dt>
1360 <dd><kbd class="mod1">p</kbd></dd>
1361 <dt>all enclosed by edit range</dt>
1362 <dd><kbd class="mod1">u</kbd></dd>
1363 <dt>all present in edit range</dt>
1364 <dd><kbd class="">u</kbd></dd>
1365 <dt>convert edit range to range</dt>
1366 <dd><kbd class="">F6</kbd></dd>
1367 <dt>invert selection</dt>
1368 <dd><kbd class="mod3">i</kbd></dd>
1369 <dt>select all after EP</dt>
1370 <dd><kbd class="mod13">e</kbd></dd>
1371 <dt>select all before EP</dt>
1372 <dd><kbd class="mod1">e</kbd></dd>
1373 <dt>select all in loop range</dt>
1374 <dd><kbd class="mod1">l</kbd></dd>
1375 <dt>select all in punch range</dt>
1376 <dd><kbd class="mod1">d</kbd></dd>
1377 <dt>select everything</dt>
1378 <dd><kbd class="mod1">a</kbd></dd>
1379 <dt>select next track/bus</dt>
1380 <dd><kbd class="mod2">↓</kbd></dd>
1381 <dt>select previous track/bus</dt>
1382 <dd><kbd class="mod2">↑</kbd></dd>
1385 <h2>Defining Loop, Punch Range and Tempo Changes</h2>
1387 <dl class="bindings">
1388 <dt>set loop range from edit range</dt>
1389 <dd><kbd class="">]</kbd></dd>
1390 <dt>set loop range from region(s)</dt>
1391 <dd><kbd class="mod2">]</kbd></dd>
1392 <dt>set punch range from edit range</dt>
1393 <dd><kbd class="">[</kbd></dd>
1394 <dt>set punch range from region(s)</dt>
1395 <dd><kbd class="mod2">[</kbd></dd>
1396 <dt>set tempo (1 bar) from edit range</dt>
1397 <dd><kbd class="">0</kbd></dd>
1398 <dt>set tempo (1 bar) from region(s)</dt>
1399 <dd><kbd class="">9</kbd></dd>
1403 title: Mnemonic Bindings for OS X
1408 A <a href="/files/a3_mnemonic_cheat_sheet_osx.pdf">printable cheat sheet</a>
1409 for these bindings is available for download.
1412 <h2>Transport & Recording Control</h2>
1413 <dl class="bindings">
1414 <dt>destroy last recording</dt>
1415 <dd><kbd class="mod1">Del</kbd></dd>
1416 <dt>engage record</dt>
1417 <dd><kbd class="mod3">r</kbd></dd>
1418 <dt>fast forward</dt>
1419 <dd><kbd class="mod3">→</kbd></dd>
1420 <dt>loop play (the loop range)</dt>
1421 <dd><kbd class="">l</kbd></dd>
1423 <dd><kbd class="mod3">←</kbd></dd>
1424 <dt>set playhead position</dt>
1425 <dd><kbd class="">p</kbd></dd>
1426 <dt>start recording</dt>
1427 <dd><kbd class="mod3">space</kbd></dd>
1428 <dt>stop (keep loop/range play)</dt>
1429 <dd><kbd class="mod12">space</kbd></dd>
1430 <dt>stop and destroy</dt>
1431 <dd><kbd class="mod1">space</kbd></dd>
1432 <dt>toggle auto play</dt>
1433 <dd><kbd class="">5</kbd></dd>
1434 <dt>toggle auto return</dt>
1435 <dd><kbd class="">6</kbd></dd>
1436 <dt>toggle click (metronome)</dt>
1437 <dd><kbd class="">7</kbd></dd>
1438 <dt>toggle playhead follows edits</dt>
1439 <dd><kbd class="mod3">f</kbd></dd>
1440 <dt>toggle playhead tracking</dt>
1441 <dd><kbd class="mod1">f</kbd></dd>
1442 <dt>toggle roll</dt>
1443 <dd><kbd class="">space</kbd></dd>
1444 <dt>toggle track rec-enable </dt>
1445 <dd><kbd class="mod3">b</kbd></dd>
1446 <dt>toggle track solo status</dt>
1447 <dd><kbd class="mod2">s</kbd></dd>
1448 <dt>transition to reverse</dt>
1449 <dd><kbd class="mod3">↓</kbd></dd>
1450 <dt>transition to roll</dt>
1451 <dd><kbd class="mod3">↑</kbd></dd>
1453 <h2>Session & File Handling</h2>
1454 <dl class="bindings">
1455 <dt>add track(s) or bus(ses)</dt>
1456 <dd><kbd class="mod13">n</kbd></dd>
1457 <dt>export session</dt>
1458 <dd><kbd class="mod1">e</kbd></dd>
1459 <dt>import audio files</dt>
1460 <dd><kbd class="mod1">i</kbd></dd>
1461 <dt>open a new session</dt>
1462 <dd><kbd class="mod1">n</kbd></dd>
1463 <dt>open a recent session</dt>
1464 <dd><kbd class="mod13">o</kbd></dd>
1465 <dt>open an existing session</dt>
1466 <dd><kbd class="mod1">o</kbd></dd>
1468 <dd><kbd class="mod1">q</kbd></dd>
1469 <dt>save session</dt>
1470 <dd><kbd class="mod1">s</kbd></dd>
1471 <dt>snapshot session</dt>
1472 <dd><kbd class="mod13">s</kbd></dd>
1473 <dt>toggle sel. track MIDI input</dt>
1474 <dd><kbd class="mod2">i</kbd></dd>
1476 <h2>Changing What's Visible</h2>
1477 <dl class="bindings">
1478 <dt>fit tracks vertically</dt>
1479 <dd><kbd class="">f</kbd></dd>
1480 <dt>move selected tracks down</dt>
1481 <dd><kbd class="mod1">↓</kbd></dd>
1482 <dt>move selected tracks up</dt>
1483 <dd><kbd class="mod1">↑</kbd></dd>
1484 <dt>scroll down (page)</dt>
1485 <dd><kbd class="">PgDn</kbd></dd>
1486 <dt>scroll down (step)</dt>
1487 <dd><kbd class="">↓</kbd></dd>
1488 <dt>scroll up (page)</dt>
1489 <dd><kbd class="">PageUp</kbd></dd>
1490 <dt>scroll up (step)</dt>
1491 <dd><kbd class="">↑</kbd></dd>
1492 <dt>toggle editor window mixer</dt>
1493 <dd><kbd class="mod3">e</kbd></dd>
1494 <dt>toggle last 2 zoom states</dt>
1495 <dd><kbd class="mod3">z</kbd></dd>
1496 <dt>zoom height to selected region(s)</dt>
1497 <dd><kbd class="mod1">Control+z</kbd></dd>
1498 <dt>zoom height and time to selected region</dt>
1499 <dd><kbd class="mod2">z</kbd></dd>
1501 <dd><kbd class="">=</kbd></dd>
1503 <dd><kbd class="">-</kbd></dd>
1505 <h2>Window Visibility</h2>
1506 <dl class="bindings">
1507 <dt>toggle locations dialog</dt>
1508 <dd><kbd class="mod2">l</kbd></dd>
1509 <dt>focus on main clock</dt>
1510 <dd><kbd class="kp">÷</kbd></dd>
1511 <dt>maximise editor space</dt>
1512 <dd><kbd class="mod12">f</kbd></dd>
1513 <dt>rotate editor & mixer window</dt>
1514 <dd><kbd class="mod2">m</kbd></dd>
1515 <dt>show rhythm ferret window </dt>
1516 <dd><kbd class="mod2">f</kbd></dd>
1517 <dt>toggle big clock</dt>
1518 <dd><kbd class="mod2">b</kbd></dd>
1519 <dt>toggle color manager</dt>
1520 <dd><kbd class="mod2">c</kbd></dd>
1521 <dt>toggle editor window</dt>
1522 <dd><kbd class="mod2">e</kbd></dd>
1523 <dt>toggle global audio patchbay</dt>
1524 <dd><kbd class="mod2">p</kbd></dd>
1525 <dt>toggle global midi patchbay</dt>
1526 <dd><kbd class="mod23">p</kbd></dd>
1527 <dt>toggle key bindings editor</dt>
1528 <dd><kbd class="mod2">k</kbd></dd>
1529 <dt>toggle preferences dialog</dt>
1530 <dd><kbd class="mod2">o</kbd></dd>
1531 <dt>toggle preferences dialog</dt>
1532 <dd><kbd class="mod13">p</kbd></dd>
1535 <h2>Editing with Edit Point</h2>
1537 Most edit functions operate on a single <dfn>Edit Point</dfn> (EP). The
1539 point can be any of: playhead (default), the mouse or an active marker.
1540 The choice of edit point (by default) also sets the <dfn>Zoom Focus</dfn>.
1543 <dl class="bindings">
1544 <dt>EP to next region sync</dt>
1545 <dd><kbd class="">;</kbd></dd>
1546 <dt>EP to prev region sync</dt>
1547 <dd><kbd class="">'</kbd></dd>
1548 <dt>cycle to next grid snap mode</dt>
1549 <dd><kbd class="">2</kbd></dd>
1550 <dt>cycle to next zoom focus</dt>
1551 <dd><kbd class="">1</kbd></dd>
1552 <dt>insert from region list</dt>
1553 <dd><kbd class="">i</kbd></dd>
1554 <dt>insert time</dt>
1555 <dd><kbd class="mod1">t</kbd></dd>
1556 <dt>move EP to playhead</dt>
1557 <dd><kbd class="mod2">Return</kbd></dd>
1558 <dt>next EP w/marker</dt>
1559 <dd><kbd class="mod1">^</kbd></dd>
1560 <dt>next EP w/o marker</dt>
1561 <dd><kbd class="">`</kbd></dd>
1563 <dd><kbd class="">k</kbd></dd>
1565 <dd><kbd class="">j</kbd></dd>
1566 <dt>trim region end to edit point</dt>
1567 <dd><kbd class="mod3">}</kbd></dd>
1568 <dt>trim region start to edit point</dt>
1569 <dd><kbd class="mod3">{</kbd></dd>
1570 <dt>trim region to end of prev region</dt>
1571 <dd><kbd class="mod1">j</kbd></dd>
1572 <dt>trim region to start of next region</dt>
1573 <dd><kbd class="mod1">k</kbd></dd>
1574 <dt>use previous grid unit</dt>
1575 <dd><kbd class="">3</kbd></dd>
1576 <dt>use next grid unit</dt>
1577 <dd><kbd class="">4</kbd></dd>
1578 <dt>use previous grid unit</dt>
1579 <dd><kbd class="mod1">3</kbd></dd>
1580 <dt>use next musical grid unit</dt>
1581 <dd><kbd class="mod1">4</kbd></dd>
1584 <h2>Aligning with the Edit Point</h2>
1586 <dfn>Align operations</dfn> move regions so that their start/end/sync
1587 point is at the edit point. <dfn>Relative</dfn> operations just align
1588 the first region and moves other selected regions to maintain relative
1592 <dl class="bindings">
1593 <dt>align end(s)</dt>
1594 <dd><kbd class="mod2">a</kbd></dd>
1595 <dt>align start(s)</dt>
1597 <dt>align start(s) relative</dt>
1598 <dd><kbd class=""></kbd></dd>
1599 <dt>align sync points</dt>
1600 <dd><kbd class="mod3">a</kbd></dd>
1601 <dt>align sync points (relative)</dt>
1602 <dd><kbd class="">a</kbd></dd>
1603 <dt>range end to next prev edge</dt>
1604 <dd><kbd class="mod1">></kbd></dd>
1605 <dt>range end to next region edge</dt>
1606 <dd><kbd class="">></kbd></dd>
1607 <dt>range start to next region edge</dt>
1608 <dd><kbd class="mod1"><</kbd></dd>
1609 <dt>range start to prev region edge</dt>
1610 <dd><kbd class=""><</kbd></dd>
1613 <h2>Edit Point Playback</h2>
1615 <dl class="bindings">
1616 <dt>play edit range</dt>
1617 <dd><kbd class="mod2">Space</kbd></dd>
1618 <dt>play from EP & return</dt>
1619 <dd><kbd class="mod1">Space</kbd></dd>
1620 <dt>play selected region(s)</dt>
1621 <dd><kbd class="">h</kbd></dd>
1623 <h2>Region Operations</h2>
1624 <dl class="bindings">
1625 <dt>duplicate region (multi)</dt>
1626 <dd><kbd class="mod3">d</kbd></dd>
1627 <dt>duplicate region (once)</dt>
1628 <dd><kbd class="mod2">d</kbd></dd>
1629 <dt>export selected region(s)</dt>
1631 <dt>increase region gain</dt>
1632 <dd><kbd class="">^</kbd></dd>
1633 <dt>move to original position</dt>
1634 <dd><kbd class="mod2">o</kbd></dd>
1635 <dt>mute/unmute</dt>
1636 <dd><kbd class="mod1">m</kbd></dd>
1638 <dd><kbd class="">n</kbd></dd>
1639 <dt>nudge backward</dt>
1640 <dd><kbd class="kp">–</kbd></dd>
1641 <dt>nudge forward</dt>
1642 <dd><kbd class="kp">+</kbd></dd>
1643 <dt>quantize MIDI notes </dt>
1644 <dd><kbd class="">q</kbd></dd>
1645 <dt>reduce region gain</dt>
1646 <dd><kbd class="">&</kbd></dd>
1648 <dd><kbd class="mod2">r</kbd></dd>
1649 <dt>set fade in length</dt>
1650 <dd><kbd class="">/</kbd></dd>
1651 <dt>set fade out length</dt>
1652 <dd><kbd class="">\</kbd></dd>
1653 <dt>set region sync point</dt>
1654 <dd><kbd class="">v</kbd></dd>
1656 <dd><kbd class="">s</kbd></dd>
1657 <dt>toggle fade in active</dt>
1658 <dd><kbd class="mod1">/</kbd></dd>
1659 <dt>toggle fade out active</dt>
1660 <dd><kbd class="mod1">\</kbd></dd>
1662 <dd><kbd class="mod2">t</kbd></dd>
1665 <h2>Generic Editing</h2>
1667 <dl class="bindings">
1669 <dd><kbd class="mod1">c</kbd></dd>
1671 <dd><kbd class="mod1">x</kbd></dd>
1673 <dd><kbd class="">Del</kbd></dd>
1675 <dd><kbd class="mod1">v</kbd></dd>
1677 <dd><kbd class="mod1">r</kbd></dd>
1679 <dd><kbd class="mod1">z</kbd></dd>
1684 There are a few functions that refer to an <dfn>Edit Range</dfn>. The
1685 current edit range is defined using combinations of the possible edit
1686 points: <dfn>playhead</dfn>, <dfn>active marker</dfn>, or<dfn>mouse</dfn>.
1689 <dl class="bindings">
1690 <dt>all after playhead</dt>
1691 <dd><kbd class="mod13">p</kbd></dd>
1692 <dt>all before playhead</dt>
1693 <dd><kbd class="mod1">p</kbd></dd>
1694 <dt>all enclosed by edit range</dt>
1695 <dd><kbd class="mod1">u</kbd></dd>
1696 <dt>all present in edit range</dt>
1697 <dd><kbd class="">u</kbd></dd>
1698 <dt>convert edit range to range</dt>
1699 <dd><kbd class="">F6</kbd></dd>
1700 <dt>invert selection</dt>
1701 <dd><kbd class="mod3">i</kbd></dd>
1702 <dt>select all after EP</dt>
1703 <dd><kbd class="mod1">Shift+e</kbd></dd>
1704 <dt>select all before EP</dt>
1705 <dd><kbd class="mod1">e</kbd></dd>
1706 <dt>select all in loop range</dt>
1707 <dd><kbd class="mod1">l</kbd></dd>
1708 <dt>select all in punch range</dt>
1709 <dd><kbd class="mod1">d</kbd></dd>
1710 <dt>select everything</dt>
1711 <dd><kbd class="mod1">a</kbd></dd>
1712 <dt>select next track/bus</dt>
1713 <dd><kbd class="mod2">↓</kbd></dd>
1714 <dt>select previous track/bus</dt>
1715 <dd><kbd class="mod2">↑</kbd></dd>
1717 <h2>Defining Loop, Punch Range and Tempo Changes</h2>
1718 <dl class="bindings">
1719 <dt>set loop range from edit range</dt>
1720 <dd><kbd class="">]</kbd></dd>
1721 <dt>set loop range from region(s)</dt>
1722 <dd><kbd class="mod2">]</kbd></dd>
1723 <dt>set punch range from edit range</dt>
1724 <dd><kbd class="">[</kbd></dd>
1725 <dt>set punch range from region(s)</dt>
1726 <dd><kbd class="mod2">[</kbd></dd>
1727 <dt>set tempo (1 bar) from edit range</dt>
1728 <dd><kbd class="">0</kbd></dd>
1729 <dt>set tempo (1 bar) from region(s)</dt>
1730 <dd><kbd class="">9</kbd></dd>
1735 title: Using This Documentation
1741 title: About Ardour documentation
1745 <h2>Conventions Used In This Manual</h2>
1748 This section covers some of the typographical and language conventions used in this manual.
1751 <h3>Keyboards and Modifiers</h3>
1754 <dfn>Keyboard bindings</dfn> are shown like this: <kbd>s</kbd> or <kbd class="mod1">x</kbd>.
1758 <kbd class="mod1">x</kbd> means "press the <kbd class="mod1"> </kbd> key, keep it pressed and then also press the <kbd>x</kbd> key.
1762 You may also see key combinations such as <kbd class="mod12">e</kbd>, which mean that you should hold down the <kbd class="mod1"> </kbd> key <em>and</em> the <kbd class="mod2"> </kbd> key, and then, while keeping them both down, press the <kbd>e</kbd> key.
1766 Note that different platforms have different conventions for which modifier key (Control or Command) to use as the primary or most common modifier. When viewing this manual from a machine identifying itself as running OS X, you will see <kbd>Cmd </kbd> where appropriate (for instance in the first example above). On other machines you will see <kbd>Ctrl </kbd> instead.
1769 <h3>Mouse Buttons</h3>
1772 We refer to <a href="/setting-up-your-system/the-mouse">mouse buttons</a> as <kbd class="mouse">Left</kbd>, <kbd class="mouse">Middle</kbd> and <kbd class="mouse">Right</kbd>. Ardour can use additional buttons, but they have no default behaviour in the program.
1775 <h4>Mouse click modifiers</h4>
1778 Many editing functions are performed by clicking the mouse while holding a modifier key, for example <kbd class="mouse mod1">Left</kbd>.
1781 <h4>Mouse wheel</h4>
1784 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 <kbd class="mouse">⇑</kbd> <kbd class="mouse">⇐</kbd> <kbd class="mouse">⇓</kbd> <kbd class="mouse">⇒</kbd>.
1787 <h4>Context-click</h4>
1790 The term <dfn>context-click</dfn> is used to indicate that you should (typically) <kbd class="mouse">Right</kbd>-click on a particular element of the graphical user interface. Although right-click is the common, default way to do this, there are other ways to accomplish the same thing—this term refers to any of them, and the result is always that a menu specific to the item you clicked on will be displayed.
1793 <h4>"The Pointer"</h4>
1796 When the manual refers to the "pointer", it means the on-screen representation of the mouse position or the location of a touch action if you are using a touch interface.
1799 <h3>Other user input</h3>
1802 Ardour supports hardware controllers, such as banks of <kbd class="fader">faders</kbd>, <kbd class="knob">knobs</kbd>, or <kbd class="button">buttons</kbd>.
1808 Menu items are indicated like this:<br />
1809 <kbd class="menu">Top > Next > Deeper</kbd>.<br />
1810 Each ">"-separated item indicates one level of a nested (sub-)menu.
1813 <h3>Preference/Dialog Options</h3>
1816 Choices in various dialogs, notably the Preferences and Properties dialog, are
1817 indicated like this:<br />
1818 <kbd class="option">Edit > Preferences > Audio > Some
1820 Each successive item indicates either a (sub-) menu or a tabbed dialog
1821 navigation. The final item is the one to choose or select.
1825 If you are requested to deselect an option, you will see something like
1827 <kbd class="optoff">Edit > Preferences > Audio > Some other
1834 Some dialogs or features may require you to type in some <kbd class="input">data such as this</kbd>. In rare cases, you will be required to perform certain operations at the command line of your operating system:
1837 <kbd class="cmd lin">cat /proc/cpuinfo</kbd>
1838 <kbd class="cmd mac">sleep 3600</kbd>
1839 <kbd class="cmd win">ping www.google.com</kbd>
1841 <h3>Program Output</h3>
1844 Important messages from Ardour or other programs will be displayed <samp>like this</samp>.
1850 Important notes about things that might not otherwise be obvious are shown in this format.
1856 Hairy issues that might cause things to go wrong, lose data, impair sound quality, or eat your proverbial goldfish, are displayed in this way.
1860 title: Additional Resources
1865 In addition to this documentation, you may check a variety of other <dfn>resources</dfn>:
1869 <li>the <a href="https://ardour.org/whatsnew.html">Ardour release
1871 <li>the <a href="https://community.ardour.org/forums">Ardour
1873 <li>information about <a href="https://community.ardour.org/community">Ardour
1874 Support</a> via mailing lists and IRC (chat)</li>
1878 The <dfn>IRC channels</dfn> in particular are where most of the day-to-day development and debugging is done, and there are plenty of experienced users to help you if you run into problems.
1882 Please be prepared to hang around for a few hours, the chat is usually busiest from 19:00 UTC to 04:00 UTC. If you can, keep your chat window open, so that you don't miss a belated answer. Also, don't ask for permission to ask a question, just ask your question with the understanding that the answer (from the "right" people or not) could come seconds, minutes, hours, or never.
1887 title: System Configuration
1893 title: Ardour Systems
1899 title: The Right Computer System for Digital Audio
1900 menu_title: The Right Computer System
1905 It would be nice to think that you could just go and buy any computer,
1906 install a bit of software on it and start using it to record and create
1907 music. This idea isn't wrong, but there some important details that it
1911 Any computer that you can buy today (since somewhere around the end of
1912 2012) is capable of recording and processing a lot of audio data. It
1913 will come with a builtin audio interface that can accept inputs from
1914 microphones or electrical instruments. It will have a disk with a huge
1915 amount of space for storing audio files.
1918 When you are recording, editing and mixing music, you generally want to
1919 work with very little <dfn>latency</dfn> between the time that
1920 a sound is generated and when you can hear it. When the audio signal
1921 flows through a computer, that means that the computer has to be able to
1922 receive the signal, process it and send it back out again as fast as
1924 And that is where it becomes very important <em>what</em> computer system
1925 you have, because it is <strong>absolutely not</strong> the case that any
1926 computer can do this job well.
1929 Routing audio through a computer will always cause some delay, but if it
1930 is small, you will generally never notice it. There are also ways to work
1931 in which the delay does not matter at all (for example, not sending the
1932 output from the computer to speakers).
1935 The latency that you want for working with digital audio is typically in
1936 the 1–5 ms range. For comparison, if you are sitting 1 m
1937 (3 ft) from your speakers, the time the sound takes to reach your
1938 ears is about 3 ms. Any modern computer can limit the delay to
1939 100 ms. Most can keep it under 50 ms. Many will be able to get
1940 down to 10 ms without too much effort. If you try to reduce the delay
1941 on a computer that cannot meet your goal, you will get clicks and
1942 glitches in the audio, which is clearly extremely undesirable.
1945 <h2>Hardware-related Considerations</h2>
1946 <dl class="wide-table">
1947 <dt>Video interface</dt>
1948 <dd>Poorly engineered video interfaces (and/or their device drivers) can
1949 "steal" computer resources for a long time, preventing the audio interface
1950 from keeping up with the flow of data</dd>
1951 <dt>Wireless interface</dt>
1952 <dd>Poorly engineered wireless networking interfaces (and/or their device
1953 drivers) can also block the audio interface from keeping up with the flow
1955 <dt><abbr title="Universal Serial Bus">USB</abbr> ports</dt>
1956 <dd>If you are using an audio interface connected via USB, and sometimes
1957 even if you are not, the precise configuration of your system's USB ports
1958 can make a big difference. There are many cases where plugging the
1959 interface into one port will work, but using different USB port results
1960 in much worse performance. This has been seen even on Apple systems.
1962 <dt>Internal USB Hubs</dt>
1963 <dd>Ideally, you'd like your USB ports to all connect directly to the
1964 main bus inside the computer. Some laptops (and possibly some
1965 desktop systems) come wired with an internal USB hub between the
1966 ports and the system bus, which can then cause problems for various
1967 kinds of external USB devices, including some models of audio
1968 interfaces. It is very difficult to discover whether this is true or
1969 not, without simplying trying it out.</dd>
1970 <dt><abbr title="Central Processing Unit">CPU</abbr> speed control</dt>
1971 <dd>Handling audio with low latency requires that your processor keeps
1972 running at its highest speed at all times. Many portable systems try to
1973 regulate processor speed in order to save power—for low latency
1974 audio, you want this totally disabled, either in the BIOS or at the OS
1976 <dt>Excessive Interrupt Sharing</dt>
1977 <dd>If your audio interface is forced by your computer to share an
1978 interrupt line (basically a way to tell the CPU that something needs
1979 its attention) with too many, or the wrong, other devices, this can also
1980 prevent the audio interface from keeping up with the flow of data. In
1981 laptops it is generally impossible to do anything about this. In many
1982 desktop systems, it is possible at the BIOS level to reassign interrupts
1983 to work around the problem.</dd>
1984 <dt><abbr title="System Management Interrupt">SMI</abbr>s</dt>
1985 <dd>SMIs are interrupts sent by the motherboard to tell the computer
1986 about the state of various hardware. They cannot safely be disabled,
1987 but they can also take a relatively long time to process. It is better
1988 to have a motherboard which never sends SMIs at all— this is
1989 also a requirement for realtime stock trading systems, which have
1990 similar issues with latency.</dd>
1991 <dt>Hyperthreading</dt>
1992 <dd>This technology is becoming less common as actual multi-core CPUs
1993 become the norm, but it still exists and is generally not good for
1994 realtime performance. Sometimes you can disable this in the BIOS,
1995 sometimes you cannot. A processor that uses hyperthreading will be
1996 less stable in very low latency situations than one without.</dd>
1997 <dt>Excessive vibration</dt>
1998 <dd>This doesn't affect the flow of data to/from the audio interface,
1999 but it can cause the flow of data to/from your disk storage to become
2000 <em>much</em> slower. If you are going to use a computer in an
2001 environment with loud live sound (specifically, high bass volume),
2002 make sure to place it so that the disk is not subject to noticeable
2003 vibration. The vibrations will physically displace the head-write
2004 heads of disk, and the resulting errors will force a retry of the
2005 reading from the disk. Retrying over and over massively reduces the
2006 rate at which data can be read from the disk. Avoid this.</dd>
2015 Ardour is designed to work best with a <dfn>three button mouse</dfn>
2016 equipped with a <dfn>scroll wheel</dfn>.
2020 It can be used with a two button mouse or touchpad, but at least two key
2021 operations will not (easily) be available to you:
2025 <li>time-constrained region copying</li>
2026 <li><a href="/using-control-surfaces/midi-learn/"><abbr title="Musical
2027 Instrument Digital Interface">MIDI</abbr> bindings</a>
2028 created by "learning" them from incoming MIDI data</li>
2032 You are strongly encouraged to invest in a three-button mouse. You will
2033 find that a good quality mouse (especially one with a weighted,
2034 latchable scroll wheel) will make your use of Ardour vastly more
2035 efficient. They are cheap, and time is not.
2039 For more detailed instructions, see
2040 <a href="/ardours-interface/basic-gui-operations/using-the-mouse/">Using the mouse</a>.
2051 title: Setting Up Your System
2056 Using a general purpose computer for recording digital audio is not
2057 trivial. This chapter will guide you through the basic steps and help
2058 you with some of the most common pitfalls on the way to a reliable and
2059 powerful audio workstation.
2063 title: Platform Specifics
2067 <h2>Platform Specifics</h2>
2070 This section of the manual collects together the collective wisdom
2071 of the user community regarding details of using Ardour on various
2081 <dfn>Ubuntu Linux</dfn> is the most popular variety of Linux in use on desktop
2082 and laptop systems. It has the backing of a for-profit corporation
2083 (Canonical Inc.), a defined philosophy and a huge and
2084 worldwide user base. As a result, it is a common platform for people
2085 who want to use Ardour and other tools for music creation and
2089 <h2>High Level Recommendations for Ubuntu Users</h2>
2091 Currently, installing pro audio applications on vanilla Ubuntu requires
2092 some configuration, in order for the user to gain realtime privilege
2094 Ubuntu Studio, which is an official flavor of Ubuntu, and thus shares
2095 the repositories with Ubuntu, has this already configured.
2096 Other distributions, such as KXStudio, and Dreamstudio are largely based
2097 on Ubuntu, and like Ubuntu Studio, has these settings preconfigured, while
2098 also containing customized versions of Ubuntu packages, which often are
2102 <h2>Installing Ardour</h2>
2104 There may be unintended differences, and even bugs in Ubuntu native
2105 packages, as a result of a different building method. For this reason,
2106 Ardour developers highly recommend you to install the official
2107 ready-to-run version of the program that you can get from <a
2108 href="https://community.ardour.org/download">ardour.org</a>, as Ubuntu native
2109 packages are not supported in official Ardour forums or other
2113 Follow these steps to install the latest version of Ardour.
2115 <li>Download the latest release from <a href="https://community.ardour.org/download">
2116 ardour.org</a>.</li>
2117 <li><kbd class="mouse">Right+Click</kbd> the downloaded file and choose
2119 <li>Click the Permissions tab and check the option "Allow this file to
2120 run as a program"</li>
2121 <li>Close the dialog and double-click the file.</li>
2122 <li>Follow the prompts.</li>
2126 <h2>Problems with the interaction between PulseAudio and JACK</h2>
2128 <h3>Background Info</h3>
2130 Like many distributions, Ubuntu has decided to use <dfn>PulseAudio</dfn> as the
2131 default audio system. PulseAudio is a rich and capable system that
2132 provides excellent services for typical users of Linux on the
2133 desktop. However, it is not capable of the type of performance that
2134 tools like Ardour require and in particular does not offer the
2135 possibility of sending audio between applications that can make the
2136 Linux audio environment a very interesting one.
2139 This would not be a problem if it were not for the fact that JACK
2140 will not run correctly (if at all) if it needs to use the same
2141 soundcard/audio interface that PulseAudio is using. And since on
2142 Ubuntu, PulseAudio is configured by default to always use the
2143 (typically single) audio interface on your computer, this is a bit
2147 The developers of JACK and PulseAudio got together in 2009 and
2148 agreed upon a mechanism by which PulseAudio and JACK could cooperate
2149 in their use of a single soundcard. Whether or not PulseAudio is running by
2150 default, when JACK starts up it sends out a request to use the
2151 soundcard. If PulseAudio is running, it will give up its use of the
2152 soundcard to allow JACK to take over (and can optionally be told to
2153 route its own audio through JACK). When JACK finishes, it sends out
2154 another message, and PulseAudio can once again use the soundcard
2157 <h3>What is the problem?</h3>
2159 The specific issues known at this time for all flavors of Ubuntu
2160 12.04 and 12.10 are:
2163 <li>a bug in PulseAudio that causes it not to give up the
2164 soundcard when JACK asks
2165 (<a href="https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1163638">LP:
2167 fixed in Ubuntu 13.04).</li>
2172 <samp>Cannot start JACK</samp> (though see the next section for other
2178 These bugs do not affect releases from 13.04, and earlier releases
2179 (12.04 and 12.10) are in the process of being fixed.
2182 <h2>Problems with JACK configuration</h2>
2184 <h3>What is the problem?</h3>
2186 To function as intended, JACK needs to run with access to two
2187 operating system facilities called <dfn>realtime scheduling</dfn> and
2188 <dfn>memory locking</dfn>. This means that you, the user who starts JACK, must be
2189 allowed access to these facilities. By default, Ubuntu does create a
2190 user group that has this permission but—it does not put new
2191 users into this group by default. Read more about why <a href="https://wiki.ubuntu.com/Audio/TheAudioGroup">here</a>.
2192 Consequently, you will not have permission to run JACK in the way you should.
2196 A message like <samp>Cannot lock down memory</samp> in the output from JACK as
2197 it starts up. This output may be hidden in the Messages window of
2198 QJackctrl (aka JACK Control), so you should check there.
2203 Make sure the file /etc/security/limits.d/audio.conf exists. If it is
2204 named /etc/security/limits.d/audio.conf.disabled, rename it to the former.
2207 <kbd class="cmd lin">sudo usermod -a -G audio
2208 <em>YOUR-LOGIN-NAME</em></kbd>
2210 Then log out and log in again. On Ubuntu Studio the user is a member of audio
2211 group by default, but not on other official flavors.
2214 <h2>Reporting Issues</h2>
2217 Given the difficulties in supporting Ubuntu and the limited time/resources
2218 of the Ardour team, the <dfn>Ubuntu Studio Project</dfn> has requested that
2219 issues and bug reports related to Ubuntu, Ubuntu Studio and other
2220 derivitives be directed to them.
2223 <h3>Contact Information for Ubuntu Studio</h3>
2225 <p><a href="http://ubuntustudio.org">The Ubuntu Studio Homepage</a></p>
2227 <p><a href="http://ubuntuforums.org/forumdisplay.php?f=335">The Ubuntu Studio Forums.</a></p>
2229 <p><a href="https://help.ubuntu.com/community/UbuntuStudio/MailLists">Information on the Ubuntu Studio Mailing Lists.</a></p>
2231 <p><a href="https://help.ubuntu.com/community/UbuntuStudio/IRC">Information on the Ubuntu Studio IRC channel.</a> #ubuntustudio on irc.freenode.net</p>
2234 title: Microsoft Windows
2239 <dfn>Microsoft Windows</dfn> is not currently officially supported. If you are
2240 willing to live with bugs and <b>help to test</b> this platform, read on.
2243 <h2>Installing Ardour</h2>
2247 <li>Download the latest windows build from <a href="http://nightly.ardour.org/">
2248 the nightly build page</a>.</li>
2249 <li>Run the installer and follow the prompts.</li>
2253 <h2>How to help</h2>
2257 <li>Hang out in #ardour-windows on irc.freenode.net. You may ask questions
2258 there and if you can, answer questions that others have.</li>
2259 <li>Keep an eye on the <a href="https://community.ardour.org/forum/27"> Windows
2260 forum</a> and contribute to the discussions there.</li>
2261 <li>Update this manual via pull requests on <a href="https://github.com/Ardour/manual">github<a/>.</li>
2271 Under <dfn>KDE Plasma 5</dfn>, plugin and various other windows will not stay
2272 on top of any main window; therefore a workaround is required.
2275 <h2>Workaround for ancillary windows not staying on top in KDE Plasma 5</h2>
2278 In order to force ancillary windows in Ardour to stay on top, the following
2279 steps are necessary:
2283 <li>Launch the <kbd class="menu">System Settings</kbd> application.</li>
2284 <li>Open <kbd class="menu">Workspace > Window Managment</kbd>.</li>
2285 <li>Select <kbd class="menu">Window Rules</kbd> in the left-hand sidebar. It
2286 should default to the <kbd class="menu">Window matching</kbd> tab.</li>
2287 <li>Click on the <kbd class="button">New...</kbd> button.</li>
2288 <li>On the line that says <kbd class="menu">Window class (application)</kbd>,
2289 set the combo box to <kbd class="menu">Substring Match</kbd> and type <kbd
2290 class="user">ardour</kbd> in the text entry field.</li>
2291 <li>In the list box that is labeled <kbd class="menu">Window types:</kbd>,
2292 click on the option <kbd class="menu">Dialog Window</kbd>, then press and
2293 hold <kbd>Ctrl</kbd> while clicking on the second option <kbd
2294 class="menu">Utility Window</kbd>.</li>
2295 <li>Select the <kbd class="menu">Arrangement & Access</kbd> tab.</li>
2296 <li>Check the box next to the <kbd class="menu">Keep above</kbd> option. On
2297 the same line, select <kbd class="menu">Force</kbd> from the combo box, then
2298 click on the <kbd class="menu">Yes</kbd> radio button for that line.</li>
2299 <li>Click on the <kbd class="button">OK</kbd> button to dismiss the dialog.
2304 At this point you can close the <kbd class="menu">System Settings</kbd>
2308 <h3>Background Info</h3>
2311 <a href="https://bugs.kde.org/show_bug.cgi?id=172615#c26">According to one of
2312 the lead KDE developers</a>, they are not willing to follow the <abbr
2313 title="Inter-Client Communication Conventions Manual">ICCCM</abbr> standard
2314 for utility windows. Apparently they are alone in this understanding, as
2315 plugin windows on Ardour under Linux work out of the box on every other <abbr
2316 title="Window Manager">WM</abbr> out there.
2320 Under KDE 4, there was a workaround in Ardour (<kbd class="menu">Preferences
2321 > Theme > All floating windows are dialogs</kbd>) that would "trick"
2322 KDE into forcing certain window types to be on top of their parent windows,
2323 but this no longer works under KDE Plasma 5.
2334 title: Connecting Audio and MIDI Devices
2338 <p class="fixme">Add content</p>
2341 title: Using More Than One Audio Device
2346 Ardour will only ever deal with a single <dfn>audio device</dfn>. If you
2347 want to use more than one, you have two choices:
2352 If you want to use Ardour to start JACK (which handles all
2353 audio I/O) you will need to create a "fake" audio device on your
2354 computer the represents all the multiple devices you wish to
2355 use. How to do this is platform dependent and described below.
2358 Use a different tool to start JACK and manage all the devices.
2363 Ardour is fundamentally designed to be a component in a
2364 pro-audio/music creation environment. Standard operating practice
2365 for such setups involves using only a single digital <dfn>sample
2366 clock</dfn> (something counting off the time between audio samples).
2367 This means that trying to use multiple independent soundcards is
2368 problematic, because each soundcard has its own sample clock, running
2369 independently from the others. Over time, these different clocks
2371 out of sync with each other, which causes glitches in the audio. You
2372 cannot stop this drift, although in some cases the effects may be
2373 insignificant enough that some people might not care about them.
2377 Thus in an ideal world you should not use multiple independent
2378 soundcards but instead use a single device with a single clock and all
2379 the inputs, outputs and other features that you need.
2383 Of course, a lot of people don't live in an ideal world, and believe
2384 that software should make up for this.
2389 In CoreAudio, <dfn>aggregate devices</dfn> provide a method to use
2390 multiple soundcards as a single device. For example, you can
2391 aggregate two 8-channel devices so that you can record 16 channels
2396 If you are using a <em>single</em> typical 3rd party
2397 audio interface (such as those from Apogee, RME, Presonus, and many
2398 others), <em>or</em> you are using JackPilot or a similar
2399 application to start JACK, you do not need to worry about this.<br />
2400 You will need to set up an aggregate device only if either
2401 of the following conditions are true:
2404 <li>You want to use two entirely separate
2405 devices <em>and</em> want to start JACK using Ardour.</li>
2406 <li>You want to use your <dfn>builtin audio device</dfn> <em>and</em>
2407 want to start JACK using Ardour.</li>
2408 <li>You want to use more than two entirely separate devices</li>
2412 In the case of your builtin audio device, you will need to create
2413 an aggregate device that combines "Builtin Input" and "Builtin
2414 Output" into one device.
2417 The precise instructions for creating an aggregate device on OS X
2418 have varied from one released to another. Please read <a href="https://support.apple.com/en-us/HT202000">https://support.apple.com/en-us/HT202000</a>
2423 Please see the instructions at <a href="http://jackaudio.org/faq" title="http://jackaudio.org/faq">http://jackaudio.org/faq</a>
2434 title: Preferences and Session Properties
2439 Ardour splits its configuration options into two categories:
2443 Global <dfn>preferences</dfn> control general workflow and system
2444 configuration, and should apply to all sessions. They are located in
2445 <kbd class="menu">Edit > Preferences</kbd> and stored in
2446 Ardour's <dfn>user configuration file</dfn> in your home directory.
2448 <li><dfn>Session properties</dfn> control aspects of the workflow or
2449 configuration that pertain to the current session only. You can find them
2450 in <kbd class="menu">Session > Properties</kbd>, and they will be stored
2451 in the session file.
2456 title: Global Preferences Dialog
2457 menu_title: Global Preferences
2462 These preferences apply to all Ardour sessions.
2465 <img src="/images/a4_preferences_misc.png" alt="ardour preferences
2470 menu_title: Misc Tab
2475 This tab contains settings that do not belong on the other tabs.
2478 <img src="/images/a4_preferences_misc.png" alt="preferences
2484 <strong>DSP CPU Utilization</strong> sets how many cpu processors can be
2485 used to do signal processing. It can be set to use one up to all
2497 <strong>Limit undo history</strong> sets how many commands can be
2498 undone using <kbd class="mod1">Z</kbd> or
2499 <kbd class="menu">Edit > Undo</kbd>.
2505 <strong>Save undo history</strong> sets how many commands are saved so
2506 they are available to be undone after reopening the session.
2512 <strong>Verify removal of last capture</strong> when enabled prompts to
2513 verify removal the last recording capture when
2514 <kbd class="menu">Edit > Remove Last Capture</kbd> is executed.
2520 <strong>Make periodic backups of the session file</strong> will create
2521 a backup session file after changes to the timeline. The backup file is
2522 the session name followed by <em>.ardour.bak</em>. The backup can be
2523 used to recover from crashes when the session had not been explicitly
2532 <dfn>Session Management</dfn>
2537 <strong>Always copy imported files</strong> selects, and then disables
2538 changes to, the <em>Copy files to session</em> option in the
2539 <a href="/adding-pre-existing-material/import-dialog/">
2540 Add Existing Media</a> dialog.
2546 <strong>Default folder for new sessions:</strong> defalts the folder
2547 where Ardour will create new session folders. This is used in the
2548 <em>Session Setup</em> dialog displayed by
2549 <kbd class="menu">Session > New</kbd>.
2555 <strong>Maximum number of recent sessions:</strong> determines how many
2556 of the last opened sessions shows in the
2557 <em>Recent Sessions</em> dialog displayed by
2558 <kbd class="menu">Session > Recent</kbd>.
2571 <strong>Click audio file:</strong> sets a user defined sound to be
2572 played when Ardour's metronome is enabled in the
2573 <a href="/controlling-playback/using-the-transport-bar/">
2579 <strong>Click emphasis audio file:</strong> sets an optional different
2580 metronome sound to be played on the downbeat.
2585 <strong>Click gain level:</strong> allows the metronome's click sounds
2586 to be boosted or attenuated.
2594 <dfn>Automation</dfn>
2599 <strong>Thinning factor</strong> ranges from 0 to 1000 with larger
2600 values sending fewer automation changes. Thinning is like lossy
2601 audio compression, removing data that is less likely to be noticed,
2602 although the more you remove the more likely the loss will be noticed.
2603 The advantage to thinning is reduced CPU usage.
2608 <strong>Automation sampling interval</strong> ranges from 1 to
2609 1000 ms. Determines how frequently the automation input is
2610 sampled. The shorter the interval the higher the accuracy but also
2611 the higher the CPU requirements.
2619 title: Transport Tab
2620 menu_title: Transport Tab
2625 This tab contains settings that relate to the behavior of the
2626 <a href="/controlling-playback/using-the-transport-bar">Transport Bar</a>
2627 and <a href="/synchronization/">Synchronization</a>.
2630 <img src="/images/a4_preferences_transport.png" alt="preferences
2636 <strong>Keep record-enable engaged on stop</strong> leaves the global
2637 record-enable engaged after transport is stopped. Does not affect track
2638 level record-enable which is never changed on stop.
2644 <strong>Play loop is a transport mode</strong> changes the behavior of the
2645 loop button, turning it into a toggle. When enabled, the loop button does
2646 not start playback but forces playback to always play the loop. Looping
2647 stays engaged when the transport is stopped. Playback continues where the
2648 transport stopped and continues to loop.
2651 When disabled, the loop button starts playing the loop but stop then
2652 cancels loop playback.
2657 <strong>Stop recording when an xrun occurs</strong> will stop the transport
2658 when an xrun occurs during recording, ensuring no audible glitches are
2664 <strong>Create markers where xruns occur</strong> will create a new
2665 <a href="/working-with-markers/">marker</a> when an xrun occurs during
2666 recording at the location of the xrun. This marks where possible xruns
2667 might produce audible glitches when stopping on xruns is disabled.
2672 <strong>Stop at the end of the session</strong> causes the transport to
2673 stop during playback when it reaches the end marker. Behavior during
2674 recording is not changed.
2679 <strong>Do seamless looping</strong> removes any clicks that might
2680 otherwise be audible when the transport moves from the end of the loop
2681 range back to the beginning.
2686 <strong>Disable per-track record disarm while rolling</strong>, when
2687 enabled, will not allow the any track's record-enable to be disarmed
2688 during record, preventing accidentally stopping the recording of a take.
2693 <strong>12dB gain reduction during fast-forward and fast-rewind</strong>
2694 when enabled will reduce the unpleasant increase in perceived volume
2695 that occurs when fast-forwarding or rewinding through some kinds of audio.
2700 <strong>Sync/Slave</strong>
2704 <strong>External timecode source</strong> determines which external
2705 source to use when Ardour is using an external
2706 <a href="/synchronization/">synchronization</a> source. Depending
2707 on the timecode source chosen, additional preference options are
2713 <strong>Match session video frame rate to external timecode</strong>
2714 controls the value of the video frame rate <em>while chasing</em>
2715 an external timecode source.
2718 When enabled, the session video frame rate will be changed to match
2719 that of the selected external timecode source.
2722 When disabled, the session video frame rate will not be changed to
2723 match that of the selected external timecode source. Instead, the
2724 frame rate indication in the main clock will flash red and Ardour
2725 will convert between the external timecode standard and the session
2731 <strong>Sync-lock timecode to clock</strong> can disable drift
2735 When enabled, Ardour will never varispeed when slaved to external
2736 timecode. Sync Lock indicates that the selected external timecode
2737 source shares clock-sync (Black & Burst, Wordclock, etc) with
2738 the audio interface. This options disables drift compensation.
2739 The transport speed is fixed at 1.0. Vari-speed LTC will be ignored
2743 When disabled, Ardour will compensate for potential drift regardless
2744 if the timecode sources shares clock sync.
2749 <strong>Lock to 29.9700 fps instead of 30000/1001</strong>, when
2750 enabled, will force Ardour to assume the external timecode source
2751 uses 29.97 fps instead of 30000/1001.
2752 SMPTE 12M-1999 specifies 29.97 df as 30000/1001. The spec
2753 further mentions that drop-frame timecode has an accumulated error
2754 of -86 ms over a 24 hour period. Drop-frame timecode would
2755 compensate exactly for an NTSC color frame rate of 30 * 0.9990 (i.e.
2756 29.970000). That is not the actual rate. However, some vendors use
2757 that rate—despite it being against the specs—because the
2758 variant of using exactly 29.97 fps has zero timecode drift.
2765 <strong>LTC Reader</strong> specifies which incoming port will provide
2770 <strong>LTC Generator</strong>
2774 <strong>Enable LTC generator</strong>, when enabled Ardour will
2775 output an LTC timecode signal on it's <em>LTC-out</em> port.
2780 <strong>Send LTC while stopped</strong>, when enabled Ardour will
2781 continue to send LTC information even while the transport (playhed) is
2787 <strong>LTC generator level:</strong> specifies the peak volume of
2788 the generated LTC signal in dbFS. A good value is 0dBu^=-18dbFS in an
2789 EBU calibrated system.
2798 menu_title: Editor Tab
2803 This tab contains settings that affect behavior in the <dfn>Editor</dfn>
2804 window when <a href="/editing-and-arranging">Editing and Arranging</a>.
2807 <img src="/images/a4_preferences_editor.png" alt="preferences
2813 <strong>Allow dragging of the playhead</strong>, when enabled, allows
2814 dragging the playhead with the mouse in the <strong>Editor</strong> window.
2819 <strong>Move relevant automation when audio regions are moved</strong>,
2820 when enabled, causes automation data to stay with a region when the
2821 region is moved inside the playlist. When disabled, the automation is
2822 not affected by movement of regions.
2827 <strong>Show meters on tracks in the editor</strong>, when enabled, shows
2828 a small meter in the <strong>Editor</strong> window with each track. The
2829 meter is shown in the left side area along with the track name and buttons.
2834 <strong>Display master-meter in the toolbar</strong> when enabled displays
2835 a small copy of the master bus meter in the toolbar.
2840 <strong>Default fade shape:</strong> sets which
2841 <a href="/editing-and-arranging/create-region-fades-and-crossfades/">
2842 fade shape</a> is the default.
2847 <strong>Regions in active edit groups are edited together:</strong> sets
2848 the criteria to see if editing actions apply to tracks grouped together
2854 <strong>Make rubberband selection rectangle snap to the grid</strong> when
2855 enabled uses the grid when
2856 <a href="/editing-and-arranging/select-regions/">selecting regions</a>
2857 with a rubberband rectangle.
2862 <strong>Show waveforms in regions</strong> when enabled shows a visual
2863 representation of the region's audio waveform. Changes to this setting
2864 take affect after restarting Ardour.
2869 <strong>Show gain envelopes in audio regions:</strong> sets the criteria
2870 for displaying the gain envelope in audio regions.
2875 <strong>Waveform scale:</strong> when waveforms are shown in audio region
2876 they can be displayed using a <em>linear</em> or a <em>logarithmic</em>
2878 See <a href="/working-with-tracks/controlling-track-appearance/waveform-display/">
2879 Waveform disply</a>.
2884 <strong>Waveform shape:</strong> when waveforms are shown in audio region
2885 they can be displayed using a <em>traditional</em> or a <em>rectified</em>
2887 See <a href="/working-with-tracks/controlling-track-appearance/waveform-display/">
2888 Waveform disply</a>.
2893 <strong>Waveform Clip Level (dBFS):</strong> sets the level at which the
2894 waveform shown in an audio region will be drawn in red to indicate
2895 clipping. Setting lower than 0.0 dBFS can be useful if any tool in
2896 the audio chain has problems near 0.0 dBFS.
2901 <strong>Show waveform for audio while it is being recorded</strong> when
2902 enabled, will draw the audio waveform in regions being recorded. When
2903 disabled only a region block will be drawn while recording reducing CPU
2909 <strong>Show zoom toolbar</strong> when enabled shows a toolbar for
2910 zoom functions. When disabled the zoom commands are still available
2911 with keyboard short-cuts and the View menu. Changes to this setting
2912 take affect after restarting Ardour.
2917 <strong>Update editor window during drags of the summary</strong> when
2918 enabled the contents of the editor window will redraw the tracks area
2919 as the selection rectangle in the summary area is moved or resized. The
2920 summary area is at the bottom of the editor and shows an overview of all
2921 regions on the timelime.
2926 <strong>Name new markers</strong> when enabled, popup a dialog when a new
2927 <a href="/working-with-markers/">marker</a> is created. This allows
2928 markers to be named as they are created.
2933 <strong>Auto-scroll editor window when dragging near its edges</strong>
2934 when enabled will scroll the editor window automatically when dragging a
2935 region. This can make it easier to see where to position the region.
2940 <strong>After splitting selected regions, select</strong> determines which,
2941 if any, regions are selected after a split operation. The options are no
2942 regions, the regions created by the split, and if more than one region
2943 was selected to start with, the existing selection and the new regions.
2944 Changes to this setting take affect after restarting Ardour.
2951 menu_title: Audio Tab
2956 This tab contains settings for handling audio.
2959 <img src="/images/a4_preferences_audio.png" alt="preferences
2965 <strong>Buffering</strong> settings determine how many seconds of audio
2966 off of disk will be buffered in memory. Longer settings reduce the risk
2967 of buffer under-runs but consume more memory. The default value is
2974 <strong>Playback</strong> sets how many seconds of audio Ardour will
2975 buffer during playback.
2980 <strong>Recording</strong> sets how many seconds of audio Ardour will
2981 buffer during recording.
2989 <strong>Monitoring</strong>
2994 <strong>Record monitoring handled by:</strong> determines whether
2995 Ardour provides monitoring of incoming audio or whether
2996 monitoring is provided by hardware. See
2997 <a href="/recording/monitoring/">Monitoring</a> for more information.
3002 <strong>Tape machine mode</strong> when enabled defaults new audio
3003 tracks to tape machine mode. See
3004 <a href="/working-with-tracks/track-types/">Track Types</a>
3005 for more information.
3013 <strong>Conection of tracks and busses</strong>
3018 <strong>Auto-connect master/monitor busses</strong>
3023 <strong>Connect track inputs:</strong>
3028 <strong>Connect track and bus outputs:</strong>
3036 <strong>Denormals</strong> are a specific type of very small numbers that
3037 can cause issues with CPU consumption when using some plugins in some
3041 Ardour provides two methods of handling the issue. Try different
3042 combinations of these settings to to find the setting that minimizes CPU
3048 <strong>Use DC bias to protect against denormals</strong> adds a small
3049 constant value to numbers to move the numbers away from zero.
3054 <strong>Processor handling</strong>, if the computer's hardware
3055 supports it, offers two methods that can be used individually or
3056 combined. Flush to zero and denormals are zero.
3064 <strong>Plugins</strong>
3069 <strong>Silence plugins when the transport is stopped</strong>
3074 <strong>Make new plugins active</strong> when enabled, will activate
3075 a plugin when it is added to a track or bus
3076 <a href="/working-with-plugins/processor-box/">Processor Box</a>.
3084 <strong>Regions</strong>
3089 <strong>Enable automatic analysis of audio</strong>
3094 <strong>Replicate missing region channels</strong>
3102 title: Solo/Mute Tab
3103 menu_title: Solo/Mute Tab
3108 This tab contains settings that affect the use of
3109 <a href="/mixing/muting-and-soloing/">solo, muting</a>, and
3110 <a href="/mixing/panning/">panning</a>.
3113 <img src="/images/a4_preferences_solomute.png" alt="preferences
3119 <strong>Solo</strong>
3124 <strong>Solo-in-place mute cut</strong> sets the attenuation of the
3125 the other tracks when another track is soloed in place. This setting
3126 is also available from the <strong>Mixer</strong> monitor section.
3131 <strong>Solo controls are Listen controls</strong> when enabled the
3132 soloed track is soloed only on the monitor bus, the master fader mix
3133 is not affected by the solo. This option can also be set by enabling
3134 pre-fader listen or after-fader listen in the <strong>Mixer</strong>
3140 <strong>Listen Position:</strong> determines what is listened to when
3141 the solo controls are used as listen controls. The options are
3142 after-fader or pre-fader.
3147 <strong>PFL signals come from:</strong> determines whether the
3148 pre-fader listen position is before or after the pre-fader processors.
3153 <strong>AFL signals come from:</strong> determines whether the
3154 after-fader listen position is before or after the after-fader
3160 <strong>Exclusive solo</strong> when enabled will only solo that last
3161 track selected for solo. Previously soloed tracks will be un-soloed.
3162 This setting is also available from the <strong>Mixer</strong> monitor
3168 <strong>Show solo muting</strong> when enabled outlines the mute
3169 button on tracks and busses when another track is soloed.
3174 <strong>Soloing overrides muting</strong> when enabled allows a track
3175 to be heard when it is soloed while muted. This setting is also
3176 available from the <strong>Mixer</strong> monitor section.
3184 <strong>Default track/bus muting options</strong> sets the muting options
3185 for a newly created tracks or bus. The mute options for an existing track
3186 or bus are changed by the right-click context menu on a mute button.
3191 <strong>Mute affects pre-fader sends</strong> when enabled pre-fader
3192 sends will be muted by default.
3197 <strong>Mute affects post-fader sends</strong> when enabled post-fader
3198 sends will be muted by default.
3203 <strong>Mute affects control outputs</strong> when enabled control
3204 outputs are muted by default.
3209 <strong>Mute affects main outputs</strong> when enabled main outputs
3210 are muted by default.
3218 <strong>Send Routing</strong> affects
3219 <a href="/signal-routing/aux-sends/">aux and external sends</a>.
3224 <strong>Link panners of Aux and External Sends with main panner by
3225 default</strong> When enabled, sends follow the channel panner.
3228 When disabled, sends can panned independently of the channel panner
3229 and fader. Double clicking the send in the processor box toggles
3230 the main panner and fader between the aux send and the channel.
3239 menu_title: MIDI Tab
3244 This tab contains settings related to the use of MIDI inside Ardour.
3247 <img src="/images/a4_preferences_midi.png" alt="preferences
3253 <strong>MIDI read-ahead time</strong>
3259 <strong>Send MIDI Clock</strong> when enabled Ardour will generate MIDI
3260 clock on the <code>ardour:MIDI clock out</code> JACK port.
3266 <strong>Send MIDI Time Code</strong> when enabled Ardour will generate MIDI
3267 time code on the <code>ardour:MTC out</code> JACK port.
3273 <strong>Percentage either side of normal transport speed to transmit MTC:</strong> MIDI time code generation will be disabled when the transport speed is
3274 greater than normal sped plus this percentage or less than normal minus
3281 <strong>Obey MIDI Machine Control commands</strong> when enabled Ardour
3282 will respond to MIDI Machine Control commands received on the
3283 <code>ardour:MMC in</code> JACK port.
3289 <strong>Send MIDI Machine Control commands</strong> when enabled Ardour
3290 will send MIDI Machine Control commands on the <code>ardour:MMC out</code>
3297 <strong>Send MIDI control feedback</strong>
3303 <strong>Inbound MMC device ID:</strong> is the only device ID Ardour will
3304 respond to when an MMC command is received on the
3305 <code>ardour:MMC in</code> JACK port.
3311 <strong>Outbound MMC device ID:</strong> is the MIDI device ID Ardour will
3312 use when it sends MMC commands.
3318 <strong>Initial program change:</strong> Ardour will send a MIDI program
3319 change message on the <code>ardour:MMC out</code> JACK port when a session
3320 is loaded and whenever this field is changed. A value of -1 is for don't
3321 send any program change message.
3327 <strong>Display first MIDI bank/program as 0</strong>
3333 <strong>Never display periodic MIDI messages</strong>
3339 <strong>Sound MIDI notes as they are selected</strong>
3345 <strong>Midi Audition Synth</strong>
3351 title: User Interaction Tab
3352 menu_title: User Interaction Tab
3357 This tab contains settings that affect the user's interaction with
3358 <a href="/ardours-interface">Ardours interface</a>.
3361 <img src="/images/a4_preferences_interaction.png" alt="preferences
3362 user interaction tab"/>
3367 <strong>Use translations</strong>
3372 <strong>Keyboard</strong>
3377 <strong>Edit using:</strong> Use this keyboard and mouse combination
3378 to edit a region's name, and for audio, the region gain.
3383 <strong>Delete using:</strong>
3388 <strong>Insert note using</strong> Using this mouse and keyboard
3389 combination allows MIDI note drawing while the <strong>Editor</strong>
3395 <strong>Ignore snap using:</strong> This mouse and keyboard combination
3396 temporarily changes the
3397 <a href="/editing-and-arranging/snap-to-the-grid/">snap mode</a> to
3398 <strong>No Grid</strong>.
3403 <strong>Keyboard layout:</strong>
3411 title: Control Surfaces Tab
3412 menu_title: Control Surfaces Tab
3417 This tab contains settings for control surfaces. Also see
3418 <a href="/using-control-surfaces/">Using Control Surfaces</a>.
3421 <img src="/images/a4_preferences_control_surfaces.png" alt="preferences
3422 control surfaces tab"/>
3425 Enable a <dfn>Control Surface Protocol</dfn> and double-click on it to edit
3426 protocol specific settings. Enable feedback to allow Ardour to send position
3427 information back to a control surface.
3431 <strong>Control surface remote ID:</strong> can follow the order of the mixer
3432 or be user assigned.
3437 menu_title: Video Tab
3442 This tab contains settings related to handling of Video.
3445 <img src="/images/a4_preferences_video.png" alt="preferences
3451 <strong>Advanced Setup (remote video server)</strong>
3456 <strong>Video Server URL:</strong>
3461 <strong>Video Folder:</strong>
3468 <strong>Show Video Export Info before export</strong>
3473 <strong>Show Video Server Startup Dialog</strong>
3480 menu_title: Plugins Tab
3485 This tab contains settings that control the discovery and availability of
3489 <img src="/images/a4_preferences_plugins.png" alt="preferences
3495 <strong>General</strong>
3500 <strong>Scan for Plugins</strong> will initiate an immediate scan of
3501 the system for available plugins.
3506 <strong>Always Display Plugin Scan Progress</strong> When enabled a
3507 popup window showing plugin scan progress is displayed for indexing
3508 (cache load) and discovery (detect new plugins).
3513 <strong>Scan Time Out</strong> Specify the default timeout for plugin
3514 instantiation in 1/10 seconds. Plugins that require more time to load
3515 will be blacklisted. A value of 0 disables the timeout.
3523 <strong>VST</strong>
3528 <strong>Clear VST Cache</strong> Remove all VST plugins from the list
3529 of plugins available to be inserted into the processor box.
3534 <strong>Clear VST Blacklist</strong> Make blacklisted VST plugins
3535 available to be added to the processor box.
3540 <strong>Scan for [new] VST Plugins on Application Start</strong> When
3541 enabled new VST plugins are searched, tested and added to the cache
3542 index on application start. When disabled new plugins will only be
3543 available after triggering a 'Scan' manually.
3548 <strong>Linux VST Path:</strong> Launch a dialog to manage the
3549 directories that will be searched for Linux VST plugins.
3563 This tab contains settings that affect
3564 <a href="/ardours-interface/">Ardour's Interface</a>.
3567 <img src="/images/a4_preferences_gui.png" alt="preferences
3573 <strong>Graphically indicate mouse pointer hovering</strong>
3578 <strong>Use name highlight bars in region display</strong> When enabled the
3579 region name is displayed, in the editor, in it's own bar at the bottom of
3580 the region. When disabled, the region name is display at the top of the
3581 region, possibly over audio waveforms or MIDI notes.
3586 <strong>Font scaling</strong> allows the display size of some text in the
3587 user interface to be scaled up or down. May require a restart to take
3593 <strong>Update transport clock display at FPS</strong> when enabled the transport clock
3594 will update at the synchronization framerate instead of the default 100 ms rate.
3599 <strong>Lock timeout</strong> Lock GUI after this many idle seconds (zero to never
3600 lock). GUI may also be locked with <kbd class="menu">Session > Lock</kbd>. When
3601 locked a dialog will display a "Click to unlock" button.
3606 <strong>Mixer Strip</strong> Enable (checked) or disable (unchecked) display of
3607 controls in the mixer strip. Controls whose display can be toggled are
3608 <strong>Input</strong>, <strong>Phase Invert</strong>,
3609 <strong>Record & Monitor</strong>, <strong>Solo Iso/Lock</strong>,
3610 <strong>Output</strong>, and <strong>Comments</strong>.
3615 <strong>Use narrow strips in the mixer by default</strong> When enabled, new mixer
3616 strips are created in narrow format. When disabled, they are created in wide format.
3617 Existing mixer strips width can be toggled with the width control at the top left of
3625 menu_title: Metering Tab
3630 This tab contains settings that affect <a href="/ardours-interface/meters/">
3631 Metering</a> in Ardour.
3634 <img src="/images/a4_preferences_metering.png" alt="preferences
3640 <strong>Peak hold time:</strong> Some meter types that have a peak
3641 indicator that has a user controlled hold time. The options are off, short,
3647 <strong>DPM fall-off:</strong>
3652 <strong>Meter line-up level; 0 dBu:</strong>
3657 <strong>IEC1/DIN Meter line-up level; 0 dBu:</strong>
3662 <strong>VU Meter standard:</strong>
3667 <strong>Peak threshold[dBFS]:</strong>
3672 <strong>LED meter style</strong>
3679 menu_title: Theme Tab
3684 This tab contains settings that change the visual appearence of Ardour.
3687 <img src="/images/a4_preferences_theme.png" alt="preferences
3693 <strong>Restore Defaults</strong> When clicked will change all settings
3694 on the Theme tab back to Ardour's default values.
3699 <strong>All floating windows are dialogs</strong> When enabled Ardour will
3700 use type "Dialog" for all floating windows instead of using type
3701 "Utility" for some of them. This may help usability with some
3702 window managers. This setting requires a restart of Ardour to take effect.
3707 <strong>Transient windows follow front window</strong> When enabled
3708 transient windows will follow the front window when toggling between the
3709 editor and mixer. This setting requires a restart of Ardour to take effect.
3714 <strong>Draw "flat" buttons</strong> When enabled button controls
3715 in the user interface will be drawn with a flat look. When disabled button
3716 controls will have a slight 3D appearence.
3721 <strong>Blink Rec-Arm buttons</strong> When enabled the record-armed
3722 buttons on tracks will blink when they are armed but not currently
3723 recording. When disabled the record-armed buttons on tracks will be
3724 outlined in red instead of blinking.
3729 <strong>Color regions using their track's color</strong> When enabled
3730 the background color of regions in the editor will be displayed using the
3731 the color assigned to the track. When disabled the default region
3732 background color will be used.
3737 <strong>Show waveform clipping</strong> When enalbled the waveform
3738 displayed will show peaks marked in red if they exceed the clip level. The
3739 Waveform Clip Level is set with a slider on the Preferences
3740 <a href="/preferences-and-session-properties/preferences-dialog/editor/">
3746 <strong>Icon Set</strong> Changes the mouse cursor icons used to indicate
3747 different tool modes in the editor. An example would be the icons used to
3748 indicate whether the cursor will select a region or change the length of a
3754 <strong>Waveforms color gradient depth</strong> Determines how much
3755 gradient effect is applied to audio waveforms displayed in the editor.
3756 Values range from 0.00, no graident effect, to 0.95, maximum effect.
3761 <strong>Timeline item gradient depth</strong> Determines how much
3762 gradient effect is applied to the backgrounds of regions displayed in the
3763 editor. Values range from 0.00, no graident effect, to 0.95, maximum
3769 <strong>Colors</strong> The color of an item in the user interface is
3770 determined by which named color is assigned to it, the color displayed for
3771 each named color in the palette, and in some cases, the transparency of
3777 <strong>Items</strong> Each display item has a named color assigned to
3778 it from the palette. Example color names are
3779 "meter color9" and "color 4".
3782 Click on an item's color example to change the named color choice.
3787 <strong>Palette</strong> Hover over a color to display it's name. Click
3788 on a color to open a color chooser dialog.
3793 <strong>Transparency</strong> Some items have a transparency value.
3794 Transparency can be changed from opaque to totally transparent.
3802 title: Session Properties Dialog
3803 menu_title: Session Properties
3807 <img src="/images/a4_session_properties_timecode.png" alt="session properties dialog"/>
3810 This dialog allows you to change settings for the current session. These
3811 settings are initially set from the template used to create the session. To
3812 open the dialog use <kbd class="menu">Session > Properties</kbd>
3817 menu_title: Timecode Tab
3821 <img src="/images/a4_session_properties_timecode.png" alt="session properties timecode tab"/>
3824 This tab is used to change how Ardour interprets and manipulates timecode.
3829 Timecode Settings lets you set the number of frames per second
3830 and pull up/down to match the timecode used other synchronized systems.
3833 External Timecode Offsets allows Ardour to a fixed offset from other
3834 synchronized systems. <dfn>Slave Timecode offset</dfn> adds the
3835 specified offset to the recieved timecode (MTC or LTC).
3836 <dfn>Timecode Generator offset</dfn> adds the specified offset to
3837 the timecode generated by Ardour (so far only LTC).
3840 Jack Transport / Time Settings determines whether Ardour controls
3841 Bar|Beat|Tick and other information for Jack.
3847 menu_title: Sync Tab
3851 <img src="/images/a4_session_properties_sync.png" alt="session properties sync tab"/>
3854 This tab is used to modify the timecode settings when working with video to
3855 use the imported video's timecode settings instead of the session defaults.
3860 menu_title: Fades Tab
3864 <img src="/images/a4_session_properties_fades.png" alt="session properties fades tab"/>
3867 Change how Ardour works with region crossfades.
3872 <dfn>Destructive crossfade length</dfn> is used when an operation on a
3873 region is destructive, such as when recording in a track is in tape mode.
3876 When <dfn>Region fades</dfn> <strong>active</strong> is checked, the
3877 region fades set up in the mixer are used during playback. When unchecked,
3878 the fades are ignored.
3881 When <strong>Region fades visible</strong> is checked the region fades are visible
3882 in the the <strong>Editor</strong>.
3888 menu_title: Media Tab
3892 <img src="/images/a4_session_properties_media.png" alt="session properties media tab"/>
3895 Change how sound is stored on disk. These options do not change how sound is handled
3901 <dfn>Sample format</dfn> defaults to 32-bit floating point, the same as
3902 the internal representation. 24 and 16-bit integer representation are
3906 <strong>File type</strong> options are WAVE, WAVE-64, and CAF.
3911 title: Locations Tab
3912 menu_title: Locations Tab
3916 <img src="/images/a4_session_properties_locations.png" alt="session properties locations tab"/>
3919 These options add file locations that will be searched to find the audio and
3920 midi files used by the session. This is useful when the files have been
3921 imported into the session but not copied into the session.
3925 To add a location, navigate to the directory where the files are stored.
3926 Drill down into the directory and then click open. The directory will
3927 show up in the dialog. The remove button next to the added directory can be used
3928 to remove it from the search path.
3932 title: Filenames Tab
3933 menu_title: Filenames Tab
3937 <img src="/images/a4_session_properties_filenames.png" alt="session properties filenames tab"/>
3940 This tab is used to change how Ardour names recorded regions.
3941 If <dfn>Prefix track number</dfn> is selected a unique number will appear on each track
3942 in the <dfn>Editor</dfn> window and will prefix the region name. If the track number
3943 is 2 and the region would have been Gtr-1.1 with track number prefix turned on the region
3944 will be named 2_Gtr-1.1 instead. See XX for base of the region name.
3948 If <dfn>Prefix take name</dfn> is selected and the <dfn>Take name</dfn> has Take1 the region
3949 will have the name Take1_Gtr-1.1 instead. If both boxes are checked the name will be
3950 Take1_2_Gtr-1.1 instead.
3954 When <dfn>Prefix take name</dfn> is enabled, the first time a track is recorded it will
3955 have the specified take name. When recording is stopped, any trailing number on the
3956 end of the take name will incremented by 1. If the track name specified doen't have
3957 a number on the end, the number 1 will be suffixed.
3961 title: Monitoring Tab
3962 menu_title: Monitoring Tab
3967 Provides options affecting monitoring.
3970 <img src="/images/a4_session_properties_monitoring.png" alt="session properties monitoring tab"/>
3973 The <strong>Track Input Monitoring automatically follows transport state</strong>
3974 affects how input monitoring is handling. See
3975 <a href="/recording/monitoring/monitor-setup-in-ardour/">Monitor Setup in Ardour</a>.
3978 <img class="left" src="/images/a4_monitoring_section.png" alt="monitoring section"/>
3981 The 'Use monitor section' displays an extra section in the <strong>Mixer</strong>
3982 window that is modelled on the similiarly named section on large analog consoles.
3986 title: Meterbridge Tab
3987 menu_title: Meterbridge Tab
3992 The meters from audio tracks always display in the <dfn>Meterbridge</dfn>.
3993 This tab changes what additional controls are also displayed.
3996 <img src="/images/a4_session_properties_meterbridge.png" alt="session properties meterbridge tab"/>
4000 <dfn>Route Display</dfn> has options for showing midi tracks, busses, and the master bus.
4003 <dfn>Button Area</dfn> has options for adding record enable, mute, solo, and input monitor buttons.
4006 <dfn>Name Labels</dfn> adds the track name and, if numbers are enabled on the filenames tab, the number.
4010 <img src="/images/a4_meterbridge_full.png" alt="image of meterbidge with all options on"/>
4014 menu_title: Misc Tab
4019 This tab has several things that don't fit on the other tabs.
4022 <img src="/images/a4_session_properties_misc.png" alt="session properties misc tab"/>
4026 <dfn>MIDI Options</dfn>
4029 If <dfn>MIDI region copies are independent</dfn> is selected, when a
4030 MIDI region is copied or duplicated, the new region is not linked to
4031 the region it was copied from. If it is not selected, the copied regions
4032 are linked and any editing of one of the linked regions changes all
4033 of the linked regions.
4036 The <dfn>Editor</dfn> can be configured to handle overlapping MIDI notes
4039 <li>never allow them</li>
4040 <li>don't do anything in particular</li>
4041 <li>replace any overlapped existing notes</li>
4042 <li>shorten the overlapped existing note</li>
4043 <li>shorten the overlapped new note</li>
4044 <li>replace both overlapping notes with a single note</li>
4050 <dfn>Glue to bars and beats</dfn>
4052 <li>New markers can be glued to bars and beats</li>
4053 <li>New regions can be glued to bars and beats</li>
4057 Settings from the session properties dialogs can be saved to the
4058 default session template.
4070 title: Controlling Ardour with OSC
4072 include: controlling-ardour-with-osc.html
4076 title: Controlling Ardour with OSC (Ardour 4.7 and Prior)
4078 include: controlling-ardour-with-osc-4.7-and-prior.html
4082 title: OSC Feedback With Ardour
4087 Feedback from the Ardour to the the control surface is very useful for
4088 a number of things. Motor faders need to know where the the track
4089 they have been attached to is at before they were assigned otherwise
4090 the DAW fader will jump to where the controller fader is. Likewise,
4091 the buttons on each strip need to know what their value is so they can
4092 light their LED correctly. Transport controls should let you know if
4093 they are active too. This is what feedback is all about.
4097 Ardour does feedback by sending the same path back that is used to
4098 control the same function. As such any controls that have feedback
4099 have a parameter that is the value of the control or it's state
4100 (on or off). In the case of OSC paths listed on the main OSC page
4101 as having no parameter, if they have feedback, they will also work
4102 with a 1 for button press and 0 for button release. This is because
4103 many OSC controllers will only use exactly the same path for feedback
4104 as for control. For example:
4107 <dl class="bindings">
4108 <dt><kbd class="osc">/transport_stop</kbd></dt>
4112 <p>can be used also in the form:</p>
4114 <dl class="bindings">
4115 <dt><kbd class="osc">/transport_stop <em>press</em></kbd></dt>
4116 <dd>where <em>press</em> is an int/bool indicating if the button is pressed or not.</dd>
4120 The feedback does not have the same meaning as the control message.
4121 Where the button release sent to Ardour will be ignored and has no
4122 meaning. Both states have meaning in feedback to the controller.
4123 The feedback will be:
4126 <dl class="bindings">
4127 <dt><kbd class="osc">/transport_stop <em>state</em></kbd></dt>
4128 <dd>where <em>state</em> is an int/bool indicating if the transport is stopped or not.</dd>
4131 With feedback turned on, OSC control commands that try to change a
4132 control that does not exist will get feedback that resets that control
4133 to off. For example, sending a /strip/recenable to a buss will not work
4134 and Ardour will try to turn the controller LED off in that case. Also
4135 note that Pan operation may be limited by pan width in some cases.
4136 That is with pan width at 100% (or -100%) there is no pan position
4140 It may come as a surprise, but feedback often generates more network
4141 traffic than control itself does. Some things are more obvious like
4142 head position or meters. But even a simple button push like transport
4143 start sends not only a signal to turn on the play LED, but also one to
4144 turn off the stop LED, the Rewind LED, the Fast Forward LED and the
4145 Loop LED. That is still minor, think instead of a surface refresh
4146 such as happens when the surface is first connected and then most of
4147 that happens every time the fader strips are banked. This is why
4148 feedback is enabled in sections so that as little feedback as is
4149 actually needed is sent. This is also a consideration if the surface
4150 is connected via wifi.
4152 <h2>List of OSC feedback messages</h2>
4154 <h3>Feedback only</h3>
4156 These messages are feedback only. They are sent as status from Ardour
4157 and some of them may be enabled separately from other feedback. See:
4158 <a href="/using-control-surfaces/controlling-ardour-with-osc/calculating-feedback-and-strip-types-values/">
4159 Calculating Feedback and Strip-types Values.</a>
4162 See strip section below for info about ssid and wrapping it into the
4163 path. Also /master and /monitor support what the /strip does.
4166 In the case where Gainmode is set to position, the track name will
4167 show the dB value while values are changing.
4169 <dl class="bindings">
4170 <dt><kbd class="osc">/strip/name <em>ssid</em> <em>track_name</em></kbd></dt>
4171 <dd>where <em>track_name</em> is a string representing the name of the track</dd>
4172 <dt><kbd class="osc">/session_name <em>session_name</em></kbd></dt>
4173 <dd>where <em>session_name</em> is a string representing the name of the session</dd>
4174 <dt><kbd class="osc">/strip/meter <em>ssid</em> <em>meter</em></kbd></dt>
4175 <dd>where <em>meter</em> is a value repesenting the current audio level.
4176 (the exact math used is determined by the feedback bits set)</dd>
4177 <dt><kbd class="osc">/strip/signal <em>ssid</em> <em>signal</em></kbd></dt>
4178 <dd>where <em>signal</em> is a float indicating the instantaneous
4179 audio level is -40dB or higher.</dd>
4180 <dt><kbd class="osc">/position/smpte <em>time</em></kbd></dt>
4181 <dd>where <em>time</em> is a string with the current play head time. Seconds as per smpte.</dd>
4182 <dt><kbd class="osc">/position/bbt <em>beat</em></kbd></dt>
4183 <dd>where <em>beat</em> is a string with the current play head bar/beat.</dd>
4184 <dt><kbd class="osc">/position/time <em>time</em></kbd></dt>
4185 <dd>where <em>time</em> is a string with the current play head time. Seconds are in milliseconds</dd>
4186 <dt><kbd class="osc">/position/samples <em>samples</em></kbd></dt>
4187 <dd>where <em>samples</em> is a string with the current play head position in samples.</dd>
4188 <dt><kbd class="osc">/heartbeat <em>LED</em></kbd></dt>
4189 <dd>where <em>LED</em> is a float that cycles 1/0 at 1 second intervals.</dd>
4190 <dt><kbd class="osc">/record_tally <em>state</em></kbd></dt>
4191 <dd>Some record enable is true or "ready to record". For a "Recording" sign at studio door.</dd>
4194 <h3>Transport Control</h3>
4195 <dl class="bindings">
4196 <dt><kbd class="osc">/transport_stop <em>state</em></kbd></dt>
4197 <dd><em>state</em> is true when transport is stopped</dd>
4198 <dt><kbd class="osc">/transport_play <em>state</em></kbd></dt>
4199 <dd><em>state</em> is true when transport speed is 1.0</dd>
4200 <dt><kbd class="osc">/ffwd <em>state</em></kbd></dt>
4201 <dd><em>state</em> is true when transport is moving forward but not at speed 1.0</dd>
4202 <dt><kbd class="osc">/rewind <em>state</em></kbd></dt>
4203 <dd><em>state</em> is true when transport speed is less than 0.0</dd>
4204 <dt><kbd class="osc">/loop_toggle <em>state</em></kbd></dt>
4205 <dd><em>state</em> is true when loop mode is true</dd>
4206 <dt><kbd class="osc">/cancel_all_solos <em>state</em></kbd></dt>
4207 <dd>Where <em>state</em> true indicates there are active solos that can be canceled.</dd>
4210 <h3>Recording control</h3>
4211 <dl class="bindings">
4212 <!--dt><kbd class="osc">/toggle_punch_in</kbd></dt>
4214 <dt><kbd class="osc">/toggle_punch_out</kbd></dt>
4216 <dt><kbd class="osc">/rec_enable_toggle <em>state</em></kbd></dt>
4217 <dd>Master record enabled.</dd>
4220 <h3>Master and monitor strips</h3>
4222 Master and monitor strips are similar to track strips but do not use
4223 the SSID. Rather they use their name as part of the path:
4225 <dl class="bindings">
4226 <dt><kbd class="osc">/master/gain <em>dB</em></kbd></dt>
4227 <dd>where <em>dB</em> is a float ranging from -193 to +6 representing the actual gain of master in dB</dd>
4228 <dt><kbd class="osc">/master/fader <em>position</em></kbd></dt>
4229 <dd>where <em>position</em> is an int ranging from 0 to 1023 representing the fader control position</dd>
4230 <dt><kbd class="osc">/master/trimdB <em>dB</em></kbd></dt>
4231 <dd>where <em>dB</em> is a float ranging from -20 to +20 representing the actual trim for master in dB</dd>
4232 <dt><kbd class="osc">/master/pan_stereo_position <em>position</em></kbd></dt>
4233 <dd>where <em>position</em> is a float ranging from 0 to 1 representing the actual pan position for master</dd>
4234 <dt><kbd class="osc">/master/mute <em>yn</em></kbd></dt>
4235 <dd>where <em>yn</em> is a bool/int representing the actual mute state of the Master strip</dd>
4236 <dt><kbd class="osc">/monitor/gain <em>dB</em></kbd></dt>
4237 <dd>where <em>dB</em> is a float ranging from -193 to 6 representing the actual gain of monitor in dB</dd>
4238 <dt><kbd class="osc">/monitor/fader <em>position</em></kbd></dt>
4239 <dd>where <em>position</em> is an int ranging from 0 to 1023 representing the fader control position</dd>
4242 <h3>Track specific operations</h3>
4244 For each of the following, <em>ssid</em> is the surface strip ID for the track
4247 Some Surfaces (many Android applets) are not able to deal with more
4248 than one parameter in a command. However, the two parameter commands
4249 below can also be sent as /strip/command/ssid param. Feedback can be
4250 set to match this with the /set_surface/feedback <em>state</em>
4252 href="/using-control-surfaces/controlling-ardour-with-osc/calculating-feedback-and-strip-types-values/">
4253 Calculating Feedback and Strip-types Values.</a>
4256 <dl class="bindings">
4257 <dt><kbd class="osc">/bank_up <em>LED</em></kbd></dt>
4258 <dd>where <em>LED</em> is a bool that indicates another bank_up operation is possible.</dd>
4259 <dt><kbd class="osc">/bank_down <em>LED</em></kbd></dt>
4260 <dd>where <em>LED</em> is a bool that indicates another bank_down operation is possible.</dd>
4261 <dt><kbd class="osc">/strip/name <em>ssid</em> <em>track_name</em></kbd></dt>
4262 <dd>where <em>track_name</em> is a string representing the name of the track
4263 (note there is no coresponding command to set the track name)</dd>
4264 <dt><kbd class="osc">/strip/mute <em>ssid</em> <em>mute_st</em></kbd></dt>
4265 <dd>where <em>mute_st</em> is a bool/int representing the actual mute state of the track</dd>
4266 <dt><kbd class="osc">/strip/solo <em>ssid</em> <em>solo_st</em></kbd></dt>
4267 <dd>where <em>solo_st</em> is a bool/int representing the actual solo state of the track</dd>
4268 <dt><kbd class="osc">/strip/monitor_input <em>ssid</em> <em>monitor_st</em></kbd></dt>
4269 <dd>where <em>monitor_st</em> is a bool/int. True/1 meaning the track is force to monitor input</dd>
4270 <dt><kbd class="osc">/strip/monitor_disk <em>ssid</em> <em>monitor_st</em></kbd></dt>
4271 <dd>where <em>monitor_st</em> is a bool/int. True/1 meaning the track is force to monitor disk,
4272 where both disk and input are false/0, auto monitoring is used.</dd>
4273 <dt><kbd class="osc">/strip/recenable <em>ssid</em> <em>rec_st</em></kbd></dt>
4274 <dd>where <em>rec_st</em> is a bool/int representing the actual rec state of the track</dd>
4275 <dt><kbd class="osc">/strip/record_safe <em>ssid</em> <em>rec_st</em></kbd></dt>
4276 <dd>where <em>rec_st</em> is a bool/int representing the actual record safe state of the track</dd>
4277 <dt><kbd class="osc">/strip/gain <em>ssid</em> <em>gain</em></kbd></dt>
4278 <dd>where <em>gain</em> is a float ranging from -193 to 6 representing the actual gain of the track in dB.</dd>
4279 <dt><kbd class="osc">/strip/fader <em>ssid</em> <em>position</em></kbd></dt>
4280 <dd>where <em>position</em> is an float ranging from 0 to 1 representing the actual fader position of the track.</dd>
4281 <dt><kbd class="osc">/strip/trimdB <em>ssid</em> <em>trim_db</em></kbd></dt>
4282 <dd>where <em>trim_db</em> is a float ranging from -20 to 20 representing the actual trim of the track in dB.</dd>
4283 <dt><kbd class="osc">/strip/pan_stereo_position <em>ssid</em> <em>position</em></kbd></dt>
4284 <dd>where <em>position</em> is a float ranging from 0 to 1 representing the actual pan position of the track</dd>
4286 <h3>Selection Operations</h3>
4288 Selection feedback is the same as for strips, only the path changes
4289 from <em>/strip</em> to <em>/select</em> and there is no <em>ssid</em>.
4290 there are some extra feedback and commands that will be listed here.
4292 <dl class="bindings">
4293 <dt><kbd class="osc">/select/n_inputs <em>number</em></kbd></dt>
4294 <dd>where <em>number</em> number of inputs for this strip</dd>
4295 <dt><kbd class="osc">/select/n_outputs <em>number</em></kbd></dt>
4296 <dd>where <em>number</em> number of outputs for this strip</dd>
4297 <dt><kbd class="osc">/select/comment <em>text</em></kbd></dt>
4298 <dd>where <em>text</em> is the strip comment</dd>
4299 <dt><kbd class="osc">/select/solo_iso <em>state</em></kbd></dt>
4300 <dd>where <em>state</em> is a bool/int representing the Actual solo isolate state of the track</dd>
4301 <dt><kbd class="osc">/select/solo_safe <em>state</em></kbd></dt>
4302 <dd>where <em>state</em> is a bool/int representing the actual solo safe/lock state of the track</dd>
4303 <dt><kbd class="osc">/select/polarity <em>invert</em></kbd></dt>
4304 <dd>where <em>invert</em> is a bool/int representing the actual polarity of the track</dd>
4305 <dt><kbd class="osc">/select/pan_stereo_width <em>width</em></kbd></dt>
4306 <dd>where <em>width</em> is a float ranging from 0 to 1 representing the actual pan width of the track</dd>
4307 <dt><kbd class="osc">/select/send_gain", <em>sendid</em> <em>send_gain</em></kbd></dt>
4308 <dd>where <em>sendid</em> = nth_send, <em>send_gain</em>is a float
4309 ranging from -193 to +6 representing the actual gain in dB for the send</dd>
4310 <dt><kbd class="osc">/select/send_fader", <em>sendid</em> <em>send_gain</em></kbd></dt>
4311 <dd>where <em>sendid</em> = nth_send, <em>send_gain</em>is a float
4312 ranging from 0 to 1 representing the actual position for the send as a fader</dd>
4313 <dt><kbd class="osc">/select/send_name <em>sendid</em> <em>send_name</em></kbd></dt>
4314 <dd>where <em>send_name</em> is a string representing the name of the buss
4315 this send goes to.</dd>
4317 <h3>Menu actions</h3>
4319 Every single menu item in Ardour's GUI is accessible via OSC. However,
4320 there is no provision for returning the state of anything set this way.
4321 This is not a bad thing as most menu items either do not have an on/off
4322 state or that state is quite visible. Binding that affect other parameters
4323 that OSC does track will show on those OSC controls. Examples of this
4324 might be track record enable for tracks 1 to 32, play or stop.
4328 title: Calculating Feedback and Strip-types Values
4333 <em>/set_surface</em> has two values the user needs to calculate before
4334 use. In general these will not be calculated at run time, but
4335 beforehand. There may be more than one button with different values
4336 to turn various kinds of feedback on or off or to determine which
4337 kinds of strips are currently viewed/controlled.
4341 Both ,<em>feedback</em> and <em>strip-types</em> use bitsets to keep
4342 track what they are doing. Any number in a computer is made out of
4343 bits that are on or off, but we represent them as normal base 10
4344 numbers. Any one bit turned on will add a unique value to the
4345 number as a whole. So for each kind of feedback or strip type
4346 to be used, that number should be added to the total.
4349 <h3>strip_types</h3>
4352 strip_types is an integer made up of bits. The easy way to
4353 deal with this is to think of strip_types items being worth a number and
4354 then adding all those numbers together for a value to send.
4355 Strip Types will determine What kind of strips will be included in
4356 bank. This would include: Audio, MIDI, busses, VCAs, Master, Monitor
4357 and hidden or selected strips.
4393 Selected and Hidden bits are normally not needed as Ardour defaults to
4394 showing Selected strips and not showing Hidden strips. The purpose of
4395 these two flags is to allow showing only Selected strips or only
4396 Hidden strips. Using Hidden with other flags will allow Hidden strips
4397 to show inline with other strips.
4400 Some handy numbers to use might be: 15 (all tracks and buses), 31
4401 (add VCAs to that). Master or Monitor strips are generally not useful
4402 on a surface that has dedicated controls for these strips as there are
4403 /master* and /monitor* commands already. However, on a surface with
4404 just a bank of fader strips, adding master or monitor would allow
4405 access to them within the banks. Selected would be useful for working
4406 on a group or a set of user selected strips. Hidden shows strips the
4410 Audio Aux? say what? I am sure most people will have noticed that they
4411 can find no <em>Aux</em> strips in the Ardour mixer. There are none.
4412 There are buses that can be used a number of ways. From analog days,
4413 in OSC a bus is something that gets used as a sub mix before ending up
4414 going to Master. An auxiliary bus is used like a separate mixer and
4415 it's output goes outside the program or computer to be used as:
4416 a monitor mix, a back up recording, or what have you. In OSC where
4417 controller strips may be limited, it may be useful not to use up a
4418 strip for an aux that is not really a part of the mix. It is also
4419 useful to get a list of only aux buses if the control surface is a
4420 phone used to provide talent monitor mix control on stage. Each
4421 performer would be able to mix their own monitor. The user is free
4422 to enable both buses and auxes if they would prefer.
4426 <p>Feedback is an integer made up of bits. The easy way to
4427 deal with this is to think of feedback items being worth a number and
4428 then adding all those numbers together for a value to send.
4432 1 - Button status for strips.
4435 2 - Variable control values for strips.
4438 4 - Send SSID as path extension.
4441 8 - heartbeat to surface.
4444 16 - Enable master section feedback.
4447 32 - Send Bar and Beat.
4453 128 - Send meter as dB (-193 to +6) or 0 to 1 depending on gainmode
4456 256 - Send meter a 16 bit value where each bit is a level
4457 and all bits of lower level are on. For use in a LED strip. This
4458 will not work if the above option is turned on.
4461 512 - Send signal present, true if level is higher than -40dB
4464 1024 - Send position in samples
4467 2048 - Send position in time, hours, minutes, seconds and milliseconds
4470 8192 - Turn on extra select channel feedback beyond what a /strip supports
4474 So using a value of 19 would turn on feedback for strip and master
4475 controls, but leave meters, timecode and bar/beat feedback off.
4479 title: Parameter Types in OSC
4484 An OSC message is laid out in this form:
4488 /path/of/command type parameter
4492 The type is there to indicate what the parameter is. This gives
4493 the idea that parameter types are quite strict and if the command
4494 requires an Integer <em>"i"</em> then the controller had better send it.
4495 However, the checking of the parameter type is left to the receiving
4500 What this means in practical terms is that the surface can get away
4501 with sending the wrong type of parameter. There are some places
4502 where that just doesn't make sense. For example, a parameter that
4503 is specified as a Float with a range of 0 to 1, could be sent as
4504 an Integer, but would only have full scale and minimum value with
4505 nothing in between. This is not much use for a fader, though ok for
4510 There are a number of OSC controllers based on iOS and Android
4511 tablets that only send or receive parameters as floats or text.
4512 These controllers should have no problem sending bool or int values
4513 as floats. Ardour will interpret the values as required.
4517 title: Selection/Feedback Expansion Considerations in OSC
4522 Ardour does not send every possible feedback value for each channel.
4523 It does send expanded information on the selected channel. There are
4524 also extra commands for the selected strip. All the feedback and
4525 select commands have their own path <em>/select</em>.
4526 This means that for the selected channel the surface does not have to
4527 keep track of the strip ID. The /select strip will follow the
4528 "current mixer strip" in the GUI editor window.
4531 There are two major uses for this:
4533 <li>Single strip control surfaces. Using
4534 <em>/access_action Editor/select-next-route</em> or
4535 <em>/access_action Editor/select-prev-route</em>
4536 to step through the mixer strips.</li>
4537 <li>Using a "Super strip" section of knobs to control parts
4538 of the strip that are changed less often such as polarity, sends or
4539 plugin parameters.</li>
4543 Selection in Ardour's OSC implementation are complicated by the
4544 possibility of using more than one OSC controller at the same time.
4545 User "A" may select strip 4 and use a selected controller to make
4546 changes to that strip. User "B" may subsequently select strip 7 to
4547 make changes on. This leaves user "A" making changes to strip 7
4548 which they did not choose.
4552 For this reason Ardour offers local expansion aside from the GUI
4553 selection. Local expansion only affects the one OSC controller. GUI
4554 selection is global and affects all controllers using GUI selection
4559 In general, in a one user situation where that one user may use either
4560 the OSC surface or the GUI, using GUI based selection makes the most
4561 sense. This is the default because this is the more common use.
4565 When there is more than one operator, then expansion only is the
4566 mode of choice. It may make sense for one of the surfaces to
4567 use GUI selection where the operator is also using the GUI for some
4568 things. However, the set up should be carefully analyzed for the
4569 possibility of selection confusions. Expansion should be
4570 considered the <em>safe</em> option.
4574 It is always ok to use expansion on the surface even in a one
4575 user scenario. This allows the user to use GUI and surface selection
4580 It is also possible to use both if desired. /strip/select will ways
4581 set the GUI select, but /strip/expand will set the select feedback
4582 and commands locally without changing the GUI select. Another
4583 /strip/expand or a /strip/select will override that expand command
4584 and releasing the /strip/expand or /select/expand (setting it to 0 or
4585 false) will set the /select set of commands/feedback back to whichever
4586 strip the GUI has selected at that time. This could be used to switch
4587 between the GUI select and the local expand to compare two strips
4592 title: Using the OSC Setup Dialog
4597 Starting with Ardour 5.1 OSC has a graphic setup dialog. This dialog
4598 can be accessed from Preferences->Control Surfaces. Select OSC and
4599 click on the Show Protocol Settings.
4603 The Ardour OSC dialog has three tabs. The main tab, the Strip Types
4604 tab and the Feedback tab.
4608 Many OSC devices get their IP from a DHCP making it difficult to set
4609 an IP in Ardour's OSC settings. Therefore, most of the settings are
4610 <em>default</em> settings. Values are set and the next OSC surface to
4611 send a /set_surface* message to Ardour will use those settings. An OSC
4612 surface that has previously sent a message to Ardour will retain the
4613 settings it already had. The <em>Clear OSC Devices</em> will reset all
4614 device settings. A <em>/refresh</em> message will both reset the
4615 device settings as well as set that device to any new settings. The
4616 Use of <em>/set_surface</em> will override all settings except
4620 <h2>Dialog settings</h2>
4622 <h3>OSC setup tab</h3>
4625 <img alt="the OSC configuration dialog"
4626 src="/images/osc-dialog.png">
4629 <h4>Connection:</h4>
4632 This field is informational only. It shows where Ardour will receive
4633 OSC messages. The system Name and the Port are the most important parts.
4639 This drop down allows the choice of Auto or Manual outbound port
4640 setting. The default Auto port mode, will send OSC messages back to
4641 the port messages from that surface are received from. This setting
4642 allows two surfaces on the same IP to operate independently. However,
4643 there are a number of OSC control surfaces that do not monitor the
4644 same port they send from and in fact may change ports they send from
4645 as well. Manual allows the outgoing port (the port the surface will
4646 receive on, to be manually set. In Manual port mode only one control
4647 surface per IP can work. Most phone or tablet OSC controllers like
4648 touchOSC or Control need Manual port mode. More than one controller
4649 can be used so long as each has it's own IP.
4652 <h4>Manual Port:</h4>
4655 This is an Entry box for setting the outgoing port when in
4662 This sets the default bank size for the next surface to send a
4663 <em>/set_surface/*</em> OSC message. Bank size 0 (the default) sets
4664 no banking and allows controlling all strips included in strip_types
4671 Sets the faders (and sends faders) feedback math to position where a
4672 value between 0 and 1 represents the fader position of the same fader
4673 in the mixer GUI or dB where the feedback from fader movement will be
4674 returned as a dB value. When the Gain Mode is set to position, the
4675 /*/name feedback for the channel will show dB values in text while the
4676 fader is being adjusted and then return the the name text.
4680 For debugging purposes this allows logging either good OSC messages
4681 Ardour receives or invalid messages received or none.
4685 Ardour now allows the use of preset settings. The default settings
4686 used are the settings from the last session or the factory defaults
4687 the first time OSC is enabled. As soon as any of these settings are
4688 changed, the Preset will change to "User" and the new settings will be
4689 save to the osc directory Ardour configuration directory as
4690 <em>user.preset</em>. This preset file can be renamed for future use.
4691 It is suggested to also change the name value inside to avoid confusion
4692 in the preset listing. Ardour will ship with some of it's own presets
4693 that go with some popular OSC control and map combinations.
4695 <h4>Clear OSC Devices</h4>
4697 This button clears operating device profiles so that Ardour will reset
4698 all devices settings to use the new defaults from changed settings. a
4699 device may still override these new settings with the /set_surface set
4700 of commands. The reason for setting defaults settings is that some OSC
4701 controllers are not able to send more than one parameter at a time and
4702 so having correct defaults allows one "Connect" button rather than 4.
4704 <h3>Default Strip Types tab</h3>
4706 <img alt="the Default Strip Types tab"
4707 src="/images/osc-strip-types.png">
4710 This allows selecting which of Ardour's mixer strips will be available
4711 for control. The Factory default is all strips except master, monitor
4712 and hidden strips. If it is desired to only see input tracks the
4713 others can be deselected. It is also possible to change these settings
4714 from the control surface. A set of buttons could select showing only
4715 inputs or only buses. If a group is selected in the GUI then showing
4716 only selected strips will show only that group. Showing hidden tracks
4717 is handy for cases where a groups of tracks that grouped to a bus or
4718 controlled by a VCA are hidden, but one of those tracks needs a tweak.
4721 <h3>Default Feedback tab</h3>
4724 <img alt="the Default Feedback tab"
4725 src="/images/osc-feedbackdefault.png">
4729 This allows setting up which controls provide feedback. The Factory
4730 default is none. If the controller is unable to receive feedback, this
4731 should be left blank. In the case of metering, Metering as a LED strip
4732 only works if Metering as a Float is disabled.
4736 title: Querying Ardour with OSC
4741 In order to make a custom controller that knows what strips Ardour
4742 has, the controller needs to be able to query Ardour for that
4743 information. These set of commands are for smarter control surfaces
4744 That have the logic to figure out what to do with the information.
4745 These are not of value for mapped controllers like touchOSC and
4746 friends. The controller will need to send these queries to ardour
4747 as often as it needs this information. It may well make sense to use
4748 regular feedback for things that need to be updated often such as
4749 position or metering.
4750 Here are the commands used to query Ardour:
4753 <dl class="bindings">
4754 <dt><kbd class="osc">/strip/list</kbd></dt>
4755 <dd>Ask for a list of strips</dd>
4756 <dt><kbd class="osc">/strip/sends <em>ssid</em></kbd></dt>
4757 <dd>Asks for a list of sends on the strip <em>ssid</em></dd>
4758 <dt><kbd class="osc">/strip/receives <em>ssid</em></kbd></dt>
4759 <dd>Asks for a list of tracks that have sends to the strip <em>ssid</em> points to</dd>
4760 <dt><kbd class="osc">/strip/plugin/list <em>ssid</em></kbd></dt>
4761 <dd>Asks for a list of plug-ins for strip <em>ssid.</em></dd>
4762 <dt><kbd class="osc">/plugin/descriptor <em>ssid</em> <em>piid</em></kbd></dt>
4763 <dd>Asks for a list of descriptors for plug-in <em>piid</em> on strip <em>ssid</em></dd>
4766 <h3>A list of strips</h3>
4769 <code>/strip/list</code> asks Ardour for a list of strips that the
4770 current session has. Ardour replies with a message for each
4771 strip with the following information:
4775 <li>Number of inputs</li>
4776 <li>Number of outputs</li>
4777 <li>Muted (bool)</li>
4778 <li>Soloed (bool)</li>
4779 <li>Ssid (strip number)</li>
4780 <li>Record enabled (bool)</li>
4782 After all the strip messages have been sent, one final message is
4785 <li>The text <code>end_route_list</code></li>
4786 <li>The session frame rate</li>
4787 <li>The last frame number of the session</li>
4790 <p class="note">A bus will not have a record enable and so a bus message
4791 will have one less parameter than a track. It is the controllers
4792 responsability to deal with this.
4795 <h3>A list of sends</h3>
4797 <code>/strip/sends <em>ssid</em></code> asks Ardour for a list of
4798 sends for strip number ssid. The reply is sent back to the
4799 controller as one message with the following information:
4801 <li>Ssid that information is for</li>
4802 <li>Each send's information:</li>
4804 <li>The send's target bus ssid</li>
4805 <li>The send's target bus name</li>
4806 <li>The send id for this strip</li>
4807 <li>The send gain as a fader possition</li>
4808 <li>The Send's enable state</li>
4813 The controller can tell how many sends there are from the number of
4814 parameters as each send has 5 parameters and there is one extra for
4818 <h3>A list if tracks that send audio to a bus</h3>
4820 <code>/strip/receives <em>ssid</em></code> will return a list of
4821 tracks that have sends to the bus at the ssid. The reply will
4822 contain the following information for each track conntected to this
4825 <li>The ssid of the track sending</li>
4826 <li>The name of the sending track</li>
4827 <li>The id of the send at that track</li>
4828 <li>It's gain in fader possition</li>
4829 <li>The send's enable state</li>
4833 <h3>A list of plug-ins for strip</h3>
4835 <code>/strip/plugin/list <em>ssid</em></code> will return a list of
4836 plug-ins that strip ssid has. The reply will contain the following
4839 <li>Ssid that information is for</li>
4840 <li>Each plugin's information:</li>
4842 <li>The plug-in's id</li>
4843 <li>The plug-in's name</li>
4848 <h3>A list of a plug-in's parameters</h3>
4850 <code>/plugin/descriptor <em>ssid</em> <em>piid</em></code> will
4851 return the plug-in parameters for ppid plug-in on the ssid strip. The
4852 reply will contain the following information:
4854 <li>Ssid of the strip the plug-in is in</li>
4855 <li>The plug-in id for the plug-in</li>
4856 <li>The plug-in's name</li>
4857 <li>Information about each parameter</li>
4859 <li>The parameter id</li>
4860 <li>The parameter's name</li>
4861 <li>A bitset of flags (see below)</li>
4863 <li>Minimum value</li>
4864 <li>Maximum value</li>
4865 <li>The number of scale points</li>
4866 <li>zero or more scale points of one value and one string each</li>
4867 <li>The current parameter value</li>
4873 The flag bitset above has been defined as (from lsb):
4875 <li>0 - enumeration</li>
4876 <li>1 - integer step</li>
4877 <li>2 - logarithmic</li>
4878 <li>3 - max unbound</li>
4879 <li>4 - min unbound</li>
4880 <li>5 - sample rate dependent</li>
4881 <li>6 - toggled</li>
4882 <li>7 - controllable</li>
4887 While this seems complex, it is really not that bad. Minimum, maximum and value will in most cases give you all you need.
4891 title: Devices using Mackie/Logic Control Protocol
4892 menu_title: Mackie/Logic Control Devices
4897 This will walk you through the process of configuring and using
4898 a MIDI control surface with Ardour that uses the <dfn>Mackie Control
4899 protocol</dfn> (MCP) or <dfn>Logic Control protocol</dfn>. Devices that
4900 have been tested and are known to work include the SSL Nucleus, Mackie
4901 Control Pro (plus extenders), Behringer devices in Mackie/Logic mode,
4902 and Steinberg CMC devices.
4905 <h2>Enabling Mackie Control in Ardour</h2>
4908 Navigate to <kbd class="menu">Edit > Preferences > Control Surfaces</kbd>.
4909 Double-click on <kbd class="menu">Mackie Control</kbd> to see the setup dialog:
4912 <img src="/images/missing.png" alt="Mackie Control Setup Dialog" />
4915 From the selector at the top, choose the type of device you are using.
4917 href="/using-control-surfaces/devices-using-mackielogic-control-protocol/devices-not-listed/">
4918 What to do if your device is not listed</a>).
4922 Once your setup is complete, click "OK" to close the dialog. Now click
4923 on the enable checkbox for "Mackie Control".
4926 <h2>Connecting control surface and Ardour MIDI ports</h2>
4929 If you are using a device that uses ipMIDI, such as the SSL Nucleus, no
4930 MIDI port connections are required—Ardour and your control
4931 surface will be able to talk to each other automatically.
4935 If you are using a device that uses normal MIDI (via a standard MIDI or
4936 USB cable), you need to connect Ardour's Mackie Control in and out ports
4937 to the MIDI ports leading to and coming from the control surface.
4941 When you have made these connections once, Ardour will recreate them
4942 for you in the future, as long as you leave Mackie Control enabled.
4945 <h2>Customizing your control surface</h2>
4948 Every possible Mackie Control button can be bound to any action present
4949 in Ardour's GUI. Please check your control surface page for suggestions.
4952 <h2>Preparing your device for use with Ardour</h2>
4955 Most interfaces will require some configuration to send and respond to
4960 When setting up the control surface, do <em>not</em> use "Pro Tools"
4961 mode. Pro Tools is the only DAW that still requires HUI. The rest of
4962 world uses Mackie Control Protocol. Ardour does not support HUI.
4966 title: Behringer devices in Mackie/Logic Control Mode
4967 menu_title: Behringer devices
4971 <h2>Behringer BCF-2000 Faders Controller</h2>
4974 <img alt="Digramatic Image of the BCF2000"
4975 src="/images/BCF2000.png">
4979 The Behringer BCF-2000 Fader Controller is a control surface with 8 motorized
4980 faders, 8 rotary encoders and 30 push buttons. The device is a class
4981 compliant USB Midi Interface and also has standard Midi DIN IN/OUT/THRU ports.
4982 The device has included a Mackie/Logic Control Emulation Mode since firmware v1.06.
4983 If you're devices firmware is older than v1.06 it will require an update before
4984 Mackie Control Emulation will work as described here.
4988 <img alt="Digramatic Image of the BCF2000 in Edit Global Mode"
4989 src="/images/BCF2000-EG.png">
4993 In order to put the controller into Mackie/Logic control mode turn on the
4994 unit while holding third button from the left in the top most row
4995 of buttons (under the rotary encoder row). Hold the button down until <dfn>EG</dfn>
4996 or edit global mode is displayed on the LCD screen of the unit. The global parameters
4997 can then be edited using the 8 rotary encoders in the top row.
5001 Encoder #1 sets the operating mode and should be set to <dfn>U-1</dfn> or
5002 USB mode 1 if using with a USB cable connection.
5005 Encoder #3 sets the foot switch mode and should most likely be set to
5006 <dfn>Auto</dfn> to detect how the foot switch is wired.
5009 Encoder #5 sets the device id, if you are using only 1 device the id
5010 should be set to <dfn>ID 1</dfn>. If you are using multiple BCF/BCR2000 each
5011 device is required to be set up sequentially and one at a time.
5014 Encoder #7 controls the MIDI <dfn>Dead Time</dfn> or the amount of milliseconds
5015 after a move has been made that the device ignores further changes, this
5016 should be set to <dfn>100</dfn>.
5019 Encoder #8 controls the MIDI message <dfn>Send Interval</dfn> in milliseconds
5020 and should be set to <dfn>10</dfn>
5024 To exit the <dfn>EG</dfn> mode press the <dfn>Exit</dfn> button. The device is now
5025 ready to use with Ardour.
5028 <h3>Modes of Operation</h3>
5030 <img alt="Digramatic Image of the BCF2000 Control Modes"
5031 src="/images/BCF2000-Modes.png">
5034 The four buttons arranged in a rectangle and located under the Behringer logo
5035 are the mode selection buttons in Logic Control Emulation Mode,
5036 currently Ardour has implemented support for two of these modes.
5039 The surface can be broken into 8 groups of controls.
5043 <li>The rotary encoders at the top of the device</li>
5044 <li>The first row of buttons under the encoders</li>
5045 <li>The second row of buttons under the encoders</li>
5046 <li>The row of motorized faders<li>
5048 The group of 4 buttons at the top right that will be
5049 referred to here as the <dfn>Shift Group</dfn>
5052 The group of 4 buttons under the <dfn>Shift Group</dfn>
5053 referred to here as the <dfn>Mode Group</dfn>
5056 The group of 2 buttons under the <dfn>Mode Group</dfn>
5057 referred to here as the <dfn>Select Group</dfn>
5060 The group of 4 buttons under the <dfn>Select Group</dfn>
5061 referred to here as the <dfn>Transport Group</dfn>
5065 <h3>Mixer Pan Mode</h3>
5067 <img alt="Digramatic Image of the BCF2000 Control Modes"
5068 src="/images/BCF2000-Pan.png">
5071 This is the standard work mode that organizes the control surface to emulate
5072 a standard mixer layout where controls for each track/bus are arranged vertically.
5073 The order of the faders is either controlled by the order of the tracks in the
5074 mixer or can be set manually by the user.
5078 <dd>Mixer Pans. The red LEDs show the amount of pan left or right</dd>
5079 <dt>First Row of Buttons</dt>
5080 <dd>Mixer Mutes. The button led lights if the track is currently muted</dd>
5081 <dt>Second Row of Buttons</dt>
5082 <dd>Select Active Track/Bus. Currently selected track/bus is indicated by the button led</dd>
5084 <dd>Mixer Gains</dd>
5085 <dt>Shift Group</dt>
5087 The top and bottom left buttons are the simply shifts to change the function of other buttons
5090 The top right is the <dfn>Fine Control</dfn> button that allows the increment values sent by
5091 by rotary encoders and faders to be a small value for more precise editing. This button
5092 can also act as a shift button.
5095 The bottom right is the <dfn>Global Shift</dfn> button that allows you to change back to the
5096 standard Mixer Pan view from other views and modes. This button can also act as a shift button.
5099 <dd>The top two buttons functions are not currently implemented in Ardour.</dd>
5100 <dd>The bottom left button sets the device to <dfn>Pan</dfn> mode and should currently be lit</dd>
5102 The bottom right button sets the device to <dfn>Send</dfn> mode but will only allow the switch
5103 if the currently selected track/bus has a send or sends to control.
5105 <dt>Select Group</dt>
5107 In this mode they function as bank select left and right. If your session has more than 8 tracks
5108 the next set of 8 tracks is selected with the right button and the faders will move to match the
5109 current gain settings of that bank of 8 tracks/busses. If the last bank contains less than 8
5110 tracks/busses the unused faders will move to the bottom and the pan lights will all turn
5111 off. An unlimited amount of tracks can be controlled with the device.
5113 <dt>Transport Group</dt>
5114 <dd>The upper left button controls <dfn>Rewind<dfn>.
5115 <dd>The upper right button controls <dfn>Fast Foreword</dfn>
5116 <dd>The lower left button controls stop</dd>
5117 <dd>The lower right button controls play</dd>
5121 <img alt="Digramatic Image of the Send Mode"
5122 src="/images/BCF2000-Send.png">
5125 Send mode allows for the top row of encoders to control the sends for a selected channel.
5126 One interesting option is to flip the controls from the encoders to the faders by pressing
5127 the shift 1 button and the global view button at the same time.
5132 In send mode, the encoders control sends from left to right instead of mixer pans.
5133 If there are less than 8 sends the behavior of the encoder will be to continue controlling
5134 the mixer pan. Visually it's indicated by the change in the LED from originating at the 12
5135 o'clock position to originating at the 7 o'clock position. If <dfn>FLIP</dfn> is pressed
5136 the encoder will control the mixer gain for the selected track/bus.
5138 <dt>First row of buttons</dt>
5140 <dt>Second row of buttons</dt>
5144 No change unless <dfn>FLIP</dfn>is pressed then it controls the send for the selected track/bus.
5146 <dt>Shift Group</dt>
5148 <dt>Select Group</dt>
5150 <dt>Transport Group</dt>
5153 <h3>Mixer Pan While Holding Shift 1</h3>
5155 <img alt="Digramatic Image of the Mixer Mode while holding down shift 1"
5156 src="/images/BCF2000-Shift1.png">
5159 The operations of various buttons change while holding down the <dfn>Shift 1</dfn> button
5164 <dt>First row of buttons</dt>
5165 <dd>These now control the Soloing of each track/bus in the current bank</dd>
5166 <dt>Second row of buttons</dt>
5167 <dd>These now control the Enable Record for each track</dd>
5170 <dt>Shift Group</dt>
5174 <dt>Select Group</dt>
5176 These now change the current bank of tracks being controlled over by
5177 one. So if you where controlling tracks 1-8 a push the right
5178 button the surface would now control tracks 2-9 pressing the left
5179 would then shift back to controlling tracks 1-8.
5181 <dt>Transport Group</dt>
5182 <dd>The upper left now controls turning on and off <dfn>Loop</dfn> mode.</dd>
5184 The upper right now toggles
5187 <dd>The lower left toggles <dfn>Replace</dfn>.</dd>
5189 The lower right toggles
5190 <dfn>Global Record</dfn>.
5193 <h3>Mixer Pan While Holding Shift 2</h3>
5195 <img alt="Digramatic Image of the Mixer Mode while holding down shift 2"
5196 src="/images/BCF2000-Shift2.png">
5199 The operations of various buttons change while holding down the <dfn>Shift 2</dfn> button
5204 <dt>First row of buttons</dt>
5206 <dt>Second row of buttons</dt>
5207 <dd>These now control setting up different <dfn>Views</dfn>. See bellow for more info</dd>
5210 <dt>Shift Group</dt>
5214 <dt>Select Group</dt>
5215 <dd>Left button controls <dfn>Undo</dfn>(NEEDS VERIFIED)</dd>
5216 <dt>Transport Group</dt>
5226 <img alt="Digramatic Image of the LED display for different Views"
5227 src="/images/BCF2000-Views.png">
5230 <p class="fixme">FIX ME</p>
5238 The Nucleus, from Solid State Logic, is a 16 fader Mackie Control
5239 device that includes many buttons, separate meters, two LCD displays
5240 and other features. The device is not cheap (around US$5000 at the
5241 time of writing), and has some <a href="#design">design features</a>
5242 (or lack thereof) which some Ardour developers find
5243 questionable. Nevertheless, it is a very flexible device, and makes
5244 a nice 16 fader surface without the need to somehow attach an
5245 extender to your main surface.
5248 <h2>Pre-configuring the Nucleus</h2>
5251 Your Nucleus comes complete with a number of "profiles" for a few
5252 well-known DAWs. At the time of writing it does not include one for
5253 Ardour (or related products such as Harrison Mixbus).
5256 We have prepared a profile in which as many buttons as possible send
5257 Mackie Control messages, which makes the device maximally useful
5258 with Ardour (and Mixbus). You can
5259 download <a href="https://community.ardour.org/files/ArdourNucleusProfile.zip">the
5261 and load it to your Nucleus using the <code>Edit Profiles</code>
5262 button in SSL's Nucleus Remote application. Be sure to select it for
5263 the active DAW layer in order to make Ardour work as well as
5264 possible. <em>Note: unfortunately, the Nucleus Remote application
5265 only runs on OS X or Windows, so Linux users will need access to
5266 another system to load the profile. We will provide notes on the
5267 profile settings at a future time.</em>
5270 <h2>Connecting the Nucleus</h2>
5273 Unlike most Mackie Control devices, the Nucleus uses an ethernet
5274 connection to send and receive the MIDI messages that make up the
5275 Mackie Control protocol. Specifically, it uses a technology called
5276 "ipMIDI" which essentially "broadcasts" MIDI messages on a local
5277 area network, so that any connected devices (computers, control
5278 surfaces, tablets etc.) can participate.
5281 All other DAWs so far that support the Nucleus have chosen to do so
5282 by using a 3rd party MIDI driver called "ipMIDI", which creates a
5283 number of "virtual" MIDI ports on your computer. You, the user,
5284 tells the DAW which ports to connect to, and ipMIDI takes care of
5288 Ardour has builtin ipMIDI support, with no need of any 3rd party
5289 packages, and no need to identify the "ports" to connect to in order
5290 to communicate with the Nucleus. This makes setting it up a bit
5291 easier than most other systems.
5294 Unless ... you already installed the ipMIDI driver in order to use
5295 some other DAW with your Nucleus. If ipMIDI is configured to create
5296 any "ports", it is not possible for Ardour's own ipMIDI support to
5297 function. We decided to offer both methods of communicating with
5298 your Nucleus. If you regularly use other DAWs, and appreciate having
5299 ipMIDI permanently set up to communication with the Nucleus—that's
5300 OK, you can tell Ardour to use the ipMIDI driver you already
5301 have. But if you're not using other DAWs with the Nucleus (and thus
5302 have not installed the ipMIDI driver), then you can ignore the
5303 ipMIDI driver entirely, and let Ardour connect directly with no
5307 <h3>Connecting via Ardour's own ipMIDI support</h3>
5309 <p class="alert alert-info">
5310 This is usable only on computers with no 3rd party ipMIDI
5311 driver software installed and configured. If you have the OS X or
5312 Windows ipMIDI driver from nerds.de, it <strong>MUST</strong> be
5313 configured to offer <strong>ZERO</strong> ports before using this
5318 Open <code>Preferences > Control Surfaces</code>. Ensure that the
5319 Mackie protocol is enabled, then double-click on it to open the
5320 Mackie Control setup dialog.
5323 Ensure that the device selected is "SSL Nucleus". The dialog should
5324 show a single numerical selector control below it, defining the
5325 ipMIDI port number to use (it should almost always be left at the
5326 default value of 21928).
5329 Communication is automatically established with the Nucleus and you
5330 need do nothing more.
5333 If this does not work, then make sure your network cables are
5334 properly connected, and that you are <strong>not</strong> running
5335 other ipMIDI software on the computer.
5338 <h3>Connecting via 3rd party ipMIDI support</h3>
5340 <p class="alert alert-info">
5341 This is usable only on computers with 3rd party ipMIDI
5342 driver software installed and configured for (at least) 2 ports.
5346 Open <code>Preferences > Control Surfaces</code>. Ensure that the
5347 Mackie protocol is enabled, then double-click on it to open the
5348 Mackie Control setup dialog.
5351 Ensure that the device selected is "SSL Nucleus (via platform MIDI)". The dialog should
5352 show four combo/dropdown selectors, labelled (respectively):
5355 <li><code>Main Surface receives via</code></li>
5356 <li><code>Main Surface sends via</code></li>
5357 <li><code>1st extender receives via</code></li>
5358 <li><code>1st extender sends via</code></li>
5361 You should choose "ipMIDI port 1", "ipMIDI port 1", "ipMIDI port 2"
5362 and "ipMIDI port 2" for each of the 4 combo/dropdown selectors.
5365 Communication should be automatically established with the Nucleus.
5368 If this does not work, then make sure your network cables are
5369 properly connected, and that you are running the approprate ipMIDI
5370 driver and have configured it for 2 (or more) ports.
5373 <h2><a name="design">Nucleus Design Discussion</a></h2>
5376 You might be reading this part of the manual seeking some guidance
5377 on whether the Nucleus would make a suitable control surface for
5378 your workflows. We don't want to try to answer that question
5379 definitively, since the real answer depends on the very specific
5380 details of your workflow and situation, but we would like to point
5381 out a number of design features of the Nucleus that might change
5387 <dt>No Master Faster</dt>
5388 <dd>It is not possible to control the level of the Master bus or
5389 Monitor section. Really don't know what SSL was thinking here.</dd>
5390 <dt>No dedicated rec-enable buttons</dt>
5391 <dd>You have to press the "Rec" button and convert the per-strip
5392 "Select" buttons into rec-enables</dd>
5393 <dt>No dedicated automation buttons</dt>
5394 <dd>You have to press the "Auto" button and convert the first 4
5395 vpots into 4 automation-related buttons, losing your current view
5396 of the session.</dd>
5397 <dt>No buttons with Mackie-defined "Marker" functionality</dt>
5398 <dd>Mackie's design intentions for the interoperation of the
5399 Marker, rewind and ffwd buttons requires profile editing in order
5400 to function properly.
5402 <dt>No "Dyn" button</dt>
5403 <dd>This is hard to assign in an edited profile. To be fair, other
5404 Mackie Control devices also lack this button.
5410 <dt>Single cable connectivity</dt>
5411 <dd>No need for multiple MIDI cables to get 16 faders</dd>
5412 <dt>Broadcast connectivity</dt>
5413 <dd>Connecting to multiple computers does not require recabling</dd>
5414 <dt>16 faders from a single box</dt>
5415 <dd>No need to figure out how to keep extenders together</dd>
5416 <dt>Meters separated from displays</dt>
5417 <dd>Contrast with the Mackie Control Universal Pro, where meters
5418 interfere with the display
5420 <dt>DAW profiles</dt>
5421 <dd>Easy to flip profiles for use by different DAWs.</dd>
5427 <dt>Ability to make buttons generate USB keyboard events</dt>
5428 <dd>The extent to which this is useful reflects the target DAWs
5429 inability to manage all of its functionality via Mackie Control
5431 <dt>Sophisticated "profile" editing</dt>
5432 <dd>It is nice to be able to reassign the functionality of most
5433 buttons, but this is only necessary because of the relatively few
5434 global buttons on the surface.
5436 <dt>Builtin analog signal path</dt>
5437 <dd>SSL clearly expects users to route audio back from their
5438 computer via the Nucleus' own 2 channel output path, and maybe even
5439 use the input path as well. They take up a significant amount of
5440 surface space with the controls for this signal path, space that
5441 could have been used for a master fader or more Mackie Control
5442 buttons. The USB audio device requires a proprietary driver, so
5443 Linux users can't use this, and OS X/Windows users will have to
5444 install a device driver (very odd for a USB audio device these
5445 days). The analog path also no doubt adds notable cost to the
5446 Nucleus. There's nothing wrong with this feature for users that
5447 don't already have a working analog/digital signal path for their
5448 computers. But who is going to spend $5000 on a Nucleus that
5449 doesn't have this already?</dd>
5453 title: Mackie Control Setup on Linux
5457 <h2>Devices using ipMIDI</h2>
5460 If you are using a device like the SSL Nucleus that uses ipMIDI,
5461 no set up is required other than to ensure that your control surface
5462 and computer are both connected to the same network.
5465 <h2>Devices using conventional MIDI</h2>
5468 Before attempting to use a Mackie Control device that communicates via
5469 a standard MIDI cable or a USB cable, you should ensure that
5470 <a href="/setting-up-your-system/setting-up-midi/midi-on-linux">your Linux
5471 MIDI environment is setup</a>.
5475 title: What to do if your Device is not Listed
5476 menu_title: Unlisted devices
5481 All Mackie Control devices are based on the original Logic Control and the
5482 documentation in the user manual that came with it. The Mackie Control and
5483 the Mackie Control Pro and so on, all use this same protocol. Any units
5484 from other manufactures will also use the same encoding as best the
5485 hardware will allow. If the unit in use has more than one Mackie Control
5486 option, it is best to choose Logic Control or LC. Any Templates for the
5487 buttons should be chosen the same way as the Function key Editor uses these
5488 button names. The "Mackie Control" option should be considered default and
5489 should be tried with any unlisted device before attemping to create a
5490 custom definition file.
5494 title: Working With Extenders
5495 menu_title: Working With Extenders
5500 Extenders will require a custom file as there are no combinations listed
5501 at this time. The best way is to start with the mc.device file and copy it
5502 to a new name such as xt+mc.device and then edit that file. It is best to
5503 name the file with the order the devices are expected to be used in as
5504 the position of the master device is specified in this file.
5508 The two lines of interest are:
5512 <Extenders value="0"/>
5513 <MasterPosition value="0"/>
5517 Add these two lines if they are not present. The <code>Extenders</code>
5518 value is the number of extenders used and should not include the master in
5523 When an <code>Extenders</code> value of greater than 0 is used, extra midi
5524 ports will appear for the extenders to be connected to. The MIDI ports
5525 for the controllers will be named <code>mackie control #1</code>,
5526 <code>mackie control #2</code> and up. The numbers will go from left to
5527 right. That is, from lowest number channel to highest.
5531 The <code>MasterPosition</code> value is the port number the master unit
5532 (with the master fader) is connected to. So if there are three surfaces,
5533 <code><MasterPosition value="1"/></code> will expect the master on
5534 the left, <code><MasterPosition value="2"/></code> would be master
5535 in the middle and <code><MasterPosition value="3"/></code> would be
5536 master on the right. So the position matches the port name.
5540 The default value of <code><MasterPosition value="0"/></code> has
5541 the same effect as <code><MasterPosition value="1"/></code>.
5545 If the <code>MasterPosition</code> value does not properly match the
5546 physcal position and MIDI port, the master fader and global controls will
5547 not work. The master unit will act like an extender.
5551 title: MIDI Binding Maps
5556 Ardour 2.X supported
5557 <a href="/using-control-surfaces/midi-learn"><dfn>MIDI learning</dfn></a>
5558 for more or less any control. This was a nice feature that quite a few other
5559 DAWs are providing by now, but it didn't allow Ardour to work "out of the
5560 box" with sensible defaults for existing commercial MIDI
5561 controllers. In Ardour 3 and later versions, we have augmented the
5562 MIDI learn feature with the ability to load a <dfn>MIDI binding map</dfn>
5563 for a given controller, which can set up an arbitrary number of physical
5564 controls with anything inside Ardour that can be controlled.
5568 Currently (August 2016), we have presets for the following devices/modes:
5572 <li>AKAI MPD-32</li>
5574 <li>AKAI MPKmini</li>
5575 <li>Behringer BCF2000</li>
5576 <li>Behringer BCF2000 (Mackie Emulation mode; better to use
5577 Ardour's actual Mackie Control Protocol support)</li>
5578 <li>Behringer DDX3216</li>
5579 <li>Korg nanoKONTROL (2 layouts)</li>
5580 <li>Korg nanoKONTROL 2 (2 layouts)</li>
5581 <li>Korg Taktile</li>
5582 <li>M-Audio Axiom 25 (2 layouts)</li>
5583 <li>M-Audio Axiom 61</li>
5584 <li>M-Audio Oxygen 49</li>
5585 <li>M-Audio Oxygen 61v3</li>
5586 <li>M-Audio Oxygen 25</li>
5587 <li>M-Audio Oxygen 8v2</li>
5588 <li>Novation Impulse 49</li>
5589 <li>Novation Impulse 61</li>
5590 <li>Novation LaunchControl XL</li>
5591 <li>Novation LaunchKey 25</li>
5592 <li>Roland SI-24</li>
5593 <li>Roland V Studio 20</li>
5594 <li>Yamaha KX25</li>
5596 At this time, new binding maps need to be created with a text editor.
5598 MIDI binding maps are accessible by double-clicking <kbd class="menu">Edit
5599 > Preferences > Control Surfaces > Generic MIDI</kbd>. Ardour will
5600 retain your selection after you choose one.
5603 <h2>Creating new MIDI maps</h2>
5604 <h3>The Basic Concept</h3>
5606 Since the beginning of time (well, sometime early in the 2.X series),
5607 Ardour has had the concept of identifying each track and bus with a
5608 <dfn>remote control ID</dfn>. This ID uniquely identifies a track or bus
5609 so that when messages arrive from elsewhere via MIDI or OSC , we can determine
5610 which track or bus they are intended to control. Ardour has a
5612 href="/working-with-tracks/controlling-track-ordering/track-ordering-and-remote-control-ids/">number
5613 of ways of assigning remote control IDs</a>, but they don't really matter
5614 very much when creating MIDI binding maps, so we won't discuss that here.
5615 You just need to know that there is a "first track" and its remote control
5618 <h3>Getting Started</h3>
5620 MIDI bindings are stored in files with the suffix ".map" attached to their
5621 name. The minimal content looks like this:
5624 <?xml version="1.0" encoding="UTF-8"?>
5625 <ArdourMIDIBindings version="1.0.0" name="The name of this set of
5627 </ArdourMIDIBindings>
5630 So, to start, create a file with that as the initial contents.
5633 On OS X, Ardour loads midi maps from its binary-bundle folder in
5634 <code>Ardour-<version>/midi_maps/</code> and checks
5635 various other locations as well (defined by the ARDOUR_MIDIMAPS_PATH
5636 environment variable). On GNU/Linux the easiest is to save the file to
5637 <code>~/.config/ardour3/midi_maps/</code>.
5640 <h3>Finding out what your MIDI control surface sends</h3>
5642 This is the most complex part of the job, but its still not very hard.
5643 You need to connect the control surface to an application that will show
5644 you the information that the device sends each time you modify a knob,
5645 slider, button etc. There are a variety of such applications (notably
5646 <code>gmidimon</code> and <code>kmidimon</code>, but you can actually use
5647 Ardour for this if you want. Start Ardour in a terminal window, connect
5648 MIDI ports up, and in the Preferences window, enable "Trace Input" on the
5649 relevant MIDI port. A full trace of the MIDI data received will show up in
5650 the terminal window. (Note: in Ardour3, you get a dedicated, custom dialog
5651 for this kind of tracing.)
5653 <h3>Types of Bindings</h3>
5655 There are two basic kinds of bindings you can make between a MIDI message
5656 and something inside Ardour. The first is a binding to a specific parameter
5657 of a track or bus. The second is a binding to a function that will change
5658 Ardour's state in some way.
5660 <h4>Binding to Track/Bus controls</h4>
5662 A track/bus binding has one of two basic structures
5665 <Binding <em>msg specification</em> uri="<em>... control address ...</em>"/>
5666 <Binding <em>msg specification</em> function="<em>... function name ...</em>"/>
5669 <h4>Message specifications</h4>
5671 You can create a binding for either 3 types of channel messages, or for a
5672 system exclusive ("sysex") message. A channel message specification looks
5676 <Binding channel="1" ctl="13" ....
5679 This defines a binding for a MIDI Continuous Controller message involving
5680 controller 13, arriving on channel 1. There are 16 MIDI channels, numbered
5681 1 to 16. Where the example above says <code>ctl</code>, you can alternatively
5682 use <code>note</code> (to create binding for a Note On message) or
5683 <code>pgm</code> (to create a binding for a Program Change message).
5686 As of Ardour 4.2, <code>enc-r</code>, <code>enc-l</code>, <code>enc-2</code> and
5687 <code>enc-b</code> may be used for surfaces that have encoders that send
5688 offsets rather than values. These accept Continuous Controller messages
5689 but treat them as offsets. These are good for banked controls as they are
5690 always at the right spot to start adjusting. (
5691 <a href="/using-control-surfaces/midi-binding-maps/working-with-encoders/">
5692 Learn more about working with encoders
5696 You can also bind sysex messages:
5699 <Binding sysex="f0 0 0 e 9 0 5b f7" ....
5700 <Binding sysex="f0 7f 0 6 7 f7" ....
5703 The string after the <code>sysex=</code> part is the sequence of MIDI bytes,
5704 as hexadecimal values, that make up the sysex message.
5707 Finally, you can bind a totally arbitrary MIDI message:</p>
5709 <Binding msg="f0 0 0 e 9 0 5b f7" ....
5710 <Binding msg="80 60 40" ....
5713 The string after the <code>msg=</code> part is the sequence of MIDI bytes, as
5714 hexadecimal values, that make up the message you want to bind. Using this is
5715 slightly less efficient than the other variants shown above, but is useful for
5716 some oddly designed control devices.
5720 As of Ardour 4.6 it is possible to use multi-event MIDI strings such as
5721 two event CC messages, RPN or NRPN.
5725 The <code>sysex=</code> and <code>msg=</code> bindings will only work with
5726 <code>function=</code> or <code>action=</code> control addresses. They
5727 will <em>not</em> work with the <code>uri=</code> control addresses.
5728 Controls used with <code>uri=</code> require a <em>Value</em> which is
5729 only available in a known place with channel mode MIDI events.
5732 <h4>Control address</h4>
5734 A <dfn>control address</dfn> defines what the binding will actually control.
5735 There are quite a few different things that can be specified here:
5737 <dl class="wide-table">
5738 <dt>/route/gain</dt>
5739 <dd>the gain control ("fader") for the track/bus</dd>
5740 <dt>/route/trim</dt>
5741 <dd>the trim control for the track/bus (new in 4.1)</dd>
5742 <dt>/route/solo</dt>
5743 <dd>a toggleable control for solo (and listen) of the track/bus</dd>
5744 <dt>/route/mute</dt>
5745 <dd>a toggleable control to mute/unmute the track/bus</dd>
5746 <dt>/route/recenable</dt>
5747 <dd>a toggleable control to record-enable the track</dd>
5748 <dt>/route/panwidth</dt>
5749 <dd>interpreted by the track/bus panner, should control image "width"</dd>
5750 <dt>/route/pandirection</dt>
5751 <dd>interpreted by the track/bus panner, should control image "direction"</dd>
5752 <dt>/route/plugin/parameter</dt>
5753 <dd>the Mth parameter of the Nth plugin of a track/bus
5755 <dt>/route/send/gain</dt>
5756 <dd>the gain control ("fader") of the Nth send of a track/bus</dd>
5758 <p>Each of the specifications needs an address, which takes various forms too. For track-level controls (solo/gain/mute/recenable), the address is one the following:</p>
5759 <dl class="wide-table">
5760 <dt>a number, eg. "1"
5762 <dd>identifies a track or bus by its remote control ID
5764 <dt>B, followed by a number
5766 <dd>identifies a track or bus by its remote control ID within the current bank (see below for more on banks)
5768 <dt>one or more words
5770 <dd>identifies a track or bus by its name
5774 For send/insert/plugin controls, the address consists of a track/bus
5775 address (as just described) followed by a number identifying the plugin/send
5776 (starting from 1). For plugin parameters, there is an additional third
5777 component: a number identifying the plugin parameter number (starting from
5781 One additional feature: for solo and mute bindings, you can also add
5782 <code>momentary="yes"</code> after the control address. This is useful
5783 primarily for NoteOn bindings—when Ardour gets the NoteOn it
5784 will solo or mute the targetted track or bus, but then when a NoteOff
5785 arrives, it will un-solo or un-mute it.
5788 <h4>Bindings to Ardour "functions"</h4>
5790 Rather than binding to a specific track/bus control, it may be useful to
5791 have a MIDI controller able to alter some part of Ardour's state. A
5792 binding definition that does this looks like this:
5795 <Binding channel="1" note="13" function="transport-roll"/>
5798 In this case, a NoteOn message for note number 13 (on channel 1) will
5799 start the transport rolling. The following function names are available:
5801 <dl class="narrower-table">
5803 <code>transport-stop</code>
5805 <dd>stop the transport
5808 <code>transport-roll</code>
5810 <dd>start the transport "rolling"
5813 <code>transport-zero</code>
5815 <dd>move the playhead to the zero position
5818 <code>transport-start</code>
5820 <dd>move the playhead to the start marker
5823 <code>transport-end</code>
5825 <dd>move the playhead to the end marker
5828 <code>loop-toggle</code>
5830 <dd>turn on loop playback
5833 <code>rec-enable</code>
5835 <dd>enable the global record button
5838 <code>rec-disable</code>
5840 <dd>disable the global record button
5843 <code>next-bank</code>
5845 <dd>Move track/bus mapping to the next bank (see Banks below)
5848 <code>prev-bank</code>
5850 <dd>Move track/bus mapping to the previous bank (see Banks below)
5854 <h4>Binding to Ardour "actions"</h4>
5856 You can also bind a sysex or arbitrary message to any of the items
5857 that occur in Ardour's main menu (and its submenus). The best place
5858 to look for the (long) list of how to address each item is in your
5859 keybindings file, which will contain lines that look like this:
5862 (gtk_accel_path "<Actions>/Editor/temporal-zoom-in" "equal")
5865 To create a binding between an arbitrary MIDI message (we'll use a
5866 note-off on channel 1 of MIDI note 60 (hex) with release velocity
5867 40 (hex)), the binding file would contain:
5870 <Binding msg="80 60 40" action="Editor/temporal-zoom-in"/>
5873 The general rule, when taken an item from the keybindings file and
5874 using it in a MIDI binding is to simply strip the
5875 <code><Action></code> prefix of the second field in the
5876 keybinding definition.
5879 <h3>Banks and Banking</h3>
5881 Because many modern control surfaces offer per-track/bus controls
5882 for far fewer tracks & busses than many users want to control,
5883 Ardour offers the relatively common place concept of <dfn>banks</dfn>. Banks
5884 allow you to control any number of tracks and/or busses easily,
5885 regardless of how many faders/knobs etc. your control surface has.<br />
5886 To use banking, the control addresses must be specified using the
5887 <dfn>bank relative</dfn> format mentioned above ("B1" to identify
5888 the first track of a bank of tracks, rather than "1" to identify
5892 One very important extra piece of information is required to use
5893 banking: an extra line near the start of the list of bindings
5894 that specifies how many tracks/busses to use per bank. If the
5895 device has 8 faders, then 8 would be a sensible value to use for
5896 this. The line looks like this:</p>
5898 <DeviceInfo bank-size="8"/>
5901 In addition, you probably want to ensure that you bind something
5902 on the control surface to the <code>next-bank</code> and
5903 <code>prev-bank</code> functions, otherwise you and other users
5904 will have to use the mouse and the GUI to change banks, which
5905 rather defeats the purpose of the bindings.
5907 <h2>A Complete (though muddled) Example</h2>
5909 <?xml version="1.0" encoding="UTF-8"?>
5910 <ArdourMIDIBindings version="1.0.0" name="pc1600x transport controls">
5911 <DeviceInfo bank-size="16"/>
5912 <Binding channel="1" ctl="1" uri="/route/gain B1"/>
5913 <Binding channel="1" ctl="2" uri="/route/gain B2"/>
5914 <Binding channel="1" ctl="3" uri="/route/send/gain B1 1"/>
5915 <Binding channel="1" ctl="4" uri="/route/plugin/parameter B1 1 1"/>
5916 <Binding channel="1" ctl="6" uri="/bus/gain master"/>
5918 <Binding channel="1" note="1" uri="/route/solo B1"/>
5919 <Binding channel="1" note="2" uri="/route/solo B2" momentary="yes"/>
5921 <Binding channel="1" note="15" uri="/route/mute B1" momentary="yes"/>
5922 <Binding channel="1" note="16" uri="/route/mute B2" momentary="yes"/>
5924 <Binding sysex="f0 0 0 e 9 0 5b f7" function="transport-start"/>
5925 <Binding sysex="f0 7f 0 6 7 f7" function="rec-disable"/>
5926 <Binding sysex="f0 7f 0 6 6 f7" function="rec-enable"/>
5927 <Binding sysex="f0 0 0 e 9 0 53 0 0 f7" function="loop-toggle"/>
5929 <Binding channel="1" note="13" function="transport-roll"/>
5930 <Binding channel="1" note="14" function="transport-stop"/>
5931 <Binding channel="1" note="12" function="transport-start"/>
5932 <Binding channel="1" note="11" function="transport-zero"/>
5933 <Binding channel="1" note="10" function="transport-end"/>
5934 </ArdourMIDIBindings>
5937 Please note that channel, controller and note numbers are specified as
5938 decimal numbers in the ranges 1-16, 0-127 and 0-127 respectively
5939 (the channel range may change at some point).
5943 title: Working With Encoders in Ardour
5944 menu_title: Working With Encoders
5949 Encoders are showing up more frequently on controllers. However, they use
5950 the same MIDI events as Continuous Controllers and they have no standard
5951 way of sending that information as MIDI events. Ardour 4.2 has implemented
5952 4 of the more common ways of sending encoder information.
5955 Encoders that send the same continuous values as a pot would are not
5956 discussed here as they are already supported by <code>ctl</code>.
5959 Encoders as this page talks about them send direction and offset that the
5960 DAW will add to or subtract from the current value.
5963 The 4 kinds of encoder supported are:
5967 enc-r: On the bcr/bcf2000 this is called "Relative Signed Bit". The most
5968 significant bit sets positive and the lower 6 signifcant bits are the
5972 enc-l: The bcr2000 calls this "Relative Signed Bit 2". The most
5973 significant bit sets negative and the lower 6 signifcant bits are the
5974 offset. If you are using one of these two and the values are right but
5975 reversed, use the other. This one is the one the Mackie Control Protocol
5979 enc-2: The bcr2000 calls this one "Relative 2s Complement". Positive
5980 offsets are sent as normal from 1 to 64 and negative offsets are sent as
5981 2s complement negative numbers.
5984 enc-b: The bcr2000 calls this one "Relative Binary Offset". Positive
5985 offsets are sent as offset plus 64 and negative offsets are sent as 64
5990 If the wrong one is chosen, either the positive or negative side will act
5991 incorrectly. It is not really possible to auto detect which one the
5992 controller is using. Trial and error is the only way if the specification
5993 of the controller is not known.
5996 Many controllers have more than one choice as well, check the manual for
6008 There are no "best" ways to map an arbitrary MIDI controller for controlling Ardour. There may be very legitimate reasons for different users to prefer quite different mappings.
6012 On every platform that Ardour runs on, there are excellent free-of-charge tools for making connections between MIDI hardware and "virtual" MIDI ports like the ones that Ardour creates and uses. Rather than waste precious developer time replicating these connection/patch managers, we prefer to leverage their existence by having users rely on them to actually connect Ardour to other MIDI devices and software. On OS X, we recommend Pete Yandell's MIDI Patchbay. On Linux, a wide variety of tools are available including QJackctl, aconnect, Patchage, and more.
6018 <li>Enable Generic MIDI control: <kbd class="menu">Edit > Preferences
6019 > Control Surfaces > Generic MIDI</kbd></li>
6020 <li>Connect Ardour's MIDI port named <samp>control</samp> to whatever
6021 hardware or software you want (using a MIDI patchbay app)</li>
6022 <li><kbd class="mod1 mouse">Middle</kbd>-click on whatever on-screen
6023 fader, plugin parameter control, button etc. you want to control</li>
6024 <li>A small window appears that says "Operate Controller now"</li>
6025 <li>Move the hardware knob or fader, or press the note/key.</li>
6026 <li>The binding is complete. Moving the hardware should control the Ardour fader etc. </li>
6029 <h2>Avoiding work in the future</h2>
6032 If you want the bindings you set up to be used automatically in every session, the simplest thing to do is to use <kbd class="menu">Session > Save Template</kbd>. Then, when creating new sessions, select that template and all the bindings will be automatically set up for you.
6036 title: Using the Presonus Faderport
6037 menu_title: Presonus Faderport
6042 Since version 4.5, Ardour has had full support for the Presonus
6043 Faderport. This is a compact control surface featuring a single
6044 motorized fader, a single knob (encoder) and 24 buttons with fixed
6045 labels. It is a relatively low-cost device that functions very well
6046 to control a single (selected) track or bus, along with a variety of
6047 other "global" settings and conditions.
6050 <h2>Connecting the Faderport</h2>
6053 The Faderport comes with a single USB socket on the back. Connect a
6054 suitable USB cable from there to a USB port on your computer. As of
6055 the end of 2015, you should avoid USB3 ports—these cause erratic
6056 behaviour with the device. This issue might get fixed by Presonus in
6061 Ardour uses the Faderport in what Presonus calls "native" mode. You
6062 do not need to do anything to enable this—Ardour will set the
6063 device to be in the correct mode. In native mode, the Faderport
6064 sends and receives ordinary MIDI messages to/from the host, and the
6065 host understands the intended meaning of these messages. We note
6066 this detail to avoid speculation about whether Ardour supports the
6067 device via the HUI protocol—it does not.
6071 The Faderport will be automatically recognized by your operating
6072 system, and will appear in any of the lists of possible MIDI ports
6073 in both Ardour and other similar software.
6077 To connect the Faderport to Ardour, open the Preferences dialog, and
6078 then click on "Control Surfaces". Click on the "Enable" button
6079 in the line that says "Faderport" in order to activate Ardour's
6080 Faderport support. Then double click on the line that says
6081 "Faderport". A new dialog will open, containing (among other things)
6082 two dropdown selectors that will allow you to identify the MIDI
6083 ports where your Faderport is connected.
6087 <img alt="the Faderport configuration dialog"
6088 src="/images/faderport_dialog.png">
6092 Once you select the input and output port, Ardour will initialize
6093 the Faderport and it will be ready to use. You only need do this
6094 once: once these ports are connected and your session has been
6095 saved, the connections will be made automatically in this and other
6100 You do not need to use the power supply that comes with the
6101 Faderport but without it, the fader will not be motorized. This
6102 makes the overall experience of using the Faderport much less
6103 satisfactory, since the fader will not move when Ardour tells it
6104 to, leading to very out-of-sync conditions between the physical
6105 fader position and the "fader position" inside the program.
6108 <h2>Using the Faderport</h2>
6111 The Faderport's controls can be divided into three groups:
6113 <li>Global controls such as the transport buttons</li>
6115 <li>Controls which change the settings for particular track or
6118 <li>Controls which alter which track or bus is modified by the
6119 per-track/bus controls.</li>
6123 Because the Faderport has only a single set of per-track controls,
6124 by default those controls operate on the first selected track or
6125 bus. If there is no selected track or bus, the controls will do
6129 <h3>Transport Buttons</h3>
6131 The transport buttons all work as you would expect.
6136 When pressed on its own, starts the transport moving backwards. Successive presses
6137 speed up the "rewind" behaviour.
6140 If pressed while also holding the Stop button, the playhead will
6141 return to the zero position on the timeline.
6144 If pressed while also holding the Shift button, the playhead will
6145 move to the session start marker.
6148 <dt>Fast Forward</dt>
6151 When pressed on its own, starts the transport moving faster than normal. Successive presses
6152 speed up the "fast forward" behaviour.
6155 If pressed while also holding the Shift button, the playhead
6156 will move to the session end marker.
6161 Stops the transport. Also used in combination with the Rewind
6162 button to "return to zero".
6166 Starts the transport. If pressed while the transport is
6167 already rolling at normal speed, causes the playhead to jump to
6168 the start of the last "roll" and continue rolling ("Poor man's
6171 <dt>Record Enable</dt>
6172 <dd>Toggles the global record enable setting
6177 <h3>Other Global Controls</h3>
6179 The Mix, Proj, Trns buttons do not obviously correspond any
6180 particular functions or operations in Ardour. We have therefore
6181 allowed users to choose from a carefully curated set of possible
6182 actions that seem related to the button labels in some clear
6183 way. This can be done via the Faderport configuration dialog
6184 accessed via <code>Preferences > Control Surfaces</code>. Each
6185 button has 3 possible actions associated with it:
6187 <li>Plain Press: action to be taken when the button is pressed on
6189 <li>Shift-Press: action to be taken when the button is pressed in
6190 conjunction with the Shift button.</li>
6191 <li>Long Press: action to be taken when the button is pressed on
6192 its own and held down for more than 0.5 seconds.</li>
6194 Click on the relevant drop-down selector to pick an action as you
6198 The User button also has no obvious mapping to specific Ardour
6199 functionality, so we allow users to choose from <em>any</em>
6200 possible GUI action. The menu for selecting the action is somewhat
6201 confusing and it can be hard to find what you're looking
6202 for. However, all possible actions are there, so keep looking!
6208 Possible actions include:
6210 <li>Toggle Editor & Mixer visibility</li>
6211 <li>Show/Hide the Editor mixer strip</li>
6218 Possible actions include:
6220 <li>Toggle Meterbridge visibility</li>
6221 <li>Toggle Session Summary visibility</li>
6222 <li>Toggle Editor Lists visibility</li>
6223 <li>Zoom to session</li>
6232 Possible actions include:
6234 <li>Toggle Locations window visibility</li>
6235 <li>Toggle Metronome</li>
6236 <li>Toggle external sync</li>
6237 <li>Set Playhead at current pointer position</li>
6243 Undo Causes the last operation carried out in the editor to be
6244 undone. When pressed in conjuction with the Shift button, it
6245 causes the most recent undone operation to be re-done.
6250 When pressed on its own, toggles punch recording. If there is no
6251 punch range set for the session, this will do nothing.
6254 When pressed in conjunction with the Shift button, this moves
6255 the playhead to the previous Marker
6261 See above. Any and all GUI-initiated actions can be driven with
6262 by pressing this button on its own, or with a "long" press.
6265 When pressed in conjunction with the Shift button, this will move
6266 the playhead to the next marker.
6272 When pressed on its own, this toggles loop playback. If the
6273 Ardour preference "Loop-is-mode" is enabled, this does nothing
6274 to the current transport state. If that preference is disabled,
6275 then engaging loop playback will also start the transport.
6278 When pressed in conjunction with the Shift button, this will
6279 create a new (unnamed) marker at the current playhead
6286 <h3>Per-track Controls</h3>
6291 This toggles the mute setting of the currently controlled
6292 track/bus. The button will be lit if the track/bus is muted.
6296 This toggles the solo (or listen) setting of the currently
6297 controlled track/bus. The button will be lit if the track/bus is
6298 soloed (or set to listen mode).
6302 This toggles the record-enabled setting of the currently
6303 controlled track/bus. The button will be lit if the track is
6304 record-enabled. This button will do nothing if the Faderport is
6309 The fader controls the gain applied to the currently controlled
6310 track/bus. If the Faderport is powered, changing the gain in
6311 Ardour's GUI or via another control surface, or via automation,
6312 will result in the fader moving under its own control.
6314 <dt>Knob/Dial/Encoder</dt>
6317 The knob controls 1 or 2 pan settings for the current
6318 controlled track/bus. When used alone, turning the knob controls
6319 the "azimuth" or "direction" (between left and right) for the
6320 panner in the track/bus (if any). This is all you need when
6321 controlling tracks/busses with 1 input and 2 outputs.
6324 If controlling a 2 input/2 output track/bus, Ardour's panner
6325 has two controls: azimuth (direction) and width. The width
6326 must be reduced to less than 100% before the azimuth can be
6327 changed. Pressing the "Shift" button while turning the knob
6328 will alter the width setting.
6331 The knob can also be turned while the "User" button is held,
6332 in order to modify the input gain for the currently controlled
6338 Enables playback/use of fader automation data by the controlled track/bus.
6342 Puts the fader for the controlled track/bus into automation
6343 write mode. While the transport is rolling, all fader changes
6344 will be recorded to the fader automation lane for the relevant track/bus.
6348 Puts the fader for the controlled track/bus into automation
6349 touch mode. While the transport is rolling, touching the fader
6350 will initiate recording all fader changes until the fader is
6351 released. When the fader is not being touched, existing
6352 automation data will be played/used to control the gain level.
6356 This disables all automation modes for the currently controlled
6357 track/bus. Existing automation data will be left unmodified by
6358 any fader changes, and will not be used for controlling gain.
6363 <h3>Track Selection Controls</h3>
6365 You can manually change the track/bus controlled by the Faderport by
6366 changing the selected track in Ardour's editor window. If you select
6367 more than 1 track, the Faderport will control the first selected
6368 track and <em>only</em> that track/bus.
6372 <dt>Left (arrow)</dt>
6374 This causes the Ardour GUI to select the previous track/bus
6375 (using the current visual order in the editor window), which
6376 will in turn cause the Faderport to control that track. If there
6377 is no previous track/bus, the selected track/bus is left
6378 unchanged, and the Faderport continues to control it.
6380 <dt>Right (arrow)</dt>
6382 This causes the Ardour GUI to select the next track/bus
6383 (using the current visual order in the editor window), which
6384 will in turn cause the Faderport to control that track. If there
6385 is no next track/bus, the selected track/bus is left
6386 unchanged, and the Faderport continues to control it.
6391 Pressing the Output button causes the Faderport to control
6392 the fader, pan, mute and solo settings of the Master bus. If
6393 your session does not contain a Master bus, it does nothing.
6394 This is a toggle button—pressing it again returns Faderport
6395 to controlling whichever track/bus was selected before the
6396 first press of the Output button.
6399 If your session uses Ardour's monitor section, you can use
6400 Shift-Output to assign it to the Faderport in the same way
6401 that Output assigns the Master bus. This is also a toggle
6402 setting, so the second Shift-Output will return the Faderport
6403 to controlling whichever track/bus was selected before.
6406 If you press Shift-Output after a single press to Output
6407 (i.e. control the Monitor Section while currently controlling
6408 the Master bus) or vice versa (i.e. control the Master bus
6409 while currently controlling the Monitor Section), the press
6410 will be ignored. This avoids getting into a tricky situation
6411 where it is no longer apparent what is being controlled and
6412 what will happen if you try to change it.
6417 The "Bank" button is currently not used by Ardour
6423 title: Using the Ableton Push 2
6424 menu_title: Ableton Push 2
6429 <img alt="the Ableton Push 2 surface" src="/images/push2-main.jpg">
6432 Since version 5.4, Ardour has had full support for the Ableton
6433 Push2. This is an expensive but beautifully engineered control
6434 surface primarily targetting the workflow found in Ableton's Live
6435 software and other similar tools such as Bitwig. As of 5.4, Ardour
6436 does not offer the same kind of workflow, so we have repurposed the
6437 Push 2 to be used for mixing and editing and musical performance,
6438 without the clip/scene oriented approach in Live. This may change in
6439 future versions of Ardour.
6442 <h2>Connecting the Push 2</h2>
6444 Plug the USB cable from the Push 2 into a USB2 or USB3 port on your
6445 computer. For brighter backlighting, also plug in the power supply
6446 (this is not necessary for use).
6450 The Push 2 will be automatically recognized by your operating
6451 system, and will appear in any of the lists of possible MIDI ports
6452 in both Ardour and other similar software.
6455 To connect the Push 2 to Ardour, open the Preferences dialog, and
6456 then click on "Control Surfaces". Click on the "Enable" button
6457 in the line that says "Ableton Push 2" in order to activate Ardour's
6461 Once you select the input and output port, Ardour will initialize
6462 the Push 2 and it will be ready to use. You only need do this
6463 once: once these ports are connected and your session has been
6464 saved, the connections will be made automatically in this and other
6468 <h2>Push 2 Configuration</h2>
6470 The only configuration option at this time is whether the pads send
6471 aftertouch or polyphonic pressure messages. You can alter this
6472 setting via the Push 2 GUI, accessed by double-clicking on the "Push
6473 2" entry in the control surfaces list.
6475 <img alt="the Push 2 configuration dialog"
6476 src="/images/push2-gui.png">
6479 <h2>Basic Concepts</h2>
6481 With the Push 2 support in Ardour 5.4, you can do the following
6484 <dt>Perform using the 8 x 8 pad "grid"</dt>
6485 <dd>The Push 2 has really lovely pressure-sensitive pads that can
6486 also generate either aftertouch or note (polyphonic) pressure.</dd>
6487 <dt>Global Mixing</dt>
6488 <dd>See many tracks at once, and control numerous parameters for each.</dd>
6489 <dt>Track/Bus Mixing</dt>
6490 <dd>View a single track/bus, with even more parameters for the track.</dd>
6491 <dt>Choose the mode/scale, root note and more for the pads</dt>
6492 <dd>37 scales are available. Like Live, Ardour offers both
6493 "in-key" and "chromatic" pad layouts.</dd>
6496 ... plus a variety of tasks related to transport control, selection,
6497 import, click track control and more.
6500 <h2>Musical Performance</h2>
6502 Messages sent from the 8x8 pad grid and the "pitch bend bar" are
6503 routed to a special MIDI port within Ardour called "Push 2 Pads"
6504 (no extra latency is incurred from this routing). Although you can
6505 manually connect this port to whatever you wish, the normal
6506 behaviour of Ardour's Push 2 support is to connect the pads to the
6507 most recently selected MIDI track.
6510 This means that to play a soft-synth/instrument plugin in a given
6511 MIDI track with the Push 2, you just need to select that track.
6514 If multiple MIDI tracks are selected at once, the first selected
6515 track will be used. Note that messages originating from all other
6516 controls on the Push 2 will <em>not</em> not be delivered to the
6517 "Push 2 Pads" port. This makes no difference in practice, because
6518 the other controls do not send messages that are useful for musical
6524 This is the default mode that Ardour will start the Push 2 in. In
6525 this mode, the 8 knobs at the top of the device, the 8 buttons below
6526 them, the video display and the 8 buttons below that are combined to
6527 provide a global view of the session mix.
6530 <img alt="global mix mode on Push2 screen"
6531 src="/images/push2-globalmix.png">
6534 The upper buttons are labelled by text in the video display just
6535 below them. Pressing one of the buttons changes the function of the
6536 knobs, and the parameters that will shown for each track/bus in the
6540 As of Ardour 5.4, the possible parameters are:
6543 <dd>The display shows a knob and text displaying
6544 the current gain setting for the track, and a meter that
6545 corresponds precisely to the meter shown in the Ardour GUI for
6546 that track. Changing the meter type (e.g. from Peak to K12) in the
6547 GUI will also change it in the Push 2 display. The physical knob
6548 will alter track/bus gain.
6551 <dd>The display shows a knob indicating the pan direction/azimuth
6552 for the corresponding track/bus. Turning the physical knob will
6553 pan the track left and right. If the track/bus has no panner
6554 (i.e. it has only a single output), no knob is shown and the
6555 physical knob will do nothing. </dd>
6557 <dd><p>For tracks with 2 outputs, the display will show a knob
6558 indicating the pan width setting for the corresponding
6559 track/bus. The physical knob can be turned to adjust the
6563 Unlike many DAWs, Ardour's stereo panners have "width"
6564 parameter that defaults to 100%. You cannot change the pan
6565 direction/azimuth of a track with 100% width, but must first
6566 reduce the width in order to pan it. Similarly, a track panned
6567 anywhere other than dead center has limits on the maximum
6568 width setting. If these concepts are not familiar to you,
6569 please be aware than many DAWs use a "panner" that actually
6570 implement "balance" and not "panning", hence the difference.
6574 <dd>The display shows a knob indicating the gain level for the
6575 first send in that track. If the track has no send, no knob will
6576 be shown, and the physical knob for that track will do nothing.
6578 <dt>B Sends, C Sends, D Sends</dt>
6579 <dd>Like "A Sends", but for the 2nd, 3rd and 4th sends of a
6580 track/bus respectively.
6585 To change which tracks are shown while in global mix mode, use the
6586 left and right arrow/cursor keys just below and to the right of the
6587 display. Tracks and busses that are hidden in Ardour's GUI will also
6588 be hidden from display on the Push 2.
6591 To select a track/bus directly from the Push 2, press the
6592 corresponding button below the display. The track name will be
6593 highlighted, and the selection will change in Ardour's GUI as well
6594 (and also any other control surfaces).
6597 <h3>Soloing and Muting in Global Mix mode</h3>
6599 The Solo and Mute buttons to the left of the video display can be
6600 used to solo and mute tracks while in Global Mix mode. The operation
6601 will be applied to the <em>first</em> currently selected
6605 There are two indications that one or more tracks are soloed:
6607 <li>The solo button will blink red</li>
6608 <li>Track names will be prefixed by "*" if they are soloed, and
6609 "-" if they are muted due to soloing.</li>
6613 To cancel solo, either:
6615 <li>Select the soloed track(s) and press the solo button
6617 <li>Press and hold the solo button for more than 1 second</li>
6623 <p>Track Mix mode allows you to focus on a single track in more detail
6624 than is possible in Global Mix mode. To enter (or leave) Track Mix
6625 mode, press the "Mix" button.
6629 In Track Mix mode, various aspects of the state of the first
6630 selected track/bus will be displayed on the Push 2. Above the
6631 display, the first 4 knobs control track volume (gain), pan
6632 directiom/azimuth, pan width, and where appropriate, track input
6637 Below the display, 7 buttons provide immediate control of mute,
6638 solo, rec-enable, monitoring (input or disk or automatic), solo
6639 isolate and solo safe state. When a a track is muted due to other
6640 track(s) soloing, the mute button will flash (to differentiate from
6641 its state when it is explicitly muted).
6645 The video display also shows meters for the track, which as in
6646 Global Mix mode, precisely match the meter type shown in Ardour's
6647 GUI. There are also two time displays showing the current playhead
6648 position in both musical (beats|bars|ticks) format, and as
6649 hours:minutes:seconds.
6653 To change which track is visible in Track Mix mode, use the
6654 left/right arrow/cursor keys just below and to the right of the
6658 <h2>Scale Selection</h2>
6661 Press the Scale button to enter Scale mode. The display will look
6666 <img alt="track mix mode on Push2 screen"
6667 src="/images/push2-scale.png">
6671 In the center, 37 scales are presented. Scroll through them by
6672 either using the cursor/arrow keys to the lower right of the
6673 display, or the knobs above the display. The scale will change
6674 dynamically as you scroll. You can also scroll in whole pages using
6675 the upper right and upper left buttons above the display (they will
6676 display "<" and ">" if scrolling is possible).
6680 To change the root note of the scale, press the corresponding button
6681 above or below the video display.The button will be lit to indicate
6682 your selection (and the text will be highlighted).
6686 By default, Ardour configures the Push 2 pads to use "in-key" mode,
6687 where all pads correspond to notes "in" the chosen scale. Notes
6688 corresponding to the root note, or the equivalent note in higher
6689 octaves, are highlighted with the color of the current target MIDI
6695 "chromatic" mode, the pads correspond to a continuous sequence of
6696 notes starting with your selected root note. Pads corresponding to
6697 notes in the scale are illuminated; those corresponding to the root
6698 note are lit with the color the current target MIDI track. Other
6699 pads are left dark, but you can still play them.
6703 To switch between them, press button on the lower left of the video
6704 display; the text above it will display the current mode (though it
6705 is usually visually self-evident from the pad lighting pattern).
6709 To leave Scale mode, press the "Scale" button again. You may also
6710 use the upper left button above the display, though if you have
6711 scrolled left, it may require more than one press.
6714 <h2>Specific Button/Knob Functions</h2>
6717 In addition to the layouts described above, many (but not all) of
6718 the buttons and knobs around the edges of the Push 2 will carry out
6719 various functions related to their (illuminated) label. As of Ardour
6722 <dt>Metronome (button and adjacent knob)</dt>
6724 Enables/disables the click (metronome). The knob directly above
6725 it will control the volume (gain) of the click.
6729 Undo or redo the previous editing operation.
6733 Deletes the currently selected region, or range, or
6734 note. Equivalent to using Ctrl/Cmd-x on the keyboard.
6738 If a MIDI region is selected in Ardour, this will open the
6743 Duplicates the current region or range selection.
6747 Enables and disables Ardour's global record enable state.
6751 Starts and stops the transport.
6755 Opens Ardour's Add Track/Bus dialog.
6759 Open's Ardour's import dialog to select and audition existing
6760 audio and MIDI files.
6764 Pressing this button jumps directly to Track Mix mode, with the
6765 master out bus displayed.
6767 <dt>Cursor arrows</dt>
6769 These are used by some modes to navigate within the display (e.g
6770 Scale mode). In other modes, the up/down cursor arrows will
6771 scroll the GUI display up and down, while the left/right cursor
6772 arrows will generally scroll within the Push 2 display itself.
6776 Enables/disables loop playback. This will follow Ardour's "loop
6777 is mode" preference, just like the loop button in the Ardour
6780 <dt>Octave buttons</dt>
6782 These shift the root note of the current pad scale up or down by
6785 <dt>Page buttons</dt>
6787 These scroll Ardour's editor display left and right along the
6790 <dt>Master (top right) knob</dt>
6792 This knob controls the gain/volume of Ardour's main output. If
6793 the session has a monitor saec
6800 title: Configuring MIDI
6806 title: Using External MIDI Devices
6810 <p class="fixme">Add content</p>
6814 title: Setting Up MIDI
6818 <h2>What Can Ardour Do With MIDI?</h2>
6820 <dfn><abbr title="Musical Instrument Digital
6821 Interface">MIDI</abbr></dfn> is a way to describe musical
6822 performances and to control music hardware and software.
6824 <p>Ardour can import and record MIDI data, and perform a variety of
6825 editing operations on it. Furthermore, MIDI can be used to control
6826 various functions of Ardour.
6829 <h2>MIDI Handling Frameworks</h2>
6831 MIDI input and output for Ardour are handled by the same "engine"
6832 that handles audio input and output. Up to release 3.5, that means
6833 that all MIDI I/O takes place via JACK. JACK itself uses the
6834 native MIDI support of the operating system to receive and send
6835 MIDI data. The native MIDI support provides device drivers for MIDI
6836 hardware and libraries needed by software applications that want to
6842 <dd> <dfn>CoreMIDI</dfn> is the standard MIDI framework on OSX systems.
6846 <dfn><abbr title="Advanced Linux Sound API">ALSA</abbr> MIDI</dfn>
6847 is the standard MIDI framework on Linux systems.
6852 On Linux systems, <dfn>QJackCtl</dfn> control software displays ALSA MIDI
6853 ports under its "ALSA" tab (it does not currently display CoreMIDI
6854 ports). By contrast, JACK MIDI ports show up under
6855 the <kbd class="menu">MIDI</kbd> tab in QJackCtl.
6858 <h2>JACK MIDI Configuration</h2>
6860 By default, JACK will <strong>not</strong> automatically detect and use existing MIDI
6861 ports on your system. You must choose one of several ways
6862 of <dfn>bridging</dfn> between the native MIDI frameworks
6863 (e.g. CoreMIDI or ALSA) and JACK MIDI, as described in the sections
6868 title: MIDI on Linux
6872 <p>The right approach for using MIDI on Linux depends on which version of
6873 JACK you use. The world divides into:</p>
6876 <dt>Systems using JACK 1, versions 0.124 or later</dt>
6877 <dd>On these systems, just start JACK with the <code>-X alsa_midi</code> server argument. To support legacy control applications, you can also use the <code>-X seq</code> argument to the ALSA backend of JACK and get the exact same results.</dd>
6879 <dd>Use a2jmidid to act as a bridge between ALSA MIDI and JACK. Do not use the <code>-X seq</code> or <code>-X raw</code> arguments—the timing and performance of these options is not acceptable.
6886 <dfn>a2jmidid</dfn> is an application that bridges between the system
6887 <abbr title="Musical Instrument Digital Interface">MIDI</abbr> ports and
6888 <abbr title="JACK Audio Connection Kit">JACK</abbr>.
6892 First you should make sure that there is no ALSA sequencer support enabled
6893 in JACK. To do that open QJackCtl's <kbd class="menu">Setup</kbd> window.
6897 Set <kbd class="menu">Settings > MIDI Driver</kbd> to <kbd
6898 class="input">none</kbd>.
6899 Then uncheck the <kbd class="optoff">Misc > Enable ALSA Sequencer
6900 support</kbd> option.<br />
6901 Now it's time to restart your jack server before going on.
6904 <h3>Check for a2jmidid availability</h3>
6907 First, check whether a2jmidid is already installed in your system. After
6908 starting your JACK server, go to the command line and type
6911 <kbd class="cmd lin">a2jmidid -e</kbd>
6914 If a2jmidid does not exist, install it with the software manager of your
6915 Linux distribution and try again.
6918 <h2>Check available MIDI ports</h2>
6921 If you have correctly configured JACK for MIDI, then your MIDI ports should appear in
6922 qjackctl under <kbd class="menu">Connections > MIDI </kbd>.
6925 <h3>Making it automatic</h3>
6928 Once you've verified that the ports appear in JACK as expected, you
6929 can make this happen whenever you start JACK.
6932 <p>If you use a newer version of JACK 1, just make sure the -X
6933 alsa_midi or -X seq options are enabled for whatever technique you use
6938 For other versions of JACK,
6939 add <kbd class="input">a2jmidid -e &</kbd> as an "after start-up" script
6940 in the <kbd class="menu">Setup > Options</kbd> tab of QJackCtl, so
6941 that it is started automatically whenever you start JACK.
6944 <p class="fixme">Is this true anymore in Ardour 5? This section may have been relevant in Ardour 3, but it might not be relevant anymore.</p>
6952 In order for CoreMIDI to work with Jack MIDI, a CoreMIDI-to-JACK-MIDI
6954 is required. This feature is available on versions equal to or great than
6955 version 0.89 of JackOSX.
6958 <h2>Routing MIDI</h2>
6960 <h3>Inside Ardour</h3>
6963 MIDI ports show up in Ardour's MIDI connection matrix in multiple
6964 locations. Bridged CoreMIDI ports as well as JACK MIDI ports that have
6965 been created by other software clients will show up under the "Other" tab.
6966 Bridged CoreMIDI hardware ports show up under the "Hardware" tab.
6969 <h3>External Applications</h3>
6972 There are multiple options for connecting MIDI ports outside of Ardour.
6976 <li><a href="http://www.snoize.com/MIDIMonitor/">MIDI Monitor</a> is a handy
6977 tool for doing various MIDI-related tasks.</li>
6978 <li><a href="http://notahat.com/midi_patchbay">MIDI Patchbay</a> lets you
6979 connect ports and filters MIDI data.</li>
6984 title: Sessions & Tracks
6996 title: New/Open Session Dialog
6999 <p class="fixme">Info is out of date, image needs updating</p>
7002 The initial <dfn>Session</dfn> dialog consists of several consecutive pages:
7005 <h2>Open Session Page</h2>
7007 On this page, you can open an <dfn>existing session</dfn>. You can also
7008 open any <a href="/working-with-sessions/snapshots/">snapshot</a> of a
7009 particular session by clicking on the arrow next to the session name to
7010 display all snapshots, and then selecting one. If your session is
7011 not displayed in the Recent Sessions list, the <kbd class="menu">Other
7012 Sessions</kbd> button will bring up a file selection dialog to navigate
7013 your hard drive.<br />
7014 Alternatively, you can opt to create a <kbd class="menu">New
7018 <h2>New Session page</h2>
7020 Here you can type in the name of a session, select a folder to save in, and
7021 optionally use an existing <a href="/working-with-sessions/session-templates/">template</a>.
7024 Under <dfn>Advanced Options</dfn>, you can select whether you wish to create
7025 a Master Bus, or a Control Bus, and how many channels you wish either to have.
7026 You can also decide whether you want Ardour to automatically connect all inputs
7027 to the physical ports of your hardware. Ardour will do so
7028 sequentially and in round-robin fashion, connecting the first track's
7029 input to the first input of your hardware and so on. When Ardour has used
7030 all available hardware inputs, it will begin again with the first physical
7032 You can limit the number of channels on your physical hardware that Ardour
7036 By default Ardour will connect all tracks and busses to the Master Bus if
7037 there is one. However you can also tell it to automatically connect each
7038 output to the physical outputs of your interface or sound card, and limit
7039 the number of physical outputs used, as above.
7042 <h3>Audio/MIDI Setup</h3>
7044 <img class="right" src="/images/Audio-MIDI_Setup.png" alt="The Audio+MIDI
7048 This page is not displayed if <abbr title="JACK Audio Connection
7049 Kit">JACK</abbr> is already running when you start
7050 Ardour. It provides a simple interface to configure JACK, which
7051 will then be started by Ardour. For more control and options regarding
7052 JACK, it is recommended that you start JACK before using Ardour, via a
7053 JACK control application such as QJackCtl (sometimes called "Jack
7054 Control"), JackPilot, etc.
7057 <dt>Audio System</dt>
7058 <dd>Currently, the only option here is <kbd class="menu">JACK</kbd>. In the future, native
7059 hardware access may be supported.</dd>
7062 On Mac OS X this will typically be <kbd class="menu">CoreAudio</kbd>. On Linux usually
7063 this will be either <kbd class="menu"><abbr title="Free Firewire Audio Driver fOr
7064 linux">FFADO</abbr></kbd>
7065 or <kbd class="menu"><abbr title="Advanced Linux Sound
7066 Architecture">ALSA</abbr></kbd>, depending on whether or not you are
7067 utilizing a firewire device. Advanced users on all platforms may also
7068 use <kbd class="menu">NetJack</kbd> which provides network audio I/O.
7071 <dd>The selector should show all availiable interfaces provided by the
7072 driver above and which are capable of duplex operation.
7074 If you are using an Intel Mac running OS X and the builtin audio
7076 first <a href="setting-up-your-system/using_more_than_one_audio_device/">merge
7077 its separate input and output devices into a single "aggregate
7078 device"</a> before Ardour will be able to use it.
7081 <dt>Sample Rate</dt>
7083 The selector will allow you to select from any sample rate
7084 supported by the device selected above it.
7086 <dt>Buffer Size</dt>
7088 You can adjust the size of the buffer used by your audio interface
7089 to allow for either lower latency, or lower CPU usage and higher
7092 <dt>Input/Output Channels</dt>
7094 Here you can specify the number of hardware channels to use. The
7095 default is <kbd class="menu">all available channels</kbd>.</dd>
7096 <dt>Hardware Input/Output Latency</dt>
7097 <dd>Specify the hardware delay in samples for precise latency compensation.</dd>
7100 This button guides you through a semi-automated process to obtain
7101 precise hardware latency measurements for the above option.</dd>
7102 <dt>MIDI System</dt>
7104 Select the MIDI driver to use. On Mac OS X, this will be <kbd
7105 class="menu">CoreMIDI</kbd>. On Linux, you can change between two legacy
7106 ALSA drivers or the (preferred) new JACK+ALSA implementation.</dd>
7110 title: What's in a Session?
7115 The <dfn>Session</dfn> is the fundamental document type that is created and
7116 modified by the Ardour workstation. A Session is a folder on your computer
7117 filesystem that contains all the items that pertain to a particular project
7118 or "recording/editing/mixing session".
7122 The Session folder includes these files and folders:
7126 <li><code><em>session_name</em>.ardour</code> the main session snapshot</li>
7127 <li><code>*.ardour</code>, any additional snapshots </li>
7128 <li><code><em>session_name</em>.ardour.bak</code>, the auto-backup snapshot</li>
7129 <li><code><em>session_name</em>.history</code>, the undo history for the session </li>
7130 <li><code>instant.xml</code>, which records the last-used zoom scale and other metadata</li>
7131 <li><code>interchange/</code>, a folder which holds your raw audio and MIDI
7132 files (whether imported or recorded)</li>
7133 <li><code>export/</code>, a folder which contains any files created by the
7134 <kbd class="menu">Session > Export</kbd> function</li>
7135 <li><code>peaks/</code>, a folder which contains waveform renderings of
7136 all audio files in the session</li>
7137 <li><code>analysis/</code>, a folder which contains transient and pitch
7138 information of each audio file that has been analysed</li>
7139 <li><code>dead sounds/</code>, a folder which contains sound files which
7140 Ardour has detected are no longer used in the session (during a <kbd
7141 class="menu">Session > Clean-up > Clean-up Unused Sources</kbd>
7142 operation, will be purged by <kbd class="menu">Flush Waste Basket</kbd>)</li>
7145 A session combines some setup information (such as audio and MIDI routing,
7146 musical tempo & meter, timecode synchronization, etc.) with one or more
7147 Tracks and Buses, and all the Regions and Plug-Ins they contain.
7151 title: Where Are Sessions Stored?
7156 <dfn>Sessions</dfn> are stored in a single folder on your computer's filesystem.
7160 The first time you run Ardour, you will be asked where you would like the
7161 default location for sessions to be, with the initial choice being your
7166 After the first-run dialog, you can still change the default location at
7167 any time via <kbd class="menu">Edit > Preferences > Misc > Session
7168 Management</kbd>. You can also specify a particular (different) location for
7169 a session when creating it, in the
7170 <a href="/working-with-sessions/new-session-dialog/">New Session dialog</a>.
7174 title: Backup and Sharing of Sessions
7179 An Ardour session is stored in a single folder on your computer's filesystem.
7180 This makes <dfn>backup</dfn> very easy—any tool capable of backing up
7181 a folder can be used to backup a session. You pick the location of a session
7182 when it is created—by default it will be in your default session location,
7183 which can be altered via <kbd class="menu">Edit > Preferences > Misc > Session
7188 There is one complication: a session may reference media files that are stored
7189 outside of the session folder, if the user has opted not to select <kbd
7190 class="optoff">Session > Import > Copy to Session</kbd> during
7191 import. Backing up a session with embedded files will not create a
7192 copy of the session containing those files.
7196 The single folder approach also makes sharing a project easy. Simply copy the session
7197 folder (onto a storage device, or across a network) and another Ardour user (on any
7198 platform) will be able to use it. The limitation regarding embedded files applies to
7199 session sharing as well.
7203 title: Interchange with other DAWs
7208 It has never been particularly easy to move sessions or projects from one
7209 <abbr title="Digital Audio Workstation">DAW</abbr> to another. There are two
7210 <dfn>interchange standards</dfn> that have reasonably widespread support:</p>
7212 <li>OMF (Open Media Framwwork), also known as OMFI. Developed and controlled
7213 by Avid, never standardized</li>
7214 <li>AAF (Advanced Authoring Format). Developed by a consortium of media-related
7218 In practice both of these standards have such complex and/or incomplete
7219 specifications that different DAWs support them only partially,
7220 differently, or not at all.
7222 <h2>Moving an Ardour session to another DAW</h2>
7223 <p>To move an Ardour session to another DAW, you have 3 basic choices:</p>
7225 <li>Copy the interchange folder</li>
7226 <li>Stem exports</li>
7227 <li>Use AATranslator</li>
7229 <h3>Moving another DAW session to Ardour</h3>
7230 <p>To move a session from another DAW to Ardour, you have 2 basic choices:</p>
7232 <li>Stem exports</li>
7233 <li>Use AATranslator</li>
7237 title: Copying The Interchange Folder
7242 All media in a session folder is stored in a sub-folder called
7243 <samp>interchange</samp>. Below that is another folder with the name
7244 of the session. You can copy either of these to another location and
7245 use the files within them with any other application, importing them
7246 all into a project/session. You will lose all information about regions,
7247 tracks, and timeline positioning, but all the data that Ardour was working
7248 with will be present in the other DAW. Nothing below the interchange
7249 folder is specific to Ardour—any DAW or other audio/MIDI
7250 application should be able to handle the files without any issues.
7259 <dfn>Stem exports</dfn> are covered fully in the
7260 <a href="/exporting">Export</a> chapter. A stem export creates one file
7261 per track, starting at the beginning of the session. You can then import
7262 each track into another DAW and begin working on it. You lose all data
7263 except the actual audio/MIDI (no plugins, no automation). This is one of
7264 the most common methods of interchange because it works between all DAWs.
7268 title: Using AATranslator
7273 <dfn>AATranslator</dfn> is a Windows
7274 application that can convert sessions/projects from many diffferent DAWs
7275 into other formats. At the present time (December 2016), it can read and
7276 write Ardour 2.X sessions, and can read Ardour 3 sessions.
7279 The program runs very well on Linux using
7280 <a href="http://www.winehq.org/">Wine</a> (a Windows environment for Linux).
7281 There are equivalent solutions for running Windows applications on OS X,
7282 but we have no experience with them at this time. Ardour users have reported
7283 great results using AATranslator on Ardour 2.X sessions.</p>
7285 The <a href="http://www.aatranslator.com.au/">AATranslator website</a>
7286 has full details on supported formats and DAWs. The list includes
7287 ProTools, Live, Reaper, OMF, AAF and many more.
7290 AATranslator is closed-source, non-free software (as of this writing, Dec. 2016, the cost is 60 USD for the "Standard" version, and 200 USD for the "Enhanced" version).
7294 title: Renaming a Session
7299 Use <kbd class="menu">Session > Rename</kbd> to give your session a
7300 new name. A dialog will appear to ask you for the new name.
7304 This operation does <strong>not</strong> make a new session folder —
7305 the existing session folder and relevant contents are renamed. If your
7306 session was not saved before a rename operation, it will be saved
7307 automatically and then renaming will continue.
7311 Ardour's <kbd class="menu">Session > Save As</kbd> operation will not
7312 make a new copy of the session folder and its contents. All it does is
7313 create a new session file.
7317 title: Session Templates
7322 <dfn>Session templates</dfn> are a way to store the setup of a session
7323 for future use. They do not store any <em>audio</em> data but can store:
7327 <li>The number of tracks and busses, along with their names</li>
7328 <li>The plugins present on each track or bus (if any)</li>
7329 <li>All I/O connections</li>
7332 <h2>Creating a Session Template</h2>
7335 Choose <kbd class="menu">Session > Save Template</kbd>. A dialog will ask
7336 you for the name of the new template.
7339 <h2>Using a Session Template</h2>
7342 In the New Session dialog, choose the desired template from the combo
7347 Note that you can also use an existing session as a template, without
7348 saving it as one. This is available as an option in the New Session dialog.
7349 Doing this will not alter the existing session at all, but will use its track,
7350 bus and plugin configuration just like a template.
7354 See also <a href="/missing">Track & Bus templates</a> for information
7355 on templates for individual tracks or busses.
7358 <p class="fixme">Broken link</p>
7366 Sometimes you will want to save a <dfn>snapshot</dfn> of the current state of a session for possible
7367 use in the future. For example, you may be about to change the entire
7368 arrangement of a piece, or drastically alter the signal processing, and
7369 want a reference to come back to, should that not work out.
7373 This is easily accomplished using <kbd class="menu">Session >
7375 A small dialog will appear, allowing you to enter a name for the snapshot.
7376 The default name is based on the current date and time.<br />
7377 You can create any number of snapshots.
7381 Creating a snapshot does <strong>not</strong> modify your session,
7382 nor does it save your session. Instead, it saves an alternate version
7383 of the session, within the session folder. The snapshot shares all data
7384 present in the session.
7388 After creating a snapshot, you can continue working on the session and
7389 save it normally using <kbd class="menu">Session > Save</kbd> and any
7390 existing snapshots will remain unchanged.
7393 <h2>Switching to a Snapshot</h2>
7396 If you are already working on a session and want to to switch to an
7397 existing snapshot, navigate the Snapshots tab of the
7398 <a href="/ardours-interface/introducing-the-editor-window/editor-lists">Editor List</a>.
7399 Find the name of the snapshot in the list and click it. Ardour will switch
7400 to the snapshot. If there are unsaved changes in the current session, Ardour will
7401 ask what you want to do.
7404 <h2>Starting Ardour With a Snapshot</h2>
7407 Since a snapshot is just another session file stored within the session
7408 folder, you can specify that "version" when loading an existing session.
7409 The browser in the "Open Session" dialog will show an expander arrow for
7410 sessions that have more than 1 session file (i.e. snapshots) present—click on it to see the list, and then click on the name of the
7411 snapshot you want to load.
7414 <h2>Saving and Switching to a Snapshot</h2>
7417 Sometimes you may want to create a snapshot and then have all future
7418 edits and modifications saved to that snapshot rather than the main
7419 session. This is easily done using <kbd class="menu">Session > Save
7420 As</kbd>. This does not create a new session folder, but saves your
7421 session as a new snapshot and then switches the "current snapshot"
7422 to the newly created one. All subsequent saves of the session will
7423 be stored in this new snapshot, and existing snapshots (and the main
7424 session) will be left unaffected.
7433 Sessions can have various items of metadata attached to them, via
7434 <kbd class ="menu">Session > Metadata > Edit Metadata...</kbd> and
7435 <kbd class ="menu">Session > Metadata > Import Metadata...</kbd>.
7438 <h2>Edit Session Metadata Dialog</h2>
7440 <img src="/images/edit-session-metadata.png" />
7442 <p class="fixme">Add content</p>
7445 title: Cleaning up Sessions
7450 Recording and editing any serious session might leave the session with some
7451 unused or misplaced files here and there. Ardour can help deal with this clutter thanks
7452 to the tools located in the <kbd class="menu">Session > Clean-up</kbd> menu.
7455 <h2 id="bring_all_media_into_session_folder">Bring all media into session folder</h2>
7458 When <a href="/adding-pre-existing-material/">importing media files</a>, if
7459 the <kbd class="option">Copy files to session</kbd> hasn't been checked, Ardour uses
7460 the source file from its original destination, which can help avoiding file duplication.
7461 Nevertheless, when the session needs to be archived or transfered to another computer, moving
7462 the session folder won't move those <em>external</em> files as they are not in the folder, as seen
7463 in <a href="/working-with-sessions/backup-and-sharing-of-sessions/">Backup and sharing of sessions</a>.
7467 Using the <kbd class="menu">Bring all media into session folder</kbd> menu ensures
7468 that all media files used in the session are located inside the session's folder, hence avoiding
7469 any missing files when copied.
7472 <h2 id="reset_peak_files">Reset Peak Files</h2>
7475 Ardour represents audio waveforms with peak files, that are graphical images generated from the
7476 sound files. This generation can be time and CPU consuming, so it uses a cache of the generated
7477 images to speed up the display process. To watch for files modification, Ardour relies on the file-modification
7478 time. If an external file is embedded in the session and that file changes, but the system-clock is skewed
7479 or it is stored on an external USB disk (VFAT), Ardour can't know the change happend, and will still use its
7480 deprecated peak files.
7484 Using the <kbd class="menu">Reset Peak Files</kbd> menu allows to reset this cache, which frees up disk space,
7485 and forces the re-creation of the peak files used in the session. It can prove useful if some waveforms
7486 are not used anymore, or if a graphical or time glitch happens.
7489 <h2 id="clean_up_unused_sources">Clean-up Unused Sources...</h2>
7492 Recording usually lefts a lot of unused takes behind, be it in midi or audio form, that can clutter
7493 the Region List, and eat up a lot of hard drive space. While its generally a good practice to keep as
7494 many things as possible while recording, when transferring or archiving the session, some clean up can
7495 help a lot in reducing the sessions clutter and size.
7499 Selecting <kbd class="menu">Clean-up Unused Sources...</kbd> will force Ardour to detect those unused waveforms
7500 by looking for unused regions, and (through a prompt) for unused playlists. The media files won't be destroyed, though.
7501 At this stage, they are just copied in a particular place of the session path (namely, in the <code>dead sounds/</code>
7505 <h2 id="flush_wastebasket">Flush Wastebasket</h2>
7508 Although Ardour is a <em>non-destructive</em> audio-editor, it allows for a very careful destruction of unused media materials.
7509 This function is closely linked to the previous one. When the unused sources have been cleaned up and quarantined, the
7510 <kbd class="menu">Flush Wastebasket</kbd> menu will allow for their physical destruction.
7514 As a safeguarding mechanism though, Flushing the wastebasket in impossible in the same working session as the Cleaning up of unused sources:
7515 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 didn't commit
7516 any mistake (unlikely, but better safe than sorry), and that the user is absolutely sure of what he does.
7520 Notice that all media destroyed this way is not sent to the system's <em>trash can</em> 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.
7524 title: Copying versus Linking
7529 <dfn>Copying</dfn> and <dfn>linking</dfn> are two different methods of
7530 using existing audio files on your computer (or network file system)
7531 within a session. They differ in one key aspect:
7537 An existing media file is copied to the session's audio folder, and
7538 if necessary converted into the session's native format.
7542 For audio files, you can control the choice of this format (eg. WAVE
7543 or Broadcast WAVE). Audio files will also be converted to the session
7544 sample rate if necessary (which can take several minutes for larger
7549 MIDI files will already be in SMF format, and are simply copied into
7550 the session's MIDI folder.
7556 A link to an existing media file somewhere on the disk is used as a the
7557 source for a region, but the data is <strong>not copied or modified</strong>
7562 While linking is handy to conserve disk space, it means that your session
7563 is <dfn>no longer self-contained</dfn>. If the external file moves, it
7564 will become unavailable, and any changes to it from elsewhere will affect
7565 the session. A backup of the session directory will miss linked files.
7569 You can choose to copy or link files into your session with the
7570 <kbd class="option">Copy file to session</kbd> option in the Import
7575 <img class="left" src="/images/225-ARDOUR_1_2_1.png" />
7576 ← This file will be imported in the audio/MIDI folder of your session.
7580 <img class="left" src="/images/226-ARDOUR_1_2_1.png" />
7581 ← This file won't be copied.
7585 There is a global preference <kbd class="menu">Edit > Preferences > Misc > Session Management > Always copy imported files</kbd>. If it is enabled, you will not be able to link a file.
7589 title: Adding Pre-existing Material
7594 There are several ways to importing an audio or MIDI file into a
7598 <li><kbd class="menu">Session > Import</kbd></li>
7599 <li>Region List context menu: <kbd class="menu">Import To Region List</kbd></li>
7600 <li>Track context menu: <kbd class="menu">Import Existing Media</kbd>
7604 These methods are all equivalent: they open the <a
7605 href="/adding-pre-existing-material/import-dialog/">Add Existing Media</a>
7609 Finally, you can also easily import files into your project by dragging
7610 and dropping a file from some other application (e.g. your platform's
7611 file manager). You can drag onto the
7612 <dfn>Region List</dfn>, into the desired <dfn>track</dfn> or into empty
7613 space in the editor track display.<br />
7614 The file will be imported and copied
7615 into your session, and placed at the position where the drag ended.
7619 title: Import Dialog
7624 Many sessions will require the use of <dfn>existing material</dfn>,
7625 whether it consists of audio and/or MIDI data. Using existing samples,
7626 loops and riffs from files stored on your system can be the basis for
7627 a new session, or a way to deepen and improve one that is already
7632 You can import audio and MIDI data into your session with the
7633 <dfn>Add Existing Media</dfn> dialog.
7636 <p class="fixme">Update image, possibly update content if out of date</p>
7637 <img src="/images/209-ARDOUR_1_2_1.png" />
7639 <h2>The Soundfile Information Box</h2>
7642 This box will display information about the currently selected file:
7646 <li>number of channels,</li>
7647 <li>sample rate,</li>
7648 <li>file format,</li>
7650 <li>embedded timestamp (applies to some professional formats such as
7651 Broadcast WAVE), and</li>
7652 <li>tags (attached metadata to help categorize files in a library).</li>
7656 If the sample rate differs from the current session rate, it is displayed
7657 in red, which indicates that the file must be resampled before
7658 importing. Resampling is controlled by the <kbd class="menu">Conversion quality</kbd> option described below.
7664 Files can be auditioned before importing. The slider under the play and
7665 stop buttons allows you to scrub around, a fader on the right side allows
7666 you to control the playback volume.
7669 <h2>Importing options</h2>
7672 You can import files into new, automatically created tracks, to the region
7673 list (from where you can manually drag them into a track), or as new
7674 <a href="/working-with-tracks/track-types/">Tape tracks</a> with the
7675 <kbd class="menu">Add new files as...</kbd> option.
7679 New files will be inserted at either the file timestamp (if available,
7680 zero by default), at the <a href="/missing">edit point</a>, at the
7681 playhead, or at the start of the session, as specified in <kbd
7682 class="menu">Insert at...</kbd>.
7686 The Channel <kbd class="menu">mapping</kbd> is either "one track/region per
7687 file", or "one track/region per channel". The latter splits multichannel
7688 source files into mono regions. If you have selected multiple files and are importing them into a track,
7689 you can also choose whether to sequence all files into a single track in
7690 the order of selection, or to create as many tracks as there are files to
7695 The <kbd class="menu">Conversion quality</kbd> drop-down controls the
7696 quality of the resampling process, if the sampling rate of the source file
7697 differs from the session rate.
7701 Finally, and most importantly, you can decide whether to <kbd
7702 class="option">Copy files to session</kbd>, or to link them. Please read
7703 <a href="/adding-pre-existing-material/copying-versus-linking/">Copying
7704 versus Linking</a> for details.
7708 title: Searching and Importing From Freesound
7709 menu_title: Freesound Search/Import
7713 <p class="fixme">This section is irrelevant now, as the Freesound import function has been removed due to changes done on Freesound's end</p>
7716 <a href="http://www.freesound.org"
7717 title="http://www.freesound.org"><dfn>Freesound</dfn></a>
7718 is an online repository of searchable sound files licensed under
7719 Creative-Commons term. The <kbd class="menu">Search Freesound</kbd> tab
7720 of the import dialog allows you to search the Freesound database,
7721 and to download and audition files directly.
7726 <dd>Enter metadata tags that you would like to search for. You may enter
7727 multiple search terms separated by spaces. For example,
7728 <kbd class="input">drums 120bpm</kbd> will search for files that are tagged
7729 <samp>drums</samp>, <samp>120bpm</samp>, or both.</dd>
7731 <dd>Choosing one of the sort options will cause Freesound to return the list
7732 of available files sorted accordingly. This can save time if you know (for
7733 example) the sound you need is very short.</dd>
7735 <dd>Click this button to initiate the search. Freesound will begin returning
7736 pages of information, with 20 items per page. The <kbd
7737 class="menu">Stop</kbd> button interrupts the download.</dd>
7738 <dt>The file list</dt>
7739 <dd>Click on a file to download it from Freesound. Double-click the file to
7740 auto-play it in the auditioner.</dd>
7744 Files imported with Freesound will automatically include any tags that are
7745 associated with the file, and these tags will be included in a search when
7746 you use the <kbd class="menu">Search Tags</kbd> tab.
7750 title: Searching for Files Using Tags
7755 A <dfn>tag</dfn> is bit of information, or metadata, that is associated
7756 with a data file. Specifically, tags are keywords or terms that you feel
7757 have some relevance to a particular soundfile. Ardour can store these tags
7758 in a searchable <dfn>database</dfn> so that you can quickly search for sounds
7759 based on the tags that you have assigned to them.
7763 For example you can assign the term <kbd class="input">120bpm</kbd> to a
7764 sound, and then when you search for this tag, the file will appear in the
7765 search list. Tags are independent of the filename or anything else about
7766 the file. Tags, and the file paths that they are associated with, are
7767 stored in a file called <samp>sfdb</samp> in your Ardour user folder.
7771 To <dfn>add tags</dfn> to a given file, open the <kbd class="menu">Session >
7772 Import</kbd> dialog, select the file in the browser, and type new tags into tag
7773 area in the soundfile information box on the right. Tags are stored when the
7774 input box loses focus, there is no need to explicitly save them.
7778 You can <dfn>search</dfn> for specific tags in the <kbd
7779 class="menu">Search Tags</kbd> tab of the same dialog. Files which have
7780 been tagged with the relevant terms will appear in the results window.
7781 Selected files can be auditioned and marked with additional tags if
7786 title: Supported File Formats
7791 The list of audio file formats that Ardour can understand is quite long.
7792 It is based on the functionality offered by <dfn>libsndfile</dfn>, an excellent and
7793 widely used software library by Australian programmer Erik de Castro Lopo.
7794 As libsndfile's capabilities expand, so will Ardour's abilities to import
7795 (and export) new formats. Ardour supports all common audio file formats,
7796 including WAV, AIFF, AIFC, CAF, W64 and BWF, with all typical sample formats
7797 (8-, 16-, 24-, 32-bit integer, floating point, and more).
7801 You can find a full list of libsndfile's supported formats
7802 <a href="http://www.mega-nerd.com/libsndfile/#Features">here</a>.
7806 For MIDI import, Ardour will read any Standard MIDI Format (SMF) file.
7811 title: Ardour Main Windows
7817 title: Introducing the Editor Window
7821 <p class="fixme">Add content</p>
7829 At the right of the editor is an optional area which provides one of a
7830 range of useful lists of parts of your session. It is not shown by default
7831 when you first start using Ardour. The <dfn>Editor list</dfn> can be hidden
7832 or shown using <kbd class="menu">View > Show Editor List</kbd>. The very
7833 right-hand side of the list gives a selection of tabs which are used to
7834 choose the list to view. The left-hand border of the list can be dragged to
7835 vary the width of the list.
7839 title: Ranges & Marks List
7844 For information on this list see
7845 <a href="/working-with-markers/rangesmarks-list/">Ranges
7846 & Marks List</a> in the "Working with Markers" section of the manual.</p>
7853 <p>The region list shows all the regions in the session. The left-hand column gives the region name, and there are a range of times given for information. At the right of the list are four columns of flags that can be altered:</p>
7856 <dd>whether the region position is locked, so that it cannot be moved.</dd>
7858 <dd>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.</dd>
7860 <dd>whether the region is muted, so that it will not be heard.</dd>
7862 <dd>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. </dd>
7864 <p>Hovering the mouse pointer over a column heading shows a tool-tip which can be handy to remember what the columns are for.</p>
7865 <p>A handy feature of the region list is that its regions can be dragged and dropped into a suitable track in the session.</p>
7868 title: Snapshot List
7873 This list gives the snapshots that exist of this session. Clicking on a snapshot
7874 name will load that snapshot.
7878 See <a href="/working-with-sessions">Working with Sessions</a> for more
7879 information on snapshots.
7883 title: Track & Bus Group List
7887 <p>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
7888 <a href="/working-with-tracks/track-and-bus-groups/">Track and Bus Groups</a>.</p>
7889 <p>The columns in this list are as follows:</p>
7892 <dd>the colour that the group uses for its tab in the editor.</dd>
7894 <dd>the group name.</dd>
7896 <dd>whether the tracks and busses in the group are visible.</dd>
7898 <dd>whether the group is enabled.</dd>
7900 <dd>ticked if the constituents of the group are sharing gain settings.</dd>
7902 <dd>ticked if shared gains are relative.</dd>
7904 <dd>ticked if the constituents share mute status.</dd>
7906 <dd>ticked if the constituents share solo status.</dd>
7908 <dd>ticked if the constituents share record-enable status.</dd>
7910 <dd>whether the constituents share monitor settings.</dd>
7912 <dd>whether the constituents are selected together.</dd>
7914 <dd>whether edits to the constituents are performed to all others.</dd>
7916 <dd>whether the constituents share active status. </dd>
7921 title: Tracks & Busses List
7925 <p>This lists the tracks and busses that are present in the session. The list order reflects the order in the editor, and you can drag-and-drop track or bus names in the editor list to re-order them in the editor. The columns in the list can all be clicked to alter the track/bus state, and they represent the following:</p>
7927 <dt id="visible">V</dt>
7928 <dd>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.</dd>
7929 <dt id="active">A</dt>
7930 <dd>whether the track or bus is active; unactive tracks will not play, and will not consume any CPU.</dd>
7931 <dt id="input">I</dt>
7932 <dd>for MIDI tracks, whether the MIDI input is enabled; this dictates whether MIDI data from the track's inputs ports will be passed through the track.</dd>
7933 <dt id="record">R</dt>
7934 <dd>whether the track is record-enabled.</dd>
7935 <dt id="mute">M</dt>
7936 <dd>whether the track is muted.</dd>
7937 <dt id="solo">S</dt>
7938 <dd>track solo state.</dd>
7939 <dt id="solo-isolated">SI</dt>
7940 <dd>track solo-isolated state.</dd>
7941 <dt id="solo-safe">SS</dt>
7942 <dd>solo safe state. </dd>
7944 <p>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.</p>
7947 title: The Editing Toolbar
7951 <p class="fixme">Need toolbar image</p>
7953 <h2>Mouse Modes</h2>
7954 <dl class="wide-table">
7955 <dt id="object">Object Mode</dt>
7956 <dd>The <dfn>object mode</dfn> is used for selecting, moving, deleting and
7957 copying objects. When in object mode, the mouse pointer appears as a hand
7958 whenever it is over the track canvas or the rulers. The mouse can now be
7959 used to select and perform operations on objects such as regions, markers etc.
7960 This is the most common mode to work in, as it allows you to select and move regions,
7961 as well as modify automation points on the automation tracks.
7964 <dd>When in <dfn>range mode</dfn>, the mouse pointer appears as a vertical line
7965 whenever it is over the track canvas or the rulers. The mouse will now be
7966 able to select a point or range of time. Time ranges can be selected over
7967 one or several tracks, depending on the selection of your tracks.
7969 If none of your tracks are selected, the Range Tool will operate on all the
7970 session track visualized in the Editor.
7973 If you want to edit only particular tracks, select them before you apply
7978 <dd>When in <dfn>zoom mode</dfn>, the mouse pointer appears as a magnifying glass
7979 whenever it is over the track canvas or the rulers. Select the area to
7980 zoom to with a <kbd class="mouse">Left drag</kbd>. A single <kbd
7981 class="mouse">Left</kbd> click zooms in by one level around the mouse cursor,
7982 likewise a single <kbd class="mouse">Right</kbd> click will zoom out by one
7984 <dt>Region Gain Tool</dt>
7985 <dd>When in <dfn>gain edit</dfn> mode, the mouse pointer will change to
7986 cross-hairs. You can then click within a region to change the <dfn>gain
7987 envelope</dfn> for that region. This curve is separate from fader automation
7988 for individual tracks. It will remain locked to the region's time, so if the
7989 region is moved, the region gain envelope is moved along with it.</dd>
7990 <dt>Time Effects Tool</dt>
7991 <dd>When in <dfn>time fx</dfn> mode, the mouse pointer appears as a
7992 distinctive expanding square symbol whenever it is over the track canvas or
7993 the rulers. This mode is used to resize regions using a timestretch
7995 Click on an edge of a region of audio and drag it one way or the other to
7996 stretch or shrink the region.</dd>
7997 <dt>Audition Tool</dt>
7998 <dd>Clicking a region using the <dfn>audition tool</dfn> will play this
7999 region to the control room outputs.
8000 <p>You can also <dfn>scrub</dfn> with this tool by clicking and dragging in
8001 the direction you wish to listen. The amount you drag in one direction or
8002 the other will determine the playback speed.</p>
8006 <dt>Internal/Region Edit Mode</dt>
8010 <h3>Object Tool</h3>
8011 <dl class="wide-table">
8012 <dt>Selecting Regions</dt>
8014 <dt>Resizing Regions</dt>
8016 <dt>Moving Regions</dt>
8018 <dt>Editing Fade In and Fade Out</dt>
8021 <h3 id="smartmode">Smart Mode</h3>
8023 The <dfn>Smart Mode</dfn> button to the left of the mouse mode buttons
8024 modifies <dfn>Object mode</dfn>. When enabled, the mouse behaves as if it
8025 is in "Range Tool" mode in the upper half of a region, and in "Object Tool"
8026 mode in the lower half.
8029 <p class="fixme">Add missing content</p>
8032 title: The Transport Bar
8036 <p class="fixme">Add content</p>
8039 title: Introducing the Mixer Window
8043 <p class="fixme">Add content</p>
8058 Ardour offers three <dfn>track types</dfn> depending on the type of
8059 data they contain, and differentiates between three <dfn>track modes</dfn>,
8060 depending on their recording behaviour.
8063 <h2>Track types</h2>
8066 An Ardour track can be of type <dfn>audio</dfn> or <dfn>MIDI</dfn>,
8067 depending on the <dfn>data</dfn> that the track will primarily record
8068 and play back. <em>However, either type of track can pass either
8069 type of data.</em> Hence, for example, one might have a MIDI track that
8070 contains an instrument plugin; such a track would record and play back
8071 MIDI data from disk but would produce audio, since the instrument plugin
8072 would turn MIDI data into audio data.
8076 Nevertheless, when adding tracks to a session, you typically have an idea
8077 of what you need to use the new tracks for, and Ardour offers you three
8081 <dl class="narrower-table">
8083 <dd>An <dfn>Audio Track</dfn> is created with a user-specified number of
8084 inputs. The number of outputs is defined by the master bus channel count
8085 (for details see <a href="#channelconfiguration">Channel Configuration</a>
8086 below). This is the type of track to use when planning to work with
8087 existing or newly recorded audio.</dd>
8089 <dd>A <dfn>MIDI track</dfn> is created with a single MIDI input, and a
8090 single MIDI output. This is the type of track to use when planning to
8091 record and play back MIDI. There are several methods to enable playback
8092 of a MIDI track: add an instrument plugin to the track, connect the
8093 track to a software synthesizer, or connect it to external MIDI hardware.
8095 If you add an instrument plugin, the MIDI track outputs audio instead
8099 <dd>There are a few notable plugins that can usefully accept both <dfn>Audio
8100 and MIDI</dfn> data (Reaktor is one, and various "auto-tune" like plugins
8101 are another). It can be tricky to configure this type of track manually,
8102 so Ardour allows you to select this type specifically for use with such
8103 plugins. It is <em>not</em> generally the right choice when working normal
8104 MIDI tracks, and a dialog will warn you of this.</dd>
8108 title: Adding Tracks, Busses and VCAs
8112 <img class="right" src="/images/add-track-or-bus.png" alt="the add-track dialog" />
8115 A track, bus or VCA can be added to a session in various ways:
8119 <li>Choose <kbd class="menu">Track > Add Track, Bus or VCA...</kbd>.</li>
8120 <li><kbd class="mouse">Right</kbd>-click in an empty part of the track controls area.</li>
8121 <li>Click the <kbd class="menu">Plus (+)</kbd> button underneath the list of tracks in the mixer.</li>
8125 Any of these actions will open the Add Track/Bus/VCA dialog.
8130 <dd>Here you can select the number of tracks, busses or VCAs you wish to create, and
8131 their <a href="/working-with-tracks/track-types/">types</a>.</dd>
8133 <dd>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...)</dd>
8134 <dt>Configuration</dt>
8135 <dd>This menu lets you 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 <em>mono</em> and <em>stereo</em>.</dd>
8136 <dt>Record mode</dt>
8137 <dd>This option is only available for audio tracks and affects how it behaves when recording. See <a href="/working-with-tracks/track-types/#trackmodes">Track Modes</a> for details.</dd>
8139 <dd>This option is only available for MIDI tracks and busses and lets you select a
8140 default instrument from the list of available plugins.</dd>
8142 <dd>Tracks and busses can be assigned groups so that a selected range of
8143 operations are applied to all members of a group at the same time (selecting
8144 record enable, or editing, for example). This option lets you assign to an
8145 existing group, or create a new group.</dd>
8147 <dd>Defines where in the track list is the track created. The default is <em>Last</em>, i.e. after all the tracks and busses, and can also be <em>First</em>, <em>Before Selection</em> (to place it just above the selected track) or <em>After selection</em>.</dd>
8148 <dt>Output Ports</dt>
8149 <dd>Defines how the number of output responds to adding a plugin with a different number of outputs than the track itself. in <em>Strict I/O</em> mode, the track will only use a few of the plugins I/O and will keep its own number of output fixed, while in <em>lexible I/O</em> mode, it will automatically adapt to the I/O of its plugins. See <a href="/signal-routing/signal-flow/">Signal flow</a> to learn more about those options.</dd>
8153 New tracks appear in both the editor and mixer windows. The editor window
8154 shows the timeline, with any recorded data, and the mixer shows just the
8155 processing elements of the track (its plugins, fader and so on).
8158 <h2>Removing Tracks and Busses</h2>
8161 To <dfn>remove</dfn> tracks and busses, select them, <kbd
8162 class="mouse">right</kbd>-click and choose <kbd
8163 class="menu">Remove</kbd>
8164 from the menu. A warning dialog will pop up, as track removal cannot be undone;
8165 use this option with care!
8169 title: Selecting Tracks
8174 Tracks are <dfn>selected</dfn> by clicking on the Track header at the left
8175 of the Editor window. You can select multiple tracks with <kbd class="mod1
8176 mouse">Left</kbd> clicks, or a range of consecutive tracks with <kbd
8177 class="mod3 mouse">Left</kbd>.
8180 By default, <dfn>selecting regions</dfn> has no impact on
8181 <dfn>track selection</dfn>.
8182 You can select a track, then select a region in another track
8183 (or vice versa) and both selections will co-exist happily.
8184 Operations that are applied to tracks will use the track selection,
8185 and those that apply to regions will use the region selection.
8186 Similarly, deselecting a region will not deselect the track it
8187 is in (if that track was selected).
8190 In some workflows, and particularly if you have experience with
8191 other <abbr title="Digital Audio Workstation">DAW</abbr>s, this
8192 is not the most comfortable way to work. You may prefer to work
8193 in a style where selecting a region will also select the track
8194 that the region is in. Similarly, when the last selected region
8195 in a track is deselected, the track will also become unselected.
8198 To control this behaviour, set <kbd class="menu">Edit >
8199 Preferences > Editor > Link selection of regions and tracks</kbd>.
8203 title: Controlling Track Appearance
8208 Ardour offers many options for controlling the appearance of tracks, including color, height, waveform style and more. These can all be found in the <kbd class="menu">Edit > Preferences > Editor</kbd> menu.
8212 title: Layering Display
8216 <img class="right" style="clear:both" src="/images/track-layer-dialog.png"
8217 alt="Track layering menu" />
8220 Ardour allows arbitrary <dfn>layering</dfn> of regions—you can
8221 have as many regions you wish at a given position. By default, the regions are
8222 <dfn>overlaid</dfn> in the editor window, to save vertical space.
8226 However, this display mode can be confusing for tracks with many overdubs,
8227 because its not obvious in which order the overdubs are layered. Although
8228 there are other methods of moving particular regions to the top of an
8229 overlapping set, and although Ardour also has playlists to let you manage
8230 <a href="/working-with-playlists/playlist_usecases/">takes</a> a bit more
8231 efficiently than just continually layering,
8232 there are times when being able to clearly see all regions in a track without
8233 any overlaps is reassuring and useful.
8237 Here is an image of a track with a rather drastic overdub situation,
8238 viewed in normal <dfn>overlaid mode</dfn>:
8241 <img src="/images/a3_overlaps_layered.png" alt="overlapping regions in overlaid mode" />
8244 To change this display, right click on the track header, and you'll see
8245 the menu displayed above. There are two choices for layers. <kbd
8246 class="menu">overlaid</kbd> is currently selected. Click on <kbd
8247 class="menu">stacked</kbd> and the track display changes to this:
8250 <img src="/images/a3_layers_stacked.png" alt="overlapping regions in stacked mode" />
8253 You can still move regions around as usual, and in fact you can
8254 even drag them so that they overlay each again, but when you
8255 release the mouse button, things will flip back to them all being
8256 stacked cleanly. The number of <dfn>lanes</dfn> for the track is determined by
8257 the maximum number of regions existing in any one spot throughout
8258 the track, so if you have really stacked up 10 overdubs in one spot,
8259 you'll end up with 10 lanes. Obviously, using a large track height
8260 works much better for this than a small one.
8269 New tracks in Ardour are assigned a random color from a pastel color
8270 palette, so they should never end up being particularly bright or
8274 <h2>Changing the color of specific tracks</h2>
8277 Select the tracks whose color you wish to change. Context-click
8278 on the track header of one of them. From the context menu, select
8279 <kbd class="menu">Color</kbd> and pick a hue to your taste in the
8280 color dialog. Every selected track will be re-colored.
8284 Note that if you are only changing one track, context-clicking on
8285 that track's header will be enough to select it, saving the extra
8289 <h2>Changing the color of all tracks in a group</h2>
8292 Tracks that belong to a
8293 <a href="/working-with-tracks/track-and-bus-groups">track/bus group</a>
8294 can share a common color by enabling the <kbd
8295 class="option">Color</kbd> option for the group. With this enabled,
8296 any color change will be propagated to all group members.
8300 You can also explicitly change the group color by context-clicking
8301 on the group tab in the Mixer, selecting <kbd class="menu">Edit
8302 Group...</kbd> and then clicking on the Color selector in that dialog
8312 Depending on the stage of your production, you may require a quick
8313 overview over as many tracks as possible, a detailed view into just a
8314 few, or a combination of the two. To facilitate this, the
8315 <dfn>height</dfn> may be configured individually for each track in
8320 A context click on a track header will display the
8321 <kbd class="menu">Height</kbd> menu, and allow you to choose from a
8322 list of standard sizes. All selected tracks will be redrawn using that
8327 Alternatively, select the tracks you wish to resize. Move the pointer
8328 to the bottom edge of one track header. The cursor will change to a
8329 two-way vertical arrow shape. <kbd class="mouse">Left</kbd>-drag to
8330 dynamically resize all selected tracks.
8333 <h2>Fit to the Editor Window</h2>
8336 Select the tracks you wish to display in the Editor window.
8337 Choose <kbd class="menu">Track > Height > Fit Selected Tracks</kbd>
8338 or use the keyboard shortcut, <kbd>f</kbd>. Ardour adjusts the track
8339 heights and view so that the selected tracks completely fill the vertical
8340 space available, unless the tracks cannot be made to fit even at the smallest
8345 You can use <dfn>Visual Undo</dfn> (default shortcut: <kbd class="mod3">Z</kbd>
8346 to revert this operation.
8350 title: Waveform display
8355 The display of <dfn>waveforms</dfn> (or, more correctly, <dfn>peak
8356 envelopes</dfn>, since the actual waveform is only visible at the highest
8357 zoom levels) is configurable via the <kbd
8358 class="menu">Edit > Preferences > Editor</kbd> dialog, to support
8359 different usecases and user preferences. The following options are
8363 <dl class="wide-table">
8364 <dt>Show waveforms in regions</dt>
8365 <dd>By default, Ardour draws waveforms within audio regions. Disable this
8366 option to hide them.</dd>
8367 <dt>Waveform scale</dt>
8371 <dd>This is the traditional <dfn>linear</dfn> (1:1) display of the
8372 peak envelope, or, at higher zoom levels, the individual samples.</dd>
8373 <dt>Logarithmic</dt>
8374 <dd>Alternatively, you can use a <dfn>logarithmic</dfn> display of the
8375 peak envelope. This will give you a better idea of program loudness (it is similar
8376 to dBs) and plot soft passages more clearly, which is useful for soft
8377 recordings or small track height.</dd>
8380 <dt>Waveform shape</dt>
8383 <dt>Traditional</dt>
8384 <dd>The <dfn>zero</dfn> line appears in the middle of the display and waveforms
8385 appear as positive and negative peaks above <em>and</em> below.</dd>
8387 <dd>The zero line appears at the bottom of the display and waveforms appear
8388 as absolute peaks <em>above</em> the line only.</dd>
8394 title: Controlling Track Ordering
8399 Ardour does not impose any particular ordering of tracks and busses in
8400 either the editor or mixer windows. The default arrangements are as follows:
8404 In the <dfn>Editor</dfn>, the Master bus will always be on top unless
8405 hidden. Tracks and busses will appear in their initial order, from top to
8406 bottom. The monitor section (if used) will never be visible in the editor
8411 In the <dfn>Mixer</dfn>, the tracks and busses will be displayed in their
8412 initial order, from left to right. The Master bus is always on the far
8413 right and occupies its own pane, so that it is always visible no matter
8414 how you scroll the other mixer strips. If a Monitor section is used,
8415 it shows up at the right edge of the mixer window, from where it can be
8416 torn off into a separate window.
8420 title: Reordering Tracks
8425 The <dfn>track ordering</dfn> of the Editor and Mixer is <dfn>synchronized</dfn>: if you
8426 reorder in one window, the ordering in the other window will follow.
8429 <h2>Reordering in the Editor Window</h2>
8432 Select the tracks you want to move. Then use<br />
8433 <kbd class="menu">Track > Move Selected Tracks Up</kbd>
8434 (shortcut: <kbd class="mod1">↑</kbd>) or<br />
8435 <kbd class="menu">Track > Move Selected Tracks Down</kbd>
8436 (shortcut: <kbd class="mod1">↓</kbd>).
8440 Alternatively, you can use the <kbd class="menu">Tracks & Busses</kbd>
8442 <a href="/ardours-interface/introducing-the-editor-window/editor-lists/">Editor
8443 Lists</a>, if visible.
8444 Here, you can freely drag-and-drop tracks and busses into any order you prefer.
8447 <h2>Reordering in the Mixer Window</h2>
8450 Within the <kbd class="menu">Strips</kbd> pane at the top left of the
8451 Mixer window, you can freely drag-and-drop tracks and busses into any
8455 <h2>"Collecting" Group Members</h2>
8458 Tracks and Busses that are members of a group can be reordered so that they
8459 display contiguously within the Editor and Mixer windows. Context-click on
8460 the group tab and choose <kbd class="menu">Collect</kbd>.
8463 <h2>Ordering of New Tracks</h2>
8466 When <dfn>adding new tracks</dfn>, the current selection determines their
8467 placement. New tracks will be placed after the rightmost (in the mixer) or
8468 bottom-most (in the editor) selected track. If no tracks are selected, new
8469 tracks will be added at the end.
8473 Because new tracks are automatically selected, you can quickly reorder them
8474 in the editor window via the keyboard shortcuts after adding them (see above).
8478 title: Track Ordering and Remote Control IDs
8483 Every track and bus in Ardour is assigned a <dfn>remote control ID</dfn>.
8484 When a <a href="/using-control-surfaces/">control surface</a> or any other
8485 remote control is used to control Ardour, these IDs are used to identify
8486 which track(s) or buss(es) are the intended target of incoming commands.
8490 By default, remote IDs will be assigned to tracks and busses in the order
8491 that they are created, starting from 1. The master bus and monitor section
8492 have their own unique IDs (318 and 319).
8496 Ardour provides two methods to control remote control IDs, which can be
8497 chosen via <kbd class="menu">Edit > Preferences > Control Surfaces
8498 > Control surface remote ID</kbd>:
8501 <dl class="wide-table">
8502 <dt>follows order of mixer</dt>
8503 <dd>This will reset the remote control IDs to match the mixer and editor
8504 track order order, starting with rcID 1. Manual assignment of rcIDs is
8506 <dt>assigned by user</dt>
8507 <dd>When enabled, the remote control ID is completely independent of the
8508 ordering in either window, and may be changed manually by the user via the
8509 <kbd class="menu"><em>trackname</em> > Remote Control ID...</kbd>
8510 dialog in each mixer strip.
8519 <p>A typical control area or <dfn>bus header<dfn> is shown below:</p>
8521 <img src="/images/typical-bus-controls.png" alt="bus controls" />
8524 At the top-left of the controls is the name of the bus, which can be
8525 edited by double-clicking on it. The new name must be unique within the
8526 session. Underneath the name is a copy of the bus' main level fader.
8527 The control buttons to the right-hand side are:
8531 <dt id="mute">M</dt>
8532 <dd><dfn>Mute</dfn>—click to mute the bus. Right-click to display
8533 a menu which dictates what particular parts of the bus should be muted.</dd>
8534 <dt id="solo">S</dt>
8535 <dd><dfn>Solo</dfn>—solo the bus. The behaviour of the solo system
8536 is described in detail in the section <a
8537 href="/mixing/muting-and-soloing/">Muting and Soloing</a>.</dd>
8538 <dt id="automation">A</dt>
8539 <dd><dfn>Automation</dfn>—opens the automation menu for the
8540 bus. For details see <a href="/automation/">Automation</a>.</dd>
8541 <dt id="group">G</dt>
8542 <dd><dfn>Group</dfn>—lets you assign the bus to an existing or a
8543 new group. For details see <a href="/working-with-tracks/track-and-bus-groups/">Track and bus groups</a>. </dd>
8547 title: Audio Track Controls
8552 A typical control area or <dfn>track header</dfn> for an audio track is
8556 <img src="/images/typical-audio-track-controls.png" alt="audio track controls"
8560 An audio track has the same
8561 <a href="/working-with-tracks/bus-controls">controls as a bus</a>, with the
8562 addition of two extras.
8566 <dt id="record" style="color:red;font-weight:bold;">[•]</dt>
8567 <dd><dfn>Record</dfn>—The button with the pink circle arms the track
8568 for recording. When armed, the entire button will turn pink, and change to
8569 bright red as soon as the transport is rolling and the track is recording.</dd>
8570 <dt id="playlist">p</dt>
8571 <dd><dfn>Playlist</dfn>—Opens a playlist menu when clicked. The menu
8572 offers various operations related to the track's <a
8573 href="/working-with-playlists/">playlist</a>.
8578 title: MIDI Track Controls
8582 <p>A typical <dfn>MIDI track header</dfn> looks like this:</p>
8584 <img src="/images/typical-midi-track-controls.png" alt="midi track controls"
8588 To see the full set of MIDI track controls, you need to increase the
8589 <a href="/working-with-tracks/controlling-track-appearance/track-height/">track height</a>
8590 beyond the default. MIDI tracks show only a few of the control elements
8591 when there is insufficient vertical space.
8595 A MIDI track has the same basic
8596 <a href="/working-with-tracks/audio-track-controls">controls as an audio track</a>,
8597 with the addition of two extra elements. The set of buttons below the main track
8598 controls the <dfn>MIDI channel</dfn>(s) that will be visible in the editor. A MIDI track's
8599 data may span any number of the 16 available MIDI channels, and sometimes it is
8600 useful to view only a subset of those channels; different instruments may,
8601 for example, be put on different channels. Clicking on a channel number toggles
8606 To the right of the MIDI track controls is a representation of a piano keyboard
8607 called the <dfn>scroomer</dfn> (a portmanteau of scrollbar and zoomer). This performs several functions:
8611 <li>The scrollbar controls the range of pitches that are visible on the
8612 track, as visualized by the piano keyboard.</li>
8613 <li>Dragging the body of the scrollbar up and down displays higher or lower
8615 <li>Dragging the scrollbar handles zooms in and out and increases and decreases the range of visible pitches.</li>
8616 <li>Clicking on the piano plays the corresponding MIDI note for reference.</li>
8620 To edit the contents of a MIDI track see <a href="/editing-and-arranging/edit-midi/">Edit
8625 title: Track Context Menu
8630 Within the editor window, context-click (right-click) on either a region
8631 or empty space within a track to display the <dfn>track context menu</dfn>.
8632 The context menu provides easy access to many track-level operations.
8636 If you click on a <dfn>region</dfn>, the first item in the menu is the name of the
8637 region. If you click on a
8638 <a href="/working-with-tracks/controlling-track-appearance/layering-display/">layered region</a>,
8639 the next item in the menu is <kbd class="menu">Choose Top</kbd>. If selected,
8640 you will see a dialog that allows you to change the vertical order of layers
8641 at that point. See <a href="/missing">Controlling Region Layering</a> for more details.
8642 <p class="fixme">Broken link</p>
8646 The rest of the track context menu is structured as follows:
8649 <dl class="narrower-table">
8652 <dl class="narrower-table">
8653 <dt>Play from Edit Point</dt>
8654 <dd>Play from the location of the current <a href="/editing-and-arranging/edit-point">edit point</a>.</dd>
8655 <dt>Play from Start </dt>
8656 <dd>Play from the start of the session</dd>
8657 <dt>Play Region(s)</dt>
8658 <dd>Plays the duration of the session from the start of the earliest selected region to the end of the latest selected region</dd>
8663 <dl class="narrower-table">
8664 <dt>Select All in Track</dt>
8665 <dd>Selects all regions in a track</dd>
8666 <dt>Select All Objects</dt>
8667 <dd>Selects all regions in the session</dd>
8668 <dt>Invert Selection in Track</dt>
8670 <dt>Invert Selection</dt>
8672 <dt>Set Range to Loop Range</dt>
8674 <dt>Set Range to Punch Range</dt>
8676 <dt>Select All After Edit Point</dt>
8678 <dt>Select All Before Edit Point</dt>
8680 <dt>Select All After Playhead</dt>
8682 <dt>Select All Before Playhead</dt>
8684 <dt>Select All Between Playhead and Edit Point</dt>
8686 <dt>Select All Within Playhead and Edit Point</dt>
8688 <dt>Select Range Between Playhead and Edit Point</dt>
8694 <dl class="narrower-table">
8703 <dt>Align Relative</dt>
8707 <dt>Insert Selected Region</dt>
8709 <dt>Insert Existing Media</dt>
8713 <dl class="narrower-table">
8714 <dt>Nudge Entire Track Later</dt>
8716 <dt>Nudge Track After Edit Point Later</dt>
8718 <dt>Nudge Entire Track Earlier</dt>
8720 <dt>Nudge Track After Edit Point Earlier</dt>
8729 <i>This text here to prevent following FIXME from corrupting the above table</i>
8731 <p class="fixme">Add missing content</p>
8735 title: Grouping Tracks
8741 title: Track and Bus Groups
8746 Tracks and busses can be put into <dfn>groups</dfn>. Members of a group
8747 can share various settings—useful for managing tracks that are closely
8748 related to each other. Examples might include tracks that contain
8749 multiple-microphone recordings of a single source (an acoustic guitar,
8750 perhaps, or a drum-kit).
8754 You can group tracks and busses in various ways. In the editor window,
8755 a track's controls might look like these:
8758 <img class="left" src="/images/track-in-group.png" alt="track headers for a group" />
8761 The green tab to the left of the track header indicates that this track
8762 is in a group called <samp>Fred</samp>. You can drag these tabs to add
8763 adjacent tracks to a group.
8766 <h2>Create New Groups</h2>
8769 There are several ways to <dfn>create groups</dfn> for tracks and bussess:
8773 <li>Context-click on the group tab and use one of the <kbd
8774 class="menu">Create...</kbd> options there. You can create a group with
8775 no members, or one that starts with the currently selected tracks, or
8776 record-enabled tracks, or soloed tracks.</li>
8777 <li>Alternatively, click the ‘g’ button on a track header to open the
8778 Group menu. The menu lists the available groups. Selecting one of these
8779 groups will add the track or bus to that group. The menu also lets you
8780 create a new group.</li>
8781 <li>Finally, the Groups tab of the
8782 <a href="/ardours-interface/introducing-the-editor-window/editor-lists">Editor Lists</a>
8783 or the Mixer Window has a <kbd class="menu">plus (+)</kbd> button at the
8784 bottom of the list. Click on the plus sign to create a new group.</li>
8787 <h2>Remove Groups</h2>
8790 Context-click on a <dfn>group tab</dfn> and select <kbd class="menu">Remove
8791 Group</kbd> from the menu. Removing a group does <em>not</em> remove
8792 the members of a group.
8796 You can also remove groups by selecting them in the Groups tab of the
8797 <a href="/ardours-interface/introducing-the-editor-window/editor-lists">Editor Lists</a>
8798 or Mixer Window and then pressing the <kbd class="menu">minus (-)</kbd>
8799 button at the bottom of the list.
8802 <h2>Add/Remove Tracks and Busses From a Group</h2>
8805 Click the <kbd class="menu">g</kbd> button to display a menu with a list
8806 of the available groups. Select one of these groups to add the track or bus
8807 to that group. Select <kbd class="menu">No Group</kbd> to remove it.
8811 Alternatively, you can also drag a group tab to add or remove tracks from
8815 <h2>Activate/Deactivate Groups via the Group Tab</h2>
8818 Clicking on a group tab toggles the group between being active and inactive.
8819 An inactive group has no effect when editing its members. An active group
8820 will share its configured properties across its members. Tabs for disabled
8821 groups are coloured grey.</p>
8823 <h2>Modify Group Properties</h2>
8826 To edit the properties of a group, context-click on its tab and choose
8827 <kbd class="menu">Edit Group…</kbd>. This opens the track/bus group dialog,
8828 which is also used when creating new groups:
8831 <img class="right" src="/images/route-group-dialogue.png" alt="the track/bus group dialog" />
8833 <h3>Group Color</h3>
8836 Click on the color selector button to change a group's colour. This affects
8837 the colour of the group's tab in the editor and mixer windows. The color does
8838 <em>not</em> affect the color of the group members unless you also enable the
8839 shared <kbd class="menu">Color</kbd> property.
8842 <h3>Shared Properties</h3>
8845 <kbd class="option">Gain</kbd> means that the track faders will be synced to
8846 always have the same value; <kbd class="option">Relative</kbd> means that the
8847 gain changes are applied relative to each member's current value. If, for
8848 example, there are two tracks in a group with relative gain sharing, and their
8849 faders are set to -3 dB and -1 dB, a change of the first track to a
8850 gain of -6 dB will result in the second track having a gain of
8851 -4 dB (the <em>difference</em> of the gains remains the same).
8855 <a href="/working-with-tracks/bus-controls/#mute"><kbd class="option">Muting</kbd></a>,
8856 <a href="/working-with-tracks/bus-controls/#solo"><kbd class="option">Soloing</kbd></a>,
8857 <a href="/working-with-tracks/audio-track-controls/#record"><kbd class="option">record enable</kbd></a>,
8858 <a href="/ardours-interface/introducing-the-editor-window/editor-lists/tracks--busses-list/#active"><kbd class="option">active state</kbd></a>,
8859 <a href="/working-with-tracks/controlling-track-appearance/track-coloring/"><kbd class="option">colour</kbd></a> and
8860 <a href="/recording/monitoring/"><kbd class="option">monitoring</kbd></a>
8861 are all straightforward. They simply mean that all member tracks or busses will
8862 share the same settings in these respects.
8866 <kbd class="option">Selection</kbd> means that if a region is selected or
8867 deselected on one member track, <a
8868 href="/working-with-regions/corresponding-region-selection/">corresponding
8869 regions</a> on other member tracks
8870 will be similarly selected. Since region editing operations are applied to all
8871 currently selected regions, this is the way to make edits apply across all tracks in the group.
8874 <p class="fixme">Broken link</p>
8876 <h3>Group Tab Context Menu</h3>
8878 <p>Context-clicking on the group tab offers a further menu of group-related actions. </p>
8880 <dl class="wide-table">
8881 <dt>Create a New Group</dt>
8882 <dd>create a new group</dd>
8883 <dt>Create New Group from...</dt>
8884 <dd> create a new group and automatically add ...
8885 <dl class="narrower-table">
8887 <dd>all currently selected tracks and busses</dd>
8888 <dt>Rec-enabled</dt>
8889 <dd>all currently record-enabled tracks</dd>
8891 <dd>all currently soloed tracks and busses</dd>
8894 <dt>Collect Group</dt>
8895 <dd>moves all the member tracks so that they are together in the editor window</dd>
8896 <dt>Remove Group</dt>
8897 <dd>removes the group (and only the group, not its members).</dd>
8898 <dt>Add New Subgroup Bus</dt>
8899 <dd> creates a bus (giving it the name of the group) and connects the output of each member to the new bus.
8901 <dt>Add New Aux Bus</dt>
8902 <dd>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.</dd>
8903 <dt>Fit to Window</dt>
8904 <dd> will zoom the member tracks so that they fill the editor window.</dd>
8905 <dt>Enable All Groups</dt>
8906 <dd>makes all group active, including any hidden groups.</dd>
8907 <dt>Disable All Groups</dt>
8908 <dd>makes all groups inactive, including any hidden groups.</dd>
8913 title: The Clip List
8919 title: Workspace Browsers
8925 title: Importing and Exporting Session Data
8931 title: File and Session Management and Compatibility
8937 title: Playback & Recording
8943 title: Playing Back Track Material
8949 title: Using Ardour Clock Displays
8954 <dfn>Clocks</dfn> in Ardour are used to display <dfn>time values</dfn> precisely.
8955 In many cases, they are also one way to edit (change) time values, and in a few
8956 cases, the only way. All clocks share the same basic appearance and functionality,
8957 which is described below, but a few clocks serve particularly important roles.
8960 <h2>Transport Clocks</h2>
8963 In the transport bar of the editor window there are two clocks (unless you
8964 are on a very small screen), that display the current position of the playhead
8965 and additional information related to transport control and the timeline. These
8966 are called the <dfn>transport clocks</dfn>; the left one is the primary
8967 transport clock and the right one is the secondary transport clock.
8968 They look like this:
8971 <img src="/images/a3_new_main_clocks.png" alt="An image of the transport clocks in Ardour 3" />
8974 Editing the time in the transport clocks will reposition the playhead in the same
8975 way that various other editing operations will.
8978 <h3>The Big Clock</h3>
8980 To show the current playhead position in a big, resizable window, activate
8981 <kbd class="menu">Window > Big Clock</kbd>. The big clock is very useful
8982 when you need to work away from the screen but still want to see the playhead
8983 position clearly (such as when working with a remote control device across
8984 a room). The big clock will change its visual appearance to indicate when active
8985 recording is taking place. Below on the left is a screenshot showing a fairly
8986 large big clock window filling a good part of the display, and on the right,
8987 the same clock during active recording.
8989 <a href="/images/bigclock.png"><img src="/images/bigclock.png" height="100" alt="an image of the big clock filling a screen" /></a>Â <a href="/images/bigclock-recording.png"><img src="/images/bigclock-recording.png" height="100" alt="an image of the big clock while recording"
8992 <h3>The Special Role of the Secondary Transport Clock</h3>
8994 On a few occasions Ardour needs to display time values to the user, but there
8995 is no obvious way to specify what units to use. The most common case is the big
8996 cursor that appears when dragging regions. For this and other similar cases,
8997 Ardour will display time using the same units as the secondary clock.
8999 <h4>Why are there two transport clocks?</h4>
9001 Having two transport clocks lets you see the playhead position in two different
9002 time units without having to change any settings. For example, you can see the
9003 playhead position in both timecode units and BBT time.
9006 <h3>Selection and Punch Clocks</h3>
9008 The transport bar also contains a set of 5 clocks that show the current
9009 <dfn>selection range</dfn> and <dfn>punch ranges</dfn>. Clicking on the punch
9010 range clocks will locate to either the beginning or end of the punch range.
9011 Similarly, clicking on the range clocks will locate to either the beginning
9012 or end of the current selection. In this screen shot there is no current
9013 selection range, so the selection clocks show an "off" state.
9016 <img src="/images/selectionpunchclocks.png" alt="An image of the the selection and punch clocks in Ardour 3" />
9018 <h2>Clock Modes</h2>
9020 Every clock in Ardour has four different, selectable <dfn>clock
9021 modes</dfn>. Each mode displays time using different units.
9022 You can change the clock mode by <kbd class="mouse">Right</kbd>-clicking
9023 on the clock and selecting the desired mode from the menu. Some clocks are
9024 entirely independent of any other clock's mode; others are linked so that
9025 changing one changes all clocks in that group. The different modes are:
9029 <dd>Time is shown as <dfn><abbr title="Society of Motion Picture and Television
9030 Engineers">SMPTE</abbr> timecode</dfn> in Hours:Minutes:Seconds:Frames,
9031 measured from the timecode zero point on the timeline (which may not
9032 correspond to the session start and/or absolute zero on the timeline,
9033 depending on configurable timecode offsets).
9034 The frames value is dictated by either the session <abbr title="Frames Per
9035 Second">FPS</abbr> setting, or, if slaved to an external timecode master,
9036 the master's setting. In the transport clocks, the FPS value is shown below
9037 the time display, along with an indication of the current timecode source
9038 (<samp>INT</samp> means that Ardour is its own timecode source).</dd>
9040 <dd>Time is shown as Bars:Beats:Ticks, indicating <dfn>musical time</dfn> measured
9041 from the start of the session. The transport clocks show the current tempo
9042 in <abbr title="Beats Per Minute">bpm</abbr> and meter below the time
9044 <dt>Minutes:Seconds</dt>
9045 <dd>Time is shown as Hours:Minutes:Seconds.Milliseconds, measured from the
9046 absolute start of the timeline (ignoring the session start and any timecode
9049 <dd>Time is shown as a <dfn>sample count</dfn> from the absolute start of the timeline
9050 (ignoring the session start and any timecode offsets). The number of
9051 samples per second is given by the current sample rate, and in the transport
9052 clocks, this rate is shown below the time display along with any
9053 pullup/pulldown adjustment.</dd>
9056 <h3>Special Modes for the Transport Clocks</h3>
9058 In addition to the time-unit modes mentioned above, each of the two transport
9059 clocks (if you work on a small screen, you may only have one) can be
9060 independently set to display <dfn>Delta to Edit Point</dfn> in whatever time
9061 units its current mode indicates. This setting means that the clock shows the
9062 distance between the playhead and the current edit point, and it may show a
9063 positive or negative value depending on the temporal order of these two points.
9064 The clocks will use a different color when in this mode to avoid confusion.
9067 To switch either (or both!) of the transport clocks into this mode, use
9068 <kbd class="menu"> Edit > Preferences > Transport</kbd> and select
9069 the relevant checkboxes.
9072 Note that when in <samp>Delta to Edit Point</samp> mode, the transport clocks
9076 <h2>Changing clock values with the keyboard</h2>
9078 New values for the clock can be typed in after clicking on the relevant clock.
9079 Clicking on the clock will show a thin vertical cursor bar just to the right
9080 of the next character to be overwritten. Enter time in the same order as the
9081 current clock mode—if the clock is in Timecode mode, you need to enter
9082 hours, minutes, seconds, frames. So, to change to a time of 12:15:20:15 you
9083 would type <kbd class="input">1 2 1 5 2 0 1 5</kbd>. Each number you type will
9084 appear in a different color, from right to left, overwriting the existing value.
9085 Mid-edit, after typing <kbd class="input">3 2 2 2</kbd> the clock might look like this:
9087 <img src="/images/clockedit.png" alt="An image of a clock being edited in Ardour 3" />
9089 To finish the edit, press <kbd>↵</kbd> or <kbd>Tab</kbd>. To exit an
9090 edit without changing the clock press <kbd>ESC</kbd>. If you mis-type an entry
9091 so that the new value would be illegal (for example, resulting in more than 30
9092 frames when Timecode is set to 30 frames per second), the clock will reset at
9093 the end of the edit, and move the cursor back to the start so that you can
9097 <h3>Avoiding the mouse entirely</h3>
9099 There is a shortcut available for those who wish to be able to edit the transport
9100 clocks entirely without the mouse. It can be found in
9101 <kbd class="menu">Window > Key Bindings > Transport > Focus On
9102 Clock</kbd>. If bound to a key (<kbd>÷</kbd> on the numerical
9104 default), then pressing that key is equivalent to clicking on the primary (left)
9105 transport clock, and editing can begin immediately.
9108 <h3>Entering Partial Times</h3>
9110 One detail of the editing design that is not immediately obvious is that it is
9111 possible to enter part of a full time value. Suppose that the clock is in BBT
9112 mode, displaying <samp>024|03|0029</samp>, and you want to alter the value to
9113 the first beat of the current bar. Click on the clock and type
9114 <kbd class="input">0 1 0 0 0 0</kbd>. Similarly, if it is in Minutes:Seconds
9115 mode, displaying <samp>02:03:04.456</samp>, and you want to get to exactly 2
9116 hours, click on the clock and type <kbd class="input">0 0 0 0 0 0 0</kbd> to
9117 reset the minutes, seconds and milliseconds fields.
9120 <h3>Entering Delta Times</h3>
9122 You can also type values into the clock that are intended as a relative change,
9123 rather than a new absolute value. Simply end the edit by pressing
9124 <kbd>+</kbd> or <kbd>-</kbd> (the ones on any keypad will also work). The plus
9125 key will add the entered value to the current value of the clock, minus will
9126 subtract it. For example, if the clock is in Samples mode and displays
9127 <samp>2917839</samp>, you move it back 2000 samples by typing
9128 <kbd class="input">2 0 0 0</kbd> and <kbd>-</kbd>, rather than ending with
9131 <h2>Changing clock values with the mouse</h2>
9133 <h3>Using a scroll wheel</h3>
9136 Position the mouse pointer over the clock, and move the scroll wheel. Moving
9137 the scroll wheel up (<kbd class="mouse">⇑</kbd>) increases the value
9138 shown on the clock, moving it down (<kbd class="mouse">⇑</kbd>)
9139 decreases it. The step size is equal to the unit of the field
9140 you are hovering over (seconds, hours, etc.).
9143 <h3>Dragging the mouse</h3>
9146 Position the mouse pointer over the clock, press the left mouse button and drag.
9147 Dragging upwards increases the value shown on the clock, dragging downwards
9148 decreases it, again with a step size equal to the unit of the field you
9153 title: Controlling Playback
9157 <p class="fixme">There is no discussion of starting playback anywhere in here. Starting/stopping needs to be explained</p>
9160 Ardour offers many ways to <dfn>control playback</dfn> of your session, including the transport bar, key bindings and remote controls. You can also use markers to define locations or ranges within the session and rapidly move around between them.
9163 <img src="/images/transport-bar.png" alt="Ardour's transport bar" />
9166 If you synchronize Ardour 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).
9170 The <dfn>Transport Bar</dfn> at the top of the window is made of:
9174 <li><a href="/controlling-playback/using-the-transport-bar/">the Transport Controls</a></li>
9175 <li><a href="/ardours-interface/using-ardour-clock-displays/">the Clocks</a></li>
9176 <li>3 status indicators:
9178 <li><dfn>Solo</dfn>: Blinks when 1 or more track(s) are being soloed, see <a href="/mixing/muting-and-soloing/">Muting and Soloing</a>. Clicking this button while active toggles the solo off on all tracks.</li>
9179 <li><dfn>Audition</dfn>: Blinks when using the import dialog to audition material.</li>
9180 <li><dfn>Feedback</dfn>: Blinks when Ardour detects a <dfn>feedback loop</dfn>, 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.</li>
9182 <li>A global Meter, showing the level of the Master Output, see <a href="/ardours-interface/meters/">Metering in Ardour</a></li>
9183 <li>the Mode Selector, allowing to switch between Editor and Mixer views, or edit the Preferences.</li>
9187 title: Looping the Transport
9192 When the <dfn>loop transport</dfn> button is pressed, the playhead will
9193 jump the start of the loop range, and continue to the end of that range
9194 before returning to the start and repeating.
9195 While looping, a light green area is displayed in the time ruler over
9196 the tracks to show the loop range.
9200 By default, looping is bound to the <kbd>l</kbd> key.
9204 For more information on defining and altering the loop range see
9205 <a href="/working-with-markers/the-loop-range">Loop Range Markers</a>.
9208 <p class="fixme">Broken link</p>
9211 title: Positioning the Playhead
9216 The <dfn>playhead</dfn> is a vertical line with two arrows at each end
9217 that indicates the current position of playback.
9220 <h2>Positioning the playhead at the current pointer position</h2>
9223 Pressing <kbd>P</kbd> will set the playhead to the current position of
9224 the mouse pointer, if it is within the editor track area.
9227 <h2>Positioning the playhead on the timeline</h2>
9230 A <kbd class="mouse">Left</kbd> click anywhere on the timeline (rulers)
9231 will move the playhead to that position.
9234 <h2>Positioning the playhead with the transport clocks</h2>
9237 Click on either the primary or secondary transport clock and
9238 <a href="/ardours-interface/using-ardour-clock-displays">edit their value</a>
9239 to move the playhead to a specific position.
9242 <h2>Positioning the playhead at a marker</h2>
9245 Click <kbd class="mouse">Right</kbd> on the marker and select either
9246 <kbd class="menu">Locate to here</kbd> or <kbd class="menu">Play from
9251 The playhead can also be moved backward and forward through the markers by
9252 respectively pressing the <kbd>Q</kbd> and <kbd>W</kbd> keys. Pressing
9253 <kbd>Home</kbd> and <kbd>End</kbd> will move the playhead to the special
9254 markers <dfn>start</dfn> and <dfn>end</dfn>, respectively.
9258 title: Using Key Bindings
9263 Ardour has many available commands for playback control that can be bound
9264 to keys. Many of them have default bindings, some do not, so the list below
9265 shows both the default bindings and internal command names.
9268 <dl class="wide-table">
9269 <dt><kbd>Space</kbd></dt>
9270 <dd>switch between playback and stop.</dd>
9271 <dt><kbd>Home</kbd></dt>
9272 <dd>Move playhead to session start marker</dd>
9273 <dt><kbd>End</kbd></dt>
9274 <dd>Move playhead to session end marker</dd>
9275 <dt><kbd>→</kbd></dt>
9277 <dt><kbd>←</kbd></dt>
9279 <dt><kbd>0</kbd></dt>
9280 <dd>Move playhead to start of the timeline</dd>
9283 <p>Commands without default bindings include:</p>
9285 <p class="fixme">Add content</p>
9288 title: Using the Nudge Controls
9292 <p class="fixme">Add image of Nudge Controls</a>
9295 If there are no selected objects, the <dfn>nudge controls</dfn> can be
9296 used to move the playhead backward or forward by a fixed amount. The left
9297 and right buttons move either backward or forward in time, and the small
9298 clock to the left of these buttons sets the amount of time to nudge by.
9299 As with all other clocks, you can right-click on the clock to choose the
9300 time representation you want to use.
9304 Note that this is a secondary purpose of the nudge controls—it is
9305 usually used to move selected <dfn>objects</dfn> by specific distances, rather than
9310 title: Using the Transport Bar
9315 The <dfn>Transport Bar</dfn> groups all the actions regarding the control of playback and recording.
9318 <img src="/images/transport.png" alt="The transport controls" />
9321 This bar is made of (from left to right):
9325 <li><dfn>Midi Panic</dfn>: allows to immediately stop all midi output.</li>
9326 <li><dfn>Enable/disable Audio Click</dfn>: Toggles (on/off) a click track (metronome) along the <a href="/tempo-meter/tempo-and-meter/">tempo</a>.</li>
9327 <li><dfn>Go to Start of the Session</dfn>: Jumps back at the beginning of the session, as defined by the <a href="/working-with-markers/">start marker</a>.</li>
9328 <li><dfn>Go to End of the Session</dfn>: Jumps forward to the end of the session, as defined by the <a href="/working-with-markers/">end marker</a>.</li>
9329 <li><dfn>Play Loop Range</dfn>: Repeats the defined <a href="/controlling-playback/looping-the-transport/">loop</a> as defined by the <a href="/working-with-markers/loop-range/">Loop range</a>, until the "Stop playback" button is pressed. Clicking the "Play loop Range" button while already active switches to normal Play mode, which allows to exit the loop without stopping and restarting the playback.</li>
9330 <li><dfn>Play Range/Selection</dfn>: 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.</li>
9331 <li><dfn>Play from playhead</dfn>: Starts the playback and optionally record (more bellow).</li>
9332 <li><dfn>Stop</dfn>: Whatever the playing mode (loop, range, ...) stops all playback. Some effects (like chorus) might still be audible for a while.</li>
9333 <li><dfn>Toggle Record</dfn>: Global switch button to activate/deactivate recording. While active, the button blinks red. The button doesn't start the recording itself: if one or more tracks are marked as record-enabled, pressing the "Play from Playhead" starts the recording on this/these track(s). See <a href="/recording/">Recording</a>.</li>
9336 <p class="fixme">Language in the above paragraphs is awkward</p>
9339 All these actions are bound to keyboard shortcuts, which allows for speedier use and more focus while working.
9343 Under these buttons is the <dfn>Shuttle Speed Control</dfn> that allows to scrub through the audio quickly.
9347 The Shuttle Speed Control supports 2 operating modes, that can be chosen with right click > Mode:
9351 <li><dfn>Sprung mode</dfn> that allows for a temporary scrub: it only scubs while the mouse is left clicked on the control.</li>
9352 <li><dfn>Wheel mode</dfn> that allows to set a playback speed until the "Stop" button is pressed, which stops the playback and resets its speed.
9356 The mode is displayed on the right of the control. The current playback speed is shown by a green slider, that is square and centered when the playback speed is normal (1X) and becomes a circle when its changed. The further from the center the slider is set, the faster the playback will scrub in both directions, as displayed on the left of the control.
9360 The 3 vertical buttons on the right of the transport bar control the behaviour of the playhead:
9364 <li><dfn>Internal/MTC</dfn> defines if the current timecode is handled by Ardour, or by an external Midi device (see <a href="/synchronization/timecode-generators-and-slaves/">Timecode Generators and Slaves</a>).</li>
9365 <li><dfn>Follow Edits</dfn> is a toggle switch that defines if the playhead is moved when using the Grab Mode or the Range Mode tools, i.e. if any action on the canvas moves the playhead along.</li>
9366 <li><dfn>Auto Return</dfn> 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 part of the audio before and after having tweaked it, without having to loop on it.</li>
9377 title: Track Recording Modes
9382 The <dfn>Recording mode</dfn> is a per-track property (applies to audio
9383 tracks only) that affects the way that recording new material on top of
9384 existing material ("overdubbing") operates <em>in that track</em>.
9387 <h2 id="trackmodes">Track Modes</h2>
9390 Audio tracks in Ardour have a <dfn>mode</dfn> which affects how they behave
9394 <dl class="narrower-table">
9396 <dd>Tracks in <dfn>normal mode</dfn> will record non-destructively—new
9397 data is written to new files, and when overdubbing, new regions will be
9398 layered on top of existing ones. This is the recommended mode for most
9401 <dt>Non-Layered</dt>
9402 <dd>Tracks using <dfn>non-layered mode</dfn> will record non-destructively—new data is written to new files, but when overdubbing,
9404 regions are trimmed so that there are no overlaps. This does not affect
9405 the previously recorded audio data, and trimmed regions can be expanded
9406 again at will. Non-layered mode can be very useful for spoken word material,
9407 especially in combination with <a href="/editing-and-arranging/change-region-lengths/pushpull-trimming">push/pull trimming</a>.
9409 <p class="fixme">Broken link</p>
9413 <dd><dfn>Tape-mode</dfn> tracks do <strong>destructive</strong> recording:
9414 all data is recorded to a single file and if you overdub a section of existing
9415 data, the existing data is destroyed irrevocably—there is no undo.
9416 Fixed crossfades are added at every punch in and out point. This mode can be
9417 useful for certain kinds of re-recording workflows, but it not suggested for normal
9421 <img class="right" src="/images/a3_nonlayered_example.png" alt="normal and non-layered overdubbing comparision"
9425 The screenshot on the right shows the subtle difference between an overdub
9426 in <dfn>normal mode</dfn> (upper track) and one in <dfn>non-layered mode</dfn>
9427 (lower track). Both tracks were created using identical audio data.
9431 The upper track shows a new region which has been <dfn>layered on
9432 top</dfn> of the the existing (longer) region. You can see this if you look
9433 carefully at the region name strips. The lower track has split the existing
9434 region in two, trimmed each new region to create space for the new overdub,
9435 and inserted the overdub region in between.
9438 <h2 id="channelconfiguration">Channel Configuration</h2>
9441 Ardour tracks can have any number of inputs and any number of outputs, and
9442 the number of either can be changed at any time (subject to restrictions
9443 caused by any plugins in a track). However it is useful to not have to
9444 configure this sort of thing for the most common cases, and so the
9445 <a href="/working-with-tracks/adding-tracks">Add Tracks</a> dialog allows you
9446 to select "Mono", "Stereo" and few other typical multichannel presets.
9447 The name of the preset describes the number of <dfn>input channels</dfn>
9448 of the track or bus.
9452 If you have configured Ardour to automatically connect new tracks and
9453 busses for you, the number of outputs will be determined by the number of
9454 inputs of the <dfn>master <a
9455 href="/introducing-ardour/understanding-basic-concepts-and-terminology/#busses">bus</a></dfn>,
9456 to which the track outputs will be connected.
9460 For example, if you have a two-channel master bus, then a Mono track has one
9461 input and two outputs; a Stereo track has two inputs and two outputs.
9465 Setting <kbd class="menu">Edit > Preferences > Audio
9466 > Connection of Tracks and Busses</kbd> to <kbd
9467 class="menu">manual</kbd> will leave tracks disconnected by default
9468 and there will be as many outputs as there are inputs. It is up to you to
9469 connect them as you wish. This is not a particularly useful way to work
9470 unless you are doing something fairly unusual with signal routing and
9471 processing. It is almost always preferable to allow Ardour to make
9472 connections automatically, even if some of them have to be changed manually
9478 title: Audio Recording
9489 When recording, it is important that performers hear themselves, and to
9490 hear any pre-recorded tracks they are performing with.
9491 Audio recorders typically let you <dfn>monitor</dfn> (i.e. listen to)
9492 the input signal of all tracks that are armed for recording, and playing
9493 back the unarmed tracks.
9497 title: Latency Considerations
9503 In the days of analog tape recording, the routing of monitor signals was
9504 performed with relays and other analog audio switching devices. Digital
9505 recorders have the same feature, but may impart some
9507 href="/synchronization/latency-and-latency-compensation/"><dfn>latency</dfn></a>
9508 (delay) between the time you make a noise and the time that you hear it
9509 come back from the recorder.
9513 The latency of <em>any</em> conversion from analog to digital and back to
9514 analog is about 1.5–2 ms. Some musicians claim that even the
9515 basic <abbr title="Analog to Digital to Analog">A/D/A</abbr> conversion
9516 time is objectionable. However even acoustic instruments such as the piano
9517 can have approximately 3 ms of latency, due to the time the sound
9518 takes to travel from the instrument to the musician's ears. Latency below
9519 5 ms should be suitable for a professional recording setup. Because
9520 2 ms are already used in the A/D/A process, you must use extremely low
9521 <dfn>buffer sizes</dfn> in your workstation <abbr title="Input/Output">I/O</abbr>
9522 setup to keep the overall latency below 5ms. Not all
9523 <a href="/setting-up-your-system/the-right-computer-system-for-digital-audio">computer audio systems</a>
9524 are able to work reliably at such low buffer sizes.
9528 For this reason it is sometimes best to route the monitor signal
9529 through an external mixing console while recording, an approach taken by
9530 most if not all professional recording studios. Many computer I/O devices
9531 have a hardware mixer built in which can route the monitor signal "around"
9532 the computer, avoiding the system latency.
9536 In either case, the monitoring hardware may be digital or analog. And in
9537 the digital case you will still have the A-D-A conversion latency of
9542 title: Monitor Signal Flow
9543 menu_title: Signal Flow
9548 There are three basic ways to approach monitoring:
9551 <h3>External Monitoring</h3>
9553 <p><img class="right" src="/images/external-monitoring.png" /></p>
9556 When using <dfn>external monitoring</dfn>, 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.
9559 <h3>JACK-Based Hardware Monitoring</h3>
9561 <p><img class="right" src="/images/jack-monitoring.png" /></p>
9564 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 <dfn>hardware monitoring</dfn>. 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.
9567 <p class="fixme">Broken link</p>
9569 <h3>Software Monitoring</h3>
9571 <p><img class="right" src="/images/ardour-monitoring.png" /></p>
9574 With the <dfn>software monitoring</dfn> 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.
9578 title: Monitor Setup in Ardour
9579 menu_title: Setup in Ardour
9584 Ardour has three main settings which affect how
9585 monitoring is performed. The first is
9586 <kbd class="menu">Edit > Preferences > Audio >
9587 Record monitoring handled by</kbd>. There are two or three
9588 options here, depending on the capabilities of your hardware.
9592 The other two settings are more complex. One is
9593 <kbd class="menu">Tape machine mode</kbd>, found in the
9594 same dialog, and the other is the
9595 <kbd class="option">Session > Properties > Monitoring
9596 automatically follows transport state</kbd> setting.
9600 Monitoring also depends on the state of the track's record-enable button,
9601 the session record-enable button, and on whether or not the transport is
9605 <h2>Software or Hardware Monitoring Modes</h2>
9608 If Ardour is set to <dfn>external monitoring</dfn>, the explanation of
9609 Ardour's monitoring behaviour is simple: it does not do any.
9612 <h2>Monitoring in Non-Tape-Machine Mode</h2>
9615 When <dfn>Tape-Machine mode is off</dfn>, and a track is armed,
9616 Ardour <em>always</em> monitors the live input, except in one case:
9617 the transport is rolling, the session is not recording, and
9618 <dfn>auto-input</dfn>
9619 is active. In this case only, you will hear playback from an armed track.
9623 Unarmed tracks will play back their contents from disc, unless the
9624 transport is stopped <em>and</em> <dfn>auto-input</dfn> is enabled.
9625 In this case, the track monitors its live input.
9628 <h2>Monitoring in Tape-Machine Mode</h2>
9631 In <dfn>Tape-Machine mode</dfn>, things are slightly simpler: when a
9632 track is armed, its behaviour is the same as in non-tape-machine mode.
9636 Unarmed tracks however will always just play back their contents from
9637 disk; the live input will never be monitored.
9642 title: MIDI Recording
9648 title: Punch Recording Modes
9654 title: Working With Markers
9659 It is very useful to be able to tag different locations in a session for
9660 later use when editing and mixing. Ardour supports both
9661 <dfn>locations</dfn>, which define specific positions in time,
9662 and <dfn>ranges</dfn> which define a start and end position in time.
9666 In addition to the standard location markers, there are three kinds of
9672 <dfn>CD markers</dfn> are locations that are restricted to legal
9673 <dfn>CD sector boundaries</dfn>. They can be used to add track index
9674 markers to compact disc images.
9677 The <dfn>Loop range</dfn> defines the start end end points for Looping.
9680 The <dfn>punch range</dfn> defines the in and out points for punch
9686 title: Creating Location Markers
9691 <dfn>Location Markers</dfn> appear in the <dfn>Locations ruler</dfn> at the top
9692 of the timeline. The <dfn>start</dfn> and <dfn>end</dfn> markers appear
9693 automatically, but you can create custom markers at any position in a
9698 To add a marker at the <strong>current playhead position</strong>, press
9699 <kbd>Num-↵</kbd> (the Enter key on the numeric keypad).
9700 Alternatively, use <kbd class="menu">Transport > Markers > Add
9701 Mark from Playhead</kbd>.
9705 To add a marker at an <strong>arbitrary location</strong> on the timeline,
9706 navigate to the desired position, right-click on the Locations ruler and
9707 select <kbd class="menu">New Location Marker</kbd>.
9708 You can also go to the Editor list, click <kbd class="menu">New
9709 Marker</kbd> and use the clock widget to set its position.
9714 <a href="/working-with-markers/rangesmarks-list/">Ranges & Marks
9716 and <a href="/ardours-interface/using-ardour-clock-displays/"> Using
9717 Ardour Clock Displays</a>.
9721 title: Creating Range Markers
9725 <p class="fixme">Add images</a>
9728 <dfn>Range markers</dfn> are essentially two location markers the are grouped
9729 together to mark the beginning and end of a section in the timeline.
9732 <h2>Creating a Range on the timeline</h2>
9735 To create a new <dfn>range</dfn>, right-click on the
9736 Ranges ruler at the top of the timeline, then select
9737 <kbd class="menu">New Range</kbd>.
9738 Two markers with the same name will appear along the ruler.
9739 Both marks can be moved along the timeline by clicking and dragging
9740 them to the desired location.
9744 It is also possible to create range markers from a selected range or
9745 region in the Editor window, or to use the <kbd class="menu">Ranges
9746 & Marks List</kbd> in the Editor list.
9750 title: Ranges & Marks List
9755 The <dfn>Ranges & Marks List</dfn> is a tab in the <dfn>Editor
9756 Lists</dfn> area on the right of the Editor window. If the editor
9757 list area isn't visible it can be enabled by checking
9758 <kbd class="option">View > Show Editor List</kbd>.
9759 The Ranges & Marks list can be used as a single point
9760 of control for all range and location markers (including the punch and
9761 loop ranges), or as a supplement to other methods of working with them.
9764 <h2>Common elements</h2>
9767 Each section has a set of <dfn>editable <a
9768 href="/ardours-interface/using-ardour-clock-displays/">clock widgets</a></dfn>
9770 the location of a marker, or the start, end, and duration times of a range,
9772 The <kbd class="menu">Use PH</kbd> buttons allow you to set
9773 the corresponding clock to the current playhead position.
9774 A <kbd class="mouse">Middle</kbd> click on any of the clocks will move
9775 the playhead to that location. Both functions are also available from the
9776 clock context menus.<br />
9777 Right clicking on any of the clocks brings up a context menu that allows
9778 changing of the display between Timecode, Bars:Beats, Minutes:Seconds,
9782 The <kbd class="menu">—</kbd> (subtract) button in front of each
9783 user-defined range or marker in the list allows that particular item to
9784 be removed. The name fields of custom ranges and markers can be edited.
9787 The <kbd class="option">Hide</kbd> checkboxes make markers and ranges invisible
9788 on the respective ruler to reduce visual clutter; the markers remain
9789 active however, and can be used normally.<br />
9790 Selecting <kbd class="option">Lock</kbd> prevents the respective marker
9791 from being moved until unlocked.
9792 Where applicable, <kbd class="option">Glue</kbd> fixes the marker position
9793 relative to the current musical position expressed in bars and beats, rather
9794 than the absolute time. This will make the respective marker follow
9795 changes in the tempo map.
9798 At the bottom of the list are buttons to add new markers or ranges.
9800 <h2>List sections</h2>
9803 <dt>Loop/Punch Ranges</dt>
9804 <dd>This list shows the current <dfn>loop</dfn> and <dfn>punch</dfn> range
9805 settings. Since these are built-in ranges, you cannot rename or remove them.</dd>
9806 <dt>Markers (Including CD Index)</dt>
9807 <dd>This section lists the session's <dfn>markers</dfn>. By ticking <kbd
9808 class="option">CD</kbd>, you instruct Ardour to create a <dfn>CD track
9809 index</dfn> from this marker, which will be included in the TOC or CUE file when you
9811 <dt>Ranges (Including CD Track Ranges)</dt>
9812 <dd>This is the list of <dfn>ranges</dfn> (including <dfn>CD track
9813 ranges</dfn>). Ticking <kbd class="option">CD</kbd> will convert
9814 the range to a <dfn>CD track</dfn>, which will again be included in
9815 exported TOC or CUE files. This is relevant for Disk-At-Once recordings
9816 that may contain audio data between tracks.</dd>
9820 title: Moving Markers
9824 <h2>Single marker</h2>
9827 <kbd class="mouse">Left</kbd>-click and drag to move a single marker to a
9828 new location on the timeline.
9831 <h2>Multiple markers</h2>
9834 It is possible to move multiple markers by the same distance. <kbd
9835 class="mouse mod1">Left</kbd>-click each marker you want to move, then drag
9836 one of the selected markers to a new location. All selected markers will
9837 then move together. Note that the markers are bounded by the zero point on
9838 the timeline. In other words, the first marker in your selection cannot move
9839 to the left of zero on the timeline.
9842 <h2>Both ends of a range marker</h2>
9845 <kbd class="mod1 mouse">Left</kbd>-drag either end of the range marker. The
9846 other end will move by the same distance.
9850 title: The Loop Range
9854 <p class="fixme">Missing content</a>
9857 The <dfn>loop range</dfn> is a special range that defines the start and end points
9858 for loop play, which can be enabled in the transport bar.
9862 It can be defined via the <a href="/missing">timeline</a> or the <a
9863 href="/working-with-markers/rangesmarks-list/">Ranges & Marks
9867 <p class="fixme">Broken links</a>
9870 title: Marker Context Menu
9875 <kbd class="mouse">Right</kbd>-clicking a marker in the timeline opens the
9876 marker context menu. From this menu, you can:
9879 <dt>Locate to Here</dt>
9880 <dd>Move the playhead to this marker's position.</dd>
9881 <dt>Play from Here</dt>
9882 <dd>start playback from this marker's position.</dd>
9883 <dt>Move Mark to Playhead</dt>
9884 <dd>Move this marker to the current playhead position.</dd>
9885 <dt>Create Range to Next Marker</dt>
9886 <dd>Create a range marker between this location and the next one along on
9889 <dd>Hide this marker from the view. It can be made visible again from the
9890 <kbd class="menu">Window > Locations</kbd> window or the <a
9891 href="/working-with-markers/rangesmarks-list/">Ranges & Marks
9894 <dd>Change the name of the marker.</dd>
9896 <dd>If this is ticked, it will be impossible to drag the marker's
9897 position; useful if you want to prevent accidental movements.</dd>
9898 <dt>Glue to Bars and Beats</dt>
9899 <dd>If this is ticked, the marker will maintain its position in bars and
9900 beats even if there are changes in tempo and meter.</dd>
9902 <dd>Removes the marker. </dd>
9906 There are also a few options in <kbd class="menu">Transport > Active
9907 Mark</kbd>. These options apply to the currently selected location marker,
9908 and move it to a nearby region boundary, region sync point, or to the
9917 <p class="fixme">Missing content</a>
9920 The <dfn>punch range</dfn> is a special range used to define where
9921 recording will start and/or stop during a <dfn>punch</dfn>.
9925 It can be defined on the <a href="/missing">timeline</a> or in the
9926 <a href="/working-with-markers/rangesmarks-list/">Ranges & Marks</a>
9930 <p class="fixme">Broken links</a>
9940 title: Editing Basics
9946 title: Working With Regions
9950 <h2>Working With Regions</h2>
9953 <dfn>Regions</dfn> are the basic elements of editing and composing in
9954 Ardour. In most cases, a region represents a single contiguous section
9955 of one or more media files. Regions are defined by a fixed set of attributes:
9959 <abbr title="Musical Instrument Digital Interface">MIDI</abbr>
9960 <dfn>source file(s)</dfn> they represent,</li>
9961 <li>an <dfn>offset</dfn> (the "start point") in the audio or MIDI file(s), and</li>
9962 <li>a <dfn>length</dfn>.</li>
9965 When placed into a playlist, they gain additional attributes:
9968 <li>a <dfn>position</dfn> along the timeline, and</li>
9969 <li>a <dfn>layer</dfn>.</li>
9972 There are other attributes as well, but they do not <em>define</em> the
9973 region. Things you should know about regions:
9976 <h3>Regions Are Cheap</h3>
9978 By themselves, regions consume very little of your computer's resources.
9979 Each region requires a small amount of memory, and represents a rather
9980 small amount of CPU work if placed into an active track. So, don't worry
9981 about creating regions whenever you need to.
9984 <h3>Regions Are Not Files</h3>
9986 Although a region can represent an entire audio file, they are never
9987 equivalent to an audio file. Most regions represent just parts of an audio
9988 file(s) on disk, and removing a region from a track has nothing to do with
9989 removing the audio file(s) from the disk (the <kbd
9990 class="menu">Destroy</kbd> operation, one of Ardour's few destructive
9991 operations, can affect this). Changing the length of a region has no effect
9992 on the audio file(s) on disk. Splitting and copying regions does not alter
9993 the audio file in anyway, nor does it create new audio files (only
9994 <dfn>recording</dfn>,
9995 and the <kbd class="menu">Export</kbd>, <kbd class="menu">Bounce</kbd> and
9996 <kbd class="menu">Reverse</kbd> operations create new audio files).</p>
9999 title: Region Naming
10004 <dfn>Region names</dfn> are initially derived from either</p>
10006 <li>the name of the playlist for which they were recorded,</li>
10007 <li>the name of the track for which they were recorded, or</li>
10008 <li>the name of the embedded/imported file they represent.</li>
10011 It appears that recorded regions are always named after the track, not the
10012 active playlist in that track.
10015 <h2>Whole File Region Names</h2>
10017 These are not audio files, but regions that represent the full extent of an
10018 audio file. Every time a new recording is done, or a new file is imported
10019 to the session, a new region is created that represents the <dfn>entire audio
10020 file</dfn>. This region will have the name of the track/playlist/original file,
10021 followed by a "-", then a number plus a dot and then a number.
10024 For <dfn>recorded regions</dfn>, the number will increase each time a new recording
10025 is made. So, for example, if there is a playlist called
10026 <samp>Didgeridoo</samp>, the
10027 first recorded whole file region for that playlist will be called
10028 <samp>Digderidoo-1</samp>. The next one will be <samp>Digeridoo-2</samp> and so on.
10031 For <dfn>imported regions</dfn>, the region name will be based on the original file
10032 name, but with any final suffix (e.g. ".wav" or ".aiff") removed.
10035 Normally, whole file regions are not inserted into tracks or playlists,
10036 but regions derived from them are. The whole-file versions live in the
10037 editor region list where they act as an organizing mechanism for regions
10038 that are derived from them.
10041 <h2>Normal Region Names</h2>
10043 When a region is inserted into a track and playlist, its initial name will
10044 end in a <dfn>version number</dfn>, such as <samp>.1</samp>. For a recorded region,
10045 if the whole file region was <samp>Hang drum-1</samp>, then the region in
10046 the track will appear with the name <samp>Hang drum-1.1</samp>. For an
10047 imported region, if the whole file region was <samp>Bach:Invention3</samp>,
10048 then the region in the track will appear with the name
10049 <samp>Bach:Invention3.1</samp>.
10052 <h2>Copied Region Names</h2>
10054 If you <dfn>copy a region</dfn>, it initially shares the same name as the original.
10055 When you perform an operation modifies one of the copies, Ardour will
10056 increment the version number on the particular copy that changed.
10059 <h2>Renaming Regions</h2>
10061 You can <dfn>rename a region</dfn> at any time. Use the region context menu to
10062 pop up the <kbd class="menu">Rename</kbd> dialog. The new name does not need to
10063 have a version number in it (in fact, it probably should not). Ardour will add a
10064 version number in the future if needed (e.g. if you copy or split the region).
10068 title: Corresponding Regions Selection
10073 <a href="/working-with-tracks/track-and-bus-groups/">Track Groups</a> have
10074 a property titled <kbd class="option">Select</kbd> which, if enabled, cause
10075 Ardour to propagate a region selection in one track of a group to the
10076 <dfn>corresponding regions</dfn> of the other tracks in that group.
10079 For example, let's assume you have used multiple microphones to record a
10080 drum kit to multiple tracks. You have created a track group, added all the
10081 drum tracks, enabled the group and enabled the Select property for the group.
10082 When you select a region in one of the drum tracks, Ardour will select the
10083 corresponding region in every other drum track in the group, which in turn
10084 means that a subsequent edit operation will affect all the grouped drum
10088 <h2>How Ardour Decides Which Regions are "Corresponding"</h2>
10090 Regions in different tracks are considered to be corresponding for the purposes
10091 of sharing <dfn>selection</dfn> if they satisfy <em>all</em> the following criteria:
10094 <li>Each region starts at the <dfn>same offset</dfn> within its source file,</li>
10095 <li>each region is located at the <dfn>same position</dfn> on the timeline, and</li>
10096 <li>each region has the <dfn>same length</dfn>.</li>
10099 <h2>Overlap Correspondence</h2>
10101 Sometimes, the rules outlined above are too strict to get Ardour to do what you
10102 want. Regions may have been trimmed to slightly different lengths, or positioned
10103 slightly differently, and this will cause Ardour to not select regions in other
10104 grouped tracks.</p>
10106 In this case, change
10107 <kbd class="menu">Edit > Preferences > Editor > Regions in
10108 active edit groups are edited together:</kbd> to <kbd
10109 class="menu">whenever they overlap in time</kbd>. With this option enabled, r
10110 egions in different tracks will be considered equivalent for the purposes of selection if they
10111 <dfn>overlap</dfn>. This is much more flexible and will cover almost all of the
10112 cases that the fixed rules above might make cumbersome.
10116 title: Region Context Menu
10120 <p class="fixme">Need to add detail to the context menu table to describe what the options do</p>
10123 In the editor window, right clicking (context clicking) on a region
10124 displays a menu with <dfn>track and region operations</dfn>. The menu begins with the
10125 name of the region, or <kbd class="menu">Selected Regions</kbd> if multiple
10126 regions are selected.
10129 If there is more than one region layered at the point where you clicked, the
10130 menu will also contain an item <kbd class="menu">Choose Top</kbd>. This
10131 dialog lets you select which region you want on the top <dfn>layer</dfn>. See
10132 <a href="manual/region_layering">Adjusting Region Layering</a> for more details.
10135 Below these items is the rest of the
10136 <a href="/working-with-tracks/track-context-menu">Track Context Menu</a>, which
10137 provides access to <dfn>track-level operations</dfn>. To see the contents
10138 of the region context menu, select the region name or "Selected Regions", and
10139 the following submenu structure appears:
10141 <dl class="narrower-table">
10146 <dt>Properties</dt>
10152 <dl class="wide-table">
10159 <dt>Make Mono Regions</dt>
10165 <dt>Pitch Shift</dt>
10169 <dt>Close Gaps</dt>
10171 <dt>Place Transients</dt>
10173 <dt>Rhythm Ferret</dt>
10175 <dt>Strip Silence</dt>
10181 <dl class="wide-table">
10182 <dt>Move To Original Position</dt>
10186 <dt>Glue to Bars and Beats</dt>
10188 <dt>Snap Position to Grid</dt>
10190 <dt>Set Sync Position</dt>
10192 <dt>Remove Sync</dt>
10194 <dt>Nudge Later</dt>
10196 <dt>Nudge Earlier</dt>
10198 <dt>Nudge Later by capture offset</dt>
10200 <dt>Nudge Earlier by capture offset</dt>
10206 <dl class="wide-table">
10207 <dt>Trim Start at Edit Point</dt>
10209 <dt>Trim End at Edit Point</dt>
10211 <dt>Trim to Loop</dt>
10213 <dt>Trim to Punch</dt>
10215 <dt>Trim to Previous</dt>
10217 <dt>Trim to Next</dt>
10223 <dl class="wide-table">
10224 <dt>Raise to Top</dt>
10230 <dt>Lower to Bottom</dt>
10236 <dl class="wide-table">
10237 <dt>Set Loop Range</dt>
10239 <dt>Set Punch Range</dt>
10241 <dt>Add Single Range Marker</dt>
10243 <dt>Add Range Marker per Region</dt>
10245 <dt>Set Range Selection</dt>
10251 <dl class="wide-table">
10258 <dt>Reset Envelope</dt>
10260 <dt>Envelope Active</dt>
10266 <dl class="wide-table">
10277 <dl class="wide-table">
10280 <dt>Multi-Duplicate</dt>
10282 <dt>Fill Track</dt>
10288 <dt>Bounce (without processing)</dt>
10290 <dt>Bounce (with processing)</dt>
10292 <dt>Spectral Analysis</dt>
10299 title: Common Region Edit Operations
10300 menu_title: Region Editing
10305 This section covers a set of <dfn>region editing operations</dfn>
10306 that you are likely to use often while working on a session.
10307 Depending on your work habits (and experience of other
10308 <abbr title="Digital Audio Workstation">DAW</abbr>s) you will find
10309 some of these operations critical while others are used only rarely.
10313 You can carry out all of these operations from the keyboard (see
10314 <a href="/default-keyboard-bindings">Default Keyboard Shortcuts</a>
10315 for a list). Equivalent operations can be performed with the mouse
10320 You may want to review your understanding of
10321 <a href="/editing-and-arranging/edit-point">the edit point/range</a> and
10322 <a href="/editing-and-arranging/which-regions-are-affected">which regions will be affected by region operations</a>.
10325 <dl class="wide-table">
10326 <dt><kbd class="menu">Spot (Align)</kbd></dt>
10327 <dd>Move selected regions to the edit point.</dd>
10328 <dt><kbd class="menu">Split</kbd></dt>
10329 <dd>Split selected regions at the edit point.</dd>
10330 <dt><kbd class="menu">Trim Start</kbd></dt>
10331 <dd>Adjust the start of selected regions to the edit point (or as close as
10333 <dt><kbd class="menu">Trim End</kbd></dt>
10334 <dd>Adjust the end of selected regions to the edit point (or as close as
10336 <dt><kbd class="menu">Duplicate</kbd></dt>
10337 <dd>Make a copy of each selected region and position it immediately after the
10339 <dt><kbd class="menu">Crop</kbd></dt>
10340 <dd>Truncate selected regions to the edit range.</dd>
10341 <dt><kbd class="menu">Separate</kbd></dt>
10342 <dd>Split selected regions at both ends of the edit range.</dd>
10343 <dt><kbd class="menu">Set Fade In</kbd></dt>
10344 <dd>Adjust selected audio regions' fade in to end at the edit point.</dd>
10345 <dt><kbd class="menu">Set Fade Out</kbd></dt>
10346 <dd>Adjust selected audio regions' fade out to end at the edit point.</dd>
10347 <dt><kbd class="menu">Toggle Fade In</kbd></dt>
10348 <dd>Turn selected audio regions' fade in on or off.</dd>
10349 <dt><kbd class="menu">Toggle Fade Out</kbd></dt>
10350 <dd>Turn selected audio regions' fade out on or off.</dd>
10351 <dt><kbd class="menu">Play Region</kbd></dt>
10352 <dd>Play session from the start of the earliest selected region.</dd>
10353 <dt><kbd class="menu">Zoom To Region</kbd></dt>
10354 <dd>Zoom horizontally so that the selected regions span the editor track
10356 <dt><kbd class="menu">Set Sync Point</kbd></dt>
10357 <dd>Set the sync point of all selected regions to the edit point.</dd>
10358 <dt><kbd class="menu">Insert</kbd></dt>
10359 <dd>Inserts the currently selected regions in the Region List at the edit
10364 title: Copy Regions
10368 <h2>Copy a Single Region</h2>
10371 To copy a region, make sure you are in object mouse mode. Move the mouse
10372 pointer into the region and <kbd class="mouse mod1">left</kbd>-drag. Ardour
10373 creates a new region and follows the mouse pointer as it moves. See
10374 <a href="/editing-and-arranging/move-regions/">Move Regions</a> for more
10375 details on moving the copied region.
10378 <h2>Copy Multiple Regions</h2>
10381 To copy multiple regions, select them before copying. Then
10382 <kbd class="mouse mod1">left</kbd>-drag one of the selected regions. All the
10383 regions will be copied and as they move. The copied regions will keep their
10384 positions relative to each other.
10387 <h2>Fixed-Time Copying</h2>
10390 If you want to copy region(s) to other track(s) but keep the copies at the
10391 exact position on the timeline as the originals, simply use
10392 <kbd class="mouse mod1">Middle</kbd>-drag instead.
10396 title: Move Regions
10400 <p class="fixme">Add images</p>
10403 Ardour has a global <dfn>edit mode</dfn> selector at the left of the
10404 Editing toolbar, which affect how regions are moved or copied:
10408 <dt><kbd class="menu">Slide</kbd></dt>
10409 <dd>Regions move freely. Ardour creates overlaps when necessary.</dd>
10410 <dt><kbd class="menu">Lock</kbd></dt>
10411 <dd>No region motion is permitted (except for "nudge").</dd>
10412 <dt><kbd class="menu">Ripple</kbd></dt>
10413 <dd>The effect of an edit is reflected in the regions to the "right" of the edit</dd>
10416 <h2>More details about Ripple</h2>
10419 Ripple Edit mode provides the following conveniences:
10421 <li> Deleting a range will move later regions to compensate for the deleted time </li>
10422 <li> Deleting a region will move later regions to compensate for the deleted region's length </li>
10423 <li> Moving a region will move later regions to compensate for the length of the move</li>
10424 <li> Inserting a new region (via dragging or via Paste) will move later regions to the right to compensate</li>
10429 If <kbd class="menu">Snap To Grid</kbd> is enabled, then regions can
10430 only move so that they align with locations determined by the current
10431 snap settings (beats, or seconds, or other region boundaries, etc).
10432 See <a href="/editing-and-arranging/snap-to-the-grid">Snap To the Grid</a>
10437 title: Move Regions With the Mouse
10442 To move or copy a region, make sure you are in object mode. If you are
10443 using smart mode, the pointer must be in the lower half of the region
10444 to begin a move or copy operation.
10448 Move the pointer into the region, use a <kbd class="mouse">Left</kbd>-drag.
10449 The region will follow the pointer as you move it around. By default,
10450 the region can move freely along the timeline.
10454 To move a region from one track to another, simply start a move as
10455 described above, but move the pointer into the desired track. The
10456 region will follow the pointer. Note that if you have other kinds of
10457 tracks visible, the region will remain where it is as the pointer
10458 moves across them, and will then jump to the new track. This serves as
10459 a visual reminder that you cannot drag an audio region into an automation
10460 track or a bus, for example.
10463 <h2>Move Multiple Regions</h2>
10466 To move multiple regions, select them before moving. Then
10467 <kbd class="mouse">Left</kbd>-drag one of the selected regions. All the
10468 regions will move, keeping their positions relative to each other.
10471 <h2>Fixed-Time Motion</h2>
10474 Sometimes, you want to move a region to another track, but keeping its
10475 position along the timeline exactly the same. To do this, use
10476 <kbd class="mouse">Middle</kbd>-drag instead.
10480 title: Align (Spot) Regions
10485 Aligning regions (sometimes called "spotting") means moving one or more
10486 regions based on a defined location, which in Ardour is always the
10487 <a href="/editing-and-arranging/edit-point">edit point</a>. An
10488 alignment operation moves the region(s) so that some part of the region
10489 is positioned at the edit point. Available alignment commands include:
10492 <dl class="wide-table">
10493 <dt>Align Region starts <kbd class="mod14">a</kbd></dt>
10494 <dd>Selected region(s) are moved so that their start is located at the current edit point</dd>
10495 <dt>Align Region ends <kbd class="mod2">a</kbd></dt>
10496 <dd>Selected region(s) are moved so that the end is located at the current edit point</dd>
10497 <dt>Align Region sync points <kbd>Shift-a</kbd></dt>
10498 <dd>Selected region(s) are moved so that their sync point is located at the current edit point</dd>
10499 <dt>Align Region starts relative <kbd class="mod4">a</kbd></dt>
10500 <dd>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</dd>
10505 title: Edit Mode and Tools
10516 Editing operations in a Digital Audio Workstation like Ardour can be broken
10517 down according to how many points on the timeline are required to carry the
10518 operation out. Splitting a region for example, requires just one position
10519 on the timeline (the one where the split will happen). Cutting out a time
10520 range requires two positions, one for the start of the cut and one for the end.
10524 In Ardour the <dfn>edit point</dfn> is the location where most single-point
10525 editing operations take place. It can be set to either of the following:
10529 <li>the <dfn>playhead</dfn></li>
10530 <li>the position of the <dfn>pointer</dfn> (mouse or touch)</li>
10531 <li>the selected (or "active") <dfn>marker</dfn></li>
10535 The default edit point is the location of the pointer.
10539 There are 2 keybindings available to cycle through the edit point options.
10540 The most common workflow tends to involve switching back and forth between
10541 the playhead and mouse as the edit point. Press the grave accent key
10542 <kbd>`</kbd> to switch between these two. Use <kbd class="mod1">`</kbd> to
10543 cycle through all three choices (including the selected marker). You can
10544 also switch the edit point using a combo-selector just right of the snap/grid
10548 <p class="fixme">Add images</p>
10551 title: Which Regions Are Affected?
10552 menu_title: Affected Regions
10557 This section explains the rules used to decide which regions are affected
10558 by editing operations. You don't really have to understand them—hopefully
10559 things will Just Work™—but it may be useful eventually to understand the rules.
10563 Editing operations in Ardour either operate on a single point in time
10564 (<kbd class="menu">Split</kbd> being the obvious example) or on two
10565 points (which can also be considered to be a range of sorts); <kbd
10566 class="menu">Separate</kbd> is a good example of this.
10570 Most operations will operate on the currently selected region(s), but if
10571 no regions are selected, the region that the mouse is in will be used
10572 instead. Single-point operations will generally pick a set of regions to
10573 use based on the following rules:
10577 <li> If the edit point is 'mouse', then
10579 <li>if the mouse is over a selected region, or no region, use all selected
10581 <li>if the mouse is over an unselected region, use just that region.</li>
10584 <li> For all other edit points
10587 use the selected regions <em>and</em> those that are both
10588 under the edit position <em>and</em> on a selected track,
10589 or on a track which is in the same active edit-enabled route group
10590 as a selected region.
10597 The rationale here for the two different rules is that the mouse edit point
10598 is special in that its position indicates both a time and a track; the other
10599 edit points (Playhead, Marker) indicate a time only.
10603 title: Snap to the Grid
10604 menu_title: Snap to Grid
10608 <p class="fixme">Get rid of all the <br>s, they look like shit</p>
10611 Ardour's editor utilizes a <dfn>grid</dfn> to assist in the placement
10612 of regions on the timeline, or with editing functions that need to happen
10613 at a specific point in time. You can choose if you want the cursor and
10614 various objects to snap to this grid, and how you want the snapping to
10615 behave. You can modify the grid units to fit your needs.
10618 <h2>About Snapping</h2>
10620 <p>There are two ways to think about aligning material to a grid.
10621 The first and most obvious one is where an object\'s position is clamped
10622 to grid lines. In Ardour, this is called <dfn>absolute snap</dfn>
10623 and is commonly used when working with sampled material where audio
10624 begins exactly at the beginning of a file, note or region.</br>
10625 The second, <dfn>relative snap</dfn>, is used when an object's position
10626 relative to the grid lines is important. In music, this allows you to
10627 move objects around without changing the "feel" (or timing) of a performance.</br>
10628 Absolute snap is the default method of snapping in Ardour.</br>
10629 While dragging objects you may switch from absolute to relative snap by
10630 pressing the absolute snap modifier key(s).</br>
10631 You may also disable snap entirely by using the snap modifier (see below).</br>
10632 Note that in relative snap mode the reference point is taken to be the distance
10633 to the nearest grid line.</br>
10634 Note also that when an object lies exactly on a grid line, there will be no difference
10635 between relative and absolute snap modes.</br>
10636 The realtive snap and snap modifiers (along with other modifier keys) may be set in
10637 <kbd class="menu">Edit > Preferences > User Interaction</kbd></br>
10638 For common use patterns, it is recommended that you assign a unique key for
10639 one snap modifier and two keys for the other in such a way that they share an otherwise unused key.
10640 For example, you may choose the snap modifier to be the <kbd class="mod2"> </kbd> key and the
10641 relative snap modifier to be the <kbd class="mod2"> </kbd> and <kbd class="mod4"> </kbd> keys.
10644 <h2>Snap Modes</h2>
10646 Using the above modifications, Ardour supports three different modes of snapping to the grid:
10649 <dl class="wide-table">
10650 <dt><kbd class="menu">No Grid</kbd></dt>
10651 <dd>disables the grid. All objects move freely in this mode.</br>
10652 In <kbd class="menu">No Grid</kbd> mode, you may temporarily activate the grid by pressing the
10653 snap modifier (for absolute snap) or switch to relative snap by pressing the relative snap modifier.</dd>
10654 <dt><kbd class="menu">Grid</kbd></dt>
10655 <dd>activates normal snapping. All positions of objects snap to
10656 the grid. (See <a href="#gridunits">Grid Units</a> below
10657 to change the grid). If you try to move an object in "Grid"-mode, it
10658 does not change its position until you move the mouse far enough for the
10659 object to reach the next grid line.</br>
10660 Sometimes you may wish to maintain an objects' position relative to the grid line.
10661 In order to do this, use the "snap relative" modifier.
10662 When holding down this modifier during a drag, the dragged object will jump
10663 while maintaining its original distance from the line.</br>
10664 New objects will always be created at grid points.</br>
10665 Holding down the snap modifier will disable the current grid setting and allow you to move the object freely.</br>
10667 <dt><kbd class="menu">Magnetic</kbd></dt>
10668 <dd>is a less strict type of snapping. Objects can still be moved to any
10669 position, but positions close to the relative or absolute grid points will snap.
10670 In order to move an object very close to a snap point, it may be necessary
10671 to zoom in to prevent snapping to that point, or to use the snap modifier to disable snap completely.</br>
10672 As with Grid mode, the snap modifier will disable snap completely while the
10673 absolute snap modifier will move the "notch" of Magnetic snap to the grid lines.</dd>
10676 <h2>Syncing Regions to the Grid</h2>
10678 By default, a region's beginning will be used as the reference for both types of snapping,
10679 but you can change this behaviour by setting a <dfn>sync point</dfn> in
10680 the region. Select the region(s) and press <kbd>V</kbd>. This will set
10681 the sync point to your edit point.</p>
10683 <h2 id="gridunits">Grid Units</h2>
10685 The selector next to the grid mode selector defines the size of the grid
10686 elements. You can set your grid to several different units:
10688 <dl class="wide-table">
10689 <dt><kbd class="menu">CD Frames</kbd></dt>
10690 <dd>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
10692 <dt><kbd class="menu">Timecode Frames/Seconds/Minutes</kbd></dt>
10693 <dd>The duration of a frame depends on the timecode settings for the
10695 <dt><kbd class="menu">Seconds/Minutes</kbd></dt>
10696 <dd>These are absolute time units, unaffected by sample rate or timecode settings</dd>
10697 <dt><kbd class="menu">Beats/N</kbd></dt>
10698 <dd>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.</dd>
10699 <dt><kbd class="menu">Beats</kbd></dt>
10700 <dd>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.</dd>
10701 <dt><kbd class="menu">Bars</kbd></dt>
10702 <dd>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.</dd>
10703 <dt><kbd class="menu">Markers</kbd></dt>
10704 <dd>The grid lines are the markers.</dd>
10705 <dt><kbd class="menu">Region Starts</kbd></dt>
10706 <dd>The grid lines are constructed from region start points (see below).</dd>
10707 <dt><kbd class="menu">Region Ends</kbd></dt>
10708 <dd>The grid lines are constructed from region end points (see below).</dd>
10709 <dt><kbd class="menu">Region Syncs</kbd></dt>
10710 <dd>The grid lines are constructed from region sync points.</dd>
10711 <dt><kbd class="menu">Region Bounds</kbd></dt>
10712 <dd>The grid lines are constructed from region start or end points.</dd>
10716 To use Region starts/ends/syncs/bounds as snap choices, you must have
10721 <li><em>No</em> tracks selected, which means that Ardour snaps to regions on any track, or </li>
10722 <li>Several tracks selected, which means that Ardour only snaps to regions on those selected tracks.</li>
10726 If you are moving items on a track, and only the current track is selected,
10727 then you will only be able to snap to other regions on the same track.
10728 This means that enabling
10729 <kbd class="menu">Edit > Preferences > Editor > Link Selections of Regions and
10730 Tracks</kbd> will make the "Region" grid unit unusable. Avoid the use of this option if
10731 you are going to use any of the Region grid units.
10736 title: Making Selections
10742 title: Select Regions
10746 <p class="fixme">Remove all "you" references FFS</p>
10749 Many editing operations in Ardour require you to first <dfn>select one or more
10750 regions</dfn> that you want to change in some way. You can select a single region,
10751 or multiple regions, including regions in different tracks. When you select
10752 a region, it will appear in a darker color than unselected regions.
10756 Note that if a track is a member of a group that is active and has the
10757 <kbd class="option">Select</kbd> property enabled, then Ardour will attempt to
10758 match whatever selections you make in one track across every other track of the
10760 <a href="/working-with-regions/corresponding-regions-selection/">Corresponding
10761 Regions Selection</a> for more information on precisely how selections will be
10762 propagated to other tracks.
10765 <h2>Region Selection and Track Selection</h2>
10769 <a href="/working-with-tracks/selecting-tracks/region-and-track-selection">Region & Track Selection</a>
10770 for more information on how selecting regions and selecting tracks interact.
10773 <p class="fixme">Broken link</p>
10775 <h2>Select a Region</h2>
10778 Confirm that you are using the
10779 <a href="/ardours-interface/introducing-the-editor-window/the-editing-toolbar/#object">Object tool</a>,
10780 then click on a region to select it. If
10781 <a href="/ardours-interface/introducing-the-editor-window/the-editing-toolbar/#smartmode">smart mode</a>
10782 is enabled, click in the lower half of the region.
10785 <h2>Deselect a Region</h2>
10788 Confirm you are using the
10789 <a href="/ardours-interface/introducing-the-editor-window/the-editing-toolbar/#object">Object tool</a>,
10790 then <kbd class="mouse mod1">Left</kbd>-click the region. If
10791 <a href="/ardours-interface/introducing-the-editor-window/the-editing-toolbar/#smartmode">smart mode</a>
10792 is enabled, click in the lower half of the region.
10796 Note that a <kbd class="mouse mod1">left</kbd> click simply toggles the
10797 selected status of an object, so it can be used to select unselected regions
10801 <h2>Select Multiple Regions in a Track</h2>
10803 <p>Do one of the following:</p>
10806 <li><kbd class="mouse mod1">Left</kbd>-click each region, or</li>
10808 drag a rubberband box from an empty point in a track before the first
10809 region you wish to select to a point within or after the last region
10810 you wish to select (you can <kbd class="mouse mod1">left</kbd>-drag to do this
10811 multiple times), or,
10814 if the regions are all adjacent to one another, click the first region
10815 you wish to select, then <kbd class="mouse mod3">Left</kbd>-click the last
10816 region you wish to select.
10820 <h2>Select All Regions in a Track</h2>
10823 Context-click the track, and in the context menu, navigate to
10824 <kbd class="menu">Select > Select All In Track</menu>.
10828 See the <a href="/working-with-tracks/the-track-context-menu">Track Context Menu</a>
10829 for more information on other per-track selection operations that are available.
10832 <p class="fixme">Broken link</p>
10834 <h2>Select Multiple Regions Across Different Tracks</h2>
10837 <kbd class="mouse mod1">Left</kbd>-click or <kbd class="mouse
10838 mod3">Left</kbd>-click the regions you wish to select.
10841 <h2>Select a Region From the Region List</h2>
10844 Click the name of the region in the
10845 <a href="/ardours-interface/introducing-the-editor-window/editor-lists/region-list/">Region List</a>.
10846 Note that this will do nothing for whole-file regions, since they do not exist
10847 anywhere in a playlist or track.
10852 title: Editing Clips and Selections
10857 title: Trimming Regions
10861 <p class="fixme">Add images, description of mouse cursor changes that signal this type of editing</p>
10864 Changing the <dfn>length</dfn> of a region is a very common editing
10865 operation, often known as <dfn>trimming</dfn>. There are several ways
10866 to accomplish this with Ardour, and some very useful specialized trimming
10870 <h2>Drag-Trimming With the Mouse</h2>
10873 In object mode, move the pointer near the beginning or end of the region.
10874 The cursor will change to indicate that trimming is possible, and you then
10875 <kbd class="mouse">Left</kbd>-drag the edge of the region.
10879 Trimming will obey <a href="/editing-and-arranging/snap-to-the-grid/">Snap settings</a>.
10882 <h2>Click Trimming With the Mouse</h2>
10885 <kbd class="mouse">Left</kbd>-click in the colored bar at the bottom of a region.
10886 If you are nearer to the start of a region, this will trim the start time to the
10887 position of the pointer. If you are nearer to the end of a region, it will trim the
10891 <h2>Keyboard Shortcuts for Trimming</h2>
10893 There are several commands for region trimming. Some use the
10894 <a href="/editing-and-arranging/edit-point">edit point</a> to determine where
10895 to trim to. Some are not bound to any keys by default (but could be via the
10896 Keybindings Editor).
10899 <dl class="wide-table">
10900 <dt><kbd class="menu">Region/trim-front</kbd> <kbd>j</kbd></dt>
10901 <dd>Trim selected region(s) start to edit point.</dd>
10902 <dt><kbd class="menu">Region/trim-end</kbd> <kbd>k</kbd></dt>
10903 <dd>Trim selected region(s) end to edit point.</dd>
10906 <h2 id="trimtonextprevious">Trim to Next/Previous Region</h2>
10909 Sometimes you just want to extend the start or end of region so that it reaches
10910 the end or start of an adjacent region. There is now an operation accessible
10911 from the region context menu, under <kbd class="menu">Edit >Trim > Trim to
10912 Next</kbd> or <kbd class="menu">Edit > Trim > Trim to Previous</kbd>. This
10913 will extend the selected regions so they directly adjoin their neighbours, unless
10914 their source files are not long enough, in which case they will be extended to the
10915 maximum possible. Trim to Next will extend the end of the selected regions to the
10916 start of the next region; Trim to Previous will extend the start of the selected
10917 regions to the end of the previous region.
10920 <dl class="wide-table">
10921 <dt><kbd class="menu">Region/trim-to-previous-region</kbd> <kbd class="mod1">j</kbd></dt>
10922 <dd>Trim the start of selected region(s) to the end of the previous
10924 <dt><kbd class="menu">Region/trim-to-next-region</kbd> <kbd class="mod1">k</kbd></dt>
10925 <dd>Trim the end of selected region(s) to the start of the following
10929 <h2>Other Possible Commands for Trimming</h2>
10932 These are not bound to any keys by default, but could be via the Keybindings
10933 Editor. They can also be sent via OSC or other control protocols.
10936 <dl class="wide-table">
10937 <dt><kbd class="menu">Region/trim-region-to-loop</kbd></dt>
10938 <dd>Trim region to match the current loop range.</dd>
10939 <dt><kbd class="menu">Region/trim-region-to-punch</kbd></dt>
10940 <dd>Trim region to match the current punch range.</dd>
10944 title: Push/Pull Trimming
10949 Normally, when you trim regions by dragging with the mouse, it affects
10950 only the selected regions. Their lengths are directly affected by the
10951 trim operation, but nothing else is. Sometimes though, you might like
10952 to trim a region that directly adjoins another, and keep this relationship
10953 the same—you are not trying to make one of the regions extend
10954 over the other—you would like the junction to move in one
10955 direction or the other as part of the trim. This requires trimming both
10956 regions on either side of the junction, in opposite directions.
10957 <dfn>Push/Pull trim</dfn>, activated by pressing shift key before
10958 starting the drag, will do just that. Here's a few pictures to show the
10959 difference in the results of a normal trim and push/pull trim. First,
10960 the initial situation:
10963 <p class="center"><img src="/images/a3_before_trim.png" alt="region arrangement before trim" /></p>
10966 Here is what happens after we trim the right hand (selected) region by
10967 dragging its starting position earlier:
10970 <p class="center"><img src="/images/a3_after_trim.png" alt="region arrangement after a trim" /></p>
10973 You can see that it now overlaps the earlier region and a crossfade has
10974 been created between them.
10978 Lets look now at what happens if we do the same trim, but <kbd
10979 class="mouse mod3">Left</kbd>-dragging to turn it into a push-pull trim instead:
10982 <p class="center"><img src="/images/a3_after_push_trim.png" alt="region arrangement after a push trim" /></p>
10985 There is no overlap, and the end of the earlier region has been moved
10986 along with the start of the later region, so that they still directly
10991 title: Separate Under
10996 You may have a situation where you have positioned one region over another,
10997 and you just want to cut the lower region so that it directly adjoins both
10998 ends of the overlapping one, with no overlaps. To do this, select the upper
10999 region, then choose <kbd class="menu">Edit > Separate > Separate
11000 Under</kbd>. This will split the lower region so that it no longer overlaps
11001 the upper region at all.
11005 Here is an example where we start with a short region placed so that it
11006 overlaps a longer region:
11009 <p class="center"><img src="/images/a3_before_separate_under.png" alt="region arrangement before separate under" /></p>
11012 When we perform the <dfn>Separate Under</dfn> edit, the lower region splits
11013 in two, with boundaries exactly positioned at the edges of the upper region:
11016 <p class="center"><img src="/images/a3_after_separate_under.png" alt="region arrangement after separate under" /></p>
11019 If the upper region covers only one end of the lower region, then this
11020 operation is equivalent to
11021 <a href="/editing-and-arranging/change-region-lengths/#trimtonextprevious">Trim to Next/Previous Region</a>, depending on which end is covered.
11025 title: Separate Range
11029 <p class="fixme">Add example with images; 1p ≥ 1,000w</p>
11032 A final new editing feature is an operation in the context menu of a
11033 range labeled <kbd class="menu">Separate Regions Under Range</kbd>.
11034 This splits any selected regions that are covered by the range at both
11035 ends of the range (or just one, if the range only covers part of the
11036 region). This makes it easy to generate regions that correspond
11037 precisely to a range.
11041 title: Strip Silence from Audio Regions
11042 menu_title: Stripping Silence
11047 From the region context menu, choose <kbd class="menu">Edit > Strip
11048 Silence</kbd> to detect silence (based on a user-chosen threshold in
11049 <abbr title="Decibels relative to Full Scale">dBFS</abbr>), split a
11050 region based on the boundaries of the silent segments, and remove the
11051 silence. You can also specify a minimum length for silence—useful
11052 when editing very percussive material and just needing to automatically trim
11053 the ends of a region. The dialog looks like this:
11057 <img src="/images/a3_strip_silence.png" alt="strip silence dialog" />
11061 The edit applies to all selected regions, allowing batch processing.
11062 You can also see in the screenshot how the main editor window is used
11063 to show silent segments and report the number and durations of the
11069 title: Fades and Crossfades
11075 title: Create Region Fades and Crossfades
11079 <p class="fixme">Add images--an image is worth more than 1,000 words</p>
11082 Every Region has a fade-in and fade-out. By default, the region fade
11083 is very short, and serves to de-click the transitions at the start and
11084 end of the region. By adjusting the regions fade length, a more
11085 gradual transition can be accomplished.
11088 <h2>Region Fades</h2>
11091 <dfn>Region fades</dfn> are possible at the beginning and end of
11092 all audio regions. In object mode, a grip appears at the top left and
11093 top right of an audio region when the cursor hovers over it. Placing
11094 the cursor over the top of the grip displays the region fade cursor
11095 tip. Click and drag the grip left or right in the timeline to
11096 adjust the length of the fade.
11099 <h2>Crossfades</h2>
11102 <dfn>Crossfades</dfn> refer to the behavior when you want to make
11103 a smooth transition (mix) from one audio region to another on the same
11104 track. Historically, this was done by splicing 2 pieces of analog
11105 tape together, and this concept was carried forward into digital
11106 editing. Each track is a sequence of sound files (regions). If
11107 two regions are butted against each other, there needs to be a method
11108 to splice them smoothly together. The crossfade allows one region
11109 to fade smoothly out, while the next region fades smoothly in, like 2
11110 pieces of tape that have been cut at and angle, and overlapped.
11114 But Ardour uses a more refined "layered" editing model, and
11115 therefore it is possible for multiple regions to be stacked on a single
11116 location with arbitrary overlaps between different layers. For
11117 this reason, crossfades must be implemented differently. We can't
11118 assume that a crossfade is an entitry that exists between 2 regions;
11119 instead each region must have its own associated crossfades at each
11120 end, and the topmost region must always crossfade down to the
11121 underlying region(s), if any.
11125 Ardour solves this problem by putting a crossfade at the beginning
11126 and end of every region. The fades of the bottom-most region are
11127 first rendered, and then each region is rendered on top of the one
11128 below it, with fades at the end of each region providing a crossfade to
11129 the region(s) beneath it.
11133 It is important to understand that region fades <em>are</em> crossfades. When one region has
11134 another region or multiple regions beneath its fade area, then you will
11135 hear the topmost region fade-out be mirrored as a fade-in on the
11136 underlying region(s). The grip for the topmost region will allow
11137 changing the length and type of the crossfade into the underlying
11138 region(s). In this way you can create a complicated series of
11139 crossfades, and then layer another region atop the others, and fade
11140 into <em>that</em> complicated series.
11142 <p class="fixme">An image here would probably help.</p>
11145 If a region doesn't have any region(s) under it, then the region is
11146 crossfaded to silence; for convenience we call this a "fade"
11147 rather than a crossfade.
11150 <h2>Fade Shapes</h2>
11152 To activate/deactivate or change the shape of a region's fade-in or
11153 fade-out, hover the cursor over the region fade grip till the cursor tip
11154 indicates region fade editing and context-click to bring up a context
11155 menu. In the context menu there is a list of options for the
11156 region fade. <kbd class="menu">Activate/Deactivate</kbd> enables and
11157 disables the region fade.
11161 Because each fade is also a crossfade, it has an inverse fade shape
11162 for the audio beneath the fade. It is important to know how the
11163 shapes differ, and which are most suitable for various editing tasks.
11167 The different types of fades are:
11170 <dl class="narrower-table">
11171 <dt><kbd class="menu">Linear</kbd></dt>
11172 <dd>A simple linear coefficient decrease, and its mathematical inverse. A Linear fade starts attentuating 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.</dd>
11173 <dt><kbd class="menu">Constant Power</kbd></dt>
11174 <dd>The constant power curve starts fading slowly and then cuts off abruptly. When used as a crossfade between 2 audio regions, the signals are symetrically attenuated, and they each reach -3dB at the midpoint. This is the correct crossfade to use when you want to splice audio in the general (uncorrelated) case.</dd>
11175 <dt><kbd class="menu">Symmetric</kbd></dt>
11176 <dd>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 Equal Power or Linear curves, but it provides a slower fade-out at low volumes. This is sometimes useful when editing two entire works of music together so that the transition is more gradual.</dd>
11177 <dt><kbd class="menu">Fast</kbd></dt>
11178 <dd>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.</dd>
11179 <dt><kbd class="menu">Slow</kbd></dt>
11180 <dd>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.</dd>
11184 Although these fade shapes serve specific purposes, any of the shapes is usable in certain situations. The final decision is an artistic choice rather than a rigidly prescribed one.
11188 These fade curves are developed to provide a range of common uses, and
11189 are developed with the least possible amount of changes in the "slope"
11190 of the line. This provides artifact-free crossfades. Some
11191 DAWs provide complicated fade editors with parametric "spline" controls
11192 of the fade curves. While it might be interesting to develop a
11193 fade curve with a faster cutoff, the mathematical difference between
11194 this and simply shortening the fade is vanishingly small; the
11195 amount of effort to shorten the fade is much easier than fooling around with a
11196 crossfade editor dialog.
11207 title: Understanding Playlists
11212 A <dfn>playlist</dfn> is a list of regions ordered in time. It defines
11213 which parts of which source files should be played and when. Playlists
11214 are a fairly advanced topic, and can be safely ignored for many types
11215 of audio production. However, the use of playlists allows the audio
11216 engineer more flexibility for tasks like multiple takes of a single
11217 instrument, alternate edits of a given recording, parallel effects such
11218 as reverb or compression, and other tasks.
11221 Each audio <dfn>track</dfn> in Ardour is really just a mechanism for
11222 taking a playlist and generating the audio stream that it represents.
11223 As a result, editing a track really means modifying its playlist in
11224 some way. Since a playlist is a list of regions, most of the
11225 modifications involve manipulating regions: their position, length
11226 and so forth. This is covered in the chapter
11227 <a href="/working-with-regions/">Working With Regions</a>.<br />
11228 Here, we cover some of the things you can do with playlists as objects
11229 in their own right.
11232 <h2>Tracks are not Playlists</h2>
11234 It is important to understand that a track <em>is not</em> a playlist.
11235 A track <em>has</em> a playlist. A track is a mechanism for generating
11236 the audio stream represented by the playlist and passing it through a
11237 signal processing pathway. At any point in time, a track has a single
11238 playlist associated with it. When the track is used to record, that
11239 playlist will have one or more new regions added to it. When the track
11240 is used for playback, the contents of the playlist will be heard.
11241 You can change the playlist associated with a track at (almost) any
11242 time, and even share playlists between tracks.
11246 If you have some experience of other
11247 <abbr title="Digital Audio Workstation">DAW</abbr>s, then you might
11248 have come across the term <dfn>"virtual track"</dfn>, normally defined as a track
11249 that isn't actually playing or doing anything, but can be
11250 mapped/assigned to a real track. This concept is functionally
11251 identical to Ardour's playlists. We just like to be little more
11252 clear about what is actually happening rather than mixing old and
11253 new terminology ("virtual" and "track"), which might be confusing.</p>
11255 <h2>Playlists are Cheap</h2>
11258 One thing you should be clear about is that playlists are cheap. They
11259 don't cost anything in terms of CPU consumption, and they have very
11260 minimal efforts on memory use. Don't be afraid of generating new
11261 playlists whenever you want to. They are not equivalent to tracks,
11262 which require extra CPU time and significant memory space, or audio
11263 files, which use disk space, or plugins that require extra CPU time.
11264 If a playlist is not in use, it occupies a small amount of memory, and
11269 title: Playlist Operations
11274 In the track header (editor window, left pane) is a button labelled <kbd
11275 class="menu">p</kbd> (for "Playlist"). If you click on this button, Ardour
11276 displays the following menu:
11279 <dl class="wide-table">
11280 <dt>(Local Playlists)</dt>
11281 <dd>Shows all of the playlists associated with this track, and indicates
11282 the currently selected playlist</dd>
11284 <dd>Displays a dialog to rename the current playlist</dd>
11286 <dd>Creates a new empty playlist, and the track switches to the new playlist</dd>
11288 <dd>Creates a new playlist that is a copy of the current playlist; the track switches to the new playlist</dd>
11289 <dt>Clear Current</dt>
11290 <dd>Removes all regions from the current playlist</dd>
11291 <dt>Select From All</dt>
11292 <dd>Displays a playlist browser to manually choose which playlist this track should use. (You can even select playlists from other tracks here)</dd>
11295 <h2>Renaming Playlists</h2>
11298 Playlists are created with the name of the track of which they are
11299 associated, plus a version number. So, the first playlist for a track
11300 called "Cowbell" will be called <samp>Cowbell.1</samp>. This name will
11301 be used to define the names of any regions added to the playlist by
11302 recording. You can change the name at any time, to anything you want.
11303 Ardour does not require that your playlist names are all unique, but it
11304 will make your life easier if they are. Suggested examples of user-assigned
11305 names for a playlist might include <kbd class="input">Lead Guitar, 2nd
11306 take</kbd>, <kbd class="input">vocals (quiet)</kbd>,
11307 and <kbd class="input">downbeat cuica</kbd>. Notice how these might be
11308 different from the associated track names, which for these examples might
11309 be <kbd class="input">Lead Guitar</kbd>,
11310 <kbd class="input">Vocals</kbd> and <kbd class="input">Cuica</kbd>. The
11311 playlist name provides more information because it is about a specific
11312 version of the material that may (or may not) end up in the final version
11317 If you are going to rename your playlists, do so before recording new
11322 It appears that recorded regions are not named after the playlist, but
11326 <h2>Sharing Playlists</h2>
11329 It is entirely possible to <dfn>share playlists</dfn> between tracks. The only
11330 slightly unusual thing you may notice when sharing is that edits to the
11331 playlist made in one track will magically appear in the other. If you
11332 think about this for a moment, its an obvious consequence of sharing.
11333 One application of this attribute is parallel processing, described
11338 You might not want this kind of behaviour, even though you still want
11339 two tracks to use the same (or substantially the same) playlist. To
11340 accomplish this, select the chosen playlist in the second track, and
11341 then use New Copy to generate an <dfn>independent copy</dfn> of it for
11342 that track. You can then edit this playlist without affecting the original.
11346 title: Playlist Usecases
11350 <h3>Using Playlists for Parallel Processing</h3>
11353 One of the uses of playlists is to apply multiple effects to the same
11354 audio stream. For example, let's say you would like to apply two
11355 different non-linear effects such as distortion or compression to the
11356 same audio source (for linear effects, you could just apply them one after
11357 the other in the same track).<br />
11358 Create a new track, apply the original track's playlist, and
11359 then apply effects to both tracks independently.
11363 The same result could be achieved by feeding your track to multiple busses which
11364 then contain the processing, but this increases the overall latency,
11365 complicates routing and uses more space in the Mixer window.
11368 <h2>Using Playlists for "Takes"</h2>
11371 Using Playlists for <dfn>takes</dfn> is a good solution if you are going
11372 to need the ability to edit individual takes, and select between them.
11376 Each time you start a new take, create a new playlist with
11377 <kbd class="menu">p > New</kbd>
11378 Later, you can Select your way back to previous or later takes as
11383 If you want to create a composite edit from multiple takes, create a new
11384 track to assemble the final version, and "cherry pick" from the playlists
11385 in the original track by copying regions over as required.
11389 Alternatively, record each successive take on top of the
11390 others in "layers" and then edit them using the layer tools, explained
11394 <h2>Using Playlists for Multi-Language Productions</h2>
11397 The same approach as for takes is useful when you are recording or
11398 editing content in multiple versions, such as dubbed movie dialog in
11399 several languages, and you want all versions on the same track, to
11400 get the same processing. <br />
11401 Select the appropriate language before exporting the session.
11406 title: Rhythm Ferret
11418 title: MIDI Editing
11429 Ardour's handling of <dfn><abbr title="Musical Instrument Digital Interface">MIDI</abbr> editing</dfn> differs from most other <abbr title="Digital Audio Workstation">DAW</abbr>s and MIDI sequencers.
11432 <h2>Key features of Ardour MIDI handling</h2>
11436 All editing is done in-place, in-window. There is no separate piano roll window or pane. Edit notes right where you see them.
11439 All MIDI I/O is done via <abbr title="Jack Audio Connection Kit">JACK</abbr> for sample accurate timing and maximal efficiency when communicating with external software synthesizers.
11442 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.
11445 Full automation for MIDI tracks, integrated with the handling of all MIDI <abbr title="Continuous Controller">CC</abbr> data for each track.
11448 Controllers (CC data) can be set to discrete or continuous modes (the latter will interpolate between control points and send additional data).
11451 There is a <em>Normal</em> and a <em>Percussive</em> mode for note data editing.
11454 The <dfn>scroomer</dfn> is a combination scroll/zoom tool for altering
11455 the zoom level and range of visible MIDI data.
11459 <h2>Notable Differences</h2>
11463 Fader (volume) control currently operates on transmitted MIDI data, not by sending CC #7.
11466 All note/data editing is per-region. There are no cross-region operations at this time.
11469 By default, copying a MIDI region creates a <dfn>deep link</dfn>—both regions share the same data source, and edits to the contents of one will affect the other. To break this link, select <kbd class="menu">MIDI > Unlink from other copies</kbd> from the region context menu, after which the selected region(s) will have their own copies of <em>only</em> the data that they visually display on screen. You will not be able to trim the region back its original length after an Unlink operation, and the operation cannot be undone.
11474 title: Fundamental Concepts
11478 <p class="fixme">Check to see if this is still true for v5</p>
11480 <p>Ardour's MIDI editing is based on two basic principles:</p>
11483 <li>Editing should be done without having to enter a new window</li>
11485 Editing should be able to carried out completely with the keyboard,
11486 or completely with the mouse, or with any combination of the two.
11491 Currently, MIDI editing is primarily restricted to note data. Other
11492 kinds of data (controller events, sysex data) are present and can be
11493 added and deleted, but not actually edited.
11496 <h2>Fundamentals of MIDI Editing in Ardour 3</h2>
11499 MIDI, just like audio, exists in <dfn>regions</dfn>. MIDI regions
11500 behave like audio regions: they can be moved, trimmed, copied (cloned),
11501 or deleted. Ardour allows either editing MIDI (or audio) regions, or MIDI
11502 region content (the notes), but never both at the same time. The
11503 <kbd>e</kbd> key (by default) toggles between <dfn>region level</dfn>
11504 and <dfn>note level</dfn> editing, as will double-clicking on a MIDI region.
11508 One very important thing to note: editing note information in Ardour
11509 occurs in only a single region. There is no way currently to edit in note
11510 data for multiple regions at the same time, so for example you cannot select
11511 notes in several regions and then delete them all, nor can you copy-and-paste
11512 notes from one region to another. You can, of course, copy and paste the
11513 region(s), just as with audio.
11517 title: Create MIDI Tracks
11522 To create a new <dfn>MIDI track</dfn>, choose <kbd class="menu">Session >
11523 Add Track/Bus</kbd>. In the Add Track/Bus dialog, pick <kbd class="menu">MIDI
11524 Track</kbd> from the combo selector at the upper right.
11528 You may decide to use a track template if you have one. You may also know the instrument (a plugin that will generate audio in response to receiving MIDI) that you want to use in the track. The Instrument selector will show you a list of all plugins that you have which accept MIDI input and generate audio output.
11531 <p class="fixme">Remove "you" language</p>
11534 title: Create MIDI Regions
11539 Although recording MIDI is a common way to create new MIDI regions, it is
11540 often desirable to do so as part of editing/arranging.
11544 To create a new MIDI region, simply <kbd class="mouse">Left</kbd>-click in
11545 a MIDI track. A region will be created that is one bar long. It can
11546 <a href="/editing-and-arranging/changing-region-lengths">trimmed</a> to any
11550 <p class="fixme">Broken link</p>
11553 Once a region has been created, <a href="/editing-and-arranging/edit-midi/add-new-notes">notes can be added</a> to it.
11557 title: Add New Notes
11561 <h2>Adding new notes</h2>
11564 In general, most MIDI editing will be done with the mouse in object mode. This allows selecting notes, copying, moving or deleting them and altering their properties (see below). <em>Adding</em> notes to a MIDI region using the mouse requires dragging with the mouse if they are to be anything other than a fixed length. Since this would normally be a selection operation if the mouse is in object mode, there needs to be some way to tell Ardour to <dfn>draw</dfn> new notes within a MIDI region. Ardour provides two ways do this: one is to leave the mouse in object mode and <kbd class="mouse mod1">Left</kbd>-drag; the other, useful if entering a lot of notes for a while, is to switch the mouse into <kbd class="menu">Draw Notes</kbd> mode, which will now interpret any drags and clicks as requests to add a new note. For obvious reasons, Draw Notes mode cannot be used while using region-level editing.
11567 <p>So, to summarize:</p>
11569 <dl class="wide-table">
11570 <dt>Selecting, moving, copying, trimming, deleting <em>regions</em></dt>
11572 leave <kbd class="menu">Note Level Editing</kbd> disabled, use object,
11573 range or other mouse modes
11575 <dt>Selecting, moving, copying trimming, deleting <em>notes</em></dt>
11576 <dd>enable <kbd class="menu">Note Level Editing</kbd>and use mouse object mode</dd>
11577 <dt>Adding new notes</dt>
11579 enable "Note Level Editing" and then either
11581 <li>use mouse object mode and <kbd class="mouse mod1">Left</kbd>-drag,
11583 <li>use mouse draw mode.</li>
11588 <!-- FIXME: This is needed to keep the table from sucking up the following note's styling. Probably need a fix in the CSS. -->
11592 It is also a <a href="/editing-and-arranging/edit-midi/step-entry">a step entry editor</a> allowing entry of notes from a virtual keyboard, and lots more besides.
11596 title: Change Note Properties
11601 Details about a selected note can be viewed by context-clicking on it. The
11602 dialog that pops up will also allow modification of all the properties of the
11603 selected note(s). Individual properties can be modified more efficiently using
11604 the techniques described below:
11608 <dt>Moving notes</dt>
11610 Right arrow and Left arrow move the selected note(s) early and later in time.
11612 <dt>Changing pitch values</dt>
11614 <kbd>↑</kbd> increases the pitch of the selected notes.<br />
11615 <kbd>↓</kbd> reduces the pitch of the selected notes.<br />
11616 If any of the selected notes are already at the maximum or minimum value,
11617 no changes will be made to any of the notes, to preserve relative pitches.
11618 This can be overridden with <kbd class="mod2">‌</kbd>. The default shift
11619 distance is one semitone. Use <kbd class="mod3">‌</kbd> to alter this to
11622 <dt>Changing velocity values</dt>
11624 <kbd class="mod1">↑</kbd> increases the velocity of the selected notes.
11626 <kbd class="mod1">↓</kbd> reduces the velocity of the selected
11628 If any of the selected notes are already at the maximum or minumum value,
11629 no changes will be made to any of the notes, to preserve relative velocities.
11630 This can be overridden with <kbd class="mod2">‌</kbd>.
11631 Presssing <kbd>v</kbd> will popup a dialog that will allow the setting of
11632 the absolute velocity value of each selected note. Finally, the scroll wheel
11633 <kbd class="mouse">⇑</kbd> <kbd class="mouse">⇓</kbd> will also
11634 adjust notes in the same way as the arrow keys.
11635 <p class="note">Like the arrow keys, it only affects selected notes, not the note the pointer is over.</p>
11637 <dt>Changing channel</dt>
11639 Press <kbd>c</kbd> to bring up a dialog that allows viewing and altering the
11640 MIDI channel of the selected notes. If the selected notes use different
11641 channels, they will all be forced to the newly selected channel.
11643 <dt>Changing start/end/duration</dt>
11645 <kbd>,</kbd> (comma) will alter the start time of the note. <br />
11646 <kbd>.</kbd> (period) will alter the end time of the note. Both keys will by
11647 default make the note longer (either by moving the start earlier or the end
11648 later). For the opposite effect, use <kbd class="mod1">,</kbd>/<kbd
11649 class="mod1">.</kbd>. The note will be altered by the current grid setting.
11650 To change the start/end positions by 1/128th of a beat, use the <kbd
11651 class="mod2">‌</kbd> modifier in addition to these shortcuts.
11653 <dt>Quantization</dt>
11655 <kbd>q</kbd> will quantize the selected notes using the current quantize
11656 settings. If the quantize settings have not been set for this session yet,
11657 the quantize dialog will appear. <kbd class="mod2">q</kbd> will display the
11658 quantize dialog to allow resetting of the quantize settings, and then
11659 quantize the selected notes. The default quantize settings are: quantize
11660 note starts to the current grid setting, no swing, no threshold, full
11663 <dt>Step Entry, Quantize etc.</dt>
11664 <dd><em>missing</em></dd>
11667 <p class="fixme">Add missing content</p>
11670 title: Handling Overlapping Notes
11671 menu_title: Overlapping Notes
11676 Every MIDI note consists of two messages, a NoteOn and a NoteOff. Each one
11677 has a note number and a channel (also a velocity, but that isn't relevant
11678 here). The MIDI standard stresses that it is invalid to send a second NoteOn
11679 for the same note number on the same channel before a NoteOff for the first
11680 NoteOn. It is more or less impossible to do this with a physical MIDI
11681 controller such as a keyboard, but remarkably easy to trigger when editing
11682 in a DAW—simply overlapping two instances of the same note will do it.
11686 Ardour offers many options for how to deal with instances where you overlap
11687 two instances of the same note. Which one to use is a per-session property
11688 and can be modified from <kbd class="menu">Session > Properties > Misc > MIDI
11692 <dl class="wide-table">
11693 <dt>never allow them</dt>
11694 <dd>Edits that would create note overlaps are not allowed</dd>
11695 <dt>don't do anything in particular</dt>
11696 <dd>Ardour leaves overlapping notes alone—the behaviour of a MIDI receiver (plugin or hardware) is undefined</dd>
11697 <dt>replace any overlapped existing note</dt>
11698 <dd>When one note is moved to overlap another, remove the one that wasn't being moved</dd>
11699 <dt>shorten the overlapped existing note</dt>
11700 <dd>When one note is moved to overlap another, shorten the one that wasn't moved so that there is no overlap</dd>
11701 <dt>shorten the overlapping new note</dt>
11702 <dd>When one note is moved to overlap another, shorten the one that was moved so that there is no overlap</dd>
11703 <dt>replace both overlapping notes with a single note</dt>
11704 <dd>When one note is moved to overlap another, merge them both to form one (longer) note</dd>
11708 Changing the option in use will not retroactively make changes—it will
11709 only affect new note overlaps created while the option remains chosen.
11712 <p class="warning">
11713 Ardour does not check for note overlaps across tracks or even across regions.
11714 If you create these, it is your responsibility to deal with the consequences.
11718 title: Note Cut, Copy and Paste
11723 While in note edit mode, selected notes can be cut using
11724 <kbd class="mod1">x</kbd>, copied with <kbd class="mod1">c</kbd> and
11725 deleted with <kbd>Delete</kbd>, just as regions can. Once cut or
11726 copied, they can be pasted at the edit point using
11727 <kbd class="mod1">v</kbd>.
11731 title: Note Selection
11735 <h2>Selecting/Navigating note-by-note</h2>
11738 Tab selects the next note. <kbd class="mod1">Tab</kbd> selects the previous
11739 note. <kbd class="mod3">Tab</kbd> or <kbd class="mod13">Tab</kbd> adds
11740 the next/previous note to the selection.
11743 <h2>Selecting notes with the mouse</h2>
11746 While in mouse object mode, you can click on a note to select it. Once you
11747 have selected one note, <kbd class="mouse mod3">Left</kbd>-click on another
11748 to select all notes between them. To add or remove a note to/from the
11749 selection, click <kbd class="mouse mod1">Left</kbd>. You can also click and
11750 drag outside of a note to <dfn>rubberband select</dfn> a series of notes.
11754 Three different selection operations are possible if you switch to mouse
11760 Vertical drags within the MIDI region will select all notes within the
11761 spanned note range.
11764 Clicks on the piano header of the track (if visible—the track must
11765 be tall enough to display it) will select all occurences of that note.
11768 Drags on the piano header of the track will select all notes within the
11769 spanned note range.
11773 <h2>Listening to Selected Notes</h2>
11776 If <kbd class="menu">Edit > Preferences > MIDI > Sound MIDI notes
11777 as they are selected</kbd> is enabled, Ardour will send a pair of
11778 NoteOn/NoteOff messages through the track, which will typically allow you to
11779 hear each note as it is selected.
11783 title: Quantize MIDI
11787 <p class="fixme">Needs fleshing out; this is a bit thin at the moment</p>
11789 <p><img class="right" src="/images/a3_quantize.png" alt="quantize dialog" /></p>
11791 <p>Accessed via <kbd>q</kbd>, the dialog includes:</p>
11794 <li>Options for grid, legato and groove quantize</li>
11795 <li>Snap note start, or end</li>
11796 <li>Snap to current grid, or many beat subdivisions</li>
11797 <li>Quantize threshold (how far away from a chosen position a note must be in order to be quantized)</li>
11798 <li>Strength (how close to move a note to its new position, as a percentage of the nominal distance)</li>
11808 Sometimes editing MIDI data directly from a connected MIDI device like a musical
11809 keyboard or pad controller is desired; sometimes using the mouse is. Sometimes
11810 the fine-grained control, precision and speed of entry that comes from using a
11811 custom note entry dialog is; the <dfn>Step Entry</dfn> dialog aims to be the
11816 The step entry dialog is accessed via a right click context menu on the
11817 rec-enable button, because step entry is related to <em>recording</em> MIDI
11818 data—step editing and recording MIDI via the track's MIDI port cannot be
11819 done simultaneously.
11822 <p class="center"><img src="/images/a3_step_entry.png" /></p>
11824 <p>The dialog (closely modeled after Logic's) contains:</p>
11828 Chord entry switch (successive notes are stacked in a chord until
11829 it is released)</li>
11830 <li>Note length selectors</li>
11831 <li>Triplet toggle</li>
11832 <li>Normal, single, double and triple dotted note selectors</li>
11833 <li>Sustain button</li>
11836 <li>Insert a rest of the current selected note duration</li>
11837 <li>Insert a rest of the current grid step size</li>
11838 <li>Move back to the last inserted note</li>
11839 <li>Move forward to the next beat, or bar</li>
11840 <li>Move forward to the edit point</li>
11843 <li>Dynamics controls from pianississimo to fortississimo</li>
11844 <li>Channel selector</li>
11846 Explicit numerical velocity selector, for more precise control
11847 than the dynamics selectors offer
11849 <li>Octave selector</li>
11850 <li>Buttons to add bank or program change events</li>
11851 <li>a full 10 octave virtual keyboard</li>
11855 More or less all actions in the step entry dialog can be driven directly from
11856 the keyboard, so moving back and forth from keyboard to mouse to do complex data
11857 insertion is unnecessary.
11861 title: Patch Change
11866 A <dfn>patch change</dfn> is Ardour's description for a combination
11867 of MIDI program change and bank select messages, that (typically)
11868 instruct a synthesizer or sampler to select a different sound to use
11869 on a particular channel.
11873 Patch changes are shown within MIDI regions as small rectangles or
11874 <dfn>flags</dfn>, as shown below:
11877 <p class="fixme">Add missing images</p>
11879 <h2>Inserting Patch Changes</h2>
11883 <a href="/editing-and-arranging/edit-point">edit point</a> is
11884 located where the patch change should be (within an existing
11885 MIDI region). Context click, and from the MIDI region's context menu,
11886 select <kbd class="menu">MIDI > Insert Patch Change</kbd>. A
11887 dialog will appear allowing the setting of the bank and program values.
11890 <h2>Modifying Patch Changes</h2>
11893 Context-clicking on a patch change will bring up the same dialog that
11894 was used to create it, allowing the modification of the program and/or bank
11899 The mouse wheel can also be used: <kbd class="mouse">⇑</kbd>/<kbd
11900 class="mouse">⇓</kbd> on the patch change will alter the program
11901 number, <kbd class="mouse mod1">⇑</kbd>/<kbd
11902 class="mouse mod1">⇓</kbd> will modify the bank number.
11905 <h2>Moving Patch Changes</h2>
11908 Just <kbd class="mouse">Left</kbd>-drag on the patch change to move it
11912 <h2>Removing Patch Changes</h2>
11915 Put the mouse pointer into the rectangular area, and press <kbd>Del</kbd>
11916 or use the delete mouse button operation. This will remove the patch change
11917 (the operation can be undone).
11920 <h2>Names for Patch Numbers: MIDNAM files</h2>
11923 …mising…
11926 <p class="fixme">Add missing content</p>
11929 title: Independent and Dependent MIDI Region Copies
11930 menu_title: Copy MIDI Region
11935 When <dfn>copying a MIDI region</dfn>, Ardour has to decide whether to make the
11936 copy refer to the same data as the original or not. If it does refer
11937 to the same data, then editing either the copy or the original will
11938 affect the both of them. If it refers to an independent copy of the
11939 data then each one can be edited without affecting the other.
11942 <h2>Changing dependent/independent copying for the entire session</h2>
11945 <kbd class="menu">Sesson > Properties > Misc > MIDI region copies are
11946 independent</kbd> can be used to control the default behaviour when
11947 making a copy of a MIDI region.
11951 When enabled, every new copy of a MIDI
11952 region results in a copy being made of the MIDI data used by the
11953 region, and the new copy of the region will refer to that data.
11957 When disabled, every new copy of a MIDI region will refer to the same
11958 MIDI data, and thus editing any copy will change the contents of all
11963 Changing the status of this option has no effect on the existing
11964 dependent/independent status of existing region copies.
11967 <h2>Making an existing copy of a MIDI region independent</h2>
11970 Context-click on the MIDI region to be made independent. From the context menu, select <kbd class="menu">MIDI > Unlink From Other Copies</kbd>. The copy is now using an independent version of the data, and edits to the copy will affect only the copy. Other linked copies will continue to share data.
11974 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, if an independent copy of a trimmed MIDI region is made, it cannot be "untrimmed" to a larger size.
11978 title: Automating MIDI - Pitch bending and aftertouch
11979 menu_title: Automating MIDI
11984 Adding pitch bending or aftertouch can add a lot of subtlety to an otherwise plain sounding midi region and help humanize it.
11987 <img src="/images/MIDI_pitch_bending.png" alt="Automation: pitch bending" />
11990 Pitch bending and aftertouch both work the same way, through automation. Right click the MIDI track's header > Automation > Bender <em>(or Pressure)</em> > <em>choose the channel you want to bend</em>.
11994 Using the Draw tool, as for all the automation, allows creation of 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.
11998 The values can be anything between 0 (-4 semitones) to 16,383 (+4 semitones). No automation or a value of 8,192 means no pitch shifting.
12002 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).
12006 title: Transforming MIDI - Mathematical operations
12007 menu_title: Transforming MIDI
12012 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.
12015 <p class="center"><img src="/images/MIDI_transform.png" alt="MIDI transformation" /></p>
12018 To access the Transform tool, right click the MIDI region > <em>name_of_the_region</em> > MIDI > Transform...
12022 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.
12026 In the picture above, we've used the Transform tool to add a bit of humanization, by slightly changing the velocity of each note of the region, by a random number between -19 and +19 from it's original velocity. So we've used 3 operations:
12030 <li>Set velocity to this note's velocity</li>
12031 <li>+ a random number from 1 to 20</li>
12032 <li>- a random number from 1 to 20</li>
12035 <p>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.</p>
12038 The properties that can be computed are:
12042 <li>note number (eg C2 is note number 24, C#2 is 25 and so on)</li>
12043 <li>velocity (the global intensity of the note, between 0 and 127)</li>
12044 <li>start time (in beats)</li>
12045 <li>length (in beats)</li>
12050 and the calculation may be based on the following properties:
12054 <li>this note's</li>
12055 <li>the previous note's</li>
12056 <li>this note's index (number of the note, i.e. the first one is 0, the second is 1, etc.)</li>
12057 <li>exactly (for a constant value, between 1 and 127)</li>
12058 <li>a random number from <em>lower</em> to <em>higher</em> (<em>lower</em> and <em>higher</em> beeing constant values between 1 and 127)</li>
12059 <li>equal steps from <em>lower</em> to <em>higher</em> (<em>lower</em> and <em>higher</em> beeing constant values between 1 and 127)</li>
12063 The mathematical operators can be:
12067 <li>+ (addition)</li>
12068 <li>- (substration)</li>
12069 <li>* (multiplication)</li>
12070 <li>/ (euclidian division)</li>
12071 <li>mod (rest of the euclidian division)</li>
12075 All this operations can be very handy, as long as you find a mathematical way to achieve your 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.
12079 You can nevertheless create very interesting results, like humanizing (randomizing the velocity, start time and duration of all the notes), creating arpeggios, automating tedious tasks, transposing, etc.
12084 title: MIDI Editors
12090 title: MIDI Scene Automation
12095 Ardour is capable of being used to both record and deliver MIDI
12096 "scene" automation. These are MIDI messages typically used to switch
12097 presets or "scenes" on a variety of external equipment (or
12098 software), including lighting and other audio/video tools. A common
12099 use case is to automatically change presets between songs or to change
12100 lighting conditions based on a specific position on the timeline.
12104 Each change from one scene to another is represented by a marker in
12109 Technically, scene changes are delivered as a combination of bank and
12110 program change MIDI messages. MIDI allows for 16,384 banks, each with
12114 <h2>Recording Scene Changes</h2>
12117 Ardour has a dedicated MIDI port named "Scene In". Connect this port
12118 to whatever source(s) of MIDI scene (bank/program change) messages you
12123 Whenever the global record enable button is engaged and Ardour's
12124 transport is rolling, a new marker will be created for each scene
12125 change message received via the "Scene In" port.
12129 If two different scene changes are received within a certain time
12130 period, only the later one will be recorded as a new marker. The
12131 default threshold for this is one millisecond.
12135 If a scene change message is received while the playhead is close to
12136 an existing marker with an associated scene change, the recording
12137 process will alter the scene change in the existing marker rather than
12138 adding a new one. The default threshold for this "proximity" test is one
12142 <h2>Manually Creating Scene Changes</h2>
12145 This feature is not currently implemented.
12148 <h2>Playing back Scene Changes</h2>
12151 Ardour has a dedicated MIDI port named "Scene Out". Connect this port
12152 to wherever you wish to send MIDI scene (bank/program change) messages.
12156 When the global record enable button is
12157 <em>not</em> enabled, the relevant message(s) will be sent via the
12158 "Scene Out" port as the playhead rolls past each marker with a scene
12159 change associated with it.
12162 <h2>Editing Scene Changes</h2>
12165 This feature is not currently implemented.
12168 <h2>Disabling Scene Changes</h2>
12171 This feature is not currently implemented.
12176 title: Score Editor
12182 title: MIDI Event List
12194 title: Time, Tempo and Meter
12200 title: Tempo and Meter
12205 Tempo and meter belong together. without both, there is no way to know where a beat lies in time.
12209 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.
12213 When performing meter or tempo operations, it is advised to show the BBT ruler (available by right-clicking an existing marker or ruler name), and that the constraint modifier is set (in Preferences->User Interaction) so that no other modifiers share its key combination.
12217 The constraint modifier is the "Constrain drags using:" setting under the "When Beginning a Drag" heading. One viable setting is <kbd class="mod1"></kbd><kbd class="mod3"></kbd>.
12223 Tempo can be adjusted in several ways:
12227 <li>by double clicking on a tempo marker. This opens the tempo dialog which will allow entering the tempo directly into an entry box.</li>
12228 <li>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.
12229 This is the preferred way to match the tempo to previously recorded material.</li>
12232 When dragging the BBT ruler, musical snap has no effect, however be warned that non-musical snap is in effect if enabled. Snapping to a minute while dragging a beat may result in some verly slow tempos. Snapping a beat to a video frame however is an incredibly useful way to ensure a soundtrack is punchy and synchronised to the sample.
12235 <li>by holding down the constaint modifier while dragging a tempo vertically. This is used for more complex tempo solving, as it allows changing 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.</li>
12239 A tempo may be locked to audio or musical time. This may 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 an selecting the "Lock to Music" entry.
12243 Audio locked tempo marks stay in their frame position as their neigbours 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).
12247 A tempo may be ramped or constant.
12249 <li>A constant tempo will keep the sesion 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).</li>
12250 <li>A ramped tempo increases its tempo over time so that when the next tempo section has arrived, the sesion 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.
12256 <img src="/images/constant-tempo.png" alt="A constant tempo displaying the tempo at the playhead in the audio clock">
12258 A series of constant tempo markers. The tempo at the playhead position is the same as the previous tempo.
12262 <img src="/images/ramped-tempo.png" alt="A ramped tempo displaying the tempo at the playhead in the audio clock">
12264 A ramped tempo marker. The tempo at the playhead position is approaching the second tempo. Because the playhead is equidistant (in beats) between the
12265 two markers, the tempo at the playhead is the average of the two.
12269 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).
12273 To copy a tempo, hold down the primary modifier and drag the tempo desired to be copied.
12279 Meter positions beats using the musical pulse of a tempo, and groups them into bars using its number of divisions per bar.
12283 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.
12287 New meters are locked to music. They may only occur on a bar line if music locked.
12291 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.
12295 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 may be freely moved again.
12298 <li>To change a meter, double click it. A dialog will appear.</li>
12299 <li>To copy a meter, hold down <kbd class="mod1"></kbd> and drag it.</li>
12302 title: Techniques for Working with Tempo and Meter
12306 <h3>Techniques </h3>
12309 As a general approach, the best way to control tempo ramps is to use them in pairs.
12313 Lets imagine we want to match the click to a drum performance recorded in 'free time'.
12317 The first thing we need to do is determine where the first beat is. Drag the first meter to that position.
12321 Now the first click will be in time with the first beat. To get all the other beats to align, we listen to the drums and visually locate the position of bar 4. You may wish to place the playhead here.
12325 We then locate bar 4 in the bbt ruler and while holding the constraint modifier, drag it to bar 4 in the drum performance.
12329 We notice that the click now matches the first 4 bars, but after that it wanders off. You will see this reflected in the tempo lines.. they won't quite match the drum hits. We now locate the earliest position where the click doesn't match, and place a new tempo just before this. Two bars later, place another new tempo.
12333 Now while dragging any beat <strong>after</strong> the second new tempo, watch the drum audio and tempo lines until they align.
12337 Notice what is happeneing here: the tempo previous to your mouse pointer is being changed so that the beat you grabbed aligns with the pointer. Notice that the tempo lines previous to the changed one also move. This is because the previous tempo is ramping <strong>to</strong> the tempo you are changing. Look further to the left. The tempo lines in the first four bars do not move.
12341 Again, some time later the click will not align. I didn't say this was easy.
12345 Repeat the same technique: add two new tempos and drag the BBT ruler <strong>after</strong> the newest tempo so that the beats align with the audio again.
12349 In a general sense, adding tempo markers in pairs allows you to 'pin' your previous work while you move further to the right.
12352 <h3>Another use case: matching accelerando</h3>
12355 Imagine you have some video and have located where your music cue begins. Move the first meter to that frame (you may snap to TC frames, but not music with an audio locked meter).
12359 Find a starting tempo by listening to the click while you drag the meter's tempo vertically using the constraint modifier.
12363 You have the playhead at point where the dude slams the phone down, and your idea was that 4|1|0 would be good for this, but you want an accelerando to that point.
12367 Add a tempo at bar 4.
12371 Holding down the constraint modifier, and with snap set to 'TC Frames', grab the BBT ruler just <strong>after</strong> 4|1|0. Drag the ruler so that 4|1|0 snaps to the 'phone' frame.
12375 Notice what happened: The second tempo was changed.<br />
12376 You had set a musical position for the second tempo marker. It was not aligned with the frame you wanted, so you dragged the BBT ruler, making the second tempo provide enough pulses over the ramp for 4|1|0 to align with the desired frame.
12380 If the ramp doesn't feel right, you may add more points within it and keep adjusting beat positions in a similar manner.
12386 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.
12391 title: Memory Locations
12397 title: Arranging Regions
12403 title: Region Loops and Groups
12415 title: Basic Mixing
12421 title: Metering in Ardour
12425 <h2>Introduction</h2>
12428 An engineer reading and using audio level meters compares to a musician
12429 reading or writing sheet-music. Just like there are virtuoso musicians
12430 who can't read a single note, there are great sound-engineers who just
12431 go by their ears and produce great mixes and masters without ever looking
12436 Yet, if you want to work in or with the broadcast industry, it is
12437 usually unavoidable to use meters.
12441 Audio level meters are very powerful tools that are useful in every
12442 part of the entire production chain:
12446 <li>When tracking, meters are used to ensure that the input
12447 signal does not <dfn>overload</dfn> and maintains reasonable
12448 <dfn>headroom</dfn>.</li>
12449 <li>Meters offer a <dfn>quick visual indication</dfn> of a
12450 activity when working with a large number of tracks.</li>
12451 <li>During mixing, meters provide an rough estimate of the
12452 <dfn>loudness</dfn> of each track.</li>
12453 <li>At the mastering stage, meters are used to check
12454 compliance with upstream <dfn>level</dfn> and <dfn>loudness
12455 standards</dfn> and to optimize the <dfn>loudness range</dfn>
12456 for a given medium.</li>
12459 <h2>Meter Types</h2>
12462 A general treatise on metering is beyond the scope of this
12463 manual. It is a complex subject with a history...
12464 For background information and further reading we recommend:
12468 <li><a href="http://www.digido.com/how-to-make-better-recordings-part-2.html">How To Make Better Recordings in the 21st Century—An Integrated Approach to Metering, Monitoring, and Leveling Practices</a> by Bob Katz. Has a good historic overview of meters and motivates the K-meter</li>
12469 <li><a href="https://en.wikipedia.org/wiki/Peak_programme_meter#Table_of_characteristics">Wikipedia: Peak programme meter</a>—overview of meter types.</li>
12470 <li>"Audio Metering: Measurements, Standards and Practice: Measurements, Standards and Practics", by Eddy Brixen. ISBN: 0240814673</li>
12471 <li>"Art of Digital Audio", by John Watkinson. ISBN: 0240515870</li>
12475 There are different metering standards, most of which are available in Ardour. In short:
12479 <dt>Digital peak-meter</dt>
12480 <dd>A <dfn>Digital Peak Meter</dfn> displays the absolute maximum signal
12481 of the raw audio PCM signal (for a given time). It is commonly used when
12482 tracking to make sure the recorded audio never clips. To that end, DPMs
12483 are always calibrated to 0 <abbr title="DeciBel Full
12484 Scale">dBFS</abbr>, or the maximum level that can be represented digitally
12485 in a given system. This value has no musical reason whatsoever and depends
12486 only on the properties of the signal chain or target medium. There are
12487 conventions for <dfn>fall-off-time</dfn> and <dfn>peak-hold</dfn>, but no
12488 exact specifications.
12490 Various conventions for DPM fall-off times and dBFS line-up level can be
12491 chosen in <kbd class="menu">Edit > Preferences > GUI</kbd>.
12495 <dt>RMS meters</dt>
12496 <dd>An <dfn><abbr title="Root Mean Square">RMS</abbr>-type meter</dfn>
12497 is an averaging meter that looks at the energy in the signal. It
12498 provides a general indication of loudness as perceived by humans. Ardour
12499 features three RMS meters, all of which offer additonal peak indication.
12501 <li><dfn>K20</dfn>: A meter according to the K-system introduced by Bob
12502 Katz, scale aligned to -20 dBFS, rise/fall times and color schema
12503 according to spec.</li>
12504 <li><dfn>K14</dfn>: Same as K20 with scale aligned to -14 dBFS.</li>
12505 <li><dfn>K12</dfn>: Same as K20 with scale aligned to -12 dBFS (since 3.5.143).</li>
12506 <li><dfn>Peak + RMS</dfn>: standard RMS, customizable via
12507 <kbd class="menu">Edit > Preferences > GUI > Metering</kbd></li>
12512 <dd><dfn><abbr title="International Electrontechnical Commission">IEC</abbr>-type
12513 <abbr title="Peak Programme Meters">PPM</abbr>s</dfn> are a mix between DPMs and
12514 RMS meters, created mainly for the purpose of
12515 interoperability. Many national and institutional varieties exist (<abbr
12516 title="European Broadcasting Union">EBU</abbr>, <abbr title="British Broadcasting
12517 Corporation">BBC</abbr>, <abbr title="Deutsche Industrie-Norm">DIN</abbr>).
12519 These loudness and metering standards provide a common point of
12520 reference which is used by broadcasters in particular so that the
12521 interchange of material is uniform across their sphere of influence,
12522 regardless of the equipment used to play it back.
12525 For home recording, there is no real need for this level of
12526 interoperability, and these meters are only strictly required when
12527 working in or with the broadcast industry. However, IEC-type meters have
12528 certain characteristics (rise-time, ballistics) that make them useful
12529 outside the context of broadcast.
12532 Their specification is very exact, and consquently, there are no
12533 customizable parameters.
12538 <dd><dfn><abbr title="Volume Unit">VU</abbr> meters</dfn> are the dinosaurs (1939)
12539 amongst the meters. They react very slowly, averaging out peaks.
12540 Their specification is very strict (300ms rise-time, 1–1.5% overshoot,
12541 flat frequency response). Ardour's VU meter adheres to that spec, but for
12542 visual consistency it is displayed as a bar-graph rather than needle-style
12547 <h2>Ardour Specifics</h2>
12549 <img class="right" src="/images/mixer-meter-context-menu.png" alt="mixer strip meter context menu" />
12552 Meters are available in various places in ardour:
12556 <li>The mixer window features fixed height meters for each <dfn>channel strip</dfn>.</li>
12557 <li>There are small (narrow) meters on each <dfn>track-header</dfn> in the editor window.</li>
12558 <li>There are variable height meters in the <dfn>meterbridge window</dfn>.</li>
12559 <li>Optionally, a fixed-size <dfn>master meter</dfn> can be displayed in the main toolbar.</li>
12560 <li>Various other locations (<dfn>file import</dfn>, <dfn>sends</dfn>) have level-meters.</li>
12564 They all share the same configuration and color-theme which is available in
12565 preferences and the theme-manager. Settings for the Peak and RMS+Peak meters
12566 as well as VU meter standards are found in
12567 <kbd class="menu">Edit > Preferences > GUI > Metering</kbd>.
12571 The type of meter and the <dfn>metering point</dfn> (the place in the signal chain
12572 where the meter taps the signal) are configurable in the context menu of each meter.
12573 Depending on the <kbd class="menu">Edit > Preferences > GUI > Mixer
12574 Strip</kbd> settings, the metering point is also accessible via a button in
12578 <img class="right" src="/images/meter-preferences.png" alt="" />
12581 Regardless of meter type and standard the meter display will highlight red if
12582 the signal on the given channel exceeds the configured peak threshold.
12586 <kbd class="mouse">Left</kbd> on the peak-indicator button resets the
12587 <dfn>peak-hold indicator</dfn> of a single channel.<br />
12588 <kbd class="mod1 mouse">Left</kbd> resets a whole <dfn>group</dfn>, and<br/>
12589 <kbd class="mod13 mouse">Left</kbd> resets all meters.
12592 <h2>Overview of meter types</h2>
12595 The figure on the left below shows all available meter-types in Ardour 3.4 when fed with a -18 dBFS 1 kHz sine wave.
12598 <img class="right" style="max-width:45%;height:400px;" src="/images/needle-meters-18.png"
12599 alt="Needle-style meters as external LV2 plugins" />
12600 <img style="max-width:45%; height:400px" src="/images/meter-types-18.png"
12601 alt="Bar-graph meters in Ardour" />
12605 Due to layout concerns and consistent look &Â feel, all meters available in
12606 Ardour itself are bar-graph type meters. Corresponding needle-style meters—which take up more visual screen space—are available as
12607 <a href="https://github.com/x42/meters.lv2/">LV2 plugins</a> (see image on the upper right).
12611 title: Signal Routing
12616 Ardour does most of its internal <dfn>signal routing</dfn> via JACK:
12617 all track and bus inputs and outputs are JACK ports, as are sends and
12618 inserts—which means they can be tapped into by other JACK clients.
12619 Only the signal flow inside a track or bus (i.e. from <a
12620 href="/working-with-plugins/processor-box/">processor to processor</a>) is
12621 handled internally.
12625 By default, Ardour will create the following connections:
12630 <dfn>Track inputs</dfn> are optionally auto-connected to hardware inputs, in round robin order, depending on the setting you chose in the
12631 <a href="/working-with-sessions/new-session-dialog"><kbd
12632 class="menu">Session > New Session</kbd> dialog</a>.
12635 <dfn>Bus inputs</dfn> are left disconnected.
12638 The number of <dfn>track and bus outputs</dfn> are equal to the number
12639 of inputs of the master bus.
12642 Track and bus outputs are always auto-connected to the master bus inputs.
12645 Master bus outputs are connected to hardware outputs.
12650 This configuration is normally sufficient to do basic tracking and playback of sessions without any adjustments. When changing these connections, be certain that there is good reason for doing so—it is generally not necessary and can often lead to problems.
12654 However, for many workflows during mixing, more complicated signal routing is required. Fortunately, Ardour is very flexible in the ways it offers to connect things to each other.
12658 title: Busses and VCAs
12663 In order to use the process of mixing, Ardour offers two tools traditionally found on hardware mixing consoles: <dfn>Busses</dfn> and <dfn><abbr title="Voltage-Controlled Amplifier">VCA</abbr></dfn>s.
12669 An Ardour bus can be considered a virtual track, as in a track that doesn't have a playlist (so, no regions).
12673 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 drumkit. Routing all the drums tracks outputs to a bus allows, once the different levels amongst the drums have been set, to adjust the global level of the drumkit in the mix.
12677 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. 10 discrete delay plugins on 10 different tracks, busses are often used as receivers of <a href="/signal-routing/aux-sends/">sends</a>, and only 1 delay plugin is used on this bus, reducing the processing power needed.
12680 <p class="note">Note that the Master strip, which by default receives the output from all tracks, <em>is</em> a bus itself.</p>
12682 <h3>Audio Busses vs MIDI Busses</h3>
12685 Ardour supports 2 types of busses: Audio and MIDI. A MIDI bus differs from an audio bus just by its input (which is 1 midi input instead of <em>n</em> audio), the fact that you can put an instrument on it at creation time, whereas you can't easily add an instrument to an audio bus.
12689 MIDI bus are provide a particularly efficient workflow for virtual drumkits where the arrangement uses different MIDI tracks. Moreover, busses with both Audio and MIDI inputs are well suited for vocoders and similar plugins.
12693 Depending on the user's workflow and the way busses are used, 2 possibilities exists:
12696 <h3>Connecting a track to a bus via outputs</h3>
12698 <img class="right" src="/images/connecting_bus_output.png" alt="Connecting a bus through a track's outputs">
12701 Connecting the output(s) of a track to the input(s) of the bus sends <em>all</em> 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 wont be able to be connected to the output of a stereo track).
12705 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 <kbd class="menu">Routing Grid</kbd> 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 <em>*number*</em>, number being the number of connections made in the routing grid.
12708 <h3>Connecting a track to a bus via Sends</h3>
12710 <img class="left" src="/images/connecting_bus_send.png" alt="Connecting a bus through a send">
12713 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. Right click where in the signal flow you want the send to happen, and select <kdb class="menu">New Aux Send... > name_of_the_bus</kbd>.
12717 By <kbd class="mouse">left-clicking</kbd> 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.
12721 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.
12726 <img class="left" src="/images/vcas.png" alt="VCAs strips">
12729 Although track/bus <a href="/working-with-tracks/track-and-bus-groups/">groups</a> 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 you to easily adjust the relative levels inside the group. For large projects, this can make mixing much easier to control.
12733 It allows to use either or both of the conventions for combining multiple masters:
12737 <li>Nest VCAs (VCA 2 controls VCA 1 etc.)</li>
12738 <li>Chain VCAs (VCA 1 and VCA2 both control track or bus N)</li>
12741 <h3>Using a VCA strip</h3>
12744 A VCA strip is made of (from top to bottom in the screenshot):
12748 <li><dfn>1</dfn>: number of the VCA</li>
12749 <li><dfn>X</dfn>: allows to hide the VCA strip. Left clicking this button toggles the exclusive visibility of the tracks connected to this VCA</li>
12750 <li><dfn>M</dfn>: mutes the VCA</li>
12751 <li><dfn>S</dfn>: solos the VCA</li>
12752 <li><dfn>A level meter</dfn>: allows to adjust the level of the VCA</li>
12753 <li><dfn>~vca~</dfn>: a VCA button to optionally connect to another VCA</li>
12757 Right-clicking the name button shows a context menus comprised of:
12761 <li><kbd class="menu">Rename</kbd>: Renames the VCA</li>
12762 <li><kbd class="menu">Color...</kbd>: Changes the color of the VCA button in the tracks connected to this one</li>
12763 <li><kbd class="menu">Drop All Slaves</kbd>: Deletes all connections to this VCA, i.e. no tracks are controlled by this VCA anymore</li>
12764 <li><kbd class="menu">Remove</kbd>: Deletes this VCA</li>
12767 <h3>Connecting to a VCA strip</h3>
12769 <img class="left" src="/images/connecting_to_vca.png" alt="Connecting to VCA">
12772 Connecting a track/bus/VCA to a VCA is as simple as clicking the VCA button on any mixer strip and choosing the VCA to connect to.
12776 The VCA button only shows up in mixer strips when at least 1 VCA exists, i.e., you have to first create a VCA before connecting it.
12785 <dfn>Auxilliary sends</dfn> are <a
12786 href="/working-with-plugins/processor-box/">processors</a> in a bus or
12787 track channel strip. They tap the signal at a specific point in the signal
12788 flow (pre-fader, post-fader, before or after EQs and other plugins, etc.)
12789 and send a copy of that signal somewhere else, without affecting the
12790 normal signal flow downwards to the channel fader.
12794 Usually, aux sends from several tracks are collectively sent to a
12795 dedicated <dfn>Aux bus</dfn> in Ardour, to create a monitor mix for a
12796 musician, or to feed an effect unit. The output of such a bus might
12797 be routed to separate hardware outputs (in the case of headphone or monitor
12798 wedge mixes), or returned to the main mix (in the case of an effect).
12802 Since sends are JACK ports, it is also possible to send the tapped signal
12803 somewhere else directly, which is not usually possible on hardware mixers
12804 (see <a href="/signal-routing/external-sends/">External Sends</a>).
12808 It may be useful to
12809 <a href="/signal-routing/comparing-aux-sends-and-subgroups">compare and contrast</a>
12810 the use of aux sends with <a href="/signal-routing/subgrouping">subgrouping</a>.
12813 <h2>Adding a new aux bus</h2>
12816 Choose <kbd class="menu">Session > Add New Track or Bus</kbd>. In the
12817 <kbd class="menu">New Track & Bus</kbd> dialog, select "Busses" in the Track/Bus
12818 selector at the upper right.
12821 <h2>Adding a send to an aux bus</h2>
12824 Context-click on the processor box for the track you want to send to the bus, and
12825 choose <kbd class="menu">New Aux Send</kbd>. From the submenu, choose the bus you
12826 want to send to. A send will be added (and will be visible in the processor box).
12827 Note that the submenu may be empty if you have not created a bus yet.
12830 <h3>Pre-fader and Post-fader Aux Sends</h3>
12833 Depending on whether you context-click above or below the fader in the processor box,
12834 the new aux send can be placed before or after the fader in the channel strip.
12835 <dfn>Post-fader</dfn> aux sends are typically used when using an aux for shared signal
12836 processing (FX), so that the amount of effect is always proportional to
12837 the main mix fader. <dfn>Pre-fader</dfn> sends ensure that the level sent to the bus
12838 is controlled <em>only</em> by the send, not the main fader—this is typical
12839 when constructing headphone and monitor wedge mixes.
12842 <h2>Adding a new aux bus and sending a Track Group to it</h2>
12845 You can add aux sends to all members of a group and connect them to a new aux bus
12846 with a single click. After creating the track group (and adding tracks to it),
12847 context-click on the group tab and choose either
12848 <kbd class="menu">Add New Aux Bus (pre-fader)</kbd> or
12849 <kbd class="menu">Add New Aux Bus (post-fader)</kbd>. A new aux bus will be created,
12850 and a new aux send added to every member of the track group that connects to
12854 <p class="fixme">Add images, fix factual inaccuracies</p>
12855 <h2>Altering Send Levels</h2>
12858 You can alter the amount of the signal received by a send that it delivers to the bus
12859 it connects to. There are three approaches to this:
12862 <h3>Use the Send Fader</h3>
12865 Every send processor has a small horizontal fader that can be adjusted in the usual way. It is
12866 not very big and so this can be a little unsatisfactory if you want very fine control
12867 over the send level.
12870 <h3>Mapping the Main Fader</h3>
12873 Double-clicking on the send in the processor box will allow you to use the
12874 big fader of the mixer strip to control the send. The visual appearance of
12875 the mixer strip will change to reflect this. Double-click the send again to
12876 revert back to normal function for the strip.
12879 <h3>Map Aux Sends To Main Faders</h3>
12882 Pressing the button marked <kbd class="menu">Aux Sends</kbd> on a aux bus will
12883 alter the channel strip for every track or bus that feeds the aux bus. Many
12884 aspects of the strip will become insensitive and/or change their visual
12885 appearance. More importantly, the main fader of the affected channel strips
12886 will now control the send level and <strong>not</strong> the track gain.
12887 This gives a larger, more configurable control to alter the level. Click the
12888 <kbd class="menu">Aux Sends</kbd> button of the aux bus again to revert the
12889 channel strips to their normal use.
12892 <h2>Disabling Sends</h2>
12895 Clicking on the small "LED" in the send display in the processor box of the
12896 channel strip will enable/disable the send. When disabled, only silence will
12897 be delivered to the aux bus by this track. When enabled, the signal arriving
12898 at the send will be delivered to the aux bus.
12901 <h2>Send Panning</h2>
12904 Send panners can be configured to either be independent of the main
12905 panner, or to follow it. The latter could be useful for Reverb effects, or
12906 for in-ear monitor mixes delivered in stereo.
12910 title: Comparing Aux Sends and Subgroups
12911 menu_title: Auxes vs. Groups
12916 Auxes and Subgroups share a common concept—they both provide a way
12917 for one or more tracks (or busses) to send their signal to a single bus so
12918 that common signal processing can be applied to the mix of their signals.
12922 <dfn>Aux sends</dfn> leave the existing signal routing to the main mix in place,
12923 and are typically used to create a separate mix to send to (for example)
12924 monitors or headphones (for performer monitor mixes):
12927 <img width="300px" src="/images/a3_aux_routing.png" alt="aux signal routing" />
12930 <dfn>Subgroups</dfn> 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.
12933 <img width="300px" src="/images/a3_subgroup_routes.png" alt="sub group signal routing" />
12936 title: External Sends
12941 Like a normal aux send, an <dfn>external send</dfn> taps the signal at a
12942 specific within a channel strip, but delivers it to an external application
12943 or piece of hardware rather than an Ardour bus. By itself, an external
12944 send has no effect whatsoever on the audio signals within Ardour—it is a one-way signal routing that leaves all existing signal processing
12949 Most people will not have much use for this, but it can be useful if you
12950 want to experiment with external applications or hardware signal processing
12954 <h2>Adding an External Send</h2>
12957 Context-click on the
12958 <a href="/working-with-plugins/processor-box">processor box</a> in a
12959 channel strip (at the desired location, pre or post fader) and choose
12960 <kbd class="menu">Add new External Send</kbd>. A dialog will appear
12961 containing the standard Ardour
12962 <a href="/signal-routing/the-patchbay"><dfn>patchbay</dfn></a> to allow
12963 you to connect the send to the desired destination.
12966 <p class="fixme">Broken links</p>
12968 <h2>Removing an External Send</h2>
12970 <p>You can remove an external send in several ways:</p>
12973 <li><kbd class="mouse mod3">Right</kbd>-click the send in the processor box.</li>
12974 <li>Position the pointer over the send and press the <kbd>Del</kbd> key.</li>
12975 <li>Position the pointer over the send and press <kbd class="mod1">x</kbd>.</li>
12976 <li>Context-click the send and choose either <kbd class="menu">Cut</kbd> or
12977 <kbd class="menu">Delete</kbd>.</li>
12980 <h2>Altering Send Levels</h2>
12983 Just below the send in the processor box is a small fader that can be used
12984 like all other faders in Ardour to control the gain applied to the signal
12985 delivered by the send. Drag it to alter the level, Shift-click to restore
12986 to unity (0dB) gain.
12989 <h2>Disabling Sends</h2>
12992 Click the small "LED" in the send display within the processor box to turn
12993 it on and off. When turned off, silence will be delivered to the send. When
12994 turned on, the signal within the channel strip will be delivered.
12997 <h2>Editing Send Routing</h2>
13000 Double-clicking or Edit-clicking on the send in the processor box will
13001 redisplay the patchbay dialog that allows you full control over the routing
13011 <dfn>Inserts</dfn> are signal tap points that can be placed anywhere
13012 inside a channel strip. Unlike Auxes, they will interrupt the signal flow,
13013 feeding the signal from before the insert point to its <dfn>Insert
13014 send(s)</dfn>, and connecting the remainder of the channel strip to the
13015 <dfn>Insert return(s)</dfn>, both of which are JACK ports which are
13016 visible to other JACK applications.
13020 Inserts are the JACK equivalents of normalized switching jacks on an
13025 An insert allows you to either use a special external DSP JACK
13026 application that is not available as a plugin, or to splice an external
13027 analog piece of gear into your channel strip, such as a vintage
13028 compressor, tube equalizer, etc. In the latter case, you would first
13029 connect your inserts to a pair of hardware ports, which are in turn
13030 connected to the outboard gear.
13034 To disable (bypass) an insert, click on its LED in the processor box.
13038 When you create an insert, the signal will be interrupted until you make
13039 the relevant connections to the insert ports!
13043 Inserts will incur an additional JACK period of latency, which can be
13044 measured and compensated for during mixing, but not during tracking!
13053 <dfn>Subgrouping</dfn> (sometimes known as "Grouping" or "Audio Grouping")
13054 is a way to collect related signals together to apply some common
13055 treatment, before sending them on to the main mix. One standard
13056 application is to group several tracks belonging to the same instrument or
13057 section (such as a drumkit or horn section), to be able to adjust their
13058 volume with a single fader, after their inner balance has been set using
13063 To create a subgroup from an existing Track/Bus group, context-click on
13064 the relevant <a href="/working-with-tracks/track-and-bus-groups">group tab</a>,
13065 and choose <kbd class="menu">Add new subgroup bus</kbd>. A new bus will be
13066 created and every member of the track group will have its outputs disconnected
13067 from other destinations and then connected to the new bus inputs. The bus
13068 outputs will feed the master bus unless you have selected manual connections
13069 for the session. The bus will be named after the track group name.
13073 Alternatively, you can create a group manually, by first adding a new bus,
13074 then, for each track you want to feed the subgroup bus, disconnect its outputs
13075 from the master and connect it to the inputs of the subgroup bus instead.
13076 You can do this in the global audio patchbay or a track by track basis via the
13077 output button of each track's channel strip.
13081 To remove a subgroup (bus), context-click on the track group tab, and select
13082 <kbd class="menu">Remove subgroup bus</kbd>. You can also simply delete the
13083 bus itself. Note that this operation will <strong>not</strong> restore signal
13084 routing to the way it was before the addition of the subgroup bus—tracks
13085 that had been subgrouped will be left with their main outputs disconncted.
13094 The <dfn>patchbay</dfn> is the main way to make connections to, from and
13095 within Ardour's mixer.
13099 Notable exceptions are internal aux sends and connections to the monitor bus (if
13100 you are using one): these cannot be controlled from a patchbay, and are
13101 basically not under manual control at all.
13104 <img class="right" src="/images/connection-manager.png" alt="an example patchbay" />
13107 The patchbay presents two groups of ports; one set of <dfn>sources</dfn> (which produce data), and one of <dfn>destinations</dfn> (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.
13111 Both sources and destinations are divided up into groups, with each group being given a tab:
13114 <dl class="narrower-table">
13117 These are ports which are connected to a physical piece of hardware (a sound card or MIDI interface).</dd>
13118 <dt>Ardour Busses</dt>
13119 <dd>All ports belonging to busses.</dd>
13120 <dt>Ardour Tracks</dt>
13121 <dd>All ports belonging to tracks.</dd>
13122 <dt>Ardour Misc</dt>
13124 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.
13128 If you have 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).</dd>
13132 The main part of the patchbay is a <dfn>matrix grid</dfn>. Within this grid, green dots represent connections, and you can click in any of the squares to make or break connections. You can also click and drag to draw a line of connections, which is sometimes useful for making many connections at once.
13136 In the example patchbay shown above we can note various things. We are using the <kbd class="menu">Ardour Tracks</kbd> sources tab, so we see the output ports of the three tracks in our session: Fred, Jim and Foo. Our destinations are from the <kbd class="menu">Ardour Busses</kbd> 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).
13140 The green dots in the example show that both Foo and Bar are connected to the master bus, left to left and right to right.
13143 <h2>Variants on the Patchbay</h2>
13146 Slightly different versions of the patchbay are available from different places in Ardour. For a global view of all JACK audio connections, use <kbd class="menu">Window > Audio Patchbay</kbd>, or press <kbd class="mod2">P</kbd>. A corresponding MIDI Connection Manager can be opened using <kbd class="mod23">P</kbd>.
13150 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.
13153 <h2>Other patchbay features</h2>
13156 Context-clicking on a port name in the connection manager opens a menu which provides a few handy options:
13159 <dl class="wide-table">
13160 <dt><kbd class="menu">Add audio port</kbd> and <kbd class="menu">Add MIDI port</kbd></dt>
13162 These options add audio or MIDI ports to the thing that you opened the menu over, if this is possible. In this way, for example, tracks and busses can be extended to have more inputs or outputs.
13164 <dt><kbd class="menu">Remove</dt>
13166 Removes the given port, if possible. <kbd class="mouse mod3">Right</kbd>-clicking a port will do the same.
13168 <dt><kbd class="menu">Disconnect all from…</kbd></dt>
13169 <dd>Disconnects everything from the given port.</dd>
13170 <dt><kbd class="menu">Rescan</kbd></dt>
13172 Ardour will try to keep abreast of any changes to the JACK ports on your system, and reflect them in any connection managers which are open. If for some reason this fails, use this to re-scan the list of ports and update the manager.
13174 <dt><kbd class="menu">Show individual ports</kbd></dt>
13176 If you have a session which has lots of multi-channel tracks or busses, it may be an unnecessary detail that you have to connect left to left and right to right every time you make a connection. This obviously gets worse with higher channel counts (such as for 5.1 or Ambisonics). To make life easier with such sessions, you can untick Show individual ports. After that, the channels of tracks and busses will be hidden, and any green dots you add 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.
13178 <dt><kbd class="menu">Flip</kbd></dt>
13180 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 <kbd class="menu">Ardour Busses</kbd> and the right is showing <kbd class="menu">Hardware</kbd>, flip will swap the view to the opposite. You can also flip by pressing <kbd>f</kbd>. Note that if there are no matching tabs on both axes, flipping will be impossible.
13185 title: Track/Bus Signal Flow
13192 In each individual Track or Bus the signal flow is top to bottom. Consider the following diagram:
13195 <p class="center"><img width="360px" src="/images/track_signal_routing.png" alt="track signal routing" /></p>
13198 Trim, Fader and Panner are provided by Ardour. The Processor-Box can hold 3rd Party Plugins or host-provided redirects (insert, aux-send,..).
13201 <p class="fixme">Where is the processor box in that image?</p>
13204 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 width of the signal flow is defined by the passage through plugins in the processor box, followed by panning.
13205 The number of inputs to the panner is defined by the number 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 remove dynamically. This schema called <em>Flexible I/O</em>. It's very powerful and a distinct feature of Ardour.
13209 The golden rule of processor signal flow:<br/>The number of outputs of one link of the process chain defines the number inputs of the next, until the panner.
13213 Due to this rule there is one very common case that is hard to achieve: Keep a mono track mono. With <em>Flexible I/O</em>, if a stereo plugin is added on a mono track, the signal flow after that plugin becomes stereo.
13216 <h2>Strict I/O</h2>
13219 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.
13223 <li>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.
13224 If a plugin-pin is missing, it is ignored. If Plugin-pin is unconnected, it is fed with silence. Unconnected plugin outputs are ignored).</li>
13225 <li>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).
13226 Required ports are automatically added, excess ports are removed. The user cannot manually add/remove output ports.</li>
13230 Strict I/O is set when creating the track and can later be en/disabled dynamically in the context menu of every mixer strip.
13233 <p class="center"><img src="/images/strict_io_routing.png" alt="strict i/o routing" /></p>
13236 There are two exceptions to the above rule 1.
13240 <li>Midi Synths. When adding a synth at a point where there is a Midi port only, the synthesizer plugin will add audio-output ports,
13241 which trickle down the processor chain to all follow up plugins as inputs and in turn force their outputs to match.</li>
13242 <li>Side chain inputs are not affected by strict I/O</li>
13245 <h2>Customizing the Signal Flow</h2>
13248 The signal flow though the mixer can be customized at every processor node via "Pin Configuration" in the context menu of every processor.
13249 User customization override all automatic (flexible/strict I/O mode) inferred output port settings for the given processor.
13250 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 until the output and result in the addition of an output port. This is useful for example in case of a mono to stereo reverb.
13254 One can also bypass plugin instances with a 'thru' connection. This connection is latency compensated. One example is separate Left/Right channel Equalization using two mono plugins on a stereo track:
13257 <p class="center"><img src="/images/left_right_eq.png" alt="separate left/right Eq" /></p>
13260 title: Muting and Soloing
13265 Each track and bus has two buttons which have important implications
13266 for signal flow: <dfn>mute</dfn> and <dfn>solo</dfn>. The behaviour
13267 of these buttons is configurable in Ardour, to suit different studio
13271 <h2>Without a monitor bus</h2>
13274 If you are using Ardour without a monitor bus, there is only one way
13275 in which mute and solo will work:
13280 Mute on a track or bus will mute that track on the master bus,
13281 so that it will not be heard.
13284 Solo on a track or bus will solo that track or bus and mute all
13285 others. Soloing a bus will also solo any tracks or
13286 busses which feed that bus.
13290 <h2>With a monitor bus</h2>
13293 For setups with a monitor bus, you have more options, mostly
13294 governed by the setting of the
13295 <kbd class="option">Solo controls are Listen controls</kbd> option
13296 in <kbd class="menu">Edit > Preferences > Solo / mute.
13300 With <kbd class="optoff">Solo controls are Listen controls</kbd>
13301 unticked, behaviour is almost exactly the same as the situation
13302 without a monitor bus. Mute and solo behave the same, and the monitor
13303 bus is fed from the master bus, so it sees the same thing.
13307 With <kbc class="option">Solo controls are Listen controls</kbd>
13308 ticked, the master and monitor busses behave differently. In this
13309 mode, solo controls are more properly called <dfn>listen</dfn>
13310 controls, and Ardour's solo buttons will change their legend from
13311 <samp>S</samp> to either <samp>A</samp> or <samp>P</samp> to
13316 Now, without any mute or listen, the monitor bus remains fed by
13317 the master bus. Also:
13322 Mute will mute the track or bus, so that it will not be heard
13323 anywhere (neither on the master nor monitor busses), much as before.
13326 Listen will disconnect the monitor bus from the master bus, so
13327 that the monitor bus now only receives things that are "listened to".
13328 Listen will not perform any muting, and hence the master bus will
13329 not be affected by a listened track or bus.
13334 When solo controls are listen controls, the listening point can be set
13335 to either After-Fade Listen (AFL) or Pre-Fade Listen (PFL). The precise
13336 point to get the signal from can further be configured using the
13337 <kbd class="menu">PFL signals come from</kbd> and
13338 <kbd class="menu">AFL signals come from</kbd> options.
13342 The solo-mute arrangement with a monitor bus is shown below:
13345 <img src="/images/solo-mute.png" alt="mute/solo signal flow" />
13348 Here we have a number of tracks or busses (in orange). Each one has an
13349 output which feeds the master bus. In addition, each has PFL and AFL
13350 outputs; we have a choice of which to use. PFL/AFL from each track or
13351 bus are mixed. Then, whenever anything is set to AFL/PFL, the monitor out
13352 becomes just those AFL/PFL feeds; the rest of the time, the monitor out is
13353 fed from the master bus.
13357 In this scheme Solo has no effect other than to mute other non-soloed tracks;
13358 with solo (rather then listen), the monitor out is fed from the master bus.
13361 <h2>Other solo options</h2>
13364 <kbd class="menu">Edit > Preferences > Solo / Mute</kbd> has some
13368 <h3>Solo-in-place mute cut</h3>
13371 When using solo-in-place (SiP), in other words when soloed tracks are being
13372 listened to on the master bus, this fader specifies the gain that will be
13373 applied to other tracks in order to mute them. Setting this level to
13374 -∞&nbdp;dB will mean that other tracks will not be heard at all; setting to
13375 some higher value less than 0dB means that other non-soloed tracks will be h
13376 eard, just reduced in volume compared to the soloed tracks. Using a value
13377 larger than -∞dB is sometimes called "Solo-In-Front" by other DAWs, because
13378 the listener has the sense that soloed material is "in front" of other
13379 material. In Ardour, this is not a distinct mode, but instead the mute cut
13380 control offers any level of "in-front-ness" that you might want to use.
13383 <h3>Exclusive solo</h3>
13386 If this is enabled, only one track or bus will ever be soloed at once; soloing
13387 track B while track A is currently soloed will un-solo track A before soloing
13391 <h3>Show solo muting</h3>
13394 If this is enabled, the mute button of tracks and busses will be drawn
13395 outlined to indicate that the track or bus is muted because something else
13396 is soloed. This is enabled by default, and we recommend that you leave it
13397 that way unless you are extremely comfortable with Ardour's mute/solo
13401 <h3>Soloing overrides muting</h3>
13404 If this is enabled, a track or bus that is both soloed and muted will behave
13405 as if it is soloed.
13408 <h3>Mute affects…</h3>
13411 These options dictate whether muting the track will affect various routes out
13412 of the track; through the sends, through the control outputs (to the monitor
13413 bus) and to the main outputs.
13422 <dfn>Panning</<dfn> is the process of distributing one or more signals
13423 across a series of outputs so that the listener will have the
13424 experience of them coming from a particular point or area of the
13425 overall listening field.
13429 It is used to create a sense of space and/or a sense of motion in an
13430 audio mix. You can spread out different signals across the space, and
13431 make them move over time.
13434 <h2>Types of Panners</h2>
13437 The way a panner works depends a great deal on how many signals it
13438 is going to process and how many outputs it will send them to. The
13439 simplest case is distributing a single signal to 2 outputs, which is
13440 the common case when using a "mono" track and a stereo speaker
13445 But panning in Ardour could theoretically involve distributing any
13446 number of signals to any number of ouputs. In reality, Ardour does
13447 not have specific panners for each different situation. Currently,
13448 it has dedicated panners for the following situations:
13452 <li>1 signal distributed to 2 outputs (the mono panner)</li>
13453 <li>2 signals distributed to 2 outputs (the stereo panner)</li>
13454 <li>N signals distributed to M outputs (the VBAP panner)</li>
13458 Even for each of these cases, there are many different ways to
13459 implement panning. Ardour currently offers just one solution to each
13460 of these situations, but in the future will offer more.
13464 In addition to the panners, Ardour has a balance control for subtle
13465 corrections to existing stereo images.
13474 The default <dfn>mono panner</dfn> distributes 1 input to 2 outputs. Its
13475 behaviour is controlled by a single parameter, the <dfn>position</dfn>. By
13476 default, the panner is centered.
13479 <h2>Mono Panner User Interface</h2>
13481 <img src="/images/mono-panner-annotated.png" alt="image of the mono panner"/>
13484 The mono panner looks a quite similar to the
13485 <a href="/mixing/panning/stereo_panner">stereo panner</a>
13486 interface. The difference is that the L/R labels in the lower half
13487 of the mono panner do not move because there is no "width" to
13491 <h2>Using the mouse</h2>
13493 <p>To change the position smoothly, press the right button and drag
13494 anywhere within the panner. <em>Note: you do not need
13495 to grab the position indicator in order to drag</em>
13500 <dt>Reset to defaults</dt>
13501 <dd>Click <kbd class="mod3 mouse">right</kbd></dd>
13503 <dt>Change to a "hard left"</dt>
13504 <dd>Double click <kbd class="mouse">right</kbd> in the left side
13507 <dt>Change to a "hard right"</dt>
13508 <dd>Double click <kbd class="mouse">right</kbd> in the right side
13511 <dt>Set the position to center</dt>
13512 <dd>Double Click <kbd class="mouse">right</kbd> in the middle of the panner</dd>
13515 <h2>Keyboard bindings</h2>
13518 When the pointer is within a mono panner user interface, the following keybindings are available to operate on that panner:
13522 <dt><kbd>←</kbd> / <kbd class="mod1">←</kbd></dt>
13523 <dd>move position 1° / 5° to the left</dd>
13524 <dt><kbd>→</kbd> / <kbd class="mod1">→</kbd></dt>
13525 <dd>move position 1° / 5° to the right</dd>
13526 <dt><kbd>0</kbd></dt>
13527 <dd>reset position to center</dd>
13530 <h2>Using the scroll wheel/touch scroll</h2>
13533 When the pointer is within a mono panner user interface, the scroll wheel may be used as follows:
13537 <dt><kbd class="mouse">⇑</kbd> or <kbd class="mouse">⇐</kbd></dt>
13538 <dd>move position to the left by 1°</dd>
13539 <dt><kbd class="mod1 mouse">⇑</kbd> or <kbd class="mod1 mouse">⇐</kbd></dt>
13540 <dd>move position to the left by 5°</dd>
13541 <dt><kbd class="mouse">⇓</kbd> or <kbd class="mouse">⇒</kbd></dt>
13542 <dd>move position to the right by 1°</dd>
13543 <dt><kbd class="mod1 mouse">⇓</kbd> or <kbd class="mod1 mouse">⇒</kbd></dt>
13544 <dd>move position to the right by 5°</dd>
13548 title: Balance Control
13553 For stereo tracks, you can now switch between the default stereo panner and a traditional <dfn>balance control</dfn> by right-clicking on the panner widget.
13556 <img class="left" src="/images/stereo-balance.png" alt="Stereo Balance
13560 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.
13564 While the balance control is considerably less flexible than the stereo panner, it works with arbitrary content without danger of introducing comb filter artifacts.
13568 title: Stereo Panner
13573 The default <dfn>stereo panner</dfn> distributes two inputs to two outputs. Its
13574 behaviour is controlled by two parameters, <dfn>width</dfn> and
13575 <dfn>position</dfn>. By default, the panner is centered at full width.
13579 The stereo panner assumes that the signals
13580 you wish to distribute are either uncorrelated (i.e. totally
13581 independent), or that they contain a stereo image which is
13582 <dfn>mono-compatible</dfn>, such as a co-incident microphone recording, or a
13583 sound stage that has been created with pan pots.<sup><a href="#caveat">*</a></sup>
13587 With the default values it is not possible to alter the position,
13588 since the width is already spread entirely across both outputs. To
13589 alter the position, you must first reduce the width.
13592 <h2>Stereo Panner User Interface</h2>
13594 <img src="/images/stereo-panner-annotated.png" alt=""/>
13597 The <dfn>panner user interface</dfn> consists of three elements, divided between
13598 the top and bottom half. Click and/or drag in the top half to
13599 control position; click and/or drag in the bottom half to control
13600 width (see below for details).
13604 In the top half is the position indicator, which shows where the
13605 center of the stereo image is relative to the left and right
13606 edges. When this is the middle of the panner, the stereo image is
13607 centered between the left and right outputs. When it all the way to
13608 the left, the stereo image collapses to just the left speaker.
13612 In the bottom half are two signal indicators, one marked "L" and the
13613 other "R". The distance between these two shows the width of the
13614 stereo image. If the width is reduced to zero, there will only be a
13615 single signal indicator marked "M" (for mono), whose color will
13616 change to indicate the special state.
13620 It is possible to invert the outputs (see below) so that whatever
13621 would have gone to the right channel goes to the left and vice
13622 versa. When this happens, the entire movable part of the panner
13623 changes color to indicate clearly that this is the case.
13626 <h3>Position vs. L/R</h3>
13629 Although the implementation of the panner uses the "position"
13630 parameter, when the user interface displays it numerically, it shows
13631 a pair of numbers that will be familiar to most audio engineers.
13635 <tr><th>Position</th><th>L/R</th><th>English</th></tr>
13636 <tr><td>0</td><td>L=50% R=50%</td><td>signal image is midway between
13637 left and right speakers</td></tr>
13639 <tr><td>-1</td><td>L=100% R=0%</td><td>signal image is entirely
13640 at the left speaker</td></tr>
13642 <tr><td>1</td><td>L=0% R=100%</td><td>signal image is entirely
13643 at the right speaker</td></tr>
13647 One way to remember this sort of convention is that the middle of the
13648 USA is not Kansas, but "Los Angeles: 50% New York: 50%".
13651 <h3>Examples In Use</h3>
13654 <tr><th>Appearance</th><th>Settings</th></tr>
13655 <tr><td><img src="/images/stereo-panner.png"></td><td>Width=100%,
13656 L=50 R=50</td></tr>
13657 <tr><td><img src="/images/stereo-panner-zero.png"></td><td>Width=0%,
13658 L=50 R=50</td></tr>
13659 <tr><td><img src="/images/stereo-panner-inverted.png"></td><td>Width=-100%, Position = 0 (center)</td></tr>
13660 <tr><td><img src="/images/stereo-panner-right.png"></td><td>Width=36%,
13661 L=44 R=56</td></tr>
13662 <tr><td><img src="/images/stereo-panner-hard-right.png"></td><td>Width=0%,
13663 L=0 R=100</td></tr>
13666 <h4>Using the mouse</h4>
13669 Mouse operations in the upper half of the panner adjust the position
13670 parameter, constrained by the current width setting.
13673 Mouse operations in the lower half of the panner adjust the width
13674 parameter, constrained by the current position setting.
13677 To change the position smoothly, press the right button and drag
13678 within the top half of the panner, then release. The position will
13679 be limited by the current width setting. <em>Note: you do not need
13680 to grab the position indicator in order to drag.</em>
13683 To change the width smoothly, press the right button and drag
13684 within the lower half of the panner, then release. The width will be
13685 limited by the current position setting. <em>Note: you do not need to
13686 grab the L/R indicators in order to drag.</em>
13691 <dt>Reset to defaults</dt>
13692 <dd>Click <kbd class="mod3 mouse">right</kbd></dd>
13694 <dt>Change to hard left</dt>
13695 <dd>Double click <kbd class="mod2 mouse">right</kbd> in the upper left half
13698 <dt>Change to a hard right</dt>
13699 <dd>Double click <kbd class="mod2 mouse">right</kbd> in the upper right half
13702 <dt>Move position as far left as possible, given width</dt>
13703 <dd>Double click <kbd class="mouse">right</kbd> in the upper left half of the
13706 <dt>Move position as far right as possible, given width</dt>
13707 <dd>Double click <kbd class="mouse">right</kbd> in the upper right half of the
13710 <dt>Set the position to center</dt>
13711 <dd>Click <kbd class="mouse">right</kbd> in the upper middle of the panner</dd>
13713 <dt>Reset to maximum possible width</dt>
13714 <dd>Double click <kbd class="mouse">right</kbd> on the lower left side</dd>
13716 <dt>Invert (flip channel assignments)</dt>
13717 <dd>Double click <kbd class="mouse">right</kbd> on the lower right side</dd>
13719 <dt>Set width to 0°</dt>
13720 <dd>Double click <kbd class="mouse">right</kbd> in the lower middle</dd>
13723 <h4>Keyboard bindings</h4>
13726 When the pointer is within a stereo panner user interface, the following
13727 keybindings are available to operate on that panner:
13731 <dt><kbd>↑</kbd> / <kbd class="mod1">↑</kbd></dt>
13732 <dd>increase width by 1° / 5°</dd>
13733 <dt><kbd>↓</kbd> / <kbd class="mod1">↓</kbd></dt>
13734 <dd>decrease width by 1° / 5°</dd>
13735 <dt><kbd>←</kbd> / <kbd class="mod1">←</kbd></dt>
13736 <dd>move position 1° / 5° to the left</dd>
13737 <dt><kbd>→</kbd> / <kbd class="mod1">→</kbd></dt>
13738 <dd>move position 1° / 5° to the right</dd>
13739 <dt><kbd>0</kbd></dt>
13740 <dd>reset position to center</dd>
13741 <dt><kbd class="mod2">↑</kbd></dt>
13742 <dd>reset width to full (100%)</dd>
13745 <h4>Using the scroll wheel/touch scroll</h4>
13748 When the pointer is within a stereo panner user interface, the scroll
13749 wheel may be used as follows:
13753 <dt><kbd class="mouse">⇐</kbd> / <kbd class="mod1 mouse">⇐</kbd></dt>
13754 <dd>increase width by 1° / 5°</dd>
13755 <dt><kbd class="mouse">⇒</kbd> / <kbd class="mod1 mouse">⇒</kbd></dt>
13756 <dd>decrease width by 1° / 5°</dd>
13757 <dt><kbd class="mouse">⇑</kbd> / <kbd class="mod1 mouse">⇑</kbd></dt>
13758 <dd>move position 1° / 5° to the left</dd>
13759 <dt><kbd class="mouse">⇓</kbd> / <kbd class="mod1 mouse">⇓</kbd></dt>
13760 <dd>move position 1° / 5°to the right</dd>
13763 <h2><a name="caveat"></a>Stereo panning caveats</h2>
13765 <p class="warning">
13766 The stereo panner will introduce unwanted side effects on
13767 material that includes a time difference between the channels, such
13768 as A/B, ORTF or NOS microphone recordings, or delay-panned mixes.<br />
13769 When you reduce the width, you are effectively summing two highly
13770 correlated signals with a delay, which will cause <dfn>comb filtering</dfn>.
13774 Let's take a closer look at what happens when you record a source at 45° to the
13775 right side with an ORTF stereo microphone array and then manipulate the width.
13779 For testing, we apply a <dfn>pink noise</dfn> signal to both inputs of an Ardour stereo
13780 bus with the stereo panner, and feed the bus output to a two-channel analyser.
13781 Since pink noise contains equal energy per octave, the expected readout is a
13782 straight line, which would indicate that our signal chain does not color the
13786 <img src="/images/stereo-panner-with-ORTF-fullwidth.png" />
13789 To simulate an ORTF, we use Robin Gareus' stereo balance
13790 control LV2 to set the level difference and time delay. Ignore the Trim/Gain—its purpose is just to align the test signal with the 0dB line of the
13795 Recall that an <dfn>ORTF</dfn> microphone pair consists of two cardioids
13796 spaced 17 cm apart, with an opening angle of 110°. For a far source at
13797 45° to the right, the time difference between the capsules is 350 μs
13798 or approximately 15 samples at 44.1 kHz. The level difference due to the
13799 directivity of the microphones is about 7.5 dB (indicated by the
13800 distance between the blue and red lines in the analyser).
13804 Now for the interesting part: if we reduce the width of the signal to 50%,
13805 the time-delayed signals will be combined in the panner. Observe what
13806 happens to the frequency response of the left and right outputs:
13809 <img src="/images/stereo-panner-with-ORTF-halfwidth.png" />
13812 You may argue that all spaced microphone recordings will undergo comb
13813 filtering later, when the two channels recombine in the air between the speakers.
13814 Perceptually however, there is a huge of difference: our hearing system is
13815 very good at eliminating comb filters in the real world, where their component
13816 signals are spatially separated. But once you combine them
13817 inside your signal chain, this spatial separation is lost and the brain will
13818 no longer be able to sort out the timbral mess. As usual, you
13819 get to keep the pieces.
13823 Depending on your material and on how much you need to manipulate the width,
13824 some degree of comb filtering may be acceptable. Then again, it may not. Listen
13825 carefully for artefacts if you manipulate unknown stereo signals—many
13826 orchestra sample libraries for example do contain time-delay components.
13831 title: Plugin and Hardware Inserts
13837 title: Working With Plugins
13842 <dfn>Plugins</dfn> are bits of software that get loaded by Ardour in order to create various audio or MIDI effects, or generate audio by functioning as "software instruments".
13846 Ardour supports a variety of different plugin standards:
13849 <dl class="narrower-table">
13850 <dt><abbr title="Linux Audio Developers' Simple Plugin API">LADSPA</abbr></dt>
13851 <dd>An early, simple, lightweight plugin <abbr title="Application
13852 Programming Interface">API</abbr>, audio effects only,
13853 plugins have no editors/GUI of their own (Ardour provides one, however).</dd>
13854 <dt><abbr title="LADSPA Version 2">LV2</abbr></dt>
13855 <dd>An extensible, full-featured plugin API, audio and <abbr
13856 title="Musical Instrument Digital Interface">MIDI</abbr>, plugins can provide their
13857 own <abbr title="Graphical User Interface">GUI</abbr>s; the successor to LADSPA</dd>
13858 <dt><abbr title="Audio Unit">AU</abbr></dt>
13859 <dd>OS X only, full featured, audio and MIDI, plugins can provide their own GUI</dd>
13861 <dt><abbr title="Virtual Studio Technology">VST</abbr></dt>
13862 <dd>Plugins using Steinberg's VST plugin standard. Varies by platform:
13864 <dt>on Linux</dt><dd>(native) Linux VST plugins fully supported (VST2.4)</dd>
13865 <dt>on Windows</dt><dd>(native) Windows VST plugins fully supported (VST2.4)</dd>
13866 <dt>on OS X</dt><dd>Not supported, unless you use a VST-to-AU
13867 bridge plugin. Similar to Apple's Logic DAW.</dd>
13871 <dt>Windows VST Plugins on Linux</dt>
13872 <dd>VST plugins for Windows, but being used on Linux. <strong>Normally not supported.</strong> See <a href="/working-with-plugins/windows-vst-support">Windows VST Plugins on Linux</a> for details.
13877 title: Processor Box
13881 <p><img class="right" src="/images/processor-box.png" alt="the Processor Box" /></p>
13884 In Ardour terminology, a <dfn>processor</dfn> 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 <dfn>plugins</dfn> used for effects or as instruments, as well as sends or inserts which affect <a href="/signal-routing">signal routing</a>.
13888 The arrangement of processors is arbitrary, and there is no limit to how
13889 many there can be. The Processor Box will automagically add a scrollbar to
13890 itself if there are more processors in it than can be shown in the given space.
13894 The main box in the top half of a mixer strip shows the <dfn>processor
13895 box</dfn>. Processors are shown as colored rectangles, with a small "LED" beside
13896 them that lights up when the processor is enabled. The color of the
13897 processor depends on its location in the sequence; processors that are <dfn>pre-fader</dfn> are colored in red, and <dfn>post-fader</dfn> processors are colored green (in the default theme).
13901 The <dfn>processor box</dfn> will always contain a blue <dfn>Fader</dfn> 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.
13904 <h2>Adding Processors</h2>
13906 Processors can be added to the chain by <kbd class="mouse">Right</kbd>-clicking in the processor list, This does three things:
13910 <li>A gap is opened up to indicate the location of the click. The gap shows where any new processors will be inserted.</li>
13911 <li>The processor under the click is selected.</li>
13912 <li>An options menu is presented.</li>
13916 From the menu, new processors can be inserted.
13920 Processors can also be dragged and dropped from the <a href="/working-with-plugins/plugin-sidebar/"><dfn>Favorite Plugins</dfn> window</a> to an appropriate spot in the Processor Box.
13924 The <dfn>Favorite Plugins</dfn> window can be populated via the <a href="/working-with-plugins/plugin-manager/">Plugin Manager</a>, or by dragging and dropping an existing processor from the <dfn>processor box</dfn> to the <dfn>Favorite Plugins</dfn> window.
13927 <h2>To Reorder (Move) Processors</h2>
13929 Processors can be re-ordered using drag & drop. Dragging a processor
13930 allows it to be moved around within the chain, or copied to another
13931 processor list on another track or bus.
13934 <h2>To Enable/Disable a Processor</h2>
13936 <p><img class="right" src="/images/processor.png" alt="a typical processor" /></p>
13939 To the left of the name of each processor is a small LED symbol; if this
13940 is lit-up, the processor is active. Clicking on it will deactivate the
13941 processor and effectively bypass it.
13945 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.
13948 <h2>Selecting Processors</h2>
13950 A processor in the <dfn>processor box</dfn> can be selected with a <kbd class="mouse">Left</kbd>-click on it; it will be highlighed in red. Other processors can be selected at the same time by <kbd class="mouse">Left</kbd>-clicking on them while holding down the <kbd class="mod1">‌</kbd> key, and ranges can be selected by <kbd class="mouse">Left</kbd>-clicking on them while holding down the <kbd>Shift</kbd> key
13953 <h2>Removing Processors</h2>
13955 Context-click on the processor to be removed, and select <kbd
13956 class="menu">Delete</kbd>; or <kbd class="mod3 mouse">Right</kbd>-click on it; or <kbd class="mouse">Left</kbd>-click on it and press the <kbd>Delete</kbd> key. If multiple processors are selected, they will all be deleted at the same time.
13960 title: Plugin Manager
13964 <p class="fixme">This needs updating; it was written for v3 or v4, and it's out of date</p>
13967 The <dfn>Plugin Manager</dfn> 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 <a href="/working-with-plugins/processor-box/">Processor Box</a>. It is displayed either by a double-click in the <dfn>Processor Box</dfn> or by choosing <kbd class="menu">New Plugin > Plugin Manager...</kbd> from the <dfn>Processor Box</dfn> context menu.
13970 <p class="center"><img src="/images/plugin-manager.png" alt="Plugin Manager window"/></p>
13973 Displayed for each plugin is the status (normal, favorite, hidden),
13974 name, type, category, creator (author), and the number of audio and MIDI
13975 connections. The plugins can be sorted by clicking on a column header.
13978 <h2>Plugin Display Status</h2>
13981 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 <dfn>Processor Box</dfn> context menu under <kbd class="menu">New Plugin > Favorites</kbd> and in <dfn>Favorite Plugins</dfn> pane in the Mixer window. Setting the hide radio button on a plugin will keep the plugin from showing in the <dfn>Processor Box</dfn> context menus <kbd class="menu">New Plugin > By Creator</kbd> or <kbd class="menu">New Plugin > By Category</kbd>.
13984 <h2>Filtering Listed Plugins</h2>
13987 The middle of the <dfn>Plugin Manager</dfn> 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 <kbd class="button">Clear</kbd> empties the text-box.
13990 <h2>Inserting Plugins in the Processor Box</h2>
13993 The bottom half of the plugin manager shows plugins that have been selected
13994 for insertion into the <dfn>Processor Box</dfn>. A plugin can be added by
13995 either double clicking the plugin entry in the top half, or, if already
13996 selected in top half, by clicking <kbd class="button">Add</kbd>.
14000 Plugins can be removed from the bottom half with a double click, or, if
14001 already selected, by clicking <kbd class="button">Remove</kbd>.
14005 title: Favorite Plugins Window
14009 <p><img class="right" src="/images/favorite-plugins.png" alt="Favorite Plugins window"/></p>
14012 The <dfn>Favorite Plugins</dfn> window is on the top-left side of the <dfn>Mixer Window</dfn>. 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.
14016 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.
14019 <h2 style="clear:both;">Features</h2>
14022 The Favorite Plugins window provides easy access to frequently used plugins:
14026 <li>Plugins can be dragged from the window to any track or bus <a href="/working-with-plugins/processor-box/"><dfn>processor box</dfn></a>, which will add the plugin to that track or bus at the given position.</li>
14027 <li>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.</li>
14028 <li>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).</li>
14030 <p><img class="right" src="/images/mixer-to-fav-dnd.png" alt="Dragging plugin to Favorites window"/></p>
14031 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.
14033 <li>The context-menu allows the deletion of presets or removal of the plugin from the list.</li>
14034 <li>Plugins in the list can be re-ordered using drag & drop. The custom order is saved.</li>
14037 <p style="clear:both;" class="note">
14038 When favorites are added with the <a href="/working-with-plugins/plugin-manager">Plugin Manager</a>, they are appended to the bottom of the list.
14042 title: Managing Plugin Presets
14046 <p class="fixme">Add images</p>
14049 All plugin control widgets, whether they are created by Ardour or
14050 by the plugin, have a common set of controls at the top of the window.
14051 These include 4 controls for managing <dfn>plugin presets</dfn>.
14054 <h2>What Is a Plugin Preset?</h2>
14057 A <dfn>preset</dfn> for a plugin is simply a saved set of values for
14058 all of a plugin's parameters. If you load a preset, you are restoring
14059 all the parameters of that plugin to the values stored in the preset.
14060 This is an easy, fast way to manage your preferred settings for
14061 particular plugins.
14064 <h2>The Preset Selector</h2>
14067 The <dfn>preset selector</dfn> is a regular selector that can be
14068 clicked to display a list of all known presets for this plugin. This
14069 will include presets that you have created yourself, and for some
14070 plugin formats, presets that come with the plugin itself.
14073 <h2>Load a New Preset</h2>
14076 Click on the preset selector to pop up a menu showing the names of
14077 all available presets. Click on the name of the preset you wish to load.
14078 The preset will be loaded—you may see various controls in the
14079 plugin editor change to reflect the new value of some or all parameters.
14082 <h2>Create a Preset</h2>
14085 To save the current plugin settings as a new preset, click on the
14086 <kbd class="menu">Add</kbd> button at the top of the window. A dialog
14087 will appear to ask for the name of the preset.
14090 <h2>Save a Preset</h2>
14093 If you wish to modify the settings in an existing preset, first use
14094 the preset selector to load the preset, then adjust the settings as
14095 you wish. When done, click the <kbd class="menu">Save</kbd> button
14096 and the new values will be stored, overwriting the previous version
14100 <h2>Delete a preset</h2>
14103 To delete an existing preset, use the preset selector to load the preset.
14104 Click the <kbd class="menu">Delete</kbd> button, and the preset will be
14105 removed. The preset selector turn blank, showing that no preset is
14106 currently loaded (although the settings will stay as they were).
14110 title: Working with Ardour-built Plugin Editors
14114 <p class="fixme">This section needs expansion, and at least one image</p>
14117 To view a plugin editor, double-click on the plugin within the
14118 <a href="/working-with-plugins/processor-box">processor box</a>.
14119 A new window will appear showing the editor/GUI for the plugin.
14123 If a plugin does not have its own GUI, Ardour will construct a
14124 <dfn>generic plugin editor</dfn> from a small set of common control
14125 elements. Ardour will do this even for plugins that have their
14126 own, if <kbd class="menu">Edit > Preferences >
14127 GUI > Use Plugins' own interface instead of Ardour's</kbd> is disabled.
14131 The generic UI can be temporarily switched to by context-clicking on
14132 a processor and selecting <kbd
14133 class="menu">Edit with generic controls</kbd>. This will be necessary to
14134 access the <a href="/automation">plugin automation controls</a>.
14138 In the generic UI, any controller can be reset to its default by
14139 <kbd class="mod3 mouse">Left</kbd>-clicking on it.
14143 title: Plugins Bundled With Ardour
14148 Ardour now comes with the following plugins as part of a standard installation:
14151 <dl class="narrower-table">
14152 <dt>a-Amplifier</dt>
14153 <dd>A versatile ±20dB multichannel amplifier</dd>
14154 <dt>a-Compressor</dt>
14155 <dd>A side-chain enabled compressor with the usual controls. Comes in stereo and mono versions</dd>
14157 <dd>A basic single-tap delay line, with tempo sync</dd>
14159 <dd>A nice sounding 4-band parametric EQ with shelves</dd>
14160 <dt>a-Fluid Synth</dt>
14161 <dd>Wraps the Fluidsynth SoundFont2 synthesis engine as a new sample player</dd>
14162 <dt>a-High/Low Pass Filter</dt>
14163 <dd>Independent high and low pass filters with steepness up to 48dB/octave</dd>
14164 <dt>a-Inline Scope</dt>
14165 <dd>A mixer strip inline waveform display</dd>
14166 <dt>a-Inline Spectrogram</dt>
14167 <dd>A mixer strip inline specturm display</dd>
14168 <dt>a-MIDI Monitor</dt>
14169 <dd>A mixer strip inline display to show recent <abbr title="Musical Instrument Digital Interface">MIDI</abbr> events</dd>
14171 <dd>A reverb that finds a balance between sounding good, using a lot of CPU and having too many controls</dd>
14175 title: Getting More Plugins
14180 The following list shows <dfn>plugin packages</dfn>. In some cases, a package contains just one or two plugins; in other cases, dozens.
14183 <h2>Plugins by Standard</h2>
14185 <h3 id="LADSPA">LADSPA</h3>
14188 <li>AMB <a href="http://kokkinizita.linuxaudio.org/linuxaudio/">http://kokkinizita.linuxaudio.org/linuxaudio/</a></li>
14189 <li>Blepvco <a href="http://smbolton.com/linux.html">http://smbolton.com/linux.html</a></li>
14190 <li>Blop <a href="http://blop.sourceforge.net">http://blop.sourceforge.net</a></li>
14191 <li>CAPS <a href="http://quitte.de/dsp/caps.html">http://quitte.de/dsp/caps.html</a></li>
14192 <li>CMT <a href="http://www.ladspa.org/cmt/">http://www.ladspa.org/cmt/</a></li>
14193 <li>FIL <a href="http://kokkinizita.linuxaudio.org/linuxaudio/">http://kokkinizita.linuxaudio.org/linuxaudio/</a></li>
14194 <li>FOO <a href="http://code.google.com/p/foo-plugins/">http://code.google.com/p/foo-plugins/</a></li>
14195 <li>MCP <a href="http://kokkinizita.linuxaudio.org/linuxaudio/">http://kokkinizita.linuxaudio.org/linuxaudio/</a></li>
14196 <li>NJL <a href="https://github.com/tialaramex/njl-plugins">https://github.com/tialaramex/njl-plugins</a></li>
14197 <li>Omins <a href="http://www.nongnu.org/om-synth/omins.html">http://www.nongnu.org/om-synth/omins.html</a></li>
14198 <li>REV <a href="http://kokkinizita.linuxaudio.org/linuxaudio/">http://kokkinizita.linuxaudio.org/linuxaudio/</a></li>
14199 <li>SWH <a href="http://plugin.org.uk/">http://plugin.org.uk/</a></li>
14200 <li>TAP <a href="http://tap-plugins.sourceforge.net/">http://tap-plugins.sourceforge.net/</a></li>
14201 <li>VCF <a href="http://users.suse.com/~mana/ladspa.html">http://users.suse.com/~mana/ladspa.html</a></li>
14202 <li>VCO <a href="http://kokkinizita.linuxaudio.org/linuxaudio/">http://kokkinizita.linuxaudio.org/linuxaudio/</a></li>
14203 <li>VLevel <a href="http://vlevel.sourceforge.net/about/">http://vlevel.sourceforge.net/about/</a></li>
14204 <li>Vocoder <a href="http://www.sirlab.de/linux/download_vocoder.html">http://www.sirlab.de/linux/download_vocoder.html</a></li>
14205 <li>WASP <a href="http://linux01.gwdg.de/~nlissne/wasp/index.html">http://linux01.gwdg.de/~nlissne/wasp/index.html</a> (mar wanted!)</li>
14206 <li>Nova <a href="http://klingt.org/~tim/nova-filters/">http://klingt.org/~tim/nova-filters/</a></li>
14207 <li>Calf <a href="http://calf.sourceforge.net/">http://calf.sourceforge.net/</a></li>
14208 <li>Socal’s LEET Plugins <a href="http://code.google.com/p/leetplugins/">http://code.google.com/p/leetplugins/</a></li>
14209 <!--<li>Holap synthesizer and DSP effects <a href="http://holap.berlios.de/">http://holap.berlios.de/</a></li>-->
14212 <h3 id="LV2">LV2</h3>
14215 <li>SWH <a href="http://plugin.org.uk/lv2/">http://plugin.org.uk/lv2/</a></li>
14216 <li>ll-plugins <a href="http://ll-plugins.nongnu.org/">http://ll-plugins.nongnu.org/</a></li>
14217 <li>zynadd <a href="http://home.gna.org/zyn/">http://home.gna.org/zyn/</a></li>
14218 <li>Calf <a href="http://calf.sourceforge.net/">http://calf.sourceforge.net/</a></li>
14219 <li>LinuxDSP <a href="http://www.overtonedsp.co.uk/download/linuxdsp-archive/">http://www.overtonedsp.co.uk/download/linuxdsp-archive/</a></li>
14220 <li>Invada Studio <a href="https://launchpad.net/invada-studio/">https://launchpad.net/invada-studio/</a></li>
14223 <h3 id="LinuxVST">Linux VST (LXVST)</h3>
14226 <li>Loomer <a href="http://www.loomer.co.uk/">http://www.loomer.co.uk/</a></li>
14227 <li>Distrho <a href="http://distrho.sourceforge.net/ports.php">http://distrho.sourceforge.net/ports.php</a></li>
14228 <li>Argotlunar <a href="http://argotlunar.info/">http://argotlunar.info/</a></li>
14231 <h2>How do I install plugins?</h2>
14236 <dfn>Installation</dfn> will vary a little depending on how you get plugins. If your repository has a particular plugin package, just install it using the normal software package management tool for your 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 forms.
14240 Finding them will typically require <em>searching</em> your 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 "calf"). There are no fixed rules about what different Linux distributions call their packages for a given set of plugins.
14244 If the package isn't available, then you can build the plugins from source (plugins are generally fairly easy to compile if you've ever done this sort of thing before).
14248 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 your LADSPA_PATH environment variable.
14252 LV2 plugins are folders/directories. They need to installed in either /usr/lib/lv2, /usr/local/lib/lv2 or a directory mentioned in your LV2_PATH environment variable.
14256 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 your LXVST_PATH environment variable.
14262 Unless you're a particularly technical computer user, building and installing plugins in the LV2 (or LADSPA) format is probably not something worth planning on.
14266 Most of the plugins you are likely to use on OS X will be in Apple's AudioUnit format. These have their own installation process that tends to just work.
14270 title: Using Windows VST Plugins on Linux
14275 Thanks to the combined work of Torben Hohn, Kjetil Mattheusen, Paul
14276 Davis and a few other developers, it is possible to use Windows
14277 <dfn><abbr title="Virtual Studio Technology">VST</abbr>
14278 plugins</dfn> (that is, plugins in VST format built and distributed
14279 for the Windows platforms) on Ardour running on Linux. (Note: there
14280 is no VST support of any kind on OS X).
14283 <p>However, doing so has three <em>substantial</em> downsides:</p>
14286 <li>It requires a special build of Ardour that is fundamentally
14287 very different from normal builds</li>
14288 <li>Support depends on <a href="http://winehq.org/">Wine</a>,
14289 a Windows "emulator"</li>
14290 <li>As usual with plugins, a crashing plugin will take Ardour down
14291 with it—and crashes in Windows VST plugins are more likely when
14292 used in this way</li>
14296 The dependence on Wine makes it almost impossible for the Ardour
14297 project to support this feature. Wine's functionality generally
14298 improves over time, but any given release of Wine may behave worse
14299 with some or all Windows VST plugins. It may even just crash Ardour
14304 Step back and think about what "using Windows VSTs" really means:
14305 taking bits of software written with only one idea in mind—running
14306 on the Windows platform—and then trying to use them on an entirely
14307 different platform. It is a bit of a miracle (largely thanks to the
14308 incredible work done by the Wine project) that it works at all. But is
14309 this the basis of a stable, reliable DAW for a non-Windows platform?
14310 Getting Ardour on Linux to pretend that its really a Windows
14311 application running on Windows?
14315 We understand that there are many outstanding plugins available as
14316 Windows VSTs and that in many cases, no equivalent is available for
14317 Ardour's Linux-based users. If your workflow is so dependent on those
14318 plugins, then remain on Windows (or potentially consider using an
14319 actual Windows VST host running inside of Wine). If you can make the
14320 effort, you will get a better environment by using a normal build of
14321 Ardour and exploring the world of plugins built to run on Linux
14322 natively. This covers LADSPA, LV2 and Linux VST formats, and even some
14323 outstanding proprietary plugins such as those
14324 from <a href="http://www.loomer.co.uk/">Loomer</a>.
14327 <h2>A Plea To Plugin Manufacturers</h2>
14330 Please consider porting your plugins so that users can enjoy them on
14331 Linux too. Several other commercial plugin developers have already
14332 done this. You can choose between using "Linux VST" (which is what
14333 Loomer and others have done)—you will find toolkits like JUCE that
14334 help to make this fairly easy—or using LV2 format which is
14335 ultimately more flexible but probably more work. We have users—thousands of users—on Linux who would like to use your plugins.
14352 title: Export Dialog
14357 When you have finished mixing your session, you probably want to export it to a sound file to burn to a CD, upload to the web, or whatever. <kbd class="menu">Session > Export > Export to Audio file(s)...</kbd> shows the Export Dialog to do this.
14361 You can also export the outputs of multiple tracks & busses all at once via
14362 <kbd class="menu">Session > Export > Stem Export...</kbd>.
14365 <h2>File Format</h2>
14367 <img src="/images/export-dialog-file-format.png" />
14370 This tab contains controls for the format of the exported audio file. You can enable more than one format here, in which case each will be exported in turn. Ardour is supplied with a list of export formats, including:
14372 <li>CD (Red Book)</li>
14374 <li>FLAC 24 bit </li>
14375 <li>FLAC 24 bit (tagged)</li>
14376 <li>Ogg_Vorbis</li>
14377 <li>Ogg_Vorbis (tagged)</li>
14380 You can edit these formats, or create your own, with the <a href="/exporting/edit-export-format-profile/">"Edit Export Format Profile"</a> dialog, which appears when you click the "Edit" or "New" button to the right of the drop-down list of formats.
14384 You can also create a 'Preset' consisting of one or more formats. Ardour provides some ready-made presets, too:
14386 <li>CD + DVD-A</li>
14388 <li>CD + FLAC (tagged)</li>
14389 <li>CD + Ogg_Vorbis + FLAC (tagged)</li>
14390 <li>CD + Ogg_Vorbis</li>
14391 <li>CD + Ogg_Vorbis (tagged)</li>
14393 <li>DVD-A only</li>
14395 <li>FLAC (tagged)</li>
14396 <li>Ogg_Vorbis + FLAC</li>
14397 <li>Ogg_Vorbis + FLAC (tagged)</li>
14398 <li>Ogg_Vorbis </li>
14399 <li>Ogg_Vorbis (tagged)</li>
14403 <h3>Soundcloud upload</h3>
14406 When 'Upload to Soundcloud' is ticked on in any format's tab, a pane containing fields to enter in Soundcloud account details (email and password), and what should happen to the uploaded files will become visible.
14409 <img src="/images/soundcloud-upload.png" />
14413 <dt>Make files public</dt><dd>Choose whether to make uploaded files available to anyone via the Soundcloud web site.</dd>
14414 <dt>Open uploaded files in browser</dt><dd>Open each file on soundcloud in your browser after upload. If you don't enable this, you can still see the URLs in the <a href="">Log window</a>.</dd>
14415 <dt>Make files downloadable</dt><dd>Choose whether to allow downloading of files uploaded to Soundcloud.</dd>
14421 <img src="/images/export-dialog-timespan.png" />
14424 This tab allows you 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.
14430 <img src="/images/export-dialog-channels.png" />
14433 Here you can choose which outputs (tracks or busses) should be sent to the exported file.
14436 <h2>Stem Export</h2>
14438 <img src="/images/export-dialog-stem-export.png" />
14441 If you chose 'Stem Export', the 'Channels' tab appears slightly differently:
14442 in this case each chosen channel (track or bus) is exported to its own file,
14443 instead of all channels being mixed together into a single file. You can
14444 choose to export either the region contents or the track output here in this
14449 title: Export Format Profiles
14453 <h2>Export Format Profiles</h2>
14456 An Export Format Profile specifies the file format in which Ardour will export
14457 audio files, and also other audio file export options.
14461 Export Format Profiles are edited via the 'Edit Export Format Profile' dialog.
14464 <img src="/images/edit-export-format-profile.png" />
14469 If enabled, peak levels of exported files will be normalized to the level chosen here.
14472 <h3>Trim/Add silence at start/end</h3>
14477 <h3>Compatibility/Quality/File format/Sample rate</h3>
14479 <h4>Compatibility</h4>
14482 Selecting an item in the 'Compatibility' column will display options in the
14483 other columns that are incompatible with that item in red.
14489 The appropriate item in the 'Quality' column will be highlighted when you
14490 choose a file format. Clicking on items in the 'Quality' column currently
14491 doesn't seem to do anything useful.
14494 <h4>File format</h4>
14497 This column contains a list of Ardour's supported export file types. Click on
14498 the format you want to use.
14501 <h4>Sample rate</h4>
14504 You can explicitly choose the sample rate of your exported files here, or
14505 choose 'Session rate' to export in the current session's sample rate, without
14506 sample rate conversion.
14509 <h4>Sample rate conversion quality</h4>
14512 If your chosen sample rate does not match the current session's sample rate,
14513 choose the sample rate conversion quality here. Better quality options are
14520 Options relevant to the chosen file format will appear here.
14521 Categories of audio file format are:
14523 <li>Linear encoding</li>
14524 <li>Broadcast Wave</li>
14525 <li>Ogg Vorbis</li>
14531 Available options include a selection of the following:
14534 <h4>Sample Format</h4>
14537 Choose the bit depth of exported files.
14543 If the exported files bit depth is less than Ardour's native bit depth,
14544 choose the dithering algorithm to use.
14547 <h4>Create CUE file/Create TOC file</h4>
14550 As well as exporting an audio file, create a file (in CUE or TOC format
14551 respectively) containg CD track information, as defined in the
14552 <a href="/working-with-markers/rangesmarks-list/">Ranges & Marks List</a>.
14555 <h4>Tag with session's metadata</h4>
14558 If the exported file format supports metadata, use data entered in the
14559 <a href="/working-with-sessions/metadata/">Session Metadata</a>
14560 window to tag the exported files.
14566 The 'Label' field lets you choose the name which will be shown for this format
14567 in the drop-down list of export formats in the 'File Formats' tab of the
14568 <a href="/exporting/export-dialog/">Export dialog</a>.
14571 <h3>Command to run post-export</h3>
14574 If this is not blank, it is considered as a command to be run after the export
14575 of each file. Either the command must exist in $PATH, or you can specify an
14576 absolute path to an executable file here.
14580 Certain sequences are allowed here to stand for the exported file name and the
14581 like. Currently these are:
14583 <dt><code>%f</code></dt>
14584 <dd>Full path & filename of the exported audio file</dd>
14585 <dt><code>%d</code></dt>
14586 <dd>Directory containing the exported audio file (including trailing directory separator)</dd>
14587 <dt><code>%b</code></dt>
14588 <dd>Basename of the exported audio file (without extension)</dd>
14589 <dt><code>%s</code></dt>
14590 <dd>Path to the current session file</dd>
14591 <dt><code>%n</code></dt>
14592 <dd>Name of the current session file</dd>
14593 <dt><code>%%</code></dt>
14594 <dd>A literal percent sign</dd>
14599 Any part of the command-line enclosed in double-quotes (") will be used as-is.
14610 title: Ardour Setup for Surround
14616 title: Multichannel Tracks and Signal Routing
14622 title: Surround Panning and Mixing
14632 <p class="warning">
14633 Ardour's VBAP panner is currently in development, and its semantics may
14634 change in the near future, possibly affecting your mixes. Please do not
14635 rely on it for important production work while the dust settles.
14639 <dfn><abbr title="Vector-base Amplitude Panning">VBAP</abbr></dfn>
14640 is a versatile and straightforward method to pan a source around over an
14641 arbitrary number of speakers on a horizontal polygon or a 3D surface,
14642 even if the speaker layout is highly irregular.
14645 <h2>Basic concepts</h2>
14648 VBAP was developed by Ville Pulkki at Aalto University, Helsinki, in 2001.
14649 It works by distributing the signal to the speakers nearest to the desired
14650 direction with appropriate weightings, aiming to create a maximally sharp
14651 phantom source by using as few speakers as possible:
14655 <li>one speaker, if the desired direction coincides with a speaker
14657 <li>two speakers, if the desired direction is on the line between two
14659 <li>and three speakers in the general 3D case.</li>
14663 Thus, if you move the panner onto a speaker, you can be sure that only
14664 this speaker will get any signal. This is handy when you need precise
14669 The drawback of VBAP is that a moving source will constantly change its
14670 apparent sharpness, as it transitions between the three states mentioned
14675 A <dfn>horizontal</dfn> VBAP panner has one parameter, the <dfn>azimuth
14676 angle</dfn>. A <dfn>full-sphere</dfn> panner offers an additional
14677 <dfn>elevation angle</dfn> control.
14681 More elaborate implementations of VBAP also include a
14682 <dfn>spread</dfn> parameter, which will distribute the signal over a
14683 greater number of speakers in order to maintain constant (but no longer
14684 maximal) sharpness, regardless of position. Ardour's VBAP panner does not
14685 currently include this feature.
14688 <h2>Speaker layout</h2>
14691 Each VBAP panner is specific to its <dfn>speaker layout</dfn>—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.
14694 <img src="/images/VBAP-panner-5.png" class="small right" alt="The VBAP
14695 panner with 5 outputs"/>
14698 Ardour currently uses a simplified approach: if a track or bus has more
14699 than two output channels (which implies stereo), it assumes that you
14700 have N speakers distributed in a regular N-gon. That means that for
14701 irregular layouts such as 5.1 or 7.1, the direction you dial in will
14702 differ a bit from the actual auditory result, but you can still achieve
14703 any desired spatialisation.
14706 <h3>Experimental 3D VBAP</h3>
14708 <img src="/images/VBAP-panner-10.png" class="small right" alt="The VBAP
14709 panner with 10 outputs, in experimental 3D mode"/>
14712 For tracks with 10 outputs, Ardour will currently assume a 3-dimensional
14713 speaker layout corresponding to Auro-3D 10.1, which is a horizontal 5.1
14714 system, four elevated speakers above L, R, Ls, and Rs, and an additional
14715 "voice-of-god" speaker at the zenith.
14718 <h2>N:M panning</h2>
14720 <img src="/images/VBAP-panner-4in5.png" class="small right" alt="The VBAP
14721 panner in 4 in, 5 out mode"/>
14724 For tracks and busses with more than one input, Ardour will (for now) assume that
14725 you wish to distribute the inputs symmetrically along the latitude around
14726 the panner direction. The width parameter controls the opening angle of
14727 the distribution sector.
14732 title: Sync & Video
14738 title: Working with Synchronization
14744 title: On Clock and Time
14749 <dfn>Synchronization</dfn> in multimedia involves two concepts which are
14750 often confused: <dfn>clock</dfn> (or speed) and <dfn>time</dfn> (location
14755 A <dfn>clock</dfn> determines the speet at which one or more systems
14756 operate. In the audio world this is generally referred to as <a href="http://en.wikipedia.org/wiki/Word_clock" title="http://en.wikipedia.org/wiki/Word_clock">Word Clock</a>. 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.
14760 Time or <dfn>timecode</dfn> specifies an absolute position on a timeline,
14761 such as <code>01:02:03:04</code> (expressed as Hours:Mins:Secs:Frames). It is
14762 actual <em>data</em> and not a clock <em>signal</em> per se.
14763 The granularity of timecode is <dfn>Video Frames</dfn> and is an order of
14764 magnitude lower than, say, Word Clock which is counted in
14765 <dfn>samples</dfn>. A typical frame rate is 25 <abbr title="frames
14766 per second">fps</abbr> with a period of
14768 In the case of 48 kHz and 25 fps, there are 1,920 audio samples
14773 The concepts of clock and timecode are reflected in JACK and Ardour:
14777 JACK provides clock synchronization and is not concerned with time code
14778 (this is not entirely true, more on jack-transport later).
14779 On the software side, jackd provides sample-accurate synchronization
14780 between all JACK applications.
14781 On the hardware side, JACK uses the clock of the audio-interface.
14782 Synchronization of multiple interfaces requires hardware support to sync
14784 If two interfaces run at different clocks the only way to align the
14785 signals is via re-sampling (SRC—Sample Rate Conversion), which is
14786 expensive in terms of CPU usage and may decreases fidelity if done
14791 Timecode is used to align systems already synchronized by a clock to
14792 a common point in time, this is application specific and various
14793 standards and methods exist to do this.
14797 To make things confusing, there are possibilities to synchronize clocks
14798 using timecode. e.g. using mechanism called <dfn>jam-sync</dfn> and a
14799 <dfn>phase-locked loop</dfn>.
14803 An interesting point to note is that LTC (Linear Time Code) is a
14804 Manchester encoded, frequency modulated signal that carries both
14805 clock and time. It is possible to extract absolute position data
14810 title: Latency and Latency-Compensation
14811 menu_title: Latency
14817 href="http://en.wikipedia.org/wiki/Latency_%28audio%29"><dfn>Latency</dfn></a>
14818 is a system's reaction time to a given stimulus. There are many factors that
14819 contribute to the total latency of a system. In order to achieve exact time
14820 synchronization all sources of latency need to be taken into account and
14824 <h2>Sources of Latency</h2>
14826 <h3>Sound propagation through the air</h3>
14829 Since sound is a mechanical perturbation in a fluid, it travels at
14830 comparatively slow <a href="http://en.wikipedia.org/wiki/Speed_of_sound">speed</a>
14831 of about 340 m/s. As a consequence, your acoustic guitar or piano has a
14832 latency of about 1–2 ms, due to the propagation time of the sound
14833 between your instrument and your ear.
14836 <h3>Digital-to-Analog and Analog-to-Digital conversion</h3>
14839 Electric signals travel quite fast (on the order of the speed of light),
14840 so their propagation time is negligible in this context. But the conversions
14841 between the analog and digital domain take a comparatively long time to perform,
14842 so their contribution to the total latency may be considerable on
14843 otherwise very low-latency systems. Conversion delay is usually below 1 ms.
14846 <h3>Digital Signal Processing</h3>
14849 Digital processors tend to process audio in chunks, and the size of that chunk
14850 depends on the needs of the algorithm and performance/cost considerations.
14851 This is usually the main cause of latency when you use a computer and one you
14852 can try to predict and optimize.
14855 <h3>Computer I/O Architecture</h3>
14858 A computer is a general purpose processor, not a digital audio processor.
14859 This means our audio data has to jump a lot of fences in its path from the
14860 outside to the CPU and back, contending in the process with some other parts
14861 of the system vying for the same resources (CPU time, bus bandwidth, etc.)
14864 <h2>The Latency chain</h2>
14866 <img src="/images/latency-chain.png" title="Latency chain" alt="Latency chain" />
14869 <em>Figure: Latency chain.</em>
14870 The numbers are an example for a typical PC. With professional gear and an
14871 optimized system the total roundtrip latency is usually lower. The important
14872 point is that latency is always additive and a sum of many independent factors.
14876 Processing latency is usually divided into <dfn>capture latency</dfn> (the time
14877 it takes for the digitized audio to be available for digital processing, usually
14878 one audio period), and <dfn>playback latency</dfn> (the time it takes for
14879 In practice, the combination of both matters. It is called <dfn>roundtrip
14880 latency</dfn>: the time necessary for a certain audio event to be captured,
14881 processed and played back.
14885 It is important to note that processing latency in a jackd is a matter of
14886 choice. It can be lowered within the limits imposed by the hardware (audio
14887 device, CPU and bus speed) and audio driver. Lower latencies increase the
14888 load on the system because it needs to process the audio in smaller chunks
14889 which arrive much more frequently. The lower the latency, the more likely
14890 the system will fail to meet its processing deadline and the dreaded
14891 <dfn>xrun</dfn> (short for buffer over- or under-run) will make its
14892 appearance more often, leaving its merry trail of clicks, pops and crackles.
14896 The digital I/O latency is usually negligible for integrated or
14897 <abbr title="Periphal Component Interface">PCI</abbr> audio devices, but
14898 for USB or FireWire interfaces the bus clocking and buffering can add some
14903 <h2>Low Latency usecases</h2>
14906 Low latency is <strong>not</strong> always a feature you want to have. It
14907 comes with a couple of drawbacks: the most prominent is increased power
14908 consumption because the CPU needs to process many small chunks of audio data,
14909 it is constantly active and can not enter power-saving mode (think fan-noise).
14910 Since each application that is part of the signal chain must run in every
14911 audio cycle, low-latency systems will undergo<dfn>context switches</dfn>
14912 between applications more often, which incur a significant overhead.
14913 This results in a much higher system load and an increased chance of xruns.
14917 For a few applications, low latency is critical:
14920 <h3>Playing virtual instruments</h3>
14923 A large delay between the pressing of the keys and the sound the instrument
14924 produces will throw-off the timing of most instrumentalists (save church
14925 organists, whom we believe to be awesome latency-compensation organic systems.)
14928 <h3>Software audio monitoring</h3>
14931 If a singer is hearing her own voice through two different paths, her head
14932 bones and headphones, even small latencies can be very disturbing and
14933 manifest as a tinny, irritating sound.
14936 <h3>Live effects</h3>
14939 Low latency is important when using the computer as an effect rack for
14940 inline effects such as compression or EQ. For reverbs, slightly higher
14941 latency might be tolerable, if the direct sound is not routed through the
14945 <h3>Live mixing</h3>
14948 Some sound engineers use a computer for mixing live performances.
14949 Basically that is a combination of the above: monitoring on stage,
14950 effects processing and EQ.
14954 In many other cases, such as playback, recording, overdubbing, mixing,
14955 mastering, etc. latency is not important, since it can easily be
14956 compensated for.<br />
14957 To explain that statement: During mixing or mastering you don't care
14958 if it takes 10ms or 100ms between the instant you press the play button
14959 and sound coming from the speaker. The same is true when recording with a count in.
14962 <h2>Latency compensation</h2>
14965 During tracking it is important that the sound that is currently being
14966 played back is internally aligned with the sound that is being recorded.
14970 This is where latency-compensation comes into play. There are two ways to
14971 compensate for latency in a DAW, <dfn>read-ahead</dfn> and
14972 <dfn>write-behind</dfn>. The DAW starts playing a bit early (relative to
14973 the playhead), so that when the sound arrives at the speakers a short time
14974 later, it is exactly aligned with the material that is being recorded.
14975 Since we know that play-back has latency, the incoming audio can be delayed
14976 by the same amount to line things up again.
14980 As you may see, the second approach is prone to various implementation
14981 issues regarding timecode and transport synchronization. Ardour uses read-ahead
14982 to compensate for latency. The time displayed in the Ardour clock corresponds
14983 to the audio-signal that you hear on the speakers (and is not where Ardour
14984 reads files from disk).
14988 As a side note, this is also one of the reasons why many projects start at
14989 timecode <samp>01:00:00:00</samp>. When compensating for output latency the
14990 DAW will need to read data from before the start of the session, so that the
14991 audio arrives in time at the output when the timecode hits <samp>01:00:00:00</samp>.
14992 Ardour3 does handle the case of <samp>00:00:00:00</samp> properly but not all
14993 systems/software/hardware that you may inter-operate with may behave the same.
14996 <h2>Latency Compensation And Clock Sync</h2>
14999 To achieve sample accurate timecode synchronization, the latency introduced
15000 by the audio setup needs to be known and compensated for.
15004 In order to compensate for latency, JACK or JACK applications need to know
15005 exactly how long a certain signal needs to be read-ahead or delayed:
15008 <img src="/images/jack-latency-excerpt.png" title="Jack Latency Compensation" alt="Jack Latency Compensation" />
15011 <em>Figure: Jack Latency Compensation.</em>
15015 In the figure above, clients A and B need to be able to answer the following
15021 How long has it been since the data read from port Ai or Bi arrived at the
15022 edge of the JACK graph (capture)?
15025 How long will it be until the data writen to port Ao or Bo arrives at the
15026 edge of the JACK graph (playback)?
15031 JACK features an <abbr title="Application Programming Interface">API</abbr>
15032 that allows applications to determine the answers to above questions.
15033 However JACK can not know about the additional latency that is introduced
15034 by the computer architecture, operating system and soundcard. These values
15035 can be specified by the JACK command line parameters <kbd class="input">-I</kbd>
15036 and <kbd class="input">-O</kbd> and vary from system
15037 to system but are constant on each. On a general purpose computer system
15038 the only way to accurately learn about the total (additional) latency is to
15042 <h2>Calibrating JACK Latency</h2>
15045 Linux DSP guru Fons Adriaensen wrote a tool called <dfn>jack_delay</dfn>
15046 to accurately measure the roundtrip latency of a closed loop audio chain,
15047 with sub-sample accuracy. JACK itself includes a variant of this tool
15048 called <dfn>jack_iodelay</dfn>.
15052 Jack_iodelay allows you to measure the total latency of the system,
15053 subtracts the known latency of JACK itself and suggests values for
15054 jackd's audio-backend parameters.
15058 jack_[io]delay works by emitting some rather annoying tones, capturing
15059 them again after a round trip through the whole chain, and measuring the
15060 difference in phase so it can estimate with great accuracy the time taken.
15064 You can close the loop in a number of ways:
15069 Putting a speaker close to a microphone. This is rarely done, as air
15070 propagation latency is well known so there is no need to measure it.
15073 Connecting the output of your audio interface to its input using a
15074 patch cable. This can be an analog or a digital loop, depending on
15075 the nature of the input/output you use. A digital loop will not factor
15076 in the <abbr title="Analog to Digital, Digital to Analog">AD/DA</abbr>
15082 Once you have closed the loop you have to:
15086 <li>Launch jackd with the configuration you want to test.</li>
15087 <li>Launch <kbd class="input">jack_delay</kbd> on the commandline.</li>
15088 <li>Make the appropriate connections between your jack ports so the loop is closed.</li>
15089 <li>Adjust the playback and capture levels in your mixer.</li>
15093 title: Timecode Generators and Slaves
15098 Ardour supports three common timecode formats:
15099 <abbr title="Linear/Longitudinal Time Code"><dfn>LTC</dfn></abbr>,
15100 <abbr title="MIDI Time Code"><dfn>MTC</dfn></abbr>, and
15101 <dfn>MIDI Clock</dfn>, as well as
15102 <dfn>JACK-transport</dfn>, a JACK-specific timecode implementation.
15106 Ardour can generate timecode and thus act as timecode <dfn>master</dfn>,
15107 providing timecode information to other applications. Ardour can also be
15108 <dfn>slaved</dfn> to some external source in which case the playhead
15109 follows the incoming timecode.
15113 Combining the timecode slave and generator modes, Ardour can also
15114 <dfn>translate</dfn> timecode. e.g create LTC timecode from incoming MTC.
15117 <h2>Ardour Timecode Configuration</h2>
15120 Each Ardour session has a specific timecode frames-per-second setting which
15121 is configured in <kbd class="menu">session > properties >
15122 timecode</kbd>. The selected timecode affects the timecoderuler in the main
15123 window as well as the clock itself.
15127 Note that some timecode formats do not support all of Ardour's available
15128 fps settings. MTC is limited to 24, 25, 29.97 and 30 fps.
15132 The video pull-up modes change the effective samplerate of Ardour to allow
15133 for changing a film soundtrack from one frame rate to another. The concept is
15134 beyond the scope of this manual, but Wikipedia's entry on
15135 <a href="http://en.wikipedia.org/wiki/Telecine">Telecine</a>
15136 may get you started.
15139 <h2>Ardour Timecode Generator Configuration</h2>
15142 This is pretty straightforward: simply turn it on. The MTC and MIDI-Clock
15143 generator do not have any options. The LTC generator has a configurable
15144 output level. JACK-transport cannot be <em>generated</em>. Jack itself is
15145 always synced to its own cycle and cannot do varispeed—it will
15146 always be synced to a hardware clock or another JACK master.
15150 The relevant settings for timecode generator can be found in
15151 <kbd class="menu">Edit > Preferences > MIDI Preferences</kbd> (for MTC,
15153 <kbd class="menu">Edit > Preferences > Transport Preferences</kbd>
15158 The timecode is sent to jack-ports <code>ardour:MTC out</code>,
15159 <code>ardour:MIDI clock out</code> and <code>ardour:LTC-out</code>. Multiple
15160 generators can be active simultaneously.
15164 Note that, as of Jan 2014, only the LTC generator supports latency
15165 compensation. This is due to the fact the Ardour MIDI ports are not
15166 yet latency compensated.
15170 In <kbd class="menu">Session > Properties</kbd>, it is possible to
15171 define an offset between Ardour's internal time and the timecode sent.
15172 Currently only the LTC generator honors this offset.
15176 Both LTC and MTC are limited to 30 fps. Using frame rates larger
15177 than that will disable the generator. In both cases also only 24, 25,
15178 29.97df (drop-frame) and 30 fps are well defined by specifications (such as
15179 SMPTE-12M, EU and the MIDI standard).
15182 <h3>MTC Generator</h3>
15185 The <dfn>MTC generator</dfn> has no options. Ardour sends full MTC
15186 frames whenever the transport is relocated or changes state (start/stop).
15187 MTC <dfn>quarter frames</dfn> are sent when the transport is rolling and
15188 the transport speed is within 93% and 107%.
15191 <h3>LTC Generator</h3>
15194 The level of the <dfn>LTC generator</dfn> output signal can be configured
15195 in in the <kbd class="menu">Preferences > Transport</kbd> dialog. By
15196 default it is set to -18 dBFS, which corresponds to 0dBu in an EBU
15201 The LTC generator has an additional option to keep sending timecode even
15202 when the transport is stopped. This mode is intended to drive analog tape
15203 machines which unspool the tape if no LTC timecode is received.
15207 LTC is send regardless of Ardour's transport speed. It is accurately
15208 generated even for very slow speeds (<5%) and only limited by the
15209 soundcard's sampling-rate and filter (see
15211 href="http://en.wikipedia.org/wiki/Gibbs_phenomenon#Signal_processing_explanation">Gibbs phenomenon</a>)
15215 <h2>Ardour Slave Configuration</h2>
15218 The timecode source can be switched with the button just right of
15219 Ardour's main clock. By default it is set to <kbd
15220 class="menu">Internal</kbd> in which case Ardour will ignore any external
15221 timecode. The button allows to toggle between Internal and the configured
15222 timecode source which is chosen in <kbd class="menu">Edit > Preferences
15223 > Transport</kbd>.
15227 When Ardour is <dfn>chasing</dfn> (synchronizing to) an external timecode
15228 source, the following cases need to be distinguished:
15232 <li>the timecode source shares the clock</li>
15233 <li>the timecode source is independent (no wordclock sync)</li>
15239 <li>the timecode source uses the same FPS setting as Ardour</li>
15240 <li>the timecode source runs at different frames-per-second</li>
15244 In both cases the first option is preferred: clock sync + same FPS setting.
15247 <h3>Frames-per-second</h3>
15250 If the frames-per-second do not match, Ardour can either re-calculate
15251 and map the frames, or the configured FPS (<kbd class="menu">Session >
15252 Properties</kbd>) can be changed automatically while the slave is active.
15253 The behavior is configured with the checkbox <kbd class="option">Edit
15254 > Preferences > Transport > Match session video frame rate to
15255 external timecode</kbd>.
15259 When enabled, the session video frame rate will be changed to match that
15260 of the selected external timecode source. When disabled, the session video
15261 frame rate will not be changed to match that of the selected external
15262 timecode source. Instead the frame rate indication in the main clock will
15263 flash red, and Ardour will convert between the external timecode standard
15264 and the session standard.
15267 <p class="warning">
15268 29.97 drop-frame timecode is another corner case. While the SMPTE 12M-1999
15269 specifies 29.97df as 30000/1001 frames per second, not all hardware devices
15270 follow that standard. The checkbox
15271 <kbd class="option">Lock to 29.9700 fps instead of 30000/1001</kbd> allows
15272 to use a compatibility mode for those devices.
15276 When enabled, the external timecode source is assumed to use 29.970000 fps
15277 instead of 30000/1001. SMPTE 12M-1999 specifies 29.97df as 30000/1001. The
15278 <abbr title="specification">spec</abbr> further mentions that drop-frame
15279 timecode has an accumulated error of -86 ms over a 24-hour period.
15280 Drop-frame timecode would compensate exactly for a NTSC color frame rate
15281 of 30 * 0.9990 (ie 29.970000). That is <em>not</em> the actual rate. However,
15282 some vendors use that rate—despite it being against the specs—because the variant of using exactly 29.97 fps yields zero timecode
15286 <h3>Clock Sync Lock</h3>
15289 As described in the
15290 <a href="http://manual.ardour.org/synchronization/on-clock-and-time/">On Clock and Time</a>
15291 chapter, timecode and clock are independent. If the external timecode
15292 source is not in sample-sync with the audio hardware (and JACK), Ardour
15293 needs to run at varispeed to adjust for the discrepancy.
15297 The checkbox <kbd class="option">External timecode is sync locked</kbd>
15298 allows to select the behavior according to your setup. When enabled, it
15299 indicates that the selected external timecode source shares sync (Black
15300 & Burst, Wordclock, etc) with the audio interface.
15304 In other words: if enabled, Ardour will only perform initial
15305 synchronization and keep playing at speed 1.0 instead of vari-speed
15306 adjusting to compensate for drift.
15310 Note that vari-speed is unavailable when recording in Ardour, and all
15311 tracking happens at speed 1.0. So if you want to record in sync with
15312 external timecode it must be sample-locked or it will drift over time.
15315 <h3>MIDI Clock</h3>
15318 <dfn>MIDI Clock</dfn> is not a timecode format but tempo-based time. The
15319 absolute reference point is expressed as beats-per-minute and Bar, Beat
15320 and Tick. There is no concept of sample-locking for MIDI clock signals.
15321 Ardour will vari-speed if necessary to chase the incoming signal.
15325 Note that the MIDI Clock source must be connected to the
15326 <code>ardour:MIDI clock in</code> port.
15329 <h3>LTC—Linear Timecode</h3>
15332 The <dfn>LTC</dfn> slave decodes an incoming LTC signal on a JACK audio
15333 port. It will auto-detect the frame rate and start locking to the signal
15334 once two consecutive LTC frames have been received.
15338 The incoming timecode signal needs to arrive at the
15339 <code>ardour:LTC-in</code> port. Port-connections are restored for each
15340 session and the preference dialog offers an option to select it for all
15345 Ardour's transport is aligned to LTC-frame start/end positions according
15346 to the SMPTE 12M-1999 specification, which means that the first bit of an
15347 LTC-Frame is aligned to different Lines of a Video-Frame, depending on the
15348 TV standard used. Only for Film (24fps) does the LTC-Frame directly match
15349 the video Frame boundaries.
15352 <img src="/images/ltc-transport-alignment.png" title="LTC frame alignment" alt="LTC frame alignment"/>
15353 <p><em>Figure: LTC frame alignment for the 525/60 TV standard</em></p>
15356 Ardour supports vari-speed and backwards playback but will only follow
15357 speed changes if the <kbd class="optoff">sync locked</kbd> option is
15362 While Ardour is chasing LTC, the main transport clock will display the
15363 received Timecode as well as the delta between the incoming signal and
15364 Ardour's transport position.
15368 A global offset between incoming timecode and Ardour's transport can be
15369 configured in <kbd class="menu">Session > Properties</kbd>.
15373 The user-bits in the received LTC frame are ignored.
15376 <h3>MTC—MIDI Timecode</h3>
15379 Ardour's MTC slave parses <dfn>full timecode messages</dfn> as well as
15380 MTC <dfn>quarter-frame messages</dfn> arriving on the
15381 <code>ardour:MTC in</code> port. The transport will only start rolling
15382 once a complete sequence of 8 quarter frames has been received.
15386 Ardour supports vari-speed and backwards playback but will only follow
15387 MTC speed changes if the <kbd class="optoff">sync locked</kbd> option
15392 When Ardour is chasing MTC, the main transport clock will display the
15393 received Timecode as well as the delta between the incoming signal and
15394 Ardour's transport position.
15397 <h3>JACK Transport</h3>
15400 When slaved to jack, Ardour's transport will be identical to
15401 JACK-transport. As opposed to other slaves, Ardour can be used to control
15402 the JACK transport states (stopped/rolling). No port connections need to
15403 be made for jack-transport to work.
15407 JACK-transport does not support vari-speed, nor offsets. Ardour does not
15408 chase the timecode but is always in perfect sample-sync with it.
15412 JACK-transport also includes temp-based-time information in Bar:Beats:Ticks
15413 and beats-per-minute. However, only one JACK application can provide this
15414 information at a given time. The checkbox
15415 <kbd class="option">Session > Properties > JACK Time Master</kbd>
15416 configures Ardour to act as translator from timecode to BBT information.
15420 title: Overview of all Timecode related settings
15421 menu_title: Overview of Timecode settings
15426 Timecode settings are accessed from the menu in three places:
15430 <li><kbd class="menu">Session > Properties > Timecode</kbd></li>
15431 <li><kbd class="menu">Edit > Preferences > Transport</kbd></li>
15432 <li><kbd class="menu">Edit > Preferences > MIDI</kbd></li>
15435 <h2>Timecode Settings</h2>
15437 <dt><kbd class="menu">Timecode frames-per-second</kbd></dt>
15439 Configure timecode frames-per-second (23.976, 24, 24.975, 25, 29.97,
15440 29.97 drop, 30, 30 drop, 59.94, 60). Note that all fractional
15441 framerates are actually fps*(1000.0/1001.0).
15443 <dt><kbd class="menu">Pull up/down</kbd></dt>
15445 Video pull-up modes change the effective samplerate of Ardour to
15446 allow for changing a film soundtrack from one frame rate to another.
15447 See <a href="http://en.wikipedia.org/wiki/Telecine">Telecine</a>
15449 <dt><kbd class="menu">Slave Timecode offset</kbd></dt>
15451 The specified offset is added to the received timecode (MTC or
15454 <dt><kbd class="menu">Timecode Generator offset</kbd></dt>
15456 Specify an offset which is added to the generated timecode (so far only LTC).
15458 <dt><kbd class="option">JACK Time Master</kbd></dt>
15460 Provide Bar|Beat|Tick and other information to JACK.
15463 <p>These settings are session specific.</p>
15466 <h2>Transport Preferences</h2>
15468 <dt><kbd class="menu">External timecode source</kbd></dt>
15470 Select timecode source: JACK, LTC, MTC, MIDI Clock
15472 <dt><kbd class="option">Match session video frame rate to external timecode</kbd></dt>
15474 This option controls the value of the video frame rate <em>while
15475 chasing</em> an external timecode source. When enabled, the
15476 session video frame rate will be changed to match that of the selected
15477 external timecode source. When disabled, the session video frame rate
15478 will not be changed to match that of the selected external timecode
15479 source. Instead the frame rate indication in the main clock will flash
15480 red and Ardour will convert between the external timecode standard and
15481 the session standard.
15483 <dt><kbd class="option">External timecode is sync locked</kbd></dt>
15485 Indicates that the selected external timecode source shares sync (Black
15486 & Burst, Wordclock, etc) with the audio interface.
15488 <dt><kbd class="option">Lock to 29.9700 fps instead of 30000/1001</kbd></dt>
15490 The external timecode source is assumed to use 29.97 fps instead of
15491 30000/1001. SMPTE 12M-1999 specifies 29.97df as 30000/1001. The spec
15492 further mentions that drop-frame timecode has an accumulated error of -86ms
15493 over a 24-hour period. Drop-frame timecode would compensate exactly for a
15494 NTSC color frame rate of 30 * 0.9990 (ie 29.970000). That is not the actual
15495 rate. However, some vendors use that rate—despite it being against
15496 the specs—because the variant of using exactly 29.97 fps has zero
15499 <dt><kbd class="menu">LTC incoming port</kbd></dt>
15501 Offers a session agnostic way to retain the LTC port connection.
15503 <dt><kbd class="option">Enable LTC generator</kbd></dt>
15504 <dd>Does just what it says.</dd>
15505 <dt><kbd class="option">Send LTC while stopped</kbd></dt>
15507 Enable to continue to send LTC information even when the transport
15508 (playhead) is not moving. This mode is intended to drive analog tape
15509 machines which unspool the tape if no LTC timecode is received.
15511 <dt><kbd class="menu">LTC generator level</kbd></dt>
15513 Specify the Peak Volume of the generated LTC signal in dbFS. A good value
15514 is 0 dBu (which is -18 dbFS in an EBU calibrated system).
15517 <p>These settings are common to all sessions.</p>
15520 <h2>MIDI Preferences</h2>
15522 <dt><kbd class="option">Send MIDI Timecode</kbd></dt><dd>Enable MTC generator</dd>
15523 <dt><kbd class="option">Send MIDI Clock</kbd></dt><dd>Enable MIDI Clock generator</dd>
15525 <p>These settings are also common to all sessions.</p>
15529 title: Working with Field Recorders in Ardour
15535 title: Working with Video in Ardour
15541 title: Video Timeline and Monitoring
15546 Ardour offers a <dfn>video timeline</dfn> and <dfn>video monitoring</dfn>
15547 for convenient audio mixing and editing to video, in order to produce
15548 film soundtracks and music videos, or perform TV postproduction tasks.
15552 The video capabilities are:
15556 <li>Import a single video and optionally extract the soundtrack from it.</li>
15557 <li>Provide a video monitor window, or full-screen display, of the
15558 imported video in sync with any of the available Ardour timecode
15560 <li>Display a frame-by-frame (thumbnail) timeline of the video.</li>
15561 <li>Allow for a configurable timecode offset.</li>
15562 <li><em>Lock</em> audio regions to the video.</li>
15563 <li>Move audio regions with the video at video-frame granularity.</li>
15564 <li>Export the video, trim start and end, add blank frames and/or
15565 multiplex it with the soundtrack of the current session.</li>
15569 The setup of the video subsystem is modular and can be configured
15570 in different ways, including:
15574 <li>One machine for all video decoding, video monitoring and audio editing
15576 <li>Two machines, one for video monitoring, one for Ardour</li>
15577 <li>Three machines, separate video server (for timeline decoding
15578 and file archive), dedicated video monitor, and Ardour</li>
15582 Ardour does <em>not</em>:
15586 <li>allow for more than one video to be loaded at a time.</li>
15587 <li>provide video editing capabilities</li>
15591 title: Video Timeline Setup
15596 No configuration is required if you intend to run everything on a single
15597 machine, and if you acquired Ardour from
15598 <a href="http://www.ardour.org"
15599 title="http://www.ardour.org">http://www.ardour.org</a>.
15600 Everything is pre-configured and included with the download/install.
15603 <h2>Single Machine</h2>
15606 If you compile Ardour from source, or have installed it from a 3rd party
15607 repository, three additional tools will need to be installed manually,
15608 which are used by Ardour to provide video features:
15612 <li>xjadeo (the video monitor application): <a href="http://xjadeo.sf.net"
15613 title="http://xjadeo.sf.net" rel="nofollow">http://xjadeo.sf.net</a></li>
15614 <li>harvid (a video decoder used for the thumbnail timeline): <a
15615 href="http://x42.github.com/harvid/" title="http://x42.github.com/harvid/"
15616 rel="nofollow">http://x42.github.com/harvid/</a></li>
15617 <li>ffmpeg, ffprobe (used to import/export video, extract soundtracks and
15618 query video information): <a href="http://ffmpeg.org" title="http://ffmpeg.org"
15619 rel="nofollow">http://ffmpeg.org</a></li>
15623 Ardour requires xjadeo ≥ version 0.6.4, harvid ≥ version 0.7.0 and ffmpeg (known to work versions: 1.2, 2.8.2)
15627 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 <code>ffmpeg_harvid</code> and <code>ffprobe_harvid</code>.
15631 All four applications need to be found in <code>$PATH</code> (e.g.
15632 <code>$HOME/bin</code> or <code>/usr/local/bin</code>). For convenience the
15633 binary releases of harvid include ffmpeg_harvid and ffprobe_harvid, but if
15634 your distribution provides suitable ffmpeg commands you can also just create
15638 <kbd class="cmd lin">sudo ln -s /usr/bin/ffmpeg /usr/bin/ffmpeg_harvid</kbd>
15639 <kbd class="cmd lin">sudo ln -s /usr/bin/ffprobe /usr/bin/ffprobe_harvid</kbd>
15642 Binary releases are available from ardour.org as well as an installer script:
15643 <a href="https://github.com/Ardour/ardour/blob/master/tools/videotimeline/install_video_tools.sh"
15644 title="https://github.com/Ardour/ardour/blob/master/tools/videotimeline/install_video_tools.sh"
15645 rel="nofollow">install_video_tools.sh</a>.
15649 The easiest way to install the video-utilities is by running the following
15650 line in a terminal:
15653 <kbd class="cmd lin">sh -c "$(curl -s -L http://git.io/tVUCkw)"</kbd>
15655 <h2>Studio Setup</h2>
15658 Please read the info in the previous section to familiarize yourself with
15659 the tools involved first. Setting up a proper A/V post-production studio
15660 can be a complicated task. As much as we streamline and simplify the
15661 <em>single machine</em> setup, the <dfn>studio setup</dfn> is focused on modularity.
15666 <li>Synchronization ardour → video-display-box should be accomplished by external
15667 means jack-transport(netjack), MTC, LTC
15668 (<abbr title="Open Sound Control—"postmodern MIDI"">OSC</abbr> and/or
15669 ssh-pipe work but introduce additional latency + jitter)</li>
15670 <li>Ardour launches <code>XJREMOTE</code> (environment variable, default 'xjremote' which comes with xjadeo).</li>
15671 <li>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).</li>
15672 <li>..or override xjremote's behavior – instead of IPC with a local running xjadeo-process, using <abbr title="Open Sound Control—"postmodern MIDI"">OSC</abbr> for example. xjadeo would run permanently and Ardour will just tell it to load files and set offsets via <acronym title="Open Sound Control—"postmodern MIDI"">OSC</acronym>. see <a href="http://xjadeo.git.sourceforge.net/git/gitweb.cgi?p=xjadeo/xjadeo;a=blob_plain;f=contrib/xjremote-osc" title="http://xjadeo.git.sourceforge.net/git/gitweb.cgi?p=xjadeo/xjadeo;a=blob_plain;f=contrib/xjremote-osc" rel="nofollow">xjremote-osc</a> example script.</li>
15673 <li>If the video server runs remotely, Ardour needs to be configured in Ardour > Preference > Video (hostname of the video-server).</li>
15674 <li> 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…</li>
15678 title: Transcoding, Formats & Codecs
15683 This chapter provides a short primer on video files, formats and
15684 codecs – because it is often cause for confusion:
15688 A video file is a <dfn>container</dfn>. It usually contains one
15689 <dfn>video track</dfn> and one or more <dfn>audio tracks</dfn>.
15690 How these tracks are stored in the file is defined by the
15691 <dfn>file format</dfn>. Common formats are
15692 avi, mov, ogg, mkv, mpeg, mpeg-ts, mp4, flv, or vob.
15696 Each of the tracks by itself is encoded using a <abbr
15697 title="Coder-Decoder"><dfn>Codec</dfn></abbr>. Common video codecs
15698 are h264, mpeg2, mpeg4, theora, mjpeg, wmv3. Common audio codecs are
15699 mp2, mp3, dts, aac, wav/pcm.
15703 Not all codecs can be packed into a given format. For example the
15704 mpeg format is limited to mpeg2, mpeg4 and mp3 codecs (not entirely true).
15705 DVDs do have stringent limitations as well. The opposite would be .avi;
15706 pretty much every audio/video codec combination can be contained in an avi
15711 To make things worse, naming conventions for video codecs and formats are
15712 often identical (especially MPEG ones) which leads to confusion.
15713 All in all it is a very wide and deep field. Suffice there are different
15714 uses for different codecs and formats.
15717 <h2>Ardour specific issues</h2>
15720 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 <a href="http://ffmpeg.org">ffmpeg</a>, which supports over 350 different video codecs and more than 250 file formats.
15724 When importing a video into Ardour, it will be <dfn>transcoded</dfn> (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).
15728 The export dialog includes presets for common format and codec combinations (such as DVD, web-video,..). If in doubt use one of the presets.
15732 As last note: every time a video is transcoded, the quality can only get worse. Hence for the final mastering/<abbr title="Multiplexing Audio and Video">muxing</abbr> process, one should always to back and use the original source of the video.
15736 title: Workflow & Operations
15740 <h2>Overview of Operations</h2>
15742 <dl class="wide-table">
15743 <dt><kbd class="menu">Session > Open Video</kbd></dt>
15744 <dd>Add/replace a video to/on the timeline</dd>
15745 <dt><kbd class="menu">Window > View Monitor</kbd></dt>
15746 <dd>Open/close external video monitor window</dd>
15747 <dt><kbd class="menu">View > Video Monitor > …</kbd></dt>
15748 <dd>Various settings of the video monitor</dd>
15749 <dt><kbd class="menu">Session > Export > Video</kbd></dt>
15750 <dd>Export session and multiplex with video-file</dd>
15751 <dt><kbd class="mouse">Left</kbd>-drag the video in the timeline</dt>
15752 <dd>Re-align video and move 'locked' audio-regions along</dd>
15753 <dt>Context-menu on the video-timeline: <kbd class="menu"> 'lock'</kbd></dt>
15754 <dd>Prevent accidental drags</dd>
15755 <dt>Audio region context menu: <kbd class="menu">Position > Lock to video</kbd></dt>
15756 <dd>Mark audio region(s) to be moved along with the video.</dd>
15759 <h2>Adding Video</h2>
15762 Adding video is a two-step process: select a video file, and choose
15763 import mode and optionally select an audio track to extract.
15767 The first step is rather straight-forward. The panel on the right side
15768 allows to seek through the video and displays basic file information.
15769 It is also useful to check if the video format/codec is supported:
15772 <img src="/images/a3_video_open.png" alt="video-open-dialog" width="300" />
15775 The second step analyzes the video file in more detail and offers import options:
15779 <dt><kbd class="menu">Import/Transcode to Session</kbd></dt>
15780 <dd>This is the default. The video will be imported in a suitable
15781 video format/codec for the timeline and video monitor and saved inside the
15782 session folder. A location other than the session folder can also be
15783 chosen (external disk, or network storage of the video server on a different
15785 <dt><kbd class="menu">Reference from Current Location</kbd></dt>
15786 <dd>Only useful for opening files that were previously encoded (are already
15787 in a good format/codec). Use with care.</dd>
15788 <dt><kbd class="menu">Do not Import Video</kbd></dt>
15789 <dd>Useful for extracting audio only.</dd>
15792 <img src="/images/a3_video_import.png" alt="Video Import Dialog" width="300" />
15795 By default the video is imported using the original width/height.
15796 If it is a large video (e.g. full-HD) it makes sense to scale it down
15797 to decrease the CPU load and disk I/O required to decode and play the
15799 A small, low-quality representation of the image is usually sufficient
15800 for editing soundtracks. The default bitrate in kbit/sec is set to use
15801 0.7 bits per pixel. (Compare: the average DVD medium uses 5000 kbit/s;
15802 at PAL resolution this is about 0.5 bits per pixel. But the DVD is
15803 using the <dfn>mpeg2</dfn>—a denser compression algorithm than the
15804 <dfn>mjpeg</dfn> codec used by Ardour.)
15807 <h2>Working with A/V</h2>
15813 <img src="/images/a3_videotimeline.png" alt="Video Timeline" width="600" />
15815 <h2 id="export">Exporting Video</h2>
15818 The video export will take audio from the current Ardour session and
15819 multiplex it with a video file. The soundtrack of the video is taken from
15820 an audio export of Ardour's master bus.
15824 An arbitrary video file can be chosen. For high quality exports, the
15825 original file (before it was imported into the timeline) should be used.
15826 This is the default behaviour if that file can be found. If not, Ardour
15827 will fall back to the imported proxy-video which is currently in use
15828 on the timeline. Any existing audio tracks on this video file are stripped.
15832 The range selection allows to cut or extend the video. If the session is
15833 longer than the video duration, black frames are prefixed or appended to
15834 the video. (Note: this process may fail with non-standard pixel aspect
15835 ratios). If Ardour's session range is shorter, the video will be cut accordingly.
15839 Audio samplerate and normalization are options for Ardour's audio exporter.
15840 The remaining settings are options that are directly passed on to ffmpeg.
15844 The file format is determined by the extension that you choose for it
15845 (.avi, .mov, .flv, .ogv, .webm,...)
15846 Note: not all combinations of format, codec, and settings produce files
15847 which are according to specifications. For example, flv files require
15848 sample rates of 22.1 kHz or 44.1 kHz, mpeg containers can not
15849 be used with ac3 audio-codec, etc. If in doubt, use one of the built-in
15853 <img src="/images/a3_video_export.png" alt="Video Export Dialog" width="300" />
15856 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 to use winff, devede or dvdauthor to mux & master. Nevertheless this video-export comes in handy to do quick snapshots, intermediates, dailies or online videos.
15867 title: Lua Scripting in Ardour
15873 title: Lua Scripting
15878 Starting with version 4.7.213, Ardour supports Lua scripts.
15881 <p class="warning">
15882 Lua Integration is Work in Progress and far from complete.
15886 title: Scripting Documentation
15890 <p class="warning">
15891 This Documentation is Work in Progress and far from complete. Also the documented API may be subject to change.
15897 There are cases that a Ardour cannot reasonably cater for with core functionality by itself, either because they're session specific or user specific edge cases.
15901 Examples for these include voice-activate (record-arm specific tracks and roll transport depending on signal levels), rename all regions after a specific timecode, launch an external application when a certain track is soloed, generate automation curves or simply provide a quick shortcut for a custom batch operation.
15905 Cases like this call for means to extend the DAW without actually changing the DAW itself. This is where scripting comes in.
15909 "Scripting" refers to tasks that could alternatively be executed step-by-step by a human operator.
15913 Lua is a tiny and simple language which is easy to learn, yet allows for comprehensive solutions. Lua is also a glue language it allows to tie existing component in Ardour together in unprecedented ways, and most importantly Lua is one of the few scripting-languages which can be safely used in a real-time environment.
15917 A good introduction to Lua is the book <a href="http://www.lua.org/pil/">Programming in Lua</a>. The first edition is available online, but if you have the means buy a copy of the book, it not only helps to support the Lua project, but provides for a much nicer reading and learning experience.
15923 The core of ardour is a real-time audio engine that runs and processes audio. One interfaces with than engine by sending it commands. Scripting can be used to interact with or modify active Ardour session. Just like a user uses the Editor/Mixer GUI to modify the state or parameters of the session.
15927 Doing this programmatically requires some knowledge about the objects used internally. Most Ardour C++ objects and their methods are directly exposed to Lua and one can call functions or modify variables:
15930 <div style="width:80%; margin:.5em auto;">
15931 <div style="width:45%; float:left;">
15934 session->set_transport_speed (1.0);
15937 <div style="width:45%; float:right;">
15940 Session:set_transport_speed (1.0)
15945 <div style="clear:both;"></div>
15948 You may notice that there is only a small syntactic difference, in this case. While C++ requires recompiling the application for every change, Lua script can be loaded, written or modified while the application is running. Lua also abstracts away many of the C++ complexities such as object lifetime, type conversion and null-pointer checks.
15952 Close ties with the underlying C++ components is where the power of scripting comes from. A script can orchestrate interaction of lower-level components which take the bulk of the CPU time of the final program.
15956 At the time of writing Ardour integrates Lua 5.3.2: <a href="http://www.lua.org/manual/5.3/manual.html">Lua 5.3 reference manual</a>.
15959 <h2>Integration</h2>
15962 Like Control surfaces and the GUI, Lua Scripts are confined to certain aspects of the program. Ardour provides the framework and runs Lua (not the other way around).
15967 In Ardour's case Lua is available:
15971 <dt>Editor Action Scripts</dt><dd>User initiated actions (menu, shortcuts) for batch processing</dd>
15972 <dt>Editor Hooks/Callbacks</dt><dd>Event triggered actions for the Editor/Mixer GUI</dd>
15973 <dt>Session Scripts</dt><dd>Scripts called at the start of every audio cycle (session, real-time)</dd>
15974 <dt>DSP Scripts</dt><dd>Audio/Midi processor—plugins with access to the Ardour session (per track/bus, real-time)</dd>
15975 <dt>Script Console</dt><dd>Action Script commandline</dd>
15979 There are is also a special mode:
15983 <dt>Commandline Tool</dt><dd>Replaces the complete Editor GUI, direct access to libardour (no GUI) from the commandline.<br/>
15984 <em>Be aware that the vast majority of complex functionality is provided by the Editor UI.</em></dd>
15987 <h2>Managing Scripts</h2>
15990 Ardour searches for Lua scripts in the <code>scripts</code> folder in <code>$ARDOUR_DATA_PATH</code>, Apart from scripts included directly with Ardour, this includes
15994 <tr><th>GNU/Linux</th><td><code>$HOME/.config/ardour5/scripts</code></td></tr>
15995 <tr><th>Mac OS X</th><td><code>$HOME/Library/Preferences/Ardour5/scripts</code></td></tr>
15996 <tr><th>Windows</th><td><code>%localappdata%\ardour5\scripts</code></td></tr>
15999 <p>Files must end with <code>.lua</code> file extension.</p>
16001 <p>Scripts are managed via the GUI</p>
16004 <dt>Editor Action Scripts</dt><dd>Menu → Edit → Scripted Actions → Manage</dd>
16005 <dt>Editor Hooks/Callbacks</dt><dd>Menu → Edit → Scripted Actions → Manage</dd>
16006 <dt>Session Scripts</dt><dd>Menu → Session → Scripting → Add/Remove Script</dd>
16007 <dt>DSP Scripts</dt><dd>Mixer-strip → context menu (right click) → New Lua Proc</dd>
16008 <dt>Script Console</dt><dd>Menu → Window → Scripting</dd>
16011 <h2>Script Layout</h2>
16014 <li>Every script must include an <code>ardour</code> descriptor table. Required fields are "Name" and "Type".</li>
16015 <li>A script must provide a <em>Factory method</em>: A function with optional instantiation parameters which returns the actual script.</li>
16016 <li>[optional]: list of parameters for the "factory".</li>
16017 <li>in case of DSP scripts, an optional list of automatable parameters and possible audio/midi port configurations, and a <code>dsp_run</code> function, more on that later.</li>
16020 <p>A minimal example script looks like:</p>
16023 <pre><code class="lua">
16025 ["type"] = "EditorAction",
16029 function factory (unused_params)
16031 Session:goto_start() -- rewind the transport
16038 The common part for all scripts is the "Descriptor". It's a Lua function which returns a table (key/values) with the following keys (the keys are case-sensitive):
16042 <dt>type [required]</dt><dd>one of "<code>DSP</code>", "<code>Session</code>", "<code>EditorHook</code>", "<code>EditorAction</code>" (the type is not case-sensitive)</dd>
16043 <dt>name [required]</dt><dd>Name/Title of the script</dd>
16044 <dt>author</dt><dd>Your Name</dd>
16045 <dt>license</dt><dd>The license of the script (e.g. "GPL" or "MIT")</dd>
16046 <dt>description</dt><dd>A longer text explaining to the user what the script does</dd>
16050 Scripts that come with Ardour (currently mostly examples) can be found in the <a href="https://github.com/Ardour/ardour/tree/master/scripts">Source Tree</a>.
16053 <h3>Action Scripts</h3>
16056 Action scripts are the simplest form. An anonymous Lua function is called whenever the action is triggered. A simple action script is shown above.
16059 There are 10 action script slots available, each of which is a standard GUI action available from the menu and hence can be bound to a keyboard shortcut.
16062 <h3>Session Scripts</h3>
16065 Session scripts similar to Actions Scripts, except the anonymous function is called periodically every process cycle. The function receives a single parameter—the number of audio samples which are processed in the given cycle
16069 <pre><code class="lua">
16071 ["type"] = "session",
16072 name = "Example Session Script",
16074 An Example Ardour Session Script.
16075 This example stops the transport after rolling for a specific time.]]
16078 -- instantiation options, these are passed to the "factory" method below
16079 function sess_params ()
16082 ["print"] = { title = "Debug Print (yes/no)", default = "no", optional = true },
16083 ["time"] = { title = "Timeout (sec)", default = "90", optional = false },
16087 function factory (params)
16088 return function (n_samples)
16089 local p = params["print"] or "no"
16090 local timeout = params["time"] or 90
16092 if p ~= "no" then print (a, n_samples, Session:frame_rate (), Session:transport_rolling ()) end -- debug output (not rt safe)
16093 if (not Session:transport_rolling()) then
16098 if (a > timeout * Session:frame_rate()) then
16099 Session:request_transport_speed(0.0, true)
16106 <h3>Action Hooks</h3>
16109 Action hook scripts must define an additional function which returns a <em>Set</em> of Signal that which trigger the callback (documenting available slots and their parameters remains to be done).
16113 <pre><code class="lua">
16115 ["type"] = "EditorHook",
16116 name = "Hook Example",
16117 description = "Rewind On Solo Change, Write a file when regions are moved.",
16120 function signals ()
16121 s = LuaSignal.Set()
16124 [LuaSignal.SoloActive] = true,
16125 [LuaSignal.RegionPropertyChanged] = true
16131 function factory (params)
16132 return function (signal, ref, ...)
16133 -- print (signal, ref, ...)
16135 if (signal == LuaSignal.SoloActive) then
16136 Session:goto_start()
16139 if (signal == LuaSignal.RegionPropertyChanged) then
16141 file = io.open ("/tmp/test" ,"a")
16143 io.write (string.format ("Region: '%s' pos-changed: %s, length-changed: %s\n",
16145 tostring (pch:containsFramePos (ARDOUR.Properties.Start)),
16146 tostring (pch:containsFramePos (ARDOUR.Properties.Length))
16155 <h3>DSP Scripts</h3>
16157 <p>See the scripts folder for examples for now.</p>
16159 <p>Some notes for further doc:</p>
16162 <li>required function: <code>dsp_ioconfig ()</code>: return a list of possible audio I/O configurations—follows Audio Unit conventions.</li>
16163 <li>optional function: <code>dsp_dsp_midi_input ()</code>: return true if the plugin can receive midi input</li>
16164 <li>optional function: <code>dsp_params ()</code>: return a table of possible parameters (automatable)</li>
16165 <li>optional function: <code>dsp_init (samplerate)</code>: called when instantiation the plugin with given samplerate.</li>
16166 <li>optional function: <code>dsp_configure (in, out)</code>: called after instantiation with configured plugin i/o.</li>
16167 <li>required function: <code>dsp_run (ins, outs, n_samples)</code> OR <code>dsp_runmap (bufs, in_map, out_map, n_samples, offset)</code>: DSP process callback. The former is a convenient abstraction that passes mapped buffers (as table). The latter is a direct pass-through matching Ardour's internal <code>::connect_and_run()</code> API, which requires the caller to map and offset raw buffers.</li>
16168 <li>plugin parameters are handled via the global variable <code>CtrlPorts</code>.</li>
16169 <li>midi data is passed via the global variable <code>mididata</code> which is valid during <code>dsp_run</code> only. (dsp_runmap requires the script to pass raw data from the buffers according to in_map)</li>
16170 <li>The script has access to the current session via the global variable Session, but access to the session methods are limited to realtime safe functions</li>
16173 <h2>Accessing Ardour Objects</h2>
16176 The top most object in Ardour is the <code>ARDOUR::Session</code>. Fundamentally, a Session is just a collection of other things: Routes (tracks, busses), Sources (Audio/Midi), Regions, Playlists, Locations, Tempo map, Undo/Redo history, Ports, Transport state & controls, etc.
16180 Every Lua interpreter can access it via the global variable <code>Session</code>.
16184 GUI context interpreters also have an additional object in the global environment: The Ardour <code>Editor</code>. The Editor provides access to high level functionality which is otherwise triggered via GUI interaction such as undo/redo, open/close windows, select objects, drag/move regions. It also holds the current UI state: snap-mode, zoom-range, etc. The Editor also provides complex operations such as "import audio" which under the hood, creates a new Track, adds a new Source Objects (for every channel) with optional resampling, creates both playlist and regions and loads the region onto the Track all the while displaying a progress information to the user.
16188 Documenting the bound C++ methods and class hierarchy is somewhere on the ToDo list. Meanwhile <a href="https://github.com/Ardour/ardour/blob/master/libs/ardour/luabindings.cc">luabindings.cc</a> is the best we can offer.
16194 <li>There are no bound constructors: Lua asks Ardour to create objects (e.g. add a new track), then receives a reference to the object to modify it.</li>
16195 <li>Scripts, once loaded, are saved with the Session (no reference to external files). This provides for portable Sessions.</li>
16196 <li>Lua Scripts are never executed directly. They provide a "factory" method which can have optional instantiation parameters, which returns a lua closure.</li>
16197 <li>No external lua modules/libraries can be used, scripts need to be self contained (portable across different systems (libs written in Lua can be used, and important c-libs/functions can be included with ardour if needed).</li>
16201 Ardour is a highly multithreaded application and interaction between the different threads, particularly real-time threads, needs to to be done with care. This part has been abstracted away by providing separate Lua interpreters in different contexts and restricting available interaction:
16205 <li>Editor Actions run in a single instance interpreter in the GUI thread.</li>
16206 <li>Editor Hooks connect to libardour signals. Every Callback uses a dedicated lua interpreter which is in the GUI thread context.</li>
16207 <li>All Session scripts run in a single instance in the main real-time thread (audio callback)</li>
16208 <li>DSP scripts have a separate instance per script and run in one of the DSP threads.</li>
16212 The available interfaces differ between contexts. e.g. it is not possible to create new tracks or import audio from real-time context; while it is not possible to modify audio buffers from the GUI thread.
16215 <h2>Current State</h2>
16217 <p>Fully functional, yet still in a prototyping stage:</p>
16220 <li>The GUI to add/configure scripts is rather minimalistic.</li>
16221 <li>The interfaces may change (particularly DSP, and Session script <code>run()</code>.</li>
16222 <li>Further planned work includes:
16224 <li>Built-in Script editor (customize/modify Scripts in-place)</li>
16225 <li>convenience methods (wrap more complex Ardour actions into a library). e.g set plugin parameters, write automation lists from a lua table</li>
16226 <li>Add some useful scripts and more examples</li>
16227 <li>Documentation (Ardour API), also usable for tab-exansion, syntax highlighting</li>
16228 <li>bindings for GUI Widgets (plugin UIs, message boxes, etc)</li>
16236 Apart from the <a href="https://github.com/Ardour/ardour/tree/master/scripts">scripts included with the source-code</a> here are a few examples without further comments...
16239 <h3>Editor Console Examples</h3>
16242 <pre><code class="lua">
16243 print (Session:route_by_remote_id(1):name())
16245 a = Session:route_by_remote_id(1);
16248 print(Session:get_tracks():size())
16250 for i, v in ipairs(Session:unknown_processors():table()) do print(v) end
16251 for i, v in ipairs(Session:get_tracks():table()) do print(v:name()) end
16253 for t in Session:get_tracks():iter() do print(t:name()) end
16254 for r in Session:get_routes():iter() do print(r:name()) end
16257 Session:tempo_map():add_tempo(ARDOUR.Tempo(100,4), Timecode.BBT_TIME(4,1,0))
16260 Editor:set_zoom_focus(Editing.ZoomFocusRight)
16261 print(Editing.ZoomFocusRight);
16262 Editor:set_zoom_focus(1)
16265 files = C.StringVector();
16266 files:push_back("/home/rgareus/data/coding/ltc-tools/smpte.wav")
16268 Editor:do_import(files, Editing.ImportDistinctFiles, Editing.ImportAsTrack, ARDOUR.SrcQuality.SrcBest, pos, ARDOUR.PluginInfo())
16271 Editor:do_import(C.StringVector():add({"/path/to/file.wav"}), Editing.ImportDistinctFiles, Editing.ImportAsTrack, ARDOUR.SrcQuality.SrcBest, -1, ARDOUR.PluginInfo())
16273 # called when a new session is loaded:
16274 function new_session (name) print("NEW SESSION:", name) end
16277 # read/set/describe a plugin parameter
16278 route = Session:route_by_remote_id(1)
16279 processor = route:nth_plugin(0)
16280 plugininsert = processor:to_insert()
16282 plugin = plugininsert:plugin(0)
16283 print (plugin:label())
16284 print (plugin:parameter_count())
16286 x = ARDOUR.ParameterDescriptor ()
16287 _, t = plugin:get_parameter_descriptor(2, x) -- port #2
16289 print (paramdesc.lower)
16291 ctrl = Evoral.Parameter(ARDOUR.AutomationType.PluginAutomation, 0, 2)
16292 ac = plugininsert:automation_control(ctrl, false)
16293 print (ac:get_value ())
16294 ac:set_value(1.0, PBD.GroupControlDisposition.NoGroup)
16296 # the same using a convenience wrapper:
16297 route = Session:route_by_remote_id(1)
16298 proc = t:nth_plugin (i)
16299 ARDOUR.LuaAPI.set_processor_param (proc, 2, 1.0)
16304 <h3>Commandline Session</h3>
16307 The standalone tool <code>luasession</code> allows one to access an Ardour session directly from the commandline. Interaction is limited by the fact that most actions in Ardour are provided by the Editor GUI.
16311 <code>luasession</code> provides only two special functions <code>load_session</code> and <code>close_session</code> and exposes the <code>AudioEngine</code> instance as global variable.
16315 <pre><code class="lua">
16316 for i,_ in AudioEngine:available_backends():iter() do print (i.name) end
16318 backend = AudioEngine:set_backend("ALSA", "", "")
16319 print (AudioEngine:current_backend_name())
16321 for i,_ in backend:enumerate_devices():iter() do print (i.name) end
16323 backend:set_input_device_name("HDA Intel PCH")
16324 backend:set_output_device_name("HDA Intel PCH")
16326 print (backend:buffer_size())
16327 print (AudioEngine:get_last_backend_error())
16329 s = load_session ("/home/rgareus/Documents/ArdourSessions/lua2/", "lua2")
16330 s:request_transport_speed (1.0)
16331 print (s:transport_rolling())
16340 title: Class Reference
16342 include: class_reference.html