How do I migrate Ardour-home folder and not lose audio?

I have done some distrohopping lately and while doing so, I exported my “Ardour-projects”-folder from ~/ to an external HDD - now, when I migrate the stuff back to a new distro with a new Ardour install, it error-messages me about not being able to find the source files in the path. Even when I specify to go look in the same-name directories.

I have had this experience both migrating from Ardour on Linux to Ardour on WIndows and between Linux Machines.

Is there some obvious *NIX-explanation about directories-trees/systems and placement that I am overlooking, maybe?

There are three different cases, two out of the three should be no problem.

  • Record new audio: audio files are in the ardour project directory, so as long as you copied all the sub-directories you will have all of the audio files.
  • Import existing audio and select the “copy files to session” checkbox: audio files are copied to the ardour project directory, so same as first case regarding copying
  • Import existing audio, but do not select the “copy files to session” checkbox: audio files are left in the original location, not copied into the project directory.

See this section of the manual:
Manual Coying vs. Linking page

Thanks!

But my problem is that somehow not even things like speaks recorded
directly into the project can be found at launch…

I get this message

You mentioned migrating between machines. Check the file permissions, possibly the user ID was not the same between machines, so your new user account does not have permission to read the existing files.
What you see as a user name, e.g. “fritjof” in the directory path above, is mapped by Linux internally to a number like 501, or 1000, or some other integer. If the user identifier number on the old machine and new machine do not match, depending on how the files were copied over the read and write permissions might be tied to the numeric value of the old machine, but not matching the user ID number on the new machine, even if the user names are the same.

Cool! Thanks for that tip! :slight_smile:

I never knew that could be an issue, but it makes sense that it might
be. How do I change it?

[Edit: @ccaudle did a much better job than me in being helpful. Just skip my post and go read his below :slightly_smiling_face:]

If it is a file ownership issue because your uid changed, and, ssuming fritjof is your username, something like

sudo chown -Rv fritjof "/home/fritjof/Ardour projektfil-mappe/"

In a terminal would probably do the trick (depending on your distro).

You can check if it is the case by listing the detail of said directory with ls -l “/home/fritjof/Ardour projektfil-mappe/”

(Standard disclaimer: Please make sure you understand whatever command you run in a terminal, and do not blindly copy-paste stuff a stranger gives you on internet, especially since i’m on my phone and i could easily misstype one of those :wink:)

[edit: I just realized it might not be obvious to every reader, the instructions below have an implicit step of open a terminal, and run the described commands in the console command line interface. You can do most of the same steps in various graphical file browser tools, but the specifics differ between tools. The following should work in any linux command line.]

To check, change into a directory, for example /home/fritjof/Ardour projektfil-mappe from your example screenshot above, and run the command

ls -lh

If the user ID’s already match, you should see your user name as owner. For example, the user name is “chris” on my personal workstation, so when I run that command in my projects directory I see entries like this:

drwxrwxr-x. 4 chris chris 4.0K Apr 18  2019 DancingRobot
drwxrwxr-x. 2 chris chris   60 Dec 23  2016 ExampleArdourSessions
drwxr-xr-x. 9 chris chris 4.0K Feb 25  2022 MIDI_Test-2022-02-25-09-43-15
drwxr-xr-x. 2 chris chris   32 Aug  5 19:25 MusicPatternGenerator

The two name entries are user name of the owner, and group name of the primary group. The primary group of a linux user account is by default the same name as the user name, but it could be different.

If instead of your user name you see something like 501 or 1000, then you can change the ownership of all the files in all the directories using the recursive argument to chown (change owner command).
The arguments are username:groupname so for you might be:

chown -R fritjof:fritjof ./

That means run chown (change owner command) with the -R argument (recursive, meaning run that command on each file, but also each directory found, and each file and directory found in each of those directories), and the “./” argument means start in this current directory.

If in the earlier step you do see your user name as the owner of the files, then the problem is likely somewhere else.

Thank you very much for taking the time to explain it so well!!

  • unfortunately I now can see that the problem IS indeed somewhere else,
    as the ls -lh command only returned my username.

Oh well. back to the drawing bord for me, I guess.

Thanks again for your time and thoroughness. At least I learned
something useful!

Did you search for the missing file (Speak-1.wav) on your drive to see if it is located somewhere else, or is indeed missing completely? Did you check to see if it exists on the external HDD?
Are the other audio files in the interchange directory for that project, or are all files missing?

Could be an i18n/filename codepage issue? I remember similar problems due to german/special characters in filenames, after copying to external drive and back to another internal one umlauts were garbled… i can’t spot any in your screenshot but I’d double check.

A shot in the dark…

What file-system does that HDD have?

Ardour sessions are case-sensitive (and may use long file names). This is fine on Linux (ext2/3/4) and on Windows (NTFS) and macOS (APFS, HFS).

However USB drives or USB sticks often use FAT32, a case insensitive filesystem with various limitations (filename, char encoding…). Copying Ardour sessions onto such a file-system will likely break the session.

To transfer a session using such a device, zip it up and copy the .zip file. If you only need the most recent snapshot, Ardour > Session > Archive can also work.

1 Like

That might be visible as the source file displayed as speak-1.wav or SPEAK-1.WAV in the interchange directory instead of Speak-1.wav.

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