FreeNAS : encodage de CD audio automatique

Depuis longtemps, j’ai l’habitude de ripper mes CD audio avec Exact Audio Copy, éditer les tags et la pochette plus ou moins manuellement (Exact Audio Copy puis Mp3tag), ensuite les déplacer sur mon NAS à l’endroit qui va bien pour qu’ils soient enfin ajoutés à mon audiothèque.

Je vous propose ici une méthode beaucoup moins chronophage et entièrement automatisée sous FreeNAS basée sur abcde.
Vous insérez le CD dans le NAS (s’il dispose d’un lecteur) : il sera automatiquement encodé en FLAC et les fichiers résultants tagués (avec la pochette), nommés, puis déplacés dans le bon répertoire, et enfin le CD éjecté.

La première étape consiste à créer une jail dont le paramètre « devfs_rulset » est positionné à « 3 » dans les « Jail Properties ».
Ensuite, ajouter un « mount point » dans le répertoire de stockage de votre musique. Si vous utilisez le plugin Plex, cela devient très pratique.

Une fois la jail créée, connectez vous à celle-ci, pour installer les prérequis :

# pkg install abcde flac eject cdparanoia cd-discid sqlite3 cmake glib pkgconf

La transformation du CD audio en fichiers FLAC correctement nommés et tagués va donc être confiée à abcde. Pour cela :

# rm /usr/local/etc/abcde.conf
# vi /usr/local/etc/abcde.conf
CDDBMETHOD=musicbrainz
CDDBPROTO=6
HELLOINFO="`whoami`@`hostname`"
NOSUBMIT=y
FLACENCODERSYNTAX=default
CDROMREADERSYNTAX=cdparanoia
PADTRACKS=y
INTERACTIVE=n
LAME=lame
FLAC=flac
ID3=id3
ID3V2=id3v2
CDPARANOIA=cdparanoia
EJECT=eject
METAFLAC=metaflac
CDSPEED=eject
LAMEOPTS='--preset extreme'
FLACOPTS="-f --best"
ACTIONS=cddb,read,encode,tag,move,clean
CDROM=/dev/cd0
OUTPUTDIR=/media
WAVOUTPUTDIR=/tmp
OUTPUTTYPE=flac
OUTPUTFORMAT='${ARTISTFILE}/${ALBUMFILE}/${TRACKNUM}.${TRACKFILE}'
VAOUTPUTFORMAT='Various/${ALBUMFILE}/${TRACKNUM}.${ARTISTFILE}-${TRACKFILE}'
ONETRACKOUTPUTFORMAT=$OUTPUTFORMAT
VAONETRACKOUTPUTFORMAT=$VAOUTPUTFORMAT
LOWDISK=n
PLAYLISTFORMAT='${ARTISTFILE}/${ALBUMFILE}.${OUTPUT}.m3u'
VAPLAYLISTFORMAT='${ARTISTFILE}/${ALBUMFILE}.${OUTPUT}.m3u'
EJECTCD=y

Les paramètres à adapter à votre installation sont : CDROM et OUTPUTDIR permettant respectivement de désigner votre périphérique CDROM et le répertoire de sortie pour vos fichiers FLAC.

Si vous souhaitez ajouter automatiquement dans le tag de chaque fichier FLAC la pochette de l’album, il vous faudra utiliser glyr, qui n’est pas dans les ports FreeBSD.

Pour compiler et installer glyr :

# cd
# wget --no-check-certificate http://github.com/sahib/glyr/tarball/master -O glyr.tar
# tar xfv glyr.tar
# cd glyr
# sh
# cmake -DCMAKE_INSTALL_PREFIX=/usr .
# export LIBRARY_PATH=/usr/local/lib
# make && make install

Une fois glyr installé, remplacez dans le fichier abcde.conf le paramètre ACTIONS par :

ACTIONS=cddb,embedalbumart,read,encode,tag,move,clean

Une fois ceci fait, nous pouvons mettre en place l’automatisation du lancement de abcde à l’insertion d’un CD. Pour cela, mettez en place le cronjob qui teste toutes les minutes si un CD est présent, puis lance abcde :
# crontab -e
SHELL=/bin/sh
@every_minute ( /usr/sbin/cdcontrol info > /dev/null 2>&1 ) && ( ! pgrep bash ) && /usr/local/bin/abcde

Maintenant, dès que vous allez insérer un CD audio dans votre NAS, il va être automatiquement encodé, tagué et déplacé dans le bon répertoire. A la fin de l’encodage, le CD sera éjecté, et vous pourrez passer au suivant :-).

Voici un lien utile qui m’a permis de mettre cela en place : reddit: CD Passthrough to VM

Laisser un commentaire

Vous devez être connecté pour laisser un commentaire.