Construction automatique liste de lecture sur un NAS Synology

Objectif: automatiser la mise à jour d’ une liste de lecture sur un NAS (équipé de DSM v6.1.5.), avec l’ intégralité des fichiers audio stockés sur le NAS.

A chaque fois que je rajoutais des morceaux de musique sur mon NAS, je devais reconstruire à la main une liste de lecture incluant les nouveaux morceaux afin de maintenir ma liste à jour. Je me suis demandé comment automatiser ce processus pénible et fréquent, surtout lors de la phase d’ acquisition du NAS car j’ ai encodé toute ma collection de CDs en fichiers FLAC pour les copier sur le NAS… Même chose lors de l’ achat de CDs audio, et oui, y’ a encore des gens pour en acheter 🙂

J’ ai remarqué que chaque liste créée depuis l’ interface DSM est stockée dans /volume1/music/playlists avec l’ extension .m3u. De plus, chaque entrée fait référence à un fichier audio en précisant son chemin relatif au dossier playlists: « ../ », et le fichier débute par la chaîne « #EXTM3U ».

J’ ai donc d’ abord tenté de construire ma playlist à la main, depuis une session ssh vers le NAS et puis, lorsque le résultat m’ a convenu j’ ai noté la ligne de commande:

cd /volume1/music/playlists && 
echo "#EXTM3U" > Auto.m3u && 
find .. -type f -iregex ".*\(flac\|ogg\|mp3\|wav\|dsd\|dsf\)" 
>> Auto.m3u

Détaillons un peu: on se place d’ abord dans le bon dossier playlists afin que la recherche de fichiers préfixe chaque résultat par le chemin relatif « ../ ». Ensuite on ajoute la chaîne « #EXTM3U » en début de notre playlist automatique nommée Auto.m3u. Enfin, la commande find recherche tous les fichiers du dossier parent correspondant à un motif et ajoute chaque entrée au fichier playlist Auto.m3u. Le motif de recherche convient à mon cas mais vous pouvez tout à fait l’ adapter au votre.

En option, on peut éventuellement si ça vous intéresse, rajouter un tri sur le chemin après le find:

find .. -type f -iregex ".*\(flac\|ogg\|mp3\|wav\|dsd\|dsf\)" | sort

Ou, au contraire, obtenir un résultat totalement mélangé avec l’ option -R de sort (personnellement je me suis fait deux listes automatiques: une triée et une aléatoire :).

Pour que la playlist apparaisse dans la liste des playlist de l’ application Audio Station, j’ ai d’ abord du créer une fois, manuellement, la nouvelle playlist « Auto » de type « Group playlist ». Ensuite, il ne reste plus qu’ à passer par Control Panel -> Tasks Scheduler et créer une nouvelle tâche lancée par root aux horaires et jours de votre choix, puis à copier-coller la ligne de commande ci-dessus dans l’ onglet « Task settings ». Cerise sur le gâteau, la playlist apparaîtra dans la liste de vos playlist depuis l’ application Audio Station du DSM ou sur tout autre lecteur multimedia supportant DLNA et les listes de lectures, comme par exemple, un Marantz M-CR 611 que j’ utilise quotidiennement avec mes listes de lectures.

 

Laisser un commentaire

Your email address will not be published.