Wie konvertiere ich APE-Dateien in Linux in FLAC?

Wie konvertiere ich APE-Dateien in Linux in FLAC?

gibt es eine Möglichkeit, eine Reihe von APE-Dateien in Linux in FLAC zu konvertieren, ohne sie in irgendeiner Weise zu verändern? Ich meine, ohne Replaygain usw. anzuwenden.

Antwort1

Im Verzeichnis mit .ape/Monkey-Audiodateien:

dir/with/ape$ for i in *ape; do ffmpeg -i "$i" -compression_level 12 "${i%.ape}.flac"; done
  • DerKomprimierungsgradkann auf einen beliebigen Wert (0-12) eingestellt werden, aber ich verwende normalerweise den höchsten Wert, da ich dies normalerweise in kleinen Chargen mache. NB: Dies unterscheidet sich von den Optionen, für flacdie 0-8 gilt.
  • Vor der Konvertierung wird die .apeDateikann getestet werdenmit
    ffmpeg -v warning -i foo.ape -f null -
    
    (verwenden -v error, um nur kritische Fehler anzuzeigen), um zu sehen, ob die Decodierung ordnungsgemäß erfolgt.

Wenn Sie ein Skript oder eine Shell-Funktion erstellen (also keinen Alias), z. B. ape2flac, müssen Sie dies nicht suchen, wenn Sie das nächste Mal mit Ape-Dateien zu tun haben!

Antwort2

Ich habe die von @bvargo bereitgestellte Lösung ausprobiert und sie erledigt die Aufgabe, verwendet jedoch eine For-Schleife, um jeweils eine Datei zu verarbeiten, was nicht sehr effizient ist. Ein besserer Ansatz zum Konvertieren mehrerer Dateien besteht darin, sie parallel zu verarbeiten. Dies reduziert die Gesamtkonvertierungszeit erheblich:

parallel -j12 ffmpeg -i {} -compression_level 12 {.}.flac ::: *.ape
  • -j12Gibt die Anzahl paralleler Jobs an

verwandte Informationen