What's Qtractor ?
Qtractor is an Audio/MIDI multi-track sequencer application written
in C++ with the Qt framework.
Target platform is Linux, where the Jack Audio Connection Kit
(JACK) for audio, and the Advanced Linux Sound Architecture
(ALSA) for MIDI, are the main infrastructures to evolve as a fairly-featured Linux desktop audio
workstation GUI, specially dedicated to the personal home-studio.
Qtractor is free, open-source software, distributed under the terms of the
GNU General Public License (GPL)
version 2 or later.
Project page: https://sourceforge.net/projects/qtractor
Weblog: https://www.rncbc.org
Wiki: https://sourceforge.net/p/qtractor/wiki/

Screenshots

Click on image to see more screenshots...
Features
- Multi-track audio and MIDI sequencing and recording.
- Developed on the Qt C++ application an UI framework.
- Uses JACK for audio
and ALSA sequencer for MIDI
as multimedia infrastructures.
- Traditional multi-track tape recorder control paradigm.
- Audio file formats support: OGG (via libvorbis),
MP3 (via libmad, playback only),
WAV, FLAC, AIFF and many, many more (via libsndfile).
- 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, freeze)
- Unlimited undo/redo.
- Built-in mixer and monitor controls.
- Built-in connection patchbay control and persistence (a-la QjackCtl).
- LADSPA, DSSI, native VST(2), VST3, LV2 and CLAP 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), pitch-shifting (via librubberband) and seamless sample-rate conversion (via libsamplerate).
- Audio/MIDI track export (mix-down, render, merge).
- 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));
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.
- 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:
Optional (opted-in at build time):
- libvorbis (enc, file), Ogg Vorbis audio compression
https://xiph.org/vorbis/
- libmad, High-quality MPEG audio decoder
https://www.underbit.com/products/mad/
- libsamplerate, The secret rabbit code, C library
for audio sample rate conversion
http://www.mega-nerd.com/SRC/
- librubberband, Rubber Band Audio Time Stretcher,
an audio time-stretching and pitch-shifting library
https://breakfastquay.com/rubberband/
- liblo, Lightweight OSC implementation
(needed for DSSI GUI and/or NSM support)
http://liblo.sourceforge.net/
- DSSI, An API for soft synth plugins with custom user interfaces
http://dssi.sourceforge.net/
- VST SDK, Steinberg's Virtual Studio Technology
https://www.steinberg.net/
- LV2, Audio Plugin Standard, the extensible successor of LADSPA
http://lv2plug.in/
- liblilv, Lightweight LV2 implementation stack
https://drobilla.net/software/lilv/
https://drobilla.net/software/sratom/
https://drobilla.net/software/sord/
https://drobilla.net/software/serd/
- libsuil, Lightweight C library for loading and wrapping LV2 plugin UIs
https://drobilla.net/software/suil/
- libaubio, a library for real time audio labelling
https://aubio.org
Downloads
Qtractor's already in some kind of beta stage of development and hence fully functional.
Though, the bleeding-edge development source tree is readily available from the sourceforge's public
Git repository.
Latest release
2022-12-30 - An End-of-Year'22 Release.
qtractor-0.9.30.tar.gz
- Plugin latency/delay compensation now in effect immediately after
changing track option (cf. Track/Properties... /Plugins/Latency
compensation).
- Shade-off regions not-in-view from the thumb-views.
- Improved MIDI queue time drift correction resilience and stability
against in-flight tempo changes.
- The main real-time process cycle now runs on uniform block-sizes,
in strides of 64 frames per period, meaning a higher resolution
automation, independent of buffer-size.
- The internal main MIDI engine gets its ALSA sequencer queue to a
higher resolution (PPQN aka ticks-per-beat) and not subordinated
to the current session's anymore.
- Although being deprecated to use, JACK Session support is hopefuly
fixed, once again.
- Better discriminate CLAP Plug-in specific note events and strict
MIDI dialect event processing.
Previous and older pre-releases, including the change log,
are also available here.
You can browse all files available for download, including binary packages, at
Qtractor Files on SourceForge.net.
Installation
Unpack the tarball and in the extracted source directory:
cmake [-DCMAKE_INSTALL_PREFIX=prefix] -B build
cmake --build build [--parallel Njobs]
and optionally as root:
[sudo] cmake --install build
Note that the default installation path prefix is /usr/local .
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.
You can also find timely and closer contact information on my
personal web site.
Acknowledgements
The dated Qtractor quick start guide and user manual
for version 0.5.x has been authored by Seth Kenlon & Klaatu.
The older user manual for version 0.3.0 and before,
have been co-authored by James Laco Hines and Stephen Doonan.
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, of course:
- Pavel Fric (cs)
- Guido Scholz (de)
- David Reyes Pucheta (es)
- Yann Colette (fr)
- Olivier Humbert (fr)
- Massimo Callegari (it)
- Takashi Sakamoto (ja)
- Esteban Viveros (pt)
- Alexandre Prokoudine (ru)
|
And, of course, last but not least, to all the past, present and future
contributors of the Qtractor Wiki.
Thank you all.
Enjoy,