{"id":298,"date":"2019-11-18T17:49:00","date_gmt":"2019-11-18T16:49:00","guid":{"rendered":"https:\/\/blog.brimbelle.org\/?p=298"},"modified":"2019-11-19T14:44:47","modified_gmt":"2019-11-19T13:44:47","slug":"freenas-encodage-de-cd-audio-automatique","status":"publish","type":"post","link":"https:\/\/blog.brimbelle.org\/index.php\/2019\/11\/18\/freenas-encodage-de-cd-audio-automatique\/","title":{"rendered":"FreeNAS : encodage de CD audio automatique"},"content":{"rendered":"<p><a href=\"https:\/\/blog.brimbelle.org\/wp-content\/uploads\/2019\/11\/abcde_front.png\" rel=\"lightbox[298]\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft\" src=\"https:\/\/blog.brimbelle.org\/wp-content\/uploads\/2019\/11\/abcde_front.png\" alt=\"\" width=\"200\" height=\"96\" \/><\/a><\/p>\n<p>Depuis longtemps, j&rsquo;ai l&rsquo;habitude de ripper mes CD audio avec <a href=\"http:\/\/www.exactaudiocopy.de\/\">Exact Audio Copy<\/a>, \u00e9diter les tags et la pochette plus ou moins manuellement (Exact Audio Copy puis <a href=\"https:\/\/www.mp3tag.de\/en\/\">Mp3tag<\/a>), ensuite les d\u00e9placer sur mon NAS \u00e0 l&rsquo;endroit qui va bien pour qu&rsquo;ils soient enfin ajout\u00e9s \u00e0 mon <a href=\"https:\/\/www.plex.tv\/\">audioth\u00e8que<\/a>.<\/p>\n<p>Je vous propose ici une m\u00e9thode beaucoup moins chronophage et enti\u00e8rement automatis\u00e9e sous <a href=\"https:\/\/www.freenas.org\/\">FreeNAS<\/a> bas\u00e9e sur <a href=\"https:\/\/abcde.einval.com\/wiki\/\">abcde<\/a>.<br \/>\nVous ins\u00e9rez le CD dans le NAS (s&rsquo;il dispose d&rsquo;un lecteur) : il sera automatiquement encod\u00e9 en FLAC et les fichiers r\u00e9sultants tagu\u00e9s (avec la pochette), nomm\u00e9s, puis d\u00e9plac\u00e9s dans le bon r\u00e9pertoire, et enfin le CD \u00e9ject\u00e9.<\/p>\n<p><!--more--><\/p>\n<p>La premi\u00e8re \u00e9tape consiste \u00e0 <a href=\"https:\/\/www.ixsystems.com\/documentation\/freenas\/11.2-U6\/jails.html\">cr\u00e9er une jail<\/a> dont le param\u00e8tre \u00ab\u00a0devfs_rulset\u00a0\u00bb est positionn\u00e9 \u00e0 \u00ab\u00a03\u00a0\u00bb dans les \u00ab\u00a0Jail Properties\u00a0\u00bb.<br \/>\nEnsuite, ajouter un \u00ab\u00a0mount point\u00a0\u00bb dans le r\u00e9pertoire de stockage de votre musique. Si vous utilisez le <a href=\"https:\/\/www.ixsystems.com\/documentation\/freenas\/11.2-U6\/plugins.html#official-plugins\">plugin Plex<\/a>, cela devient tr\u00e8s pratique.<\/p>\n<p>Une fois la jail cr\u00e9\u00e9e, connectez vous \u00e0 celle-ci, pour installer les pr\u00e9requis :<\/p>\n<p><code># pkg install abcde flac eject cdparanoia cd-discid sqlite3 cmake glib pkgconf<\/code><\/p>\n<p>La transformation du CD audio en fichiers FLAC correctement nomm\u00e9s et tagu\u00e9s va donc \u00eatre confi\u00e9e \u00e0 abcde. Pour cela\u00a0:<\/p>\n<p><code># rm \/usr\/local\/etc\/abcde.conf<br \/>\n# vi \/usr\/local\/etc\/abcde.conf<br \/>\nCDDBMETHOD=musicbrainz<br \/>\nCDDBPROTO=6<br \/>\nHELLOINFO=\"`whoami`@`hostname`\"<br \/>\nNOSUBMIT=y<br \/>\nFLACENCODERSYNTAX=default<br \/>\nCDROMREADERSYNTAX=cdparanoia<br \/>\nPADTRACKS=y<br \/>\nINTERACTIVE=n<br \/>\nLAME=lame<br \/>\nFLAC=flac<br \/>\nID3=id3<br \/>\nID3V2=id3v2<br \/>\nCDPARANOIA=cdparanoia<br \/>\nEJECT=eject<br \/>\nMETAFLAC=metaflac<br \/>\nCDSPEED=eject<br \/>\nLAMEOPTS='--preset extreme'<br \/>\nFLACOPTS=\"-f --best\"<br \/>\nACTIONS=cddb,read,encode,tag,move,clean<br \/>\nCDROM=\/dev\/cd0<br \/>\nOUTPUTDIR=\/media<br \/>\nWAVOUTPUTDIR=\/tmp<br \/>\nOUTPUTTYPE=flac<br \/>\nOUTPUTFORMAT='${ARTISTFILE}\/${ALBUMFILE}\/${TRACKNUM}.${TRACKFILE}'<br \/>\nVAOUTPUTFORMAT='Various\/${ALBUMFILE}\/${TRACKNUM}.${ARTISTFILE}-${TRACKFILE}'<br \/>\nONETRACKOUTPUTFORMAT=$OUTPUTFORMAT<br \/>\nVAONETRACKOUTPUTFORMAT=$VAOUTPUTFORMAT<br \/>\nLOWDISK=n<br \/>\nPLAYLISTFORMAT='${ARTISTFILE}\/${ALBUMFILE}.${OUTPUT}.m3u'<br \/>\nVAPLAYLISTFORMAT='${ARTISTFILE}\/${ALBUMFILE}.${OUTPUT}.m3u'<br \/>\nEJECTCD=y<\/code><\/p>\n<p>Les param\u00e8tres \u00e0 adapter \u00e0 votre installation sont : <code>CDROM<\/code> et <code>OUTPUTDIR<\/code> permettant respectivement de d\u00e9signer votre p\u00e9riph\u00e9rique CDROM et le r\u00e9pertoire de sortie pour vos fichiers FLAC.<\/p>\n<p>Si vous souhaitez ajouter automatiquement dans le tag de chaque fichier FLAC la pochette de l&rsquo;album, il vous faudra utiliser <a href=\"https:\/\/github.com\/sahib\/glyr\">glyr<\/a>, qui n&rsquo;est pas dans les ports <a href=\"https:\/\/www.freebsd.org\/\">FreeBSD<\/a>.<\/p>\n<p>Pour compiler et installer glyr :<\/p>\n<p><code># cd<br \/>\n# wget --no-check-certificate http:\/\/github.com\/sahib\/glyr\/tarball\/master -O glyr.tar<br \/>\n# tar xfv glyr.tar<br \/>\n# cd glyr<br \/>\n# sh<br \/>\n# cmake -DCMAKE_INSTALL_PREFIX=\/usr .<br \/>\n# export LIBRARY_PATH=\/usr\/local\/lib<br \/>\n# make &amp;&amp; make install<\/code><\/p>\n<p>Une fois glyr install\u00e9, remplacez dans le fichier <code>abcde.conf<\/code> le param\u00e8tre <code>ACTIONS<\/code> par :<\/p>\n<p><code>ACTIONS=cddb,embedalbumart,read,encode,tag,move,clean<\/code><\/p>\n<p>Une fois ceci fait, nous pouvons mettre en place l&rsquo;automatisation du lancement de abcde \u00e0 l&rsquo;insertion d&rsquo;un CD. Pour cela, mettez en place le cronjob qui teste toutes les minutes si un CD est pr\u00e9sent, puis lance abcde :<br \/>\n<code># crontab -e<br \/>\nSHELL=\/bin\/sh<br \/>\n@every_minute\t( \/usr\/sbin\/cdcontrol info &gt; \/dev\/null 2&gt;&amp;1 ) &amp;&amp; ( ! pgrep bash ) &amp;&amp; \/usr\/local\/bin\/abcde<\/code><\/p>\n<p>Maintenant, d\u00e8s que vous allez ins\u00e9rer un CD audio dans votre NAS, il va \u00eatre automatiquement encod\u00e9, tagu\u00e9 et d\u00e9plac\u00e9 dans le bon r\u00e9pertoire. A la fin de l&rsquo;encodage, le CD sera \u00e9ject\u00e9, et vous pourrez passer au suivant :-).<\/p>\n<p>Voici un lien utile qui m&rsquo;a permis de mettre cela en place : <a href=\"https:\/\/www.reddit.com\/r\/freenas\/comments\/d3d8rc\/cd_passthrough_to_vm\/\">reddit: CD Passthrough to VM<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Depuis longtemps, j&rsquo;ai l&rsquo;habitude de ripper mes CD audio avec Exact Audio Copy, \u00e9diter les tags et la pochette plus ou moins manuellement (Exact Audio Copy puis Mp3tag), ensuite les d\u00e9placer sur mon NAS \u00e0 l&rsquo;endroit qui va bien pour qu&rsquo;ils soient enfin ajout\u00e9s \u00e0 mon audioth\u00e8que. Je vous propose ici une m\u00e9thode beaucoup moins [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,5],"tags":[165,168,164,169,166,167],"class_list":["post-298","post","type-post","status-publish","format-standard","hentry","category-informations-pour-les-geeks","category-techno","tag-abcde","tag-freebsd","tag-freenas","tag-glyr","tag-jail","tag-plex"],"_links":{"self":[{"href":"https:\/\/blog.brimbelle.org\/index.php\/wp-json\/wp\/v2\/posts\/298","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.brimbelle.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.brimbelle.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.brimbelle.org\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.brimbelle.org\/index.php\/wp-json\/wp\/v2\/comments?post=298"}],"version-history":[{"count":0,"href":"https:\/\/blog.brimbelle.org\/index.php\/wp-json\/wp\/v2\/posts\/298\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.brimbelle.org\/index.php\/wp-json\/wp\/v2\/media?parent=298"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.brimbelle.org\/index.php\/wp-json\/wp\/v2\/categories?post=298"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.brimbelle.org\/index.php\/wp-json\/wp\/v2\/tags?post=298"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}