Qtractor An Audio/MIDI multi-track sequencer
[Intro]
[Screenshots]
[Requirements]
[Downloads]
[CVS]
[Installation]
[Configuration]
[Bugs]
[Support]
[Acknowledgments]
What's Qtractor ?
Qtractor is an Audio/MIDI multi-track sequencer application written
in C++ around the Qt4
toolkit.
The initial target platform will be 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.
Licence: GNU General Public License (GPL)
Sourceforge project page: http://sourceforge.net/projects/qtractor
Screenshots

Click on image to see more screenshots...
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
2008-05-02 - The Frugal Damsel.
qtractor-0.1.3.tar.gz
(user manual)
- As one may find convenient sometimes, the global time display
format (frames, time or BBT) may now be changed on the main
transport time spin-box context menu.
- Left-clicking on the track list number column now toggles all
track content clip selection.
- Prevent audio-buffer initialization mashups when editing short
audio clips while playback is rolling and within clip region.
- Audio peak files gets a bit simplified, dropping the peak frame
count from its header; peak waveform graphics are now rendered
as straight lines when over the end of audio file.
- The drop-span option (View/Options.../Drop multiple audio files
into the same track) now also applies when importing tracks (as
in Track/Import Tracks/Audio...) to concatenate multiple audio
clips into one and the same new track.
- Audio and MIDI meter level colors are now user configurable (as
global configuration options, View/Options.../Display/Meters)
- First attempt for Qt4.4 build support, regarding the bundled
atomic primitives, which have changed upstream as advertised
(thanks to Paul Thomas, for spotting this one first time).
- Record monitor switch is now an accessible button option on all
track mixer strips; for visual consistency, the old bus "thru"
switch button has been renamed to "monitor".
- Force track-view position reset to origin on session close.
- Fixed segfault on inserting an external file into files widget.
- Mixer splitter sizes are now better saved/restored when closed.
- Track record monitoring is now a state option, being toggled
from the Track/State/Monitor menu; applies both to audio end
MIDI tracks: when set all input will be pass-through to the
current assigned output bus, including track plug-ins chain.
- Session dialog gets split in its own tab components, between
descriptive, time and view configuration ones.
- Drifting correction among audio and MIDI engines is now back,
but avoided while recording or should it be while looping?
(EXPERIMENTAL REGRESSION)
- Time-stretching percent value gets its semantics inverted,
as thought consistent with ones general sense for relative
stretching ie., lower to shrink and higher to make longer.
this is a major up-side-down change and should affect all
sessions saved with time-stretched audio clips.
- Slack space in main tracks and MIDI clip editor views are now
proportional to viewport width, leaving enough room for drag
and moving content past the current session length, specially
at the lower zoom levels.
- Clip end time is now also shown on tool-tip.
- When armed for recording, MIDI tracks are now monitored and
filtered through their own output bus, thus having the same
behavior as audio tracks; this also implies that all record
armed tracks won't playback their current content material
when recording is engaged and rolling; track mute and solo
states are now honored on record monitoring.
- Audio clip pitch-shifting makes its first appearance, with
the optional help from Chris Cannam's RubberBand library.
- A new MIDI editor tool is available: note/pitch randomize.
- Avoid (re)setting the default session directory if a session
cannot be open or loaded for some reason.
- Another nastiness bites the dust: a subtle but progressive
drifting has been swept away from the audio buffer looping;
zero buffer flushing is now also taken into account, which
was the cause for serious drifting on time-stretched clips.
- A major digital audio processing bug was tamed: audio clip
fade-in/outs are now linearly piece-wise applied, even at
the clip edges, giving a much smoother rendering and thus
mitigating the nasty click-and-pop artifacts that were in
fact due to some early design optimization with a poor and
sloppy implementation.
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.
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
