# Qtractor is a tape-style sequencer built on JACK and ALSA

> Qtractor is a C++ and Qt multi-track audio and MIDI sequencer for Linux, using JACK for audio and ALSA for MIDI, with non-destructive editing, unlimited tracks, a built-in patchbay and plug-in support spanning LADSPA, DSSI, VST2, VST3, LV2 and CLAP. It ships as a source tarball you build with CMake, and the author calls it beta stage software.

**rncbc/qtractor** — Qtractor - An Audio/MIDI multi-track sequencer

- Repository: https://github.com/rncbc/qtractor
- Website: https://qtractor.org
- Stars: 607 · Forks: 101
- Language: C++
- License: GPL-2.0
- Published: 2026-10-22 · Updated: 2026-10-22 · Language: en
- Canonical page: https://hysenlabs.com/projects/rncbc-qtractor

## A tape recorder paradigm on top of JACK

Qtractor is an audio and MIDI multi-track sequencer application written in C++ with the Qt framework, and its target platform is Linux. The audio infrastructure is the Jack Audio Connection Kit and the MIDI infrastructure is the Advanced Linux Sound Architecture, with the aim of evolving into a fairly featured Linux desktop audio workstation GUI, specially dedicated to the personal home studio. The design philosophy is stated plainly in the feature list as a traditional multi-track tape recorder control paradigm. That is the organising idea, and it explains the rest of the interface choices. Non-destructive, non-linear editing means a clip is a reference to a region of a file rather than a copy of the data, and the project removes the usual ceiling on a session, with an unlimited number of tracks per session or project and an unlimited number of overlapping clips per track. The session itself is an XML encoded description, the SDI format, so a project is text you can diff, version and inspect rather than an opaque binary.

## Editing, mixing and a patchbay in one window

The feature list reads like a checklist for a home studio, and the interactive parts are the ones a tape metaphor implies. Point-and-click, multi-select, drag-and-drop interaction covers drag, move, drop, cut, copy, paste, paste-repeat, delete, split and merge, with unlimited undo and redo. A built-in mixer and monitor controls sit alongside a built-in connection patchbay control with persistence, in the style of QjackCtl, which matters on JACK where the routing graph is otherwise invisible. Audio and MIDI clips have fade-in and fade-out, cross-fade in linear, quadratic and cubic flavours, and gain and volume with normalize and export. Tracks and plug-in parameters can be automated with dynamic curves, sample and hold, linear and spline modes. There is a metronome with bar and beat clicks, an unlimited tempo and time-signature map, and unlimited location and bar markers. Loop recording and takes are there for musicians who record in passes, and a MIDI clip editor in matrix and piano roll form sits alongside MIDI instrument definitions in the Cakewalk style, plus SoundFont and MIDI Names XML support, controller mapping and learn, SysEx setups, and MMC control surface support.

## Every plug-in format that matters on Linux, in one host

The plug-in story is the reason this application is interesting rather than merely capable. The list covers LADSPA, DSSI, native VST2, VST3, LV2 and CLAP, with an unlimited number of plug-ins per track or bus, plug-in presets, programs and chunk or configuration support including native VST FXB and FXP files, and unlimited audio and MIDI effect send and return inserts per track or bus. CLAP is the newest name on that list, which tells you the project tracks the current Linux plug-in formats rather than stopping at the ones that were standard a decade ago. The optional dependencies in the requirements section confirm the scale of it, with liblilv as a lightweight LV2 host implementation stack and liblo as a lightweight OSC implementation, needed for DSSI GUIs or NSM support. Audio file support is similarly broad, with OGG through libvorbis, MP3 through libmad for playback only, WAV, FLAC, AIFF and many more through libsndfile, and standard MIDI files in format 0 and 1.

## Time-stretching, pitch shifting and sample rate conversion

The audio processing that separates a real workstation from a simple editor is present and delegated to the right libraries. Audio clip time-stretching is described as WSOLA-like or done via librubberband, and pitch-shifting is via librubberband as well, with sample-rate conversion handled by libsamplerate. Loop-recording and takes sit alongside the mixing and monitoring, and audio and MIDI track export covers mix-down, render, merge and freeze, so a finished session can leave the application in a usable form. Transport and session control are the other Linux-specific area, with JACK transport sync in master or slave mode, JACK session support, and NSM, the Non or New Session Management, support for application-level session handling. MIDI clock and Song Position Pointer support are present too, and configurable PC-keyboard and MIDI controller shortcuts. The practical picture is a host that is designed to sit in a JACK graph alongside other applications rather than to own the sound card outright.

## Building from a tarball with CMake

Installation is a source build, and the instructions are two commands in the extracted source directory.

```bash
    cmake [-DCMAKE_INSTALL_PREFIX=<prefix>] -B build
    cmake --build build [--parallel <Njobs>]
```

Installing is optional and needs root.

