Change GarageBand recording directory

audiogaragebandssd

When recording audio in GarageBand (open GarageBand, New Project, Voice, then start recording). I would like to record to an external SSD rather than the system disk as I get occasional crashes that seem to be heavy IO related (either to much IO, or perhaps the disk is hitting a thermal shutdown point, I'm not sure). A simple solution seems to be to record the audio to an external SSD and bypass the internal spinning disk. Is there some hidden setting I can change to set the directory/location where GarageBand records audio to by default?

This is on Mac OS X 10.12.1, GarageBand 10.1.4.

Best Answer

I don't know a lot about GarageBand - but I move most of ~/Library directories (where most of the User stuff is being kept) by simply linking them to a different place with:

ln -s /your/source/directory /your/target/directory in terminal.

for example, assuming that GarageBand is saving music to ~/Library/GarageBand/Music please move the directory first with

mv ~/Library/Music/GarageBand ~/Library/Music/GarageBand.bak/

and then try to link a directory in the place of ~/Library/Music/GarageBand (the ~ resolves to your /Users/username or $HOME and is simply a shortcut to your home directory)

ln -s /Volumes/YourDevice/YourDirectory/GarageBandMusic ~/Library/GarageBand/Music

assuming it is the place where your data is being stored. You could try to create a hard-link without the -s flag, but this is not possible for cross-device targets (i.e another hard-drive)

I'm sure you can do this, there are more ways to force macOS to use linked directories.

I don't know about GarageBand - but I keep my Mails, iTunes, Photos, Dropbox etc. on a different drive simply by either using symbolic links or, if necessary by hard-linking them to another directory.

For hard links workaround in macOS use https://github.com/selkhateeb/hardlink it does work very well.

Keep in mind that if you rm -rf a symbolic link directory you delete link only.

When you do the same with hard-link on the filesystem then rm -rf follows your link and deletes the things linked to it!

Let me know if this helps you.