Sim, dado que ambos são matematicamente sem perdas, a conversão também é isenta de perdas.
A razão para isso é que o sinal sempre pode ser reconstruído para sua forma original quando um arquivo FLAC / ALAC é decodificado. Assim, eles são equivalentes e você não deve sofrer perdas durante a transcodificação - mesmo quando transcodificar várias vezes.
O único erro que eu poderia imaginar seria um erro aritmético, por ex. através da precisão limitada do ponto flutuante nos cálculos. Eu não acho que isso se aplica ao FLAC ou ao ALAC.
Caso você use apenas um codec sem perda "psicoacústica", isso não é possível. Sem perdas em um sentido psicoacústico significaria que você não pode distinguir a versão original e a comprimida, mas são muito diferentes umas das outras. MP3 ou MPEG-4 AAC usam várias técnicas psicoacústicas para conseguir isso. Assim, quando transcodifica, a versão original não pode ser reconstruída e você experimentaria uma perda de qualidade.
Caso você queira converter o ALAC para o FLAC, ffmpeg
seria uma boa opção, pois é gratuito e está disponível para quase todas as plataformas .
ffmpeg -i audio.m4a -c:a flac audio.flac
O FFmpeg lerá o ALAC sem problemas. Para sistemas * nix, existe também um script chamado Convert to FLAC que facilita todo o processo. Com o Bash você pode simplesmente converter todos os arquivos em um único diretório:
for f in *.m4a; do ffmpeg -i "$f" -c:a flac "${f%.m4a}.flac"; done
Nota: Se você receber uma mensagem sobre o ffmpeg
sendo preterido, isso não é realmente o caso - ainda é um programa desenvolvido ativamente. No entanto, os mantenedores de pacotes do Ubuntu apenas decidiram mudar para o fork do Libav do FFmpeg e assim fornecer a você avconv
ao invés de ffmpeg
. A versão do ffmpeg
disponível no Ubuntu está desatualizada. Você pode obter uma recente por download de uma compilação estática ou compilá-la você mesmo. Continue lendo para obter mais informações: Quem pode me dizer a diferença e relação entre ffmpeg, libav e avconv