latency tests as part of set up

Ableton Live has a nifty feature during set up – it simulates a CPU load and then plays an A440 tone while the user adjusts the buffer size until the pops and crackles are gone (or start, depends on which end of the buffer size slider one starts on). The user can also alter the percent CPU load to account for plug-ins etc. and rerun the test to optimize the setup for the particular combination of effects, etc.

Takes a lot of the guesswork out of the set up.

Alas, not on Linux, at least not if you run realtime.

There are several types of crackles

  • those caused by total CPU overload - the CPU just cannot
    do what you need to in time.
  • those caused by bad kernel code paths in the linux kernel
    that interrupt Ardour and othe audio s/w at the wrong time
    and prevent it from meeting deadlines.
  • those caused by Ardour itself spending too much time
    processing audio because of poor/erroneous design
  • those caused by some hardware devices which prevent access
    to the PCI bus at the times required for audio

The test you mention would address only the first case, and for most users, this is rarely the source of their problems. In theory, the second case I described is slowly going away, but it happens often enough that its still a bit of an issue and it has nothing to do with CPU load at all. Ditto for the remaining two classes of crackles.

Finally, if this were to be added, it would be added to JACK and not to Ardour. Ardour doesn’t know about audio hardware - it can be run on systems without any audio interface at all - and its the wrong place to put that kind of test. A test client for JACK that did what you describe while you fiddled with the JACK buffersize might be interesting, but on Linux, for the reasons I’ve mentioned, it really wouldn’t say very much.

BTW, on Windows, the same classes of crackles exist. However, the way the operating system works changes the significance of each kind and the way it interacts with CPU load.

Good point about Jack – I’m still converting from the WinXP/Sonar world to OSX and there definitely are differences!