Linux で APE ファイルを FLAC に変換するにはどうすればいいですか?

Linux で APE ファイルを FLAC に変換するにはどうすればいいですか?

Linux で、APE ファイルを一切変更せずに FLAC に変換する方法はありますか? つまり、リプレイゲインなどを適用せずに変換する方法です。

答え1

.ape/Monkey Audio ファイルのあるディレクトリ内:

dir/with/ape$ for i in *ape; do ffmpeg -i "$i" -compression_level 12 "${i%.ape}.flac"; done
  • 圧縮レベル任意の値(0~12)に設定できますが、私は通常、少量ずつ行うため、最高値を使用します。注:これは、flac0~8 のオプションとは異なります。
  • 変換前の.apeファイルはテストされる可能性がある
    ffmpeg -v warning -i foo.ape -f null -
    
    (-v error重大なエラーのみを確認するために使用) 適切にデコードされるかどうかを確認します。

たとえば、スクリプトまたはシェル関数 (つまり、エイリアスではない) を作成するとape2flac、次に ape ファイルを使用するときにこれを探す必要がなくなります。

答え2

@bvargo が提供したソリューションを試してみましたが、うまくいきました。ただし、一度に 1 つのファイルを処理するために for ループを使用するため、あまり効率的ではありません。複数のファイルを変換するより良い方法は、それらを並列処理することです。これにより、変換時間が大幅に短縮されます。

parallel -j12 ffmpeg -i {} -compression_level 12 {.}.flac ::: *.ape
  • -j12並列ジョブの数を指定します

関連情報