Part 0. Installing Qtractor

The different ways to install Qtractor and ensure your audio production environment is ready to make serious sounds.

Chapter 1, Introduction to Qtractor

Chapter 2, Installation

Chapter 3, Post-Installation Optimizations

Chapter 1. Introduction to Qtractor

Qtractor is a full-featured Digital Audio Workstation (DAW); a multi-track audio and MIDI recorder, editor, and mixer. Qtractor is free open-source software, licensed under the GPL, being developed by reknowned programmer Rui Nuno Capela.

The functionality of Qtractor is contained within a graphical desktop environment that will be familiar to users of other popular multi-track recording/editing applications on any computer operating system, and follows the same design principles with many of the same or similar elements.

In addition to recording digital audio and MIDI, Qtractor provides an environment for multi-track clip-oriented composing techniques common in modern music-making and aims to be intuitive and easy to use, yet powerful enough for the serious recording enthusiast.

Note

Qtractor is not what is known as a "tracker" type of audio/MIDI application, although it has the potential to function in that way if needed. When used merely as an audio and/or MIDI recorder (a MIDI recorder was historically called a "sequencer") or arranger, Qtractor is non-destructive, which means that the underlying files that contain the audio or MIDI data are not altered when those files are apparently cut into pieces, duplicated, pulled or pasted into a different order in time, or manipulated in any number of ways within the main Window (GUI interface) of Qtractor. However, when used as an audio or MIDI recorder, for example, or when editing previously recorded MIDI data in the dedicated MIDI editor, Qtractor's actions can be destructive in the sense that newly recorded data (or altered MIDI data) replaces previously recorded data on the same track.

1.1. System Requirements

Qtractor's target platform is Linux, using the ALSA (Advanced Linux Sound Architecture) and JACK (the Jack Audio Connection Kit) as the supporting infrastructure for recognizing sources of digital audio and MIDI (Musical Instrument Digital Interface) data, communicating with those sources and routing the data to and from various locations and programs (applications, including Qtractor) both inside and outside the computer and involving both software and hardware interfaces.

Suggestions of technical requirements for Qtractor are:

1.2. Get Involved

The Qtractor project welcomes all collaboration and review from the Linux audio developer and user community in particular, and the public in general.

See qtractor.sourceforge.net for contact information.

The docbook sources for this user manual are available via git from gitorious.org/slackermedia

Chapter 2. Installation

Installing Qtractor can be done in two ways: from your distribution's software repository, or by building from source code. For most users, installing from your distribution's repositories is the right choice, as it offers the easiest install and ensures timely and reliable updates.

2.1. Easy Install

To install software from your distribution's repository, open the software installer for your distribution (often called Add/Remove Software or sometimes a Software Store).

Search for Qtractor, and mark it for installation and proceed; there is no need to intall additional packages since the installer will automatically install any software required for Qtractor to run.

2.2. Expert Install

If you absolutely require the latest features in a just-released or not-yet released version of Qtractor, or you simply prefer to build your programs manually, you may build Qtractor from source code.

In order to build from source, you must have a build environment, and the essential dependencies that Qtractor requires. Depending on your distribution, the names of the installable build tools will vary, but the software components themselves are:

Additional support libraries may be installed to enhance the abilities of Qtractor:

2.2.1. Download the Qtractor Code

Stable releases of Qtractor can be downloaded directly from qtractor.sourceforge.net/qtractor- index.html#Downloads

Note

If you intend to develop Qtractor then you will want to run "bleeding edge" code. This is not recommended for a production system and should be used only for development purposes. Check out the source code from its CVS repository via anonymous (pserver) access:

  1. At the command line, checkout the code via SVN:

            svn co https://qtractor.svn.sourceforge.net/svnroot/qtractor/trunk qtractor-svn
  2. Prepare the configure script on the newly created qtractor source tree directory:

            cd qtractor-svn
            make -f Makefile.svn
  3. Build and install.

2.2.2. Compiling and Installing Qtractor

After downloading Qtractor, decompress and extract the archive:

      tar -xf qtractor-0.x.x.tar.gz

Change directory into the resulting qtractor directory. Once inside the qtractor directory, the usual building commands apply:

      ./configure && make

To see all configuration options before entering the command sequence above, type ./configure --help

After typing the configure and make commands and waiting until the program has finished being compiled, become an administrator of your system (using either the sudo or su command to become, temporarily, the root user) and finish the installation by entering:

      make install

The executable binary code (in otherwords, the Qtractor application itself) and associated desktop and icon files are copied to common, standard system locations.

Chapter 3. Post-Installation Optimizations

There are some considerations after you have installed Qtractor which may help you optimize your system for its best possible audio performance.

Previous to the Linux Kernel 2.6.38.4, a realtime kernel was a must-have component in audio production. Since 2.6.38, new options have developed to provide a seamless audio production experience, depending largely on what your needs are from your system.

If you are not sure whether you'll need realtime, it is safe to assume that you will need either:

3.1. Real-Time Kernel

To discover what kernel your computer is currently running, look in KInfoCenter (in KDE4) or System Information (in Gnome3).

Or simply open a terminal:

      uname -r

If your computer is running a kernel previous to 2.6.38.4, then you should either update your kernel, or install a realtime version of your kernel.

To upgrade the Linux kernel, use your distribution's repository, searching for the terms realtime or rt.

If your distribution does not have repositories, or realtime kernels, then you can of course download the source code and compile the kernel yourself. The same guiding principles apply; as long as you are building 2.6.38.4 or above, then a simple make oldconfig will render a modestly pre-emptive kernel suitable for near-realtime use. For extreme low-latency, apply realtime patches, available from kernel.org/pub/linux/kernel/projects/rt

3.2. QJackCtl

In order for Qtractor to run, JACK must be running in the background. JACK is a kind of patchbay for Linux (technically a "sound server"), enabling you to route sound in and out of Qtractor and other sound applications.

Some distributions may configure Qtractor such that JACK starts automatically when Qtractor is launched; others may not. If you launch Qtractor from your application menu and receive JACK errors in the message log at the bottom of the Qtractor window, then quit Qtractor and start JACK manually.

The easiest way to start JACK is with QJackCtl ("Q JACK Control"), a control panel and global, synchronized timecode display. If this is not installed, install it from your distribution's repository or from qjackctl.sourceforge.net

If necessary, launch QJackCtl and click the Start button.

This should instate realtime privileges and begin a global, synchronized timecode clock that will allow Qtractor to use all available inputs and outputs just like a mixing board would in the studio.

To view the status of JACK, click the Status button and review the resulting report. JACK should be reported as running, in realtime mode.

3.2.1. Troubleshooting

If you are experiencing unexpected results with QJackCtl, then here are some things to check: