On exporting processed stems (again)

This is a follow-up to this thread by @rombus, which has since been closed. Have there been any updates on this end, that would allow for bulk exporting stems for tracks processed in common busses? Since I started using Ardour I’ve just had to resort to soloing > exporting each track individually, which is painful and time-consuming. Is there any convenient way to automate this process?

As I mention in that thread, I don’t think the solution proposed by @x42 works for me. This was the proposal:

You can do a “normal” export.
In the export dialog, go to the “Channels” Tab. select “Split to mono” and set the channel-count to the number of busses that you want to export. then assign the busses to those channels

But this doesn’t allow exporting separate stems for tracks processed together in one bus, instead requiring individual busses for each stem. This is a huge drawback: having to apply processing separately for each of my (dozen or so?) vocal or instrumental tracks is cumbersome. (Another issue is that, as far as I can tell, it only yields mono stems, and I’d rather not deal with having to combine L/R channels again for mixing.) @rombus’ alternative workaround is a bit too involved for me programming-wise… (It involves writing my own SOX/Python script.)

I believe the problem is that you have not conceptualized the signal flow you are asking for.
The way busses work is that the audio is mixed together to a single signal, then the processing applied to that single signal. What you are asking for is to then separate out the individual components of that signal and export separately. That is just not conceptually possible in a single step, the closest you can do is the original suggestion of muting all tracks except one feeding into a bus, export the bus, then repeat for all the tracks feeding that bus.

Maybe backing up a level and solving a different problem would be more useful. If I understand correctly what you are really trying to solve is applying the same processing settings to multiple tracks. I think recent versions of Ardour make it easier to copy a processor along with all the current settings to a different track, so maybe fine tuning the EQ or whatever processing you want on one track, then replicating it to all the appropriate tracks, would accomplish what you want using the existing stem export mechanism.

That is just not conceptually possible in a single step, the closest you can do is the original suggestion of muting all tracks except one feeding into a bus, export the bus, then repeat for all the tracks feeding that bus.

I see… Is there no way Ardour could automate this process though? I’m just trying to avoid having to manually do it — perhaps Ardour could incorporate some such process of automatically soloing and exporting each track, or a selection of tracks? Since the user-side operation is so mundane, I assume it would not be too involved too incorporate this functionality…

maybe fine tuning the EQ or whatever processing you want on one track, then replicating it to all the appropriate tracks, would accomplish what you want using the existing stem export mechanism.

Yeah, I guess I can change my workflow / mixing practises to adapt to Ardour’s existing stemming functionalities. That said, isn’t it a relatively common practise to use busses to process tracks together? My problem with adjustment is just that I often use plugins that are quite CPU intensive, and my laptop is a budget student one — so running more instances of each processing unit significantly slows down Ardour for me.

See: Lua Scripting

Not 100% certain this can be done there, but it is where I would start.

Seablade

Is there any DAW which does it differently? The signal flow is based on classic mixer/recorder signal flow, we who are also approaching “classic” status probably find it pretty intuitive, but of course the term “intuitive” typically just means “closest to what I have have done in the past” so isn’t necessarily a term that has any meaning in general.

Yes, but I believe the “together” aspect is what you don’t want, you want the tracks processed individually. You don’t say as much, but that is essentially what you are asking for, with a bus the tracks are mixed together, then processed together. You want a track that is not mixed together with the other tracks so you can export it separately.

The idea of stems came from the film soundtrack world, where it was common to have e.g. a dialog bus, a near effects bus, far effects bus, soundtrack bus, etc. and you exported those busses to separate stems so that in final mix you could make sure the dialog, soundtrack, and effects were all balanced against each other. If you are trying to export individual tracks, that is not really the “stem” concept, you just want to export wet-mix tracks (i.e. tracks with processing already applied).

Ah, I see… helpful to know the history of this. I guess I’ve just developed my own routing workflow, didn’t really have other DAWs in mind but assumed that what I’m doing is common practise — my bad on that end. Thanks for the help!

Since I’m a total programming noob (just started picking up basics of python/bash), if I could ask: how would one write a script (Lua or otherwise) that could automate Ardour processes? I just got the Ardour app image, I don’t think I built it from the sourcecode — would I still be able to pass commands to Ardour via some (Lua/Python) script I write? e.g. Is there a commandline Ardour interpreter?

  1. there’s a Lua console under the Window menu in Ardour. You can type Lua directly there
  2. you can write scripts in Lua that do things
  3. you can send Ardour OSC messages from a command line/script outside of Ardour, which can do anything accessible via menus or buttons etc. in the GUI

And for further reading to build on Paul’s response:

https://manual.ardour.org/lua-scripting/

How to write Lua is beyond the scope of this, but how you can use Lua scripts in Ardour is described here.

  Seablade

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.