FLAC音楽コレクションをApple Losslessに変換するにはどうすればよいですか?


13

UbuntuラップトップにFLAC形式で保存した、適切なサイズの音楽コレクションがあります。Macでこの音楽の再生を開始し、そこからiPodに同期したいと思います。これを行うための最良の方法は、私のコレクションをALACに変換することであると人々は示唆しており、私はそれが私がやりたいことだと決めました。

ffmpegいくつかの複雑なfindコマンドを呼び出すカスタムシェルスクリプトに飛び込んで作成する前に、アドバイスを求めたいと思いました。

既存のFLACコレクションをALACに最適に変換するには、音質を損なうことなく、すべてのメタデータを保持するにはどうすればよいですか?


ええ びっくりしました。トランスコーディングツールには明らかな選択肢があると思いましたが、見つけることができるものはすべてビデオに焦点を合わせています。
-RAOF

ここでやったことは、metaflac、ffmpeg、AtomicParsleyと呼ばれるカスタムPythonスクリプトを書くことでした。
jml

回答:


21

avconv(またはavconvのフォークであるffmpeg)は、コマンドラインからこれを行うことができます。

avconv -i input.flac -c:a alac output.m4a

メタデータを単独で保持する必要があります。

ディレクトリ内のすべてのflacを実行するには:

for f in ./*.flac; do avconv -i "$f" -c:a alac "${f%.*}.m4a"; done

すべてのflacを再帰的に実行するには(現在のディレクトリすべてのサブディレクトリで):

shopt -s globstar
for f in ./**/*.flac; do avconv -i "$f" -c:a alac "${f%.*}.m4a"; done

oggファイルなどにflacがある場合は、明らかにに変更./*.flac./*.oggます。

medibuntuのバージョンはインストールされていますが、これはリポジトリのavconv / ffmpegで動作するはずです(ALACはApacheライセンスの下でリリースされ、合法的に配布できるため)。

元のファイルを削除したい場合はrm、ループに入れることができます。このバージョンは-navconv のフラグを使用するため、既存のALACファイルを上書きせず、&&代わりに; avconvがエラーで停止した場合、元のFLACファイルは削除されません。

for f in ./*.flac; do avconv -n -i "$f" -c:a alac "${f%.*}.m4a" && rm "$f"; done

rmを使用してファイルを削除すると元に戻せないことに注意してください(フォレンジックデータリカバリ以外)。使用には注意してください。


flacファイルのalacコピーを作成する代わりに、flacファイルをalacファイルに置き換える方法を知っていますか?
user138784

@ user13いいえ、avconv / ffmpegはそれを行うことができません。入力として使用するファイルを上書きすることはできません。rm必要に応じて、元のファイルを削除するために使用できます。
evilsoup

私は実際にはコマンドラインの第一人者ではないので(GNU / Linuxにはまったく慣れていません)、今までは手動で削除していました。(nautilus、タイプ別にファイルを整理し、そのディレクトリ内のすべての.flacファイルを選択して削除します)。この "rm"がどのように機能するかを見ていきます。:)
user138784

@ user138私は答えを編集して1つの実装を示しましたrm-警告に注意してくださいが、ほとんど元に戻せませんrmが、ファイルをゴミ箱に移動するのではなく完全に削除します。別の選択肢は、ループが終了したにグロビングを使用することです(したがって、問題がなかったことを確認できます...コマンドが何らかの理由で失敗した場合、元のファイルをrm -- *.flac削除したくないでしょう):すべてを削除します作業ディレクトリ内のFLAC。
evilsoup

アドバイスをありがとう!私は通常、元のflacファイルを別のディレクトリに保管しているので、それらを失うリスクはありません。
user138784
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.