You are here

TYOQA is Now!

On the verge of the summer solstice (read astronomical years middle point) and after years in the making (read procrastination), track automation or dynamic curves, as some like to call, is finally a reality, tricky though but real nevertheless. The very first milestone has been bumped over already and is publicly available for the brave to experiment. All in the latest & greatest subversion trunk, of course. For the version-tag-savvy, this is all about Qtractor :)

Also worth of note is that I'm pretty confident that this is no feint, and the brave may well look at this bleeding-edge milestone without much pain, if any at all. They can even enjoy a few fixes in the process, as a bonus. No strings attached :)

As always, the gory details will be revealed to those who jump in early and live to tell the experience ;)


[UPDATE.1] TYOQA News: all qtractor automation suff is now fully undo/redo-able. checkout svn trunk rev.2243+ (aka. qtractor

[UPDATE.2] TYOQA News: MIDI track/channel volume and panning automation has been finally fixed and promoted to fully functional status; enjoy.

[UPDATE.3] TYOQA News: finally, automation's working on audio track export (was fubar), on svn trunk (qtractor


AutoStatic's picture

This is some very good stuff going on!

I've set up a daily build PPA for Ubuntu 10.04 (Lucid Lynx). If there are people interesting in daily builds for Maverick and Natty I could look into that too.

And the available packages can always be found here:



yPhil's picture

Rui, is there a way to start qtractor with the last opened song without specifying its name ?

rncbc's picture

is there a way to start qtractor with the last opened song without specifying its name ?
nope. once started you can just press Alt+F, R, 1


yPhil's picture

Yo guys, check this out, it's made entirely in Qtractor, in two days (more like one day and one night), and I loved every minute of it.

rncbc's picture


you say that you made all the 5 songs in just 2 days, even less? even if it would be just one song, i'd say you're some kind of a creative phenomenon :) i wonder how much of the many qtractor idiosyncrasies got in the way ;)

would be nice of you to complement with some comments, specially re. your setup, gear, workflow, whatever you might think it's fine to share with us, to whom may still stand in awe :)

cheers && thanks, many, many thanks \o/

yPhil's picture

Hey, only the linked song was made in this timespan, are you crazy no, heck, a song in two days is already a good pace for me ;) Thank you very much for the comments though ; I'll try to comply with your information request :

"Takaddum" is 18 tracks : 10 MIDI tracks and 8 audio ones (using flac containers) ;

  • One 3 channels bus to sidechain-compress the 303-style bass (nekobee) with the kick (a free 808 Sound font played by fluidsynth) using SC3
  • the other Beat elements are made with Rudolf 556
  • A Hexter synth is doubling the bass in the subs
  • The organ is a Calf organ
  • The Lead synth is a Calf Monosynth
  • The guitar is a g10 double coil Ibanez in a focusrite preamp
  • The microphone is a chinese Neumann knockoff in a focusrite preamp
  • The girl asking "what" ? in the background is called Fatima-Zohra
  • Everybody is EQ'd with LADSPA C* 10 bands Equalizer from CAPS
  • Everybody is comp'd with Calf compressor DSSI
  • I did not use any automation curves, but only because I did not seem to need it. I have other current songs that make a heavy+happy use of them
  • There is a LADSPA "Fast lookahead limiter" on the master out bus
  • The final bounce, a "normalize" and a quick and dirty fade out are made in Audacity


The Qtractor workflow very much works for me. At times it felt like some of the real studio session I had, fiddling with the 3/4 patch cables behind the SSL desk and trying not to become crazy figuring out what goes where, but at the end, knowing exactly what's what.
I'm using the config file mentioned on this page, that by the way really got me started. I love to navigate the timeline with the keyboard, using "h" and ";" I love the unified no-frills plugin interface that remembers everything, and generally, I love the way Qtractor leaves everything open. You can do very silly, stupid, dangerous things with it. Now that's cool.
I also found very comforting that I could ask stupid RTFM/Use Your Brain/Try things out questions to you on the forum, thank you very much :)
I got some sync issues between tracks, well, in fact between my fluidsynth tracks and the steady rest of the mix, but then again I have latency problems, read on :

This setup is a Intel(R) Core(TM)2 CPU 6300 @ 1.86GHz with a mere 2Gb of RAM.
The soundcard used is a Novation X-Station USB 1.0 MIDI & Audio
The kernel is a #1 SMP PREEMPT RT Sun Jun 13 13:38:14 UTC 2010 i686 i686 i386 GNU/Linux

cat /etc/security/limits.conf
* - rtprio 0
* - nice 0
@audio - rtprio 80
@audio - memlock unlimited
#@audio - nice -10

Qjackctl is currently configured like so :

  • Priority 65
  • Frames 512
  • Sample Rate 48000
  • Periods 3

I have a little script that manages the "studio" on a per-song basis : First kill everybody, qtractor, jackd, qjackctl, whatever, everything. then launch Qjackctl, then sleep 1, then whatever I need for the current song, this ams, sleep 1, that yoshimi, oh and qmidinet, and then qtractor. but really, basically qjackctl & qtractor and the current .qtr file as $2. With various option switches to launch either the latest SVN qtractor or the current stable Mandriva one. Saves me quite some time when fiddling with jack setting via qjackctl, not having to re-lauch everything, doing the same gestures over and over, we all hate that.

