最近曲のパラアウトを要求される場面があったのでメモっておく。
Logic Pro Xには全トラックをバラバラに1つのフォルダに吐き出せるコマンドがあり、これを使うとaiff, wav, cafにできます。
ただ、パラアウトにはその性質上無音部分が多く、flacにしたほうが効率が上がります。
ファイルの量も多かったので、bash
で一発で変換できるようなスクリプトを書き留めておきます。
パラアウトはwav/stereo/24bit以下/44.1kHz
とします。
wav -> flac
IdvOut
|
|-wav
|-パラアウト(Logicの生成したファイル)
というディレクトリの構造になっているという前提で、IdvOutディレクトリに於いて
mkdir flac
for nm in wav/*;
do ffmpeg -i "$nm" -vn -ar 44100 -ac 2 -acodec flac -f flac "flac/${${nm%.wav}#wav/}.flac";
done
Special Thanks to @suzutsuki0220 for this contribution explaining how to convert wav to flac by ffmpeg 1
flac->wav
パラアウトは大抵zipにされるのでそのzipを新しく作ったディレクトリに入れて
unzip <落とした.zip>;
mkdir wav;
cd <展開したflacのあるディレクトリ>
for nm in *;
do ffmpeg -i "$nm" -vn -ac 2 -f wav "../wav/${nm%.flac}.wav"; # zipによっては何層か上に行かないといけない場合あり。要は、2行目で作ったwavディレクトリに届けばおk。
done
このとき、flacはwavにしても(32bitとか64bitとか変なマルチチャンネルの設定になっていない限り)音質は損なわれないので何も考えずにやっておk2