.ape
CDファイルの44GB(はい、44)フォルダーがあります。各.ape
は完全なCDであり、通常、.cue
ファイルと各.ape
があります。通過するキューデータがないため、これらを変換する必要がありますが、分割する必要はありません。そこにはいくつかの.jpg
sと.log
sもありますが、私は気にしません。 tree
コマンド出力がこれを視覚化するのに役立つ場合は、次のとおりです。
├── Philips Mozart Collection - 180 CD
│ │ ├── box01-Symphonies
│ │ │ ├── 1B.jpg
│ │ │ ├── 1F.jpg
│ │ │ ├── cd01
│ │ │ │ ├── CDImage.ape
│ │ │ │ ├── CDImage.ape.cue
│ │ │ │ ├── Complete Mozart Edition, Vol. 01, Early Symphonies (Disc 1) - Neville Mariner, Academy of St. Martin in the Fields.log
│ │ │ │ ├── img421.jpg
│ │ │ │ └── img422.jpg
│ │ │ ├── cd02
│ │ │ │ └── CDImage.ape
│ │ │ ├── cd03
│ │ │ │ ├── CDImage.ape
│ │ │ │ ├── CDImage.ape.cue
│ │ │ │ ├── Complete Mozart Edition, Vol. 01, Early Symphonies (Disc 2) - Sir Neville Marinner - Acadamy of St Martin in the Fields.log
│ │ │ │ ├── img426.jpg
│ │ │ │ └── img427.jpg
│ │ │ ├── cd04
など... 180 CDSまで。
基本的に、すべての.ape
ファイルを複数の.flac
ファイルに分割し、.cue
からタグ情報をコピーして、ディレクトリ構造を保持します(できれば完全に新しい別のディレクトリに配置します) )。可能であれば、スクリプトよりも1行のコマンドを使用します。これについてどうすればいいですか?これを行う方法を知っている人に感謝します!
そして、この質問に対する重複として誰かがこの質問にフラグを立てる前に: すべての.apeファイルを異なるサブフォルダーの.flacに変換する 、そのユーザーが。複数の.flacsへの類人猿。
あなたはめったにこれをしないので、私はこれを複数のステップで行います。ここでは自動化よりも透明性が重要です。しかし、単一の行も可能です。各ステップですべてのファイルに対して1つのコマンドのみを使用する場合、これが意図したものであると思います。
ffmpeg
(またはavconv
)、shntool
、およびcuetools
をインストールする必要があります。
すべての.ape
を.flac
に変換するには:
find . -name "*.ape" -exec sh -c 'exec ffmpeg -i "$1" "${1%.ape}.flac"' _ {} \;
http://www.etree.org/shnutils/shntool/ からAPEファイル用のパッチを適用したMACエンコーダーとデコーダーをインストールする場合、この最初の手順は不要です。ただし、g++
およびyasm
を使用して自分でコンパイルする必要があります。同じことが.tta
ファイルにも当てはまります。これらのファイルは、.ape
の代わりによく使用されます。
分割および名前.flac
ファイル:
find . -name "*.cue" -exec sh -c 'exec shnsplit -f "$1" -o flac -t "%n_%p-%t" "${1%.cue}.flac"' _ {} \;
shnsplit
も変換に使用される場合、.flac
の"${1%.cue}.flac"
を変換元の形式の拡張子に置き換えます。
%n
–トラック番号%p
–パフォーマー%t
–トラック名.cue
ファイル名の.flac
ファイルから取得されます。結果のタグを付けるには、.flac
ファイルを分割します:
find . -name "*.cue" -execdir sh -c 'exec cuetag "$1" *.flac' _ {} \;
残りのCDImage.ape.cue
、CDImage.flac
、およびCDImage.ape
ファイルを自由に削除してください。名前は一意なので、単純なfind . -name "CDImage*" -delete
で十分です。ただし、モーツァルトがCDImage
で始まる作曲を作っていない場合は例外です。
shnsplit
が機能するためには、ファイルを読み書きできるように、必要なすべてのエンコーダー/デコーダーをインストールする必要があります。 APE(およびTTA形式)用のモジュールは、パッケージ(つまりFLAC)をインストールすることにより、ソースからコンパイルする必要があります。
これは、拡張子を除き、.cue
および.tta
/.flac
/.ape
ファイルの名前が同じであるすべての標準的なケースで機能します。
他の人への副次的な発言:この変換を扱う場合、ソースファイルは日本の起源である可能性があり、APEとTTAは他よりも人気がありました。 .cue
ファイルが最初にSHIFT-JISでコーディングされ、UTF-8として開かれた場合、shnsplit
ステップは壊れます。 .cue
ファイルの名前を変更する必要があります
find . -name "*.cue" -exec rename 's/\.cue$/.cux/' -- {} +
中間ファイルをUTF-8に変換します
find . -name "*.cux" -exec sh -c 'exec iconv -f SHIFT-JIS -t UTF-8 -o "${1%.cux}.cue" -- "$1"' _ {} \;
上記の手順を実行する前に。完了したら、.cux
ファイルを削除することを忘れないでください。
find . -name "*.cux" -delete