Sie können dies programmgesteuert mit dem concat-Demuxer von ffmpeg tun.
Erstellen Sie zuerst eine Datei mit dem Namen "inputs.txt" mit Zeilen wie "
".file '/path/to/input1.mp3'
file '/path/to/input2.mp3'
file '/path/to/input3.mp3'
 ...etc. Führen Sie dann den folgenden ffmpeg-Befehl aus:
ffmpeg -f concat -i inputs.txt -c copy output.mp3
 Es ist möglich, input.txt einfach mit einer bash for zu generieren -Schleife (dies kann wahrscheinlich auch mit einer Windows-Batch-For-Schleife durchgeführt werden), vorausgesetzt, Sie möchten die Dateien in alphabetischer Reihenfolge zusammenführen. Dies wird jedem entsprechen *.mp3 im Arbeitsverzeichnis, kann aber leicht geändert werden:
for f in ./*.mp3; do echo "file '$f'" >> inputs.txt; done
##  Alternatively
printf "file '%s'\n" ./*.mp3 >> inputs.txt
 Es ist auch möglich, das Ganze in einer Zeile zu erledigen, wodurch die Erstellung einer Zwischenlistendatei mit Prozesssubstitution vermieden wird:
ffmpeg -f concat -i <(printf "file '%s'\n" ./*.mp3) -c copy output.mp3
 Verwenden Sie ffmpeg oder ein ähnliches Tool, um alle Ihre MP3s in ein einheitliches Format zu konvertieren, z. B.
 ffmpeg -i originalA.mp3 -f mp3 -ab 128kb -ar 44100 -ac 2 intermediateA.mp3 ffmpeg -i originalB.mp3 -f mp3 -ab 128kb -ar 44100 -ac 2 intermediateB.mp3 
Verketten Sie dann zur Laufzeit Ihre Dateien:
 cat intermediateA.mp3 intermediateB.mp3 > output.mp3 
Führen Sie sie schließlich durch das Tool MP3Val, um Stream-Fehler zu beheben, ohne eine vollständige Neucodierung zu erzwingen:
 mp3val output.mp3 -f -nb 
 (Quelle)