You are here

The Fainty Diva

Howdy! Vacation time is now gone and the rentrée is upon us, at least on this hemisphere side of the globe ;) Silly season, beloved August, summertime it is. And before it's too late, I'm proud to announce that a new alpha has summoned to the challenge:

Qtractor 0.2.1 (fainty diva) has been released!

Release highlights:

  • Gradient eye-candy (NEW)
  • DSSI multi-instance plug-in issue fixed
  • Clip waveform/piano-roll rendered while recording (NEW)
  • MIDI pitch-bend, omni-channel filtering and recording fixes
  • Play-head positioning in the thumb-view (NEW)
  • And many few more (see change-log below:)

For the clueless:

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, distribute under the terms of the GNU General Public License (GPL) version 2 or later.

Website:

http://qtractor.sourceforge.net

Project page:

http://sourceforge.net/projects/qtractor

Download:

http://downloads.sourceforge.net/qtractor/qtractor-0.2.1.tar.gz

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, delete, split)
  • 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 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.
  • MIDI clip editor (piano roll).
  • MIDI instrument definitions (a-la Cakewalk(tm))
  • JACK transport sync master.
  • MMC control surface enabled.
  • Configurable keyboard shortcuts.

Requirements:

Mandatory: libqt4, libjack, libasound, libsndfile, LADSPA. Optional: libvorbis, libmad, libsamplerate, librubberband, liblo, DSSI, VST-SDK

Disclaimer:

Qtractor is still in some alpha stage of development, although already functional. It surely has a plenty of lurking bugs. It also lacks some features that some might find critical in the application field. All is not lost, as the following are among the ones planned to be worked on in the times to come (not in any particular order):

  • Automation and MIDI controller mapping.
  • Session/project templates.
  • Punch-in/out and loop recording (takes).
  • Audio clip cross-fading.
  • Audio effect send/return aux. inserts.
  • Clip locking, muting, normalize (gain).
  • LV2 plug-in support.
  • JACK MIDI support.
  • Tempo and key signature map.
  • Paste-repeat command.
  • MIDI SysEx manager.
  • MIDI event list editor.
  • MIDI editor (piano roll) draw mode.
  • MIDI groove/swing quantize.
  • OSC interface.
  • Scripting.
  • Etc. etc.

Change-log:

  • Gradient eye-candy now featured for clips, tracks and mixer strips widget backgrounds, disabled on configure time (--disable-gradient).
  • MIDI pitch-bend/wheel events are now captured/recorded properly; in fact, there was this ancient bug, now squashed, as all MIDI clips weren't being stored at all if there weren't a single note event captured.
  • MIDI channel translation is finally in effect on monitored tracks, specially the ones set in omni-channel input mode.
  • MIDI open files dialog gets a few more file filter types now.
  • Playhead position is now shown, updated and can be also set on the main toolbar session thumb-view (shift-click to set the playhead).
  • The floating selection, as shown for a clipboard pasting operation, has been corrected regarding time scale (horizontal zoom) changes, while in the main track-view. Also fixed final position snapping precision (spotted in bug #2055846).
  • Current tempo and snap-per-beat setting now survive session cycling.
  • DSSI plugins implementing run_multiple_synths (eg. fluidsynth-dssi) are now formally supported according to the DSSI spec (hopefully); note that previously one could only have one DSSI plugin instance loaded in session in any given time, otherwise a sudden crash was in sure demand when either plugin got activated (fixes bug #2048198).
  • Audio plugin outputs now overrides each other when the number of output ports does not match the number of mix-down audio channels and thus fixing a nasty crash bug in the process.
  • All custom font sizes are now set relative to default global font.
  • Changing loop points by dragging on the time rulers is now mapped as undoable/redoable commands as it ought to be ever since.
  • Drop-span option (View/Options.../Drop multiple audio files into the same track) now takes into effect the current session snap-per-beat setting when concatenating multiple audio clips.
  • All plugins get their default bank/program selected on insertion.
  • Make record armed tracks muted for playback, a needed regression to let both audio and MIDI tracks behave consistently regarding input monitor switching through output.
  • Fixed a pretty old and shameless bug regarding MIDI clip recording, in which cases the queue start time offset was not taken into account, with captured events being recorded with erratic long delays.
  • Almost complete refactoring of the clumsy audio peak file classes, possibly making it even clumsier but straight nevertheless, with the noble and final aim to build it in-flight and draw the waveforms while recording is rolling.
  • Recording clips get their initial name labels drawn while fade-in/out handles are dropped as found pretty useless while recording.
  • Escape key now closes connections and mixer widgets as found usual.

Cheers && Enjoy.

Comments

Hi there, this software seems very cool !

Do you plan to port to other platforms or, better, make it platform indipendent ?

I wanna suggest you to take a look at those other open projects, that may inspire...

1 - Traverso: cross platform multitrack audio recording and editing suite, with an innovative and easy to master User Interface. QT based too, is yet actively mantained: http://traverso-daw.org/

2 - Saya VE: is a project which aims to become a user-friendly, easily-installable cross-platform Video Editor. Very interesting documents in its "Volunteering" web section: http://sayavideoeditor.sourceforge.net/

3 - N.A.S.PRO: a free, powerful, reusable, modular, real-time capable, thread-safe, scalable, standard-agnostic, cross-platform framework for digital signal processing, especially focused on sound processing. Its author (Stefano) seems very open minded and skilled about multiplatforming. http://naspro.atheme.org/

Hope that helps or at least inspires !!!

rncbc's picture

Thanks for asking.

I'm afraid there's no current short-term plans to make it cross-platform. Sorry to tell :)

Qtractor is currently a Linux-only application mostly due to its ALSA-Sequencer hard-dependency for MIDI. However, as JACK-MIDI evolves in favorable direction and I manage to find the time and the will to support it in (it's planned nevertheless), I guess there's a chance Qtractor would be a multi-platform application.

Cheers.

I finally got around to installing qt4 just so I could try this release out, and I was very surprised at the stability and features it presented. I think maybe still calling it "alpha" software is a little too modest. ;)

What would make this perfect for presenting to creative users who may not be comfortable with juggling a large number of audio applications would be if it could start a jack server if there isn't one running at startup - since it already has a lot of Qjackctl functionality built in, this would make it stand alone very nicely. This really would be helpful for at least one person I know who I'll definitely be introducing this software to. If it could peek at the Qjackctl configuration (if it exists) then jack could be set up through Qjackctl, but managed more simply with Qtractor... just a thought.

Thank you again for the excellent work!

rncbc's picture

thanks.

yeah, qtractor already has this autostart feature, so that it will start jackd if it isn't already. however you need to setup this feature properly. it all boils down to this .jackdrc sfile tanding in your home directory.

if you stand to try this bleeding-edge hint, you can try editing this file (~/.jackdrc) and put the following line into it:

/path/to/qjackctl --start

please, make special note of the above absolute path to your qjackctl instance. it is really a must.

this way, you'll have kind of desktop seamless integration and jackd will get automagically started with qjackctl settings whenever you start qtractor.

cheers and enjoy

Add new comment