web-dev-qa-db-ja.com

Apple Losslessオーディオは、忠実度を失うことなくFLACに変換できますか?

Apple Losslessオーディオファイル(ALAC)は、忠実度を失うことなくFLACオーディオファイルに変換できますか?

20
Kev

はい、両方とも数学的にロスレスであることを考えると、変換もロスレスです。

これは、FLAC/ALACファイルがデコードされたときに、信号を常に元の形式に再構築できるためです。したがって、これらは同等であり、トランスコーディング時に損失が発生しないはずです。トランスコーディングを複数回行った場合でも同様です。

私が想像できる唯一のエラーは、算術的なエラーです。計算における制限された浮動小数点精度を介して。これはFLACにもALACにも当てはまらないと思います。

「音響心理学的」なロスレスコーデックのみを使用する場合、これは不可能です。心理音響学的な意味でのロスレスは、元のバージョンと圧縮されたバージョンを区別できないことを意味しますが、それらは互いに非常に異なります。 MP3またはMPEG-4 AACはさまざまな心理音響学的手法を使用してこれを実現します。そのため、トランスコーディング時に元のバージョンを再構築することができず、品質が低下します。


ALACをFLACに変換する場合は、ほとんどすべてのプラットフォームで無料で利用できる ffmpeg が適切なオプションになります。

ffmpeg -i audio.m4a -c:a flac audio.flac

FFmpegは問題なくALACを読み取ります。 * nixシステムの場合、プロセス全体を簡単にする Convert to FLAC と呼ばれるスクリプトもあります。 Bashを使用すると、単一のディレクトリ内のすべてのファイルを変換することもできます。

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

注:ffmpegが廃止予定であるというメッセージが表示された場合、これは実際には当てはまりません。それはまだ活発に開発されているプログラムです。しかし、Ubuntuのパッケージメンテナは、FFmpegのLibavフォークに切り替えることを決定したため、avconvではなくffmpegを提供しています。したがって、Ubuntuで使用できるffmpegのバージョンは古くなっています。 代わりに静的ビルドをダウンロードする 、またはそれを自分でコンパイルすることにより、最新のものを取得できます。詳細は以下をお読みください: ffmpeg、libav、avconvの違いと関係を教えてくれる人

38
slhck

あなたができるWindows CMDの場合。

@for /R %%x in (*.m4a) do ffmpeg -i "%%x" -acodec flac "%%~dpnx.flac"

(バッチスクリプト)

(これは再帰を実行します(すべてのフォルダとその実行場所から))

3
The009

Macを使用している場合(ALACファイルがあるため)、オープンソースソフトウェアのMax as Niceフロントエンドを使用して、ALAC/FLACまたは他の多くの形式との間の変換を行うこともできます。

1
Alex

powershellのWindowsの場合(ffmpegを使用)、これを行うとalacをflacに変換できます。

Get-ChildItem . -filter *.m4a| ForEach-Object { ffmpeg -i "$_" -acodec flac "$($_.basename).flac" }

逆にこれをalacに変換します

Get-ChildItem . -filter *.flac | ForEach-Object { ffmpeg -i "$_" -acodec alac $($_.basename).m4a" }

1
BoteRock