avconv (ou ffmpeg, dont avconv est un fork) peut le faire depuis la ligne de commande:
avconv -i input.flac -c:a alac output.m4a
Il doit conserver les métadonnées par lui-même.
Pour faire chaque flac dans un répertoire:
for f in ./*.flac; do avconv -i "$f" -c:a alac "${f%.*}.m4a"; done
Pour faire chaque flac récursivement (dans le répertoire courant et tous les sous-répertoires):
shopt -s globstar
for f in ./**/*.flac; do avconv -i "$f" -c:a alac "${f%.*}.m4a"; done
Si vous avez les flacs dans les fichiers ogg ou quelque chose, changez évidemment ./*.flac
en ./*.ogg
.
Je pense que cela devrait fonctionner avec avconv / ffmpeg à partir des référentiels (puisque l'ALAC est publié sous la licence Apache et peut être légalement distribué), bien que la version de medibuntu soit installée.
Si vous voulez vous débarrasser des fichiers originaux, vous pouvez les mettre rm
dans la boucle. Cette version utilise l' -n
indicateur pour avconv, donc elle n'écrasera aucun fichier ALAC déjà existant, et en utilisant &&
au lieu de;
signifie que si avconv s'arrête avec une erreur, le fichier FLAC d'origine ne sera pas supprimé:
for f in ./*.flac; do avconv -n -i "$f" -c:a alac "${f%.*}.m4a" && rm "$f"; done
Notez que la suppression de fichiers avec rm est irréversible (en dehors de la récupération de données médico-légales), alors soyez prudent en l'utilisant.