[Ardour-Users] changes to note length computation in ardour3

Paul Davis paul at linuxaudiosystems.com
Mon Dec 12 06:41:29 PST 2011

i pushed a change this morning that although not very big in terms of
code lines is quite impactful, at least on those of you who use
multiple time signatures and/or work in non-common (4/4) time.

ardour used to take meter into account when computing how long (in
wallclock time and or audio samples) a note of N beats was. there is
some paltry justification for this, but it is not very strong and does
not follow the conventions of just about every other DAW. the result
was very strange behaviour, where a note of a given number of beats
would actually vary in wallclock duration depending on the meter.

after a *lot* of discussion on IRC, i've changed ardour3 so that the
number of samples in 1 beat is determined solely by tempo, and meter
is just a way to divide time. this stops the variation in wallclock
duration of a given N beats. if the tempo is 120 bpm and the note is 1
beat long, it lasts 0.5 seconds, everywhere, no matter what the meter
is. If its 2 beats long, it lasts 1 second. etc. etc.

meanwhile, the "grid" is still drawn as it was before, which doesn't
show "beats" but the metric subdivisions given by the meter. this too
is in line with other DAWs/MIDI sequencers.

if you work only in 4/4, you will not notice this change at all.

if you work in other meters, and particularly if you use multiple
meters, this change will effectively "break" your MIDI data. its not
actually breaking it at all - the behaviour now is correct - but if
you wrestled with things to make them work under the old scheme, they
will be wrong under this new, correct scheme. i apologize for the
change, especially after we've already released a beta, but this is a
very fundamental issue that we were just doing wrong. i don't see a
way to fix it and retain the behaviour of existing multi/non-common
meter using sessions.

an additional note: at present, Ardour also follows most (all?) other
DAWs by defining 1 beat as a quarter note. However, our code is
already set up to allow this to be varied, and in the future it will
be possible to specify the reference note type for a tempo marker. For
now, 120bpm continues to mean 120 quarter notes per minute, as in
other DAWs. If there is any popular demand for it, i'll also add an
option to create a combined tempo/meter marker pair whenever a new
meter is inserted, just for all the prog rockers out there ;) <bill
bruford joke here>


More information about the Ardour-Users mailing list