Ardour - rendering without blocking the soundcard

Sometimes when I do feature film audio mixes in Ardour, the session get really big, and long and one thing I’d like to explore is:

How can I render my session without making my audio interface unavailable (for an hour or more in this case)?

One idea is to create a stereo track, and set it to record from Master bus output - and then just plainly “record” the session’s mix in realtime. The downside - it may take longer, and - more worrying - I’m not sure what happens if JACK gets xruns. Do they capture on my final mix? I used to do this when I had problems with Ardour crashing while doing a standard export, and I didn’t experience xruns in practice. I ussualy set a high JACK buffer (2048 samples) to ensure glitchess operation.

You also need to then combine the captured two WAV files into one. Also you can pause and resume the rendering, but you’ll need to “consolidate” the range of your session after that to get the whole thing in a pair of WAV files (1 for each channel).

I thought about using ALSA backend to leave JACK running with my external interface (using the internal soundcard as a way to keep Ardour away from my JACK server) but that seems to only work for 44.1 and my sessions are all in 48 kHz.

It’d be cool in Ardour could run on a “Dummy” backend that uses no soundcard but can render a session.

What do you think?

Debug builds of Ardour from ardour.org have a Dummy backend already. It is not included in the release builds, and probably most Linux distributions do not include it either. So either get a debug build from the nightly.ardour.org site or build it yourself.

Actually, since 5.5.0 we do include the “Dummy” backend with optimized builds (because the bundled commandline tools depend on it), but it is hidden in optimized builds.

Assuming you have Ardour from ardour.org, edit ~/.config/ardour5/config and change <Option name=“hide-dummy-backend” value=“0”/> (default value=“1” aka true, aka hidden).

Interesting. I changed the config, and there is a Dummy backend!

The problem with session sampling rate persists though - Dummy only accepts 44.1 (the combo box is disabled, I can’t change it). And Ardour warned about session/backend sampling rate mismatch when I wanted to start the backend.

I’m running Ardour 5.5.72 (optimized)
“The Plateaux of Mirror”
(rev 5.5-72-ge97404c)
Intel 64-bit

I managed to fix this!

I’ve inspected the config file you mentioned, Robin, and I found instances of “44100”

There were two lines with a Dummy backed config, I changed them both.

Now - it seems the important bit is - I had to close Ardour before modifying the file, change it and then start Ardour again for the changes to take effect. Otherwise, Ardour would overwrite the file when I closed it.

Now it works! I can render sessions without blocking my audio interface, and without risking droputs! Sweet!

There’s also a commandline to export sessions:
/opt/Ardour-5.12.0/bin/ardour5-export --help

It doesn’t have a lot of options, export is the session-range, default to 16bit wav. – but that’s what one needs 99% of the time. It also needs no soundcard and is using the dummy backend under the hood.

Thanks! I was looking for this thing too, but I couldn’t find it in my Ardour 5.12 installation for some reason.

It’s strange that teh Dummy doesn’t allow changing the smapling rate in the UI. Is there a reason for this?

Also: I can only change in the the Ardour config faile, once I saved a session using the Dummy backend - looks like only the currently used one is saved there, so there seems to be no way to just mkae the Dummy always use 48 kHz on my system.

I’ll have to fiddle with the config file every time I want to use it.

It’s a bug in 5.12, which I believe was already fixed in git.

1 Like