running jack/alsa from within ardour

Hi, I’ve been nesting with ardour 4.0.0 a lot over the last couple of days and have a few questions about how best to configure things.

I used to run jack from qjackctl and then launch ardour. Since ardour 4 allows you to run without jack with it talking to alsa by itself, I’ve been trying out the ardour’s own audio/midi setup. As it is a workflow that I’ve never used in the past, and a few things have changed in this release the following queries were raised and I couldn’t easily find answers online.

  1. Is there any advantage/disadvantage to be had by using alsa directly when using ardour stand alone, or is it that this was made possible, but is only really intended for use on e.g. windows and possibly Mac?

  2. When starting jack from ardour, is there any way to see stats such as how many xruns have occurred, from within ardour itself?

  3. How do I stop an instance of jack that ardour started, e.g. if I want to change settings like buffer size, is this possible from within ardour?

Sorry if these are simple questions, I couldn’t find answers in the documentation.

  1. There are really only two actual benefits of using the ALSA backend. First, you can measure MIDI latency - may not matter for you. Second, theoretically you can manage to use the lowest latency settings under slightly higher load, though the difference is really marginal.

  2. There is no such display. Ardour can create xrun markers every time one happens.

  3. If you are running a non-buggy version of JACK2, or JACK1, then JACK will exit when Ardour quits, or when the last other JACK client quits. If you are running a buggy version of JACK2 that does not obey the -T flag, then killall jackd from the command line is a likely solution.

But you do not need to stop JACK to change the buffer size, that can be done (and has been doable for a long time) without stopping JACK. It is just a request to the JACK server.

In general, if you’re actually going to use JACK (e.g. for inter-application routing) then I would personally recommend continuing to use qjackctl.

Thanks for your reply.

All makes sense. I think I’ve got the hang of the changes. It seems more stable and responsive than Ardour 3, so I’m going to try and use Ardour 4 on a tracking session on Friday.

I’ve been playing around with this too. I’ve noticed that when I use the internal ALSA engine I can’t run Hydrogen or other external ALSA applications. Is this expected? If I want to use other audio outputs external to Ardour I have to use the Jack engine?

the ALSA backend is like JACK in the sense that it takes exclusive access to the audio interface. This was originally one of the primary motivations for JACK itself. So “yes” is the answer to your question.

The main reason for this: exclusive access can guarantee that no other application changes the device configuration (eg. samplerate, buffersize or sample-format).

Thanks folks. Just switched to Jack and all nice.