Most efficient way to work on same session, multiple machines?


I have a fairly large Ardour session (~3.5 GB) that I recorded and mixed on one machine, but I want to do some additional mixing on another machine that is connected to a home theater system. My initial mix sounded terrible on the home theater system, so I want to mix it further to try and make it sound better on this setup. Do I have to copy the entire session back and forth each time, or can I just copy it once, then move a smaller number of snapshot or markup files back and forth to save the state of the faders and eq? I also want to keep things orderly and not do anything to screw up the main session by copying or overwriting the original. Any advice (or workflow best practices, especially) will be greatly appreciated.


Are you able to just move the 1st machine to where the 2nd machine is, and just plug in the home theater system to that?

If you can get the entirety of your project files, etc., working from an external drive, I’m pretty sure you could just work with the project on the 1st machine, then eject it, plug it into the 2nd machine and continue editing there (-assuming the same version of Ardour is on the 2nd machine as well). But if you have any plugins installed on the 1st machine (-not to mention any saved plugin presets, and probably a bunch of other stuff I’m not considering(?)), you will need to duplicate that information on the 2nd machine to have consistency between the two machines.

My gut response would be “use snapshots”, but I never tried to move only snapshot files between different machines. I’d just try to see if it works.

I have successfully moved projects between different machines, but then moving the entire session each time. Using snapshots, things have behaved well.

And, this:

Thanks. They are both desktop machines, so not so easy to move around. Seems like I’ll need to duplicate the session on both machines.

Thanks. Using snapshots makes sense to me, but I think they will still need all the underlying sources. I’m thinking it might make sense to ‘Save As’ a new session, then clean up unused sources in the new session. That way I can move the new session back and forth but only copy stuff that’s needed by the current snapshot.

I don’t understand your idea to save as new session. Wouldn’t that duplicate files for each session?

Snapshots all share the underlying sources, so that 1 sound file can be used for N snapshots. Different snaphsots can have different numbers of tracks and regions, and of course different mixes.

I would try if duplicating the session and then creating snapshots as needed and moving only the snapshot files between machines achieves what you want.

Do I have to copy the entire session back and forth each time, or can I just copy it once, then move a smaller number of snapshot or markup files back and forth to save the state of the faders and eq?

I personally have my two computers connected with Syncthing. The initial transfer will be a bit slow for copying 3.5 GiB, after that it will constantly keep the two project in sync in both machines.

I also want to keep things orderly and not do anything to screw up the main session by copying or overwriting the original.

It depends on what changes you will be making. You talked about mixing, so you can use different Mixer Scenes so that you can have different mixes for different purposes without losing one or the other - the main ones on your other machine and alternative mixes for your home theater system.

You can also choose which files to synchronize and which ones to ignore, if that serves you in any way, using an .stignore file.

Additionally, this system serves as a backup system for me. I have my projects up-to-date in two places.

1 Like

When I want to move a project to a new computer I use the archive feature. Create an archive, tell it to not include unused sources and compress the audio using FLAC 24 bit. If you use projects based off the same archive on both machines you should be able to just transfer the snapshot files between machines no problem.

I use the same method to go get a session onto my laptop to go and record at different locations, but I don’t move the snapshots around, I tend to edit the recordings on my laptop and import the stems into my main project.

My actual workflow tip for your situation would be to learn your mixing environment. Export your mixes, then go listen on other systems taking notes. Then go back and try and make the changes from your original mix position, you’ll probably start hearing the problems that you hear on other systems from your mix position.


Some great suggestions, thanks. My idea of duplicating the session made no sense, as some were right to point out - I was barking up the wrong tree there. Was trying to keep the file transfer sizes to minimum but now that I’ve got a wired network connection to the other computer it’s not so much of an issue.

Thanks for your ideas. Syncing seems like a good approach, as well as using the archive feature to reduce the size of the transfer. I haven’t used mixer scenes but would like to dig into that, too.

Just amazing how different a given mix will sound on different systems/speakers/headphones/rooms.

After all the audio files are copied over the first time, synchronizing should be very fast. Ardour is a non-destructive editor, meaning that the audio files are never changed, the application just keeps a file with all edit points, gain changes, and plugin parameters used for processing.
I think all of that information is stored in the .ardour project file, so after first copying over the project you should only see updates synchronized to the .ardour file (I think, may need to verify that).
That is assuming of course that you do not add new audio to the project after copying over, obviously any newly recorded audio files would have to be transferred to keep the projects in sync or you would get the “source file not found” error message.


I have a PC for doing recordings of my own stuff as well as the mixing work, and a laptop for “mobile” recording (in our rehearsal room or in the singer’s apartment). I run the same Linux distribution on both machines (to have exactly the same version of ardour, plugins, etc.) and any 3rd party files (e.g. DrumGizmo drumkits) need to be installed in the same folders on both.

For “synchronizing” the Ardour (and MusE) workspaces between the two machines, I just wrote some shell scripts that use the “rsync” command line tool to sync the whole workspace either from or to the respective other machine.

For me, it’s super simple, because I use similar scripts to do my user data backups to external USB drives on a regular basis. On the other hand, if I ever would call the wrong script (to sync into the wrong direction), I would of course “revert” the changes I made since the last sync. Also, if you make changes on both machines, there’s no way that “rsync” can merge those changes together again. So one side will have to be overwritten eventually…

Hope that helps…


Thanks again for the replies. Just wanted to provide an update and some observations.

As some have suggested, it is only necessary to copy the entire session once to the second machine. After that, as long as no new material is added on the second machine (mixing/eq only), saving as a new session snapshot and copying only the new snapshot files (.ardour, .history) back to the first machine restores the mixer/eq settings that were changed on machine 2.

The above applies if you are working with audio tracks only.

However, if your session has MIDI tracks, saving a new session snapshot will create new midi files in /interchange/session_name/midifiles/ on the second machine. Opening the new snapshot from machine 2 on machine 1 results in the following:


This happens even if I didn’t touch the MIDI track before saving the new session snapshot. I thought at first it was because I adjusted the MIDI track volume fader, but I tried again with a new snapshot without changing it and Ardour still created another MIDI file.

In this test case I only had one MIDI track with a single region. With a different session having two MIDI tracks, each with multiple regions, it created a slew of new MIDI files.


(UPDATE: Saving a new session snapshot on the first machine also creates a new midi file.)

Thanks for pointing that out. I do not often work with MIDI in Ardour, so I forget that the behavior is somewhat different than audio.

MIDI files should be very small in comparison to audio files, so that seems like a good use for rsync. If you make sure that the clock on both machines are correct then using file timestamps to determine synchronization should be OK. If there is a possibility that the clock on one or both machines could be inaccurate rsync has a mode which will hash each file and compare the file hash to see if it should be copied in one direction or the other, but reading the entire file contents is obviously much slower than just checking the metadata for files above a trivial size.
Since both machines are connected to your network I assume you should be able to use NTP to keep the clock synchronized so you can use the quicker timestamp only method.

I only recently started taking advantage of Ardour’s MIDI capabilities myself after reading the release notes for Ardour8. Me likey!

Yes, automating the process with a script and rsync sounds like the way to go if I’m going to be doing this on a regular basis. Thanks for the suggestion.


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