J'ai une collection de musique de taille raisonnable que je conserve au format FLAC sur mon ordinateur portable Ubuntu. J'aimerais commencer à jouer cette musique sur mon Mac et la synchroniser à partir de là sur mon iPod. Les gens ont suggéré que la meilleure façon de faire est de convertir ma collection à ALAC, et j'ai décidé que c'était ce que je voulais faire.
Avant de plonger et d'écrire des scripts Shell personnalisés appelant ffmpeg
via une commande complexe find
, je pensais que je demanderais conseil.
Comment puis-je convertir au mieux ma collection FLAC existante en ALAC, sans perte de qualité audio et en préservant toutes les métadonnées?
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 devrait préserver 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 de manière récursive (dans le répertoire en cours 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 (car ALAC est publié sous la licence Apache et peut être distribué légalement), bien que la version de medibuntu soit installée.
Si vous souhaitez vous débarrasser des fichiers d'origine, vous pouvez mettre rm
dans la boucle. Cette version utilise l'indicateur -n
pour avconv. Elle ne remplacera donc aucun fichier ALAC existant. Utiliser &&
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), soyez donc prudent lorsque vous l’utilisez.