Everything is ready, the MIDI especially, in both the control surface part of the X-Station and the keyboard, that triggers whatever MIDI track is currently selected, and from day one. And now I can start/stop/mute/solo/ recordings from my kitchen table or wherever I'm lying with the guitars with headphones and jacks wired everywhere, with my phone and that both blows my mind and saves my cables ;

I could not get a situation where I can record audio without noticeable latency, so I had to hard-monitor, say my guitar, and then manually re-position the whole track in the timeline, feeling a little dirty each time I do that. So I would say that there are more latency factors than those computed by jack (I know 8ms, come on this is not 8ms ! ;) ) . Please somebody tell me that this PB will be gone once I'll throw 2 more Gig of RAM at it.

Qtractor is very stable. I use the and if the RAM level stays under half total, then it does what it's told to do.
I can't wait to put the whole GNU/Linux paradigm of many interconnected pieces to work together, and spawn racks and racks of hosted wonders in a sonic swirl of sub-harmonized chaos, but for now the latency is unbearable if I attempt to route anything from and/or to Qtractor ; I'm happy I can bounce to Audacity as it is without xruns.

Boy, this is a very exciting time for me. For decades I used windows for music and GNU/Linux for everything else. Now you can install and setup a whole complete studio in a day. That can only bring better music :) Thank you Rui, and everybody in the GNU/Linux Audio galaxy.

AutoStatic's picture

Hello xaccrocheur!

Great track!! Like the overall feel and the bass sounds! And you got your head around the sidechaining thing, cool ;)
Regarding the latency issues, you can't go lower than 512 frames per period? With your current settings system latency is 32ms but looking at your system specs you should be able to go lower than that, 128 frames should be feasible.



yPhil's picture

Hey Jeremy thanks! Yes, I kind of struggled to get the sidechain working *inside* qtractor, not using external routing ; Without your video it would have been harder; Thank you very much!!

About the latency, well I'd really like to tell you that 128 frames can float my boat here ; I do get better numbers when I use LXDE instead of KDE but like I said, even if jack tells me I'm under 20ms, I still can really hear latency, witch is weird, as 16ms really should be un-noticeable...?

Could it be my version of Jack ? I think it is. I'm using version 1.9.6... I cannot get qtractor to enable all those "latency" things at build-time, how does that work exactly ? Qtractor computes the latency based on the jack settings, and offsets the audio tracks accordingly ? Or is there more magic involved ?

I'm I right to try to stick to 48000Hz just because it's written on my soundcard box ? It makes no differences in my tests... But I read somewhere that snd_usb_audio does not even know 48000.. Could I stay in 48000 all the way to the final .ogg file ? I guess I should try..

Thank you very much for your comments and help


rncbc's picture

Qtractor computes the latency based on the jack settings, and offsets the audio tracks accordingly ?
almost. it's not quite correct it is based on jack settings but on state information jack gathers from chained/connected ports.

depending on the jack version and flavor, this latency information might not be dynamically available, so that a minimum of one period of latency is always applied.

and yes, the audio recording latency compensation work in qtractor is just about offseting recorded audio clips accordingly. you can always tweak by hand the clip's offset if it doesn't get it perfect ootb ;)


AutoStatic's picture

Hello Philippe,

16ms is a bit on the edge, some might notice it, some don't. If I really focus I notice it, especially when I'm playing guitar through Guitarix/Rakarrack so I prefer having a (system) latency below 10ms ( for example 48Khz, 128 frames and a buffer of 3) when doing real-time stuff. I don't think it's related to the version of JACK you're using, there shouldn't be any difference. And you're right to stick with 48Khz. USB sound devices prefer system latencies which are a round number ( and you can't achieve that with a sample rate like 44.1Khz, you can with 48Khz though: number of frames/sample rate*number of periods=system latency
So 48Khz, 128 and a buffer of 3 would yield: 128/48000*3=0.008, so a nice round number. And the snd-usb-audio kernel module most definitely supports 48Khz.



rncbc's picture

aha, even if it would be just one song... ;)

btw. i could only listen to it on firefox. chromium (webkit) doesn't seem to play well with the page/link you posted. i think you'd like to know.


P.S. many thanks for your comments re. setup, gear and workflow, really appreciated.

yPhil's picture

Well here this morning it works here in chromium-browser-stable-12.0.742.112, but ogg support is shaky nowadays.

This site is a small CMS that I put together to be able to make my (and everybody's) music available ; What I linked was the "beta" version (it's been in beta for more than a year, h'chouma diali) that only uses html5 audio tags.

What you experienced happens to me on a regular basic, be it with firefox, or chrome (each time I try it on opera it works but..) Generally when that happens, the broswer refuses to play any html5-based audio, so I don't worry too much, since it's a *huge* problem it's not mine only ;) Thank you for the heads-up though, I was going to release the CMS, but I think I'll wait some more.

Add new comment