Is there an easy way to do this?

I have several folders with music files that I want to join. So it would be good if there is a batch solution to this problem.


brew install ffmpeg sox

#!/bin/bash

for f in *.m4a; do ffmpeg -i "$f" "${f%m4a}wav"; done
sox *.wav combined.wav
ffmpeg -i combined.wav -acodec libfaac -ac 2 -ab 192k combined.m4a
rm *.wav

I use Rogue Ameoba's excellent Fission to do this.

Join Files. Drag and drop one file into another to instantly join them together.

Not quite a batch process if you've got lots of files to join, but dragging and dropping audio files to concatenate into its window is straightforward. Fission does have a free trial but won't allow you to save anything without degrading the audio.

enter image description here

Are these files you want to join part of the same audio stream that have been split up? Be aware that if you're joining compressed audio, the transitions between one track and another at the point of the join may not be seamless, as the compression process removes part of the audio which may be audible when joined back together (if they're lossless, then there should be no problem).

Alternatively, if you want something free, I beleive Audacity will also do this for you.


You can use Garageband too.