Qtractor An Audio/MIDI multi-track sequencer
[Intro]
[Screenshots]
[Features]
[Requirements]
[Downloads]
[CVS]
[Installation]
[Configuration]
[Bugs]
[Support]
[Acknowledgments]
What's Qtractor ?
Qtractor is an Audio/MIDI multi-track sequencer application written
in C++ with the Qt4 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: http://sourceforge.net/projects/qtractor
Weblog: http://www.rncbc.org
Screenshots

Click on image to see more screenshots...
Features
- Multi-track audio and MIDI sequencing and recording.
- Developed on pure Qt4
C++ application framework (no Qt3 nor KDE dependencies).
- 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)
- Unlimited undo/redo.
- Built-in mixer and monitor controls.
- Built-in connection patchbay control and persistence (a-la QjackCtl).
- LADSPA, DSSI and native VSTi plug-in support.
- Unlimited number of plug-ins per track or bus.
- Plug-in presets, programs and chunk/configurations support.
- Audio/MIDI clip fade-in/out (linear, quadratic, cubic).
- Audio/MIDI clip gain/volume, normalize, export.
- 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, merge).
- Audio/MIDI metronome bar/beat clicks.
- Unlimited tempo/time-signature map.
- MIDI clip editor (matrix/piano roll).
- MIDI instrument definitions (a-la Cakewalk(tm)).
- MIDI controller mapping (mixer).
- JACK transport sync master.
- MMC control surface enabled.
- MIDI Song Position cueing support.
- Configurable keyboard 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
http://xiph.org/vorbis/
- libmad, High-quality MPEG audio decoder
http://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
http://breakfastquay.com/rubberband/
- liblo, Lightweight OSC implementation
(needed for DSSI GUI 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
http://www.steinberg.net/
Downloads
Qtractor's still in some alpha stage of development, but already
functional. The bleeding-edge development source tree is readily available
from the sourceforge's public CVS repository.
However there has been several so called pre-releases that might be representative
of the project's shallowed milestones.
Latest release
2009-06-04 - The Flaunty Demoness.
qtractor-0.4.2.tar.gz
- The MIDI clip editor (piano-roll/matrix editor), the main
track view as well, have been subject to usability fixing,
the most notable avoids clearing current selection as much
as possible when updating view contents (eg. changing zoom
levels does not reset current selection anymore).
- MIDI tracks channel bank/program and controller stuff are
now only issued when the respective bus connections have
changed, seldom on every playback start.
- MIDI controller mapping infrastructure, with file based
configuration management (see View/Controllers...), is now
in place, following an original contribution from gizzmo
aka Mathias Krause.
- Plugin chain buffer reset on playback start/stop is not
guarded by a momentary plugin de/activation anymore.
- Clip export may now be applied to multiple clips, sharing
common refactored code and same semantics as merging of
current selected clips.
- Improved, may be just fixed yet again, audio track export
synchronization and reliability.
- Clip merge is now featured both for audio and MIDI tracks
(see Edit/Clip/Merge...).
- Improved, or better said, fixed (again) the precision of
multi-clip final positioning as result of drag/move and
paste operations in main track view (as in bug #2741611).
- MIDI track program number is now listed in 1-128 range,
in an attempt to be consistent with corresponding MIDI
track dialog drop-down list.
- MIDI editor snap grid lines get slight different color
then regular beat divisions.
- Reset local tempo map cursor on newer MIDI file imports
in a tentative to fix incidental but random crashes.
Previous and older pre-releases, including the change log,
are also available here.
Installation
The installation procedure follows the standard for source distributions.
Once under the extracted source directory:
./configure [--prefix=prefix]
make
and optionally as root:
make install
This procedure will end installing the following couple of files:
- prefix
/bin/qtractor
- prefix
/share/pixmaps/qtractor.png
- prefix
/share/applications/qtractor.desktop
Just launch prefix/bin/qtractor and you're off (hopefully).
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
Plenty still, after all this is early alpha software ;).
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.
Acknowledgments
Qtractor user manual
has 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.
This project has also a freshmeat.net entry.
Enjoy,
rncbc aka Rui Nuno Capela
rncbc at rncbc dot org