Implement analog gear workflow

Heyho everyone,

i found a neat way to implement my analog gear into my mixing process.


Several hardware units that want to be part of the mixing process


  • How to get them to “in the box” if i want to finish the mix away from the studio?
  • How to handle delay latency problems?

Setup in the studio:

I just use the “insert” plugin to route out to the hardware an back in.

No solution:

First i thought lets just record the “Insert back in” input but because of delay latency Ardour plays tracks with inserts (D/A + A/D conversion takes time) earlier than the rest. So i would need to manually delay the recorded tracks to fit. (Nothing impossible but nah)

Freezing also doesn’t work because the freezing algorithm doesn’t do hardware inserts. (Would be awesome if we could freeze tracks with hardware inserts someday but i guess this has all kinds of technical challenges)

I could do “stem export” but with track processing enabled this creates stereofiles even if the track is mono (a widely discussed issue here). Though there may be no technical point between a monotrack and a stereotrack with identical information on both channels, i prefer a monofile if it’s a monotrack.
I guess i could do a LUA script that does stemexport-stereofile_to_mono_files-import_monofile-do_the_level_adjustment but that’s also not really what i would want. On top of that, if i have some aux sends on the hardware-insert tracks i would have to copy that to the exports.

Solution for now:

  1. Disconnect the output of the track with the hardware-insert (HW-track)
  2. IF MONO: pan all the way to left
  3. Add a new track (mono or stereo according to the source track) (Freeze-track)
  4. Choose output of the HW_track as input for Freeze-track (if mono then choose out left of HW-track to the mono input of Freeze-track)
  5. Route the output of the Freeze-track to whereever you want it to be in the signalflow

How it works:

As long as you’re in the studio and use the analog gear you enable the “IN” button on the Freeze-tracks and you have all the fancy hardware sounds at your disposal. If you found a setting you like, then enable “record” on the Freezetracks and you can record the HW-track output into the Freezetracks. Once done, disable the “IN” button and you have the recorded tracks of your hardware In-The-Box to go with you.
Aux sends, leveling aso. can be done in the Freezetracks wether with “IN” enabled or while working with the recorded tracks.
When grouping the Freezetracks together you can even live switch between hardware and Freeze-records with enabling or disabling the “IN” buttons with one click. You even can compare different settings with using the “Playlist” feature (setting 1 recorded in playlist 1, setting 2 recorded again in playlist 2 aso.)

From what i tested latency delay is compensated with this method. I get some hickups here and there when i switch “IN” buttons or add another plugin but restarting the playback ususally helps. Sometimes i have to restart the session to get all delay compensation updated properly.

QUESTION: Is there a feature like “measure all latency again!”?

To do:

Maybe i could do a LUA script like:

  • get output routing - disconnect output - check if mono - if mono then pan left - add track - get inputs (mono/stereocheck) - put remebered output routing to new track - get level from old track then set level to 0 - put remembered level to new track - get aux sends from old track then delete them - put aux sends to new track - enable “IN” in new track


I hope this is usefull for some of you. Suggestions and comments welcome. Maybe there is a much easier solution that i’m not aware of or i’m running towards all kinds of technical issues. For NOW it looks good to me though.

Happy rocking everyone!


that is an interesting write-up, even for those of us who do not use external processing units.

Afaics, there is one important caveat to the process you describe. In the processor box the signal is treated as if it were stereo even when the underlying source is a mono track. That means that the output of the left and the right channel may actually differ.

A (somewhat over the top) example would be, you put a ping-pong delay all wet in the processor box. Now, you will get ping-only on one and pong-only on the other channel.
Every stereo capable processing, be it inside or outside of the box, can change the relationship of the two channels. So what you possibly really want is again the summed signal as input for your freeze track.

I will seriously consider this :alien:

Thanks for the reply.

yes, if the processing i do to the track is stereo anyway then a stereo-output is the thing. But i assume that i know what i want to do with my tracks. And when i really want that stereo delay on that track, well then i can’t put a hardware mono compressor afterwards. I can count to 2 if needed but i have real issues to always count back to 1. For me it is: when i route a single compressor (meaning mono) to a mono track, then the result should be mono. An example: I have snare top, snare bottom, snare trigger as mono tracks. Maybe i want a HW compressor on the snare top, easy as that. Then i route all to a snare bus. This should be a mono track as the sources are mono and what if i want another mono compressor to work on that snare bus?! Then i run in all kinds of trouble.
(Yes i know, i can work with aux sends that route to mono busses but stem-exporting them still leads to stereofiles if track/bus processing enabled what in a mixing scenario is what you want. Here i would need to add a freeze-track as described after my snare-top track as well as after my snare bus track to gather the HW-return of the snare top AND the three tracks together mingled through the group comp. I personally have no scenario where the disabling would be the thing i needed. But of course other demands may differ from mine.)

Secondly: Maybe i have to export all tracks for a partner or customer who works on another DAW or just for archive. Then having tons of stereo files where the source signal is only mono is not just a thing of storage space but also for recreating the session from that files later. Yes you could simply load all as stereo and live with it but for me(!) it’s not good style.

So i really needed a workflow to get all my demands handled and the described attempt just does this. Where i have a stereo return from the hardware is of course i have a stereo input set up.