```bash
    [sudo] cmake --install build
```

The default installation path is /usr/local, which is the usual reason the install step needs root. The mandatory build and runtime dependencies are Qt, JACK, ALSA, libsndfile and LADSPA, and everything else is opted in at build time, which is the CMake switch that decides whether libvorbis, libmad, libsamplerate, librubberband, liblo, DSSI, the VST SDK, LV2 with liblilv, or CLAP end up in your binary. That optionality is a genuine design decision rather than an accident, since a build without the VST SDK and without LV2 is a much smaller dependency set, and the VST SDK in particular carries its own licensing terms, which the README points at through a separate README.VST2 file in the repository. The repository also carries debian/ and rpm/ directories, so distribution packaging exists even though the README documents only the source build.

## Configuration lives in one rewritten file

Qtractor holds its settings and configuration state per user in a file at $HOME/.config/rncbc.org/Qtractor.conf, and the documentation is direct about how to treat it. Normally there is no need to edit the file, as it is recreated and rewritten every time Qtractor is run. That is worth knowing before you plan any automation around it, because the file is an output of the application rather than a durable configuration file you can commit and share. The session files are a different matter, since an XML encoded SDI project is a real document you keep. The project also ships a static rendering of the documentation at qtractor.org/doc, a user manual and how-to in both EPUB and PDF, and a SourceForge wiki, so the written documentation is separate from the source tree. The bug section is honest in a way that is worth quoting rather than paraphrasing, saying that there are probably plenty still and that Qtractor may be considered on beta stage already.

## Where Qtractor is the wrong tool

Three limits. The first is the platform. The target is Linux, the audio and MIDI infrastructure is JACK and ALSA, and there is no Windows or macOS build described, so a cross-platform studio has to look elsewhere. The second is the maturity, stated by the project itself with the beta stage remark, and reinforced by the fact that the repository has no GitHub releases, so the code in the default branch is what you get and there is no tagged version to pin. The last push was on 2026-10-20, so it is being worked on, but that is not the same as a stable release with a compatibility promise. The third is that a full-featured workstation in one application means a lot of surface to configure before it behaves the way you want, particularly the plug-in host and the JACK routing, and the project ships its own manual and how-to documents because there is a real amount to learn. The alternative worth naming is a narrower setup, where a dedicated workstation handles recording and mixing while a standalone JACK graph with a patchbay tool such as QjackCtl handles routing and a separate synthesiser runs as a plugin. That is more moving parts, and it is also the arrangement many Linux audio setups already use, so it is worth weighing before committing to a single large application.

## Conclusion

Adopt Qtractor if you are running a Linux home studio on JACK and ALSA and you want a traditional multi-track tape recorder workflow with unlimited tracks, non-destructive editing and a broad plug-in format list in one application. Skip it if you need Windows or macOS, since the target platform is Linux and the audio and MIDI infrastructure is JACK and ALSA, and skip it if you need a maintained binary distribution, because the project ships a source tarball and the README describes the software as maybe considered on beta stage already. Before you build, install the mandatory dependencies, which are Qt, JACK, ALSA, libsndfile and LADSPA, and expect to add liblo and the LV2 stack if you want DSSI GUIs or NSM support.

## FAQ

### What are the mandatory dependencies to build Qtractor?

The Qt framework, the JACK Audio Connection Kit, ALSA for MIDI, libsndfile for reading and writing sampled sound files, and LADSPA. Everything else, including libvorbis, libmad, libsamplerate, librubberband, liblo, DSSI, the VST SDK, LV2 with liblilv and CLAP, is optional and opted in at build time.

### How do I compile and install Qtractor?

Unpack the tarball and run cmake [-DCMAKE_INSTALL_PREFIX=<prefix>] -B build followed by cmake --build build [--parallel <Njobs>] in the extracted source directory. Installation is optional and needs root with [sudo] cmake --install build, and the default installation path is /usr/local.

### Which plug-in formats does Qtractor support?

LADSPA, DSSI, native VST2, VST3, LV2 and CLAP, with unlimited plug-ins per track or bus, presets, programs and chunk support including native VST FXB and FXP files, and unlimited audio and MIDI effect send and return inserts per track or bus.

### Where does Qtractor keep its configuration?

Per user, in $HOME/.config/rncbc.org/Qtractor.conf. The documentation notes there is normally no need to edit it, because it is recreated and rewritten every time Qtractor is run, while sessions are separate XML encoded SDI project files.

## Sources

- [Issues](https://github.com/rncbc/qtractor/issues)
- [License: GPL-2.0](https://github.com/rncbc/qtractor/blob/main/LICENSE)
- [Project website](https://qtractor.org)
- [README](https://github.com/rncbc/qtractor/blob/main/README.md)
- [rncbc/qtractor on GitHub](https://github.com/rncbc/qtractor)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/rncbc-qtractor
