如何将我的 FLAC 音乐收藏转换为 Apple Lossless?

如何将我的 FLAC 音乐收藏转换为 Apple Lossless?

我收藏了相当多的音乐,以 FLAC 格式保存在我的 Ubuntu 笔记本电脑上。我想开始在 Mac 上播放这些音乐,并将其同步到我的 iPod。有人建议,最好的方法是将我的收藏转换为 ALAC,我决定这就是我想要做的。

在我深入研究并编写ffmpeg通过某些复杂find命令调用的自定义 shell 脚本之前,我想征求一些建议。

如何才能最好地将我现有的 FLAC 集合转换为 ALAC,而不会损失音频质量并保留所有元数据?

答案1

avconv(或者 ffmpeg,avconv 是其一个分支)可以从命令行执行此操作:

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

我认为这应该可以与存储库中的 avconv/ffmpeg 一起使用(因为 ALAC 是在 Apache 许可下发布的,可以合法分发),尽管我安装了 medibuntu 的版本。

如果您想删除原始文件,可以将其放入rm循环中。此版本使用-navconv 标志,因此它不会覆盖任何已经存在的 ALAC 文件,并使用&&代替;意味着如果 avconv 因错误而停止,则不会删除原始 FLAC 文件:

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

请注意,使用 rm 删除文件是不可逆的(在法医数据恢复之外),因此请小心使用。

相关内容