Using a Qtractor MIDI track for both MIDI and audio

Basically Qtractor only does either MIDI or audio. The MIDI tracks are for processing MIDI and the audio tracks for processing audio. But a MIDI track in Qtractor can also post-process the audio coming out of a synth plug-in with FX plug-ins so it’s a bit more than just a MIDI track.

But what about plug-ins that do both audio and MIDI, like the LV2 version of the autotuner application zita-at1? If you put it in an audio track it will happily autotune all the audio but it won’t accept any incoming MIDI to pitch only to the MIDI notes it is being fed. And no way you can get MIDI into a Qtractor audio track. There’s no MIDI insert plug-in or the possibility to somehow expose MIDI IN ports of a plug-in in an audio track to Jack MIDI or ALSA.

But Qtractor does have a built-in Insert plug-in that can be fed audio from an audio bus and since a Qtractor MIDI track does know how to handle audio would it also know how to deal with such an insert? Well, yes it can which allows you to use a plug-in like the LV2 version of zita-at1 inside a MIDI track.

Setting up buses and tracks

You will need at least one bus and two tracks (of course you can use different bus and track names):

  • AutoTuneMix bus, input only and 2 channels
  • AutoTune MIDI track with dedicated audio outputs (this will create an audio bus called AutoTune)
  • AutoTuneMix audio track with the AutoTuneMix as input bus

Alternatively you could also skip the use of dedicated audio outputs and have the MIDI track output to the Master bus. This way you avoid the risk of introducing extra latency and the need to set up extra connections. You do lose the flexibility then to do basic stuff on the outcoming audio like panning or adjusting the gain. Which you can also workaround of course by using additional panning and/or gain plug-ins.

Once you’ve created the bus and the tracks insert the following plug-ins into the AutoTune MIDI track:

  • Insert
  • Any pre-processing effects plug-ins (like a compressor) – optional
  • LV2 version of zita-at1 autotuner
  • Any post-processing effects plug-ins (like a reverb) – optional

Insert them into this specific order. It is also possible to do the post-processing in the AutoTuneMix audio track. Now open the Properties window of the Insert plug-in and then open the Returns window. Connect the mic input of your audio device to the Insert/in ports as shown below.

Qtractor AutoTune Insert
Qtractor AutoTune Insert

Connect the AutoTune bus outputs to the AutoTuneMix inputs:

Qtractor Connections
Qtractor Connections

Create a MIDI clip with notes to autotune

Create a MIDI clip with the notes you would like to get autotuned in the AutoTune MIDI track, put the play-head on the right position and press play. Now incoming audio from the mic input of your audio device should get autotuned to the MIDI notes you entered in the MIDI clip:

Qtractor Mixer with LV2 version of zita-at1 autotuner
Qtractor Mixer with LV2 version of zita-at1 autotuner

As you can see both MIDI and audio goes through the AT1 autotuner plug-in and the outcoming audio is being fed into the AutoTuneMix track where you can do the rest of your post-processing if you wish.

Using a Qtractor MIDI track for both MIDI and audio

The Infinite Repeat – Cala Del Aceite

Finally got around finishing a new track. And it’s just 65BPM so no four to the floor this time. I posted the demo a while ago, this is more or less a definitive version (definitive is a fluid term in my dictionary). … aceite.ogg

This song is about one of the most beautiful places I know on this
planet, Cala Del Aceite in the most southern part of Spain: … eConil.htm

Tools used:

  • Qtractor for recording and mixing
  • seq24 for sequencing
  • The necessary plugins:
    • drumkv1 to hold the drum samples (drum samples are all from
    • a lot of plugins that are part of Distrho or Carla: Noize Maker, Tal
    • Reverb III, ZynAddSubFX-LV2, Nekobi
    • MDA subsynth
    • FluidSynth DSSI for the Rhodes
    • linuxDSP plugins (EQ500, DYN500, MBC2B on the master bus)
    • Calf Vintage Delay
    • LADSPA comb filter, Fast Lookahead Limiter
    • GxZitaReverb

The background vocals for the choruses are sung by my wife. The ocean
sample is from Freesound:

Cádiz is pretty close to Conil, hence the choice.

Thanks to everyone for making this possible. Especially falkTX and rncbc, couldn’t have done this without your valuable work.

Making promises that I can’t keep
It’s pushing me, pushing me into a deep
State of sadness, state of doubt
A state of awareness I can’t live without

Making mistakes, so hard to bear
It’s driving me, driving me to a point where
I can’t escape, I can’t shy away
From the daemons I refuse to obey

All is forgiven, all is well…

Awaiting the day that I’ll be relieved
From this burden, this burden that has grieved
So many loved ones, so many friends
All the people on which I depend

Stand up, act now, it’s time for a change
Lingering won’t help, help to rearrange
The current imbalance, the current state
Of things so rush now don’t hesitate

All is forgiven, all is well…

Creative Commons License
Cala Del Aceite by The Infinite Repeat is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

The Infinite Repeat – Cala Del Aceite


  • Aanbieding geaccepteerd voor een nieuwe baan. Oftewel, word een Linux beheerder. Dat wil ik al sinds ik in de automatisering zit dus lijkt me een goeie stap.
  • Meissie is weer zwanger. Tweede kiddo wordt verwacht rond 19 februari.
  • Eerste kiddo kan inmiddels lopen en breekt de boel af, zichzelf niet ontziend.
  • Ben druk bezig met een nieuwe remix en ben erachter gekomen dat ondanks de bugs Hydrogen echt een vette sampler is. Pitchen, stretchen, werkt als een speer. Voor deze track gebruik ik ook voor het eerst Zita AT1 en heb bij het maken heb ik de Calf Saturator ontdekt. Heb ook een goeie drums samplepack gevonden. Wordt hopelijk een vette track. Prehear onderaan.
  • Na een korte flirt met Jack2 gebruik ik weer good ol’ Jack1. Ook heb ik de upgrades van libraw1394 en libffado2 teruggedraaid. Systeem is weer stabieler nu.


IR: LV2 convolutiegalm

Uit pure noodzaak geboren volgens de ontwikkelaar. Hij mistte een dergelijke plugin in zijn set-up dus heeft hij er zelf maar een geschreven. En wat voor plug-in. Niet voor niets heeft dit knappe stukje werk, simpelweg IR genaamd, voor aardig wat beroering gezorgd in de Linux audio wereld, heel wat andere mensen zaten te springen om een dergelijke plug-in.

Convolutiegalm komt erop neer dat je een los geluidsbestandje hebt van een galm (een zogenaamde Impulse Response file) en die leg je over een bestaande geluidsbestand heen met als resultaat een nieuw geluidsbestand inclusief de galm die je erop losgelaten hebt. Klinkt magisch en dat is het het ook wel. Daarom is convolutiegalm zo’n mooie tool en wordt het veel gebruikt. Er was al wel de nodige convolutiegalm software beschikbaar (jconvolver, jcgui, brutefir, guitarix) en zelfs ook een plug-in (Freeverb3, echter niet als LADSPA/DSSI/LV2) maar die bieden allemaal niet het gemak en de mogelijkheden die de IR LV2 plug-in biedt, zoals realtime de convolutie aanpassen en een filebrowser om snel je IR bestanden te kunnen doorzoeken. Ook is het een kwalitatief hoogwaardige plug-in, gebaseerd op het binnen de Linux audio gemeenschap veel geroemde werk van Fons Adriaensen (zita-convolver) en Erik de Castro Lopo (libsndfile). Daarnaast is de ontwikkelaar ook degene achter Aqualung, wat mijn favoriete music player is, en de TAP LADSPA plug-ins.


Tom Szilagyi’s IR LV2 plug-in in Qtractor

De plug-in werkt perfect in Ardour en ook wel in Qtractor maar dan moet je niet de GUI van de plug-in afsluiten tijdens een sessie anders crasht Qtractor. Ubuntu Lucid Lynx pakketjes beschikbaar in mijn PPA.

IR: LV2 convolutiegalm

ZIta Resampler, AutoTuner en Reverb

Drie nieuwe pakketten in mijn PPA, Zita-Resampler, Zita-AT1 en Zita-REV1:

  • Zita-Resampler: Libzita-resampler is a C++ library for resampling audio signals. It is designed to be used within a real-time processing context, to be fast, and to provide high-quality sample rate conversion.
  • Zita-AT1: AT1 is an ‘autotuner’, normally used to correct the pitch of a voice singing (slightly) out of tune. Compared to ‘Autotalent’ it provides an improved pitch estimation algorithm, and much cleaner resampling. AT1 does not include formant correction, so it should be used to correct small errors only and not to really transpose a song. The ‘expected’ pitch can be controlled by Midi (via Jack only), or be a fixed set of notes. AT1 can probably be used on some instruments as well, but is primarily designed to cover the vocal range. It’s also usable as a quick and dirty guitar tuner.
  • Zita-REV1: REV1 is a reworked version of the reverb originally developed for Aeolus. Its character is more ‘hall’ than ‘plate’, but it can be used on a wide variety of instruments or voices. It is not a spatialiser – the early reflections are different for the L and R inputs, but do not correspond to any real room. They have been tuned to match left and right sources to some extent.

ZIta Resampler, AutoTuner en Reverb