![Linux で APE ファイルを FLAC に変換するにはどうすればいいですか?](https://rvso.com/image/192240/Linux%20%E3%81%A7%20APE%20%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%20FLAC%20%E3%81%AB%E5%A4%89%E6%8F%9B%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%81%84%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
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)に設定できますが、私は通常、少量ずつ行うため、最高値を使用します。注:これは、
flac
0~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
並列ジョブの数を指定します