Qtractor - An Audio/MIDI multi-track sequencer
Clone or download
Permalink
Failed to load latest commit information.
debian - Preparations for v0.9.2 (summer'18 beta) release. Sep 9, 2018
src [xunits] Subject/observer value/scale+units interface refactoring (ph… Sep 24, 2018
.gitignore - New out-of-process (aka. dummy) LADSPA, DSSI and (old) VST Nov 14, 2017
.travis.yml - Updated travis-ci config to Qt5.10.1. Mar 12, 2018
AUTHORS This commit was generated by cvs2svn to compensate for changes in r2, Mar 2, 2005
COPYING Fixed MIDI tracks import, suppresing empty tracks-channels. Fixed MID… Sep 24, 2006
ChangeLog - Get rid of symlink duplicates on the default plugin Sep 22, 2018
INSTALL - INSTALL file update from autoconf (sic). Feb 20, 2012
Makefile.git - A little hardening on the configure (autoconf) macro side: qmake fix. Jan 10, 2018
Makefile.in - A little hardening on the configure (autoconf) macro side: qmake fix. Jan 10, 2018
README - Early preppings for next Autumn'17 release. Nov 20, 2017
README.VST
TODO - Some missing beta tagging here and there. Oct 8, 2014
TRANSLATORS - French (fr) translation update (by Olivier Humbert, thanks). Dec 8, 2015
autogen.sh - New Git build references stabilization. Nov 20, 2014
configure.ac - According to Debian policy and guidelines, the out-of Sep 14, 2018
qtractor.1 - Preparations for 0.6.7 (lepton acid) beta release. May 27, 2015
qtractor.fr.1 Adds a French manpage Jan 4, 2017
qtractor.pro - New out-of-process (aka. dummy) LADSPA, DSSI and (old) VST Nov 14, 2017
qtractor.spec.in - According to Debian policy and guidelines, the out-of Sep 14, 2018

README

Qtractor - An Audio/MIDI multi-track sequencer
----------------------------------------------

Qtractor is an audio/MIDI multi-track sequencer application written
in C++ with the Qt framework [1]. Target platform is Linux, where the
Jack Audio Connection Kit (JACK) for audio [2] and the Advanced Linux
Sound Architecture (ALSA) for MIDI [3] are the main infrastructures
to evolve as a fairly-featured Linux desktop audio workstation GUI,
specially dedicated to the personal home-studio.

Website:

  http://qtractor.org
  http://qtractor.sourceforge.net
  https://qtractor.sourceforge.io

Project page:

  http://sourceforge.net/projects/qtractor 

Git repos:

  http://git.code.sf.net/p/qtractor/code
  https://github.com/rncbc/qtractor.git
  https://gitlab.com/rncbc/qtractor.git
  https://bitbucket.org/rncbc/qtractor.git

Wiki:

  http://sourceforge.net/p/qtractor/wiki/

- static rendering:
  http://qtractor.org/doc
  http://qtractor.sourceforge.net/doc
  https://qtractor.sourceforge.io/doc

- user manual & how-to's:
  http://download.sf.net/qtractor/qtractor-manual-and-howtos.epub
  http://download.sf.net/qtractor/qtractor-manual-and-howtos.pdf

Weblog:

  http://www.rncbc.org

Qtractor is free, open-source software, distributed under the terms of
the GNU General Public License (GPL) [18] version 2 or later.


Features
--------

- Multi-track audio and MIDI sequencing and recording.
- Developed on the Qt C++ application and UI framework [1].
- Uses JACK [2] for audio and ALSA [3] sequencer for MIDI
  as multimedia infrastructures.
- Traditional multi-track tape recorder control paradigm.
- Audio file formats support: OGG (via libvorbis [6]),
  MP3 (via libmad [7], playback only), WAV, FLAC, AIFF
  and many, many more (via libsndfile [4]).
- Standard MIDI files support (format 0 and 1).
- Non-destructive, non-linear editing.
- Unlimited number of tracks per session/project.
- Unlimited number of overlapping clips per track.
- XML encoded session/project description files (SDI).
- Point-and-click, multi-select, drag-and-drop interaction
  (drag, move, drop, cut, copy, paste, paste-repeat, delete, split, merge).
- Unlimited undo/redo.
- Built-in mixer and monitor controls.
- Built-in connection patchbay control and persistence
  (a-la QjackCtl [17]).
- LADSPA [5], DSSI [11], native VST [12] and LV2 [13] plug-ins support.
- Unlimited number of plug-ins per track or bus.
- Plug-in presets, programs and chunk/configurations support, including
  native VST FXB/FXP file support.
- Unlimited audio/MIDI effect send/return inserts per track or bus.
- Loop-recording/takes.
- Audio/MIDI clip fade-in/out, cross-fade (linear, quadratic, cubic).
- Audio/MIDI clip gain/volume, normalize, export.
- Audio/MIDI track and plugin parameter automation (dynamic curves,
  sample&hold, linear and spline modes).
- Audio clip time-stretching (WSOLA-like or via librubberband [9]),
  pitch-shifting (via librubberband [9]) and seamless sample-rate
  conversion (via libsamplerate [8]).
- Audio/MIDI track export (mix-down, render, merge, freeze).
- Audio/MIDI metronome bar/beat clicks.
- Unlimited tempo/time-signature map.
- Unlimited location/bar markers.
- MIDI clip editor (matrix/piano roll).
- MIDI instrument definitions (a-la Cakewalk(tm) (*.ins) [19]);
  SoundFont (*.sf2) and MIDI Names XML (*.midnam) files also supported.
- MIDI controller mapping/learn/assignment (mixer and plug-in parameters).
- MIDI system exclusive (SysEx) setups.
- JACK transport sync master/slave.
- JACK session support.
- NSM (Non Session Management) support [15].
- MMC control surface enabled.
- MIDI Clock, Song Position Pointer (SPP) support.
- Configurable PC-keyboard and MIDI controller shortcuts.


Requirements
------------

The software requirements for build and runtime are listed as follows:

  Mandatory:

  [1] Qt framework, C++ class library and tools for
       cross-platform application and UI development
       http://qt.io/

  [2] JACK Audio Connection Kit
       http://jackaudio.org/

  [3] ALSA, Advanced Linux Sound Architecture
       http://www.alsa-project.org/

  [4] libsndfile, C library for reading and writing
       files containing sampled sound
       http://www.mega-nerd.com/libsndfile/

  [5] LADSPA, Linux Audio Developer's Simple Plugin API
       http://www.ladspa.org/

  Optional (opted-in at build time):

  [6] libvorbis (enc, file), Ogg Vorbis audio compression
       http://xiph.org/vorbis/

  [7] libmad, High-quality MPEG audio decoder
       http://www.underbit.com/products/mad/

  [8] libsamplerate, The secret rabbit code, C library
       for audio sample rate conversion
       http://www.mega-nerd.com/SRC/

  [9] librubberband, Rubber Band Audio Time Stretcher,
       an audio time-stretching and pitch-shifting library
       http://breakfastquay.com/rubberband/

  [10] liblo, Lightweight OSC implementation
       (needed for DSSI GUI [11] and/or NSM support [16])
       http://liblo.sourceforge.net/

  [11] DSSI, An API for soft synth plugins with custom user interfaces
       http://dssi.sourceforge.net/

  [12] VST SDK, Steinberg's Virtual Studio Technology (see README.VST)
       http://www.steinberg.net/

  [13] LV2, Audio Plugin Standard, the extensible successor of LADSPA
       http://lv2plug.in/

  [14] liblilv, Lightweight LV2 host implementation stack
       http://drobilla.net/software/lilv/
       http://drobilla.net/software/sratom/
       http://drobilla.net/software/sord/
       http://drobilla.net/software/serd/

  [15] libsuil, Lightweight C library for loading and wrapping LV2 plugin UIs
       http://drobilla.net/software/suil/

  [16] Non Session Management (NSM)
       http://non.tuxfamily.org/nsm/


Installation
------------

The installation procedure follows the standard for source distributions.
Unpack the tarball and in the extracted source directory:

    ./configure [--prefix=/usr/local]
    make

and optionally as root:

    make install

This procedure will end installing the following files:

    ${prefix}/bin/qtractor
    ${prefix}/share/applications/qtractor.desktop
    ${prefix}/share/icons/hicolor/32x32/apps/qtractor.png
    ${prefix}/share/qtractor/translations/qtractor_*.qm

Just launch ${prefix}/bin/qtractor and you're off (hopefully).

Note that the default installation path ${prefix} is /usr/local.

If you're checking out from Git, you'll have to prepare the
configure script just before you proceed with the above instructions:

   ./autogen.sh


Configuration
-------------

Qtractor holds its settings and configuration state per user, in a file
located as $HOME/.config/rncbc.org/Qtractor.conf . Normally, there's no
need to edit this file, as it is recreated and rewritten everytime
qtractor is run.


Bugs
----

Probably plenty still, Qtractor maybe considered on beta stage already.


Support
-------

Qtractor is open source free software. For bug reports, feature requests,
discussion forums, mailling lists, or any other matter related to the
development of this piece of software, please use the Sourceforge
project page (http://sourceforge.net/projects/qtractor).

You can also find timely and closer contact information on my personal
web site (http://www.rncbc.org).


Acknowledgments
---------------

The dated Qtractor quick start guide and user manual for version 0.5.x
has been authored by Seth Kenlon & Klaatu.
(http://downloads.sourceforge.net/qtractor/qtractor-0.5.x-user-manual.pdf)

The older Qtractor user manual for version 0.3.0 and before, have
been co-authored by James Laco Hines and Stephen Doonan.
(http://downloads.sourceforge.net/qtractor/qtractor-0.3.0-user-manual.pdf)

Qtractor logo/icon is an original work of Andy Fitzsimon, borrowed
from the public domain openclipart.org gallery.

A special mention should also go to the translators of Qtractor
(see TRANSLATORS) and of course, last but not least, to all the
past, present and future contributors of the Qtractor Wiki.
(http://sourceforge.net/p/qtractor/wiki/)

Thank you all.


References
----------

[1] Qt framework, C++ class library and tools for
     cross-platform application and UI development
     http://qt.io/

[2] JACK Audio Connection Kit
     http://jackaudio.org/

[3] ALSA, Advanced Linux Sound Architecture
     http://www.alsa-project.org/

[4] libsndfile, C library for reading and writing
     files containing sampled sound
     http://www.mega-nerd.com/libsndfile/

[5] LADSPA, Linux Audio Developer's Simple Plugin API
     http://www.ladspa.org/

[6] libvorbis (enc, file), Ogg Vorbis audio compression
     http://xiph.org/vorbis/

[7] libmad, High-quality MPEG audio decoder
     http://www.underbit.com/products/mad/

[8] libsamplerate, The secret rabbit code, C library
     for audio sample rate conversion
     http://www.mega-nerd.com/SRC/

[9] librubberband, Rubber Band Audio Time Stretcher,
     an audio time-stretching and pitch-shifting library
     http://breakfastquay.com/rubberband/

[10] liblo, Lightweight OSC implementation
     (needed for DSSI GUI support)
     http://liblo.sourceforge.net/

[11] DSSI, an API for soft synth plugins with custom user interfaces
     http://dssi.sourceforge.net/

[12] VST SDK, Steinberg's Virtual Studio Technology (see README.VST)
     http://www.steinberg.net/

[13] LV2, Audio Plugin Standard, the extensible successor of LADSPA
     http://lv2plug.in/

[14] liblilv, Lightweight LV2 host implementation stack
     (needed for LV2 support)
     http://drobilla.net/software/lilv/
     http://drobilla.net/software/sratom/
     http://drobilla.net/software/sord/
     http://drobilla.net/software/serd/

[15] libsuil, Lightweight C library for loading and wrapping LV2 plugin UIs
     (needed for LV2 UI support)
     http://drobilla.net/software/suil/

[16] Non Session Management (NSM)
     http://non.tuxfamily.org/nsm/

[17] QjackCtl - JACK Qt GUI Interface
     http://qjackctl.sourceforge.net

[18] GNU General Public License
     http://www.gnu.org/copyleft/gpl.html

[19] Cakewalk, powerful and easy-to-use tools
     for Windows-based music and sound production
     http://www.cakewalk.com/


Enjoy && have (lots of) fun.
--
rncbc aka Rui Nuno Capela
rncbc at rncbc dot org
http://www.rncbc.org