Configuration audiophile non-sacerdotale

Écouter un son numérisé en FLAC, ce qui est rarement pris en charge par les enceintes sans fil, est une expérience évidemment plus proche du son acoustique qu’au format MP3, mais ce n’est pas envisageable sur un téléphone où l’espace de stockage est restreint, et encore moins en soirée (où l’usage d’un serveur audio comme musicpd(1) se transforme en contrôle lourdingue sur la playlist). En fait, le son d’un vinyle est acoustique et plus valorisé socialement que l’écoute de sa forme numérisée sur un SBC, qui est déjà un compromis pour des raisons économiques et pratiques, donc je pense qu’être pédant·e là-dessus est complètement irrationel. (Ce n’est pas une raison pour manquer de considération pour l’irrationalité d’un proche, mais il s’agit de faire attention à ses propres limites et de ne pas se l’approprier.)

Deux solutions se dégagent :

  1. À la maison, j’écoute ma musique en FLAC, hébergée sur un disque dur externe (à plateaux : vieux, lent, bon marché, durable) depuis un serveur musicpd(1) sur mon SBC (en l’occurrence une Raspberry Pi), que je contrôle avec des clients sur mon ordinateur et sur mon téléphone. Le SBC transmet le son comme n’importe quel ordinateur : en FLAC, sur une enceinte, depuis un câble jack. Si l’enceinte est éteinte ou que je débranche le câble jack, pas de musique.
  2. En mobilité, j’écoute ma musique en OGG avec l’instance Funkwhale de Nomagic. Pourquoi OGG ? Parce que les fichiers sont légèrement mieux compressés qu’en MP3. Je crois que du FLAC à l’OGG, la taille des fichiers est divisée par 20.

Télécharger les fichiers dans ces deux formats serait une perte de temps et un gaspillage de ressources, donc je les télécharge d’abord en FLAC, puis je les convertis avec ce script :

#!/bin/sh
# This script depends on the: id3v2, oggenc (vorbis-tools), and flac packages.

for a in *.flac
do
        OUTF=`echo "$a" | sed s/"\.flac$"/"\.ogg"/g`

        echo "*** Converting $a -> $OUTF";
        ARTIST=`metaflac "$a" --show-tag=ARTIST | sed s/.*=//g`
        TITLE=`metaflac "$a" --show-tag=TITLE | sed s/.*=//g`
        ALBUM=`metaflac "$a" --show-tag=ALBUM | sed s/.*=//g`
        GENRE=`metaflac "$a" --show-tag=GENRE | sed s/.*=//g`
        TRACKNUMBER=`metaflac "$a" --show-tag=TRACKNUMBER | sed s/.*=//g`
        DATE=`metaflac "$a" --show-tag=DATE | sed s/.*=//g`

        flac -c -d "$a" | oggenc -o "$OUTF" -
        
        # La pipe (|) envoie la sortie de `flac -c -d "$a"` à la
        # commande suivante (`oggenc(1)`), et le trait d’union
        # en fin de ligne (-) récupère l’entrée standard
        # vis-à-vis de la syntaxe.
        
        # Au lieu d’enregistrer le fichier .wav obtenu à partir
        # du fichier .flac, la pipe l’envoie directement
        # à la commande `oggenc(1)`, qui convertit les données
        # au format .ogg.

        # La syntaxe est donc la suivante :
        # oggenc -o "$OUTF" fichier.wav
        
        id3v2 -t "$TITLE" -T "$TRACKNUMBER" -a "$ARTIST" -A "$ALBUM" -g "$GENRE" -y "$DATE" "$OUTF"
        
done

ogg="/home/afr/Musique/ogg/"

mkdir -p "$ogg/$ARTIST"/"$ALBUM"
mv *.ogg "$ogg/$ARTIST"/"$ALBUM"/.
cp *.jpg "$ogg/$ARTIST"/"$ALBUM"/.
mv Art "$ogg/$ARTIST"/"$ALBUM"/.

Libre à vous de l’adapter selon vos besoins.

8/100 #100DaysToOffload

Flux RSS : https://afr.social/feed Fédivers : @afr-blog@afr.socialMastodon / Pleroma / Misskey