[ubuntu-studio-users] Anomalous handling of tempo changes in Qtractor

David Sumbler david at aeolia.co.uk
Tue Jan 3 15:48:47 UTC 2017

I have been experimenting with Qtractor, and I find that its handling
of tempo changes in imported midi files is rather odd (to say the
least).  My first realization was that it seems only to allow tempo
changes at the start of a bar.  Well, OK, I can probably live with that
if I start a project by recording new stuff into Qtractor, but it's no
good when importing midi.

The reason I am writing this is not to have a moan about Qtractor, but
because it may be that there is some setting that I need to change
which would correct this behaviour, although I have not managed to find
anything yet using trial and error.

To give one specific example, I have a midi file of a saxophone
quartet.  The original midi file was generated by Lilypond, which is a
music engraving program.  The file was then converted to csv using
midicsv, edited to produce some needed tempo changes, ritardandos etc.,
and then converted back to midi using csvmidi.

The file plays well in timidity, and I was able to generate an
acceptable mp3 from it.

But if I import the file (or one of its 4 tracks) into Qtractor the
tempo map (and therefore the performance) is complete nonsense.

Firstly, even though the tempo map (see below) gives the position as
Qtractor sees it of the tempo change accurate to 1/1000 of a beat, this
is completely pointless if Qtractor insists that the changes all happen
precisely on the first beat of the bar.  Secondly, the bar in question
is not even the correct one in most cases.  And some tempo changes are
ignored altogether where there are several close to each other.

The first 10 lines of the tempo map as shown by Qtractor are these:

Bar  Time     Tempo Marker
  1  1.1.000 104.0 4/4
  2  2.1.000  77.0 4/4
  3  3.1.000 104.0 4/4
  6  6.1.000 109.0 4/4
  7  7.1.000 134.0 4/4
  8  8.1.000 159.0 4/4
  9  9.1.000 189.0 4/4
 10 10.1.000 200.0 4/4
 11 11.1.000 104.0 4/4
 20 20.1.000  84.0 4/4

If Qtractor were reading the files correctly, they should look like

Bar  Time     Tempo Marker
  1  1.1.000 104.0 4/4
  4  4.1.000  95.0 4/4
4  4.2.000  86.0 4/4
  4  4.3.000  77.0 4/4
  5  5.1.000 104.0 4/4
13.1.000  97.0 4/4
 13 13.2.000  90.0 4/4
 13 13.3.000  83.0 4/4
13.4.500 104.0 4/4
 14 14.2.000 109.0 4/4

Even if Qtractor does not like so many tempo changes in one bar, I cannot see why it puts, for instance, the tempo change which should happen at bar 14 at the start of bar 6.  The tempo change Qtractor shows for bar 20 should actually occur in bar 50!

The fact that the tempo map quotes "Time" to 3 decimal places of a beat suggests that Qtractor ought to accept a change at any time.  Perhaps the design of the tempo map window is ahead of the actual capabilities of the program, but I hope that there is something I can alter which will change things.

On the other hand, if I try to add new items in the Tempo Map window, it does seem that Qtractor will only allow 1 marker in a bar.  Furthermore if I specify a position which is not the beginning of the bar, then Qtractor insists on putting it on the first beat of the following bar.

I emphasize that timidity reads this file perfectly satisfactorily and responds to all the tempo changes correctly.

Can anyone make any useful comments or suggestions about this?


More information about the ubuntu-studio-users mailing list