Да, учитывая, что оба математически без потерь, преобразование тоже без потерь.
Причина этого заключается в том, что сигнал всегда может быть восстановлен до его первоначальной формы при декодировании файла FLAC / ALAC. Таким образом, они эквивалентны, и вы не должны испытывать никаких потерь при перекодировании - даже при перекодировании несколько раз.
Единственная ошибка, которую я могу себе представить, будет арифметической, например, из-за ограниченной точности вычислений с плавающей запятой. Я не думаю, что это относится ни к FLAC, ни к ALAC.
Если вы используете только «психоакустически» кодек без потерь, это невозможно. Lossless в психоакустическом смысле означал бы, что вы не можете различить оригинал и сжатую версию, но они сильно отличаются друг от друга. 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 "$.flac"; done
Примечание. Если вы получили сообщение об ffmpeg
устаревании, это на самом деле не так - это все еще активно разработанная программа. Однако, сопровождающие пакетов Ubuntu просто решили переключиться на Libav форк FFmpeg и таким образом предоставить вам avconv
вместо ffmpeg
. Поэтому версия, ffmpeg
доступная в Ubuntu, устарела. Вы можете получить последнюю версию, загрузив вместо этого статическую сборку, или скомпилировав ее самостоятельно. Читайте дальше для получения дополнительной информации: кто может подсказать мне разницу и отношения между ffmpeg, libav и avconv