How To Free Up Space on your Zoom Recorder SD Card Last Updated 10 October 2021 by Michael Forrest

Here's a Ruby Script I wrote to save lots of space on my Zoom L20 but it might work for other recorders too. I freed up 27.1GB of space on my 64GB card without deleting any data (because mostly-silent WAV files compress very effectively!)

This is a Ruby script that you can put in the root of your Zoom SD card. It does this by going through each directory and zipping all the individual tracks. If there is no “MASTER.WAV” file present, it creates a reference mix using sox.

You’ll need to have sox installed.

Folder structure looks like this

I’ll explain this line-by-line.

  1. Gives a description to the task when you type rake -T
  2. Defines the task named “compress”
  3. Matches the contents of the directory called FOLDER01 and iterates through each folder
  4. Changes into the directory (dir)
  5. Put all the WAV files into a variable called files
  6. Debugging
  7. When we process a directory we’ll add a little file (I first called it .processed but this is hidden in Finder so I changed it to processed)
  8. Check if we already have a MASTER.WAV or MASTER-SOX.WAV file.
  9. Debugging
  10. If no master file, we’ll make one
  11. Show what’s happening
  12. This sox command merges all of the files in our files array into a new file called “MASTER-SOX.WAV”
  13. Finish with the master files
  14. Collect all the WAV files starting with TRACK into an array called tracks
  15. User message
  16. Create a zip file called Archive.zip and add all the files from tracks
  17. Trash all files in tracks now that they’re in the ZIP
You might want to comment out line 17 out before making any changes to this script

This will put your TRACK* files in the trash so while you can restore these without too many problems, you could equally use Finder to find and delete them after you’ve done all the processing

  1. Create a file called processed to let the script know to skip this directory next time you run it
  2. Otherwise…
  3. We didn’t need to process the files
  4. Finish the processing block
  5. Exit this directory
  6. Loop round to the next directory
  7. End of the Rake task
  8. Define the default rake task so you can just type rake to run the script.
  • Before (swipe right for "after")
  • After