Musique en qualité Studio Masters à partir de votre PC GNU/Linux
Date: 16/01/2012 | Catégories: Gstreamer,Musique,Open-source,Planet-libre | Tags: hd,hq,Musique,sox,studiomatsers
Définition: "Est considéré comme étant de qualité Studio Masters tout fichier dont au moins l'échantillonnage ou la quantification sont supérieurs à celle de la qualité CD. Pour rappel, un CD a un échantillonnage de 44,1 kHz et une quantification de 16 bits."
La manière d'écouter la musique est certainement une des choses qui a changé le plus radicalement ces 10 dernières années. Contrairement à la vidéo et à l'utilisation des format HD, ce changement s'est accompagné d'une baisse globale de la qualité de la source musicale. En effet, les stores proposent majoritairement des fichiers musicaux compressés en utilisant des codecs avec perte d'information (MP3, MP4, Vorbis...). Si cette perte d'information est négligeable pour une écoute grand public avec votre baladeur ou depuis votre PC, il en est autrement sur une chaîne HIFI de bonne qualité. On se retrouve alors avec une source qui n'est plus en adéquation avec le matériel, celui-ci se trouvant sous exploité.
Nous allons donc voir dans ce billet comment télécharger et exploiter des fichiers musicaux en qualité supérieure au format CD (Studio Masters) sur nos chers machines GNU/Linux. Avant de commencer, voici le matériel que j'ai utilisé pour rédiger ce billet:
- chaîne HIFI Cambridge avec un DAC Audio Magic de la même marque (voir le test ici) et casque audio AKG K450 et/ou enceintes B&W 685
- PC sous Ubuntu 11.10 avec la suite logiciel libre Sox
- MacBook Pro avec sortie audio optique pour exploiter les fichiers > 44.1 kHz (mon PC sous Ubuntu ne disposant pas de sortie audio numérique et l'entrée USB du DAC Cambridge est limité à 44.1 khz)
- un album en qualité StudioMaster (24 bits / 96.0 kHz) acheté sur le site Qobuz
Obtenir une source "Studio Masters"
Comme nous l'avons vu en introduction, les "stores leaders" sur le marché ne propose pas de formats de fichiers supérieurs à la qualité CD. Il faut donc se retourner sur les boutiques spécialisés dans la haute définition comme par exemple Qobus. Bien que leur catalogue "Studio Masters" ne soit pas très étoffé, c'est quand un même un point d'entrée.
J'ai donc acheté l'album "Audio, video, Disco." du Groupe Français Justice. en qualité FLAC 24 bits / 96 kHz. (15€ soit 3€ plus cher que la qualité CD et 5€ de plus que la qualité MP3).
Qui dit qualité Studio Masters, dit fichiers de taille importante, il faut donc télécharger presque 1 Go pour un album.
Installation de SoX, le couteau Suisse des logiciels audio HQ
SoX est un ensemble de logiciels permettant de manipuler, en ligne de commande tout type de fichier musicaux.
Pour installer SoX sur votre distribution Ubuntu, rien de plus simple:
[cc]
sudo aptitude install sox libsox-fmt-all
[/cc]
SoX se compose des commandes suivantes:
- soxi pour obtenir des informations sur un fichier audio
- rec pour enregistrer dans un fichier audio le son venant d'un de vos périphérique d'entrée
- play pour jouer vos fichiers audio sur la sortie définie par votre système (analogique, numérique, USB...)
- sox pour convertir, ajouter des effets dans un fichier audio
Utilisation des fichiers Studio Masters
"Commençons pas le commencement" en utilisant la commande soxi sur les fichiers Studio Masters téléchargés sur Qobus.
[cc]
soxi 01-01-Justice-Horsepower-SMR.flac
[/cc]
On obtient le résultat suivant:
Input File : '01-01-Justice-Horsepower-SMR.flac' Channels : 2 Sample Rate : 96000 Precision : 24-bit Duration : 00:03:40.09 = 21128600 samples ~ 16506.7 CDDA sectors File Size : 89.9M Bit Rate : 3.27M Sample Encoding: 24-bit FLAC Comments : ALBUM=Audio, Video, Disco. TITLE=Horsepower TRACKNUMBER=1 TRACKTOTAL=11 DISCNUMBER=1 DISCTOTAL=1 DATE=2011 COPYRIGHT=Ed Banger Records Because Music GENRE=Electro ALBUMARTIST=Justice ARTIST=Justice DESCRIPTION=Interprètes : Justice, performer; Gaspard Augé, composer & author; Xavier de Rosnay, composer & author Label : Ed Banger Records Because Music - Because
Les informations "intéressantes" pour notre sujet sont le "sample rate" et la "precision" respectivement aux valeurs 96 kHz et 24 bits.
En utilisant la commande play, j'ai joué ce fichier depuis mon PC Ubuntu branché via un câble USB sur l'entrée USB de mon DAC Cambridge. Comme la documentation du DAC l’annonçait, le fichier est joué en 44,1 kHz car le port USB est seulement en version 1 donc avec un débit insuffisant pour du 96 kHz (plus de 3 Mbps).
[cc]
play 01-01-Justice-Horsepower-SMR.flac
[/cc]
01-01-Justice-Horsepower-SMR.flac: File Size: 89.9M Bit Rate: 3.27M Encoding: FLAC Info: Interprètes : Justice, performer; Gaspard Augé, composer & author; Xavier de Rosnay, composer & author Label : Ed Banger Records Because Music - Because Channels: 2 @ 24-bit Track: 1 of 11 Samplerate: 96000Hz Album: Audio, Video, Disco. Replaygain: off Artist: Justice Duration: 00:03:40.09 Title: Horsepower In:7.33% 00:00:16.13 [00:03:23.96] Out:1.55M [ ====|====- ] Hd:5.9 Clip:0
La qualité est cependant au rendez-vous. Surtout si je fais la comparaison avec le même morceau compressé en MP3 à 320 Kbps.
Note: les DAC récents proposent des entrées USB 2 supportant des entrées en 24 bits/ 96 kHz (comme le très bon HRT Music Streamer II à moins de 200€ que j'ai eu la chance d'écouter chez un ami).
En jouant le même fichier depuis mon Mac BookPro en utilisant la sortie jack optique (c'est quand même la classe le matériel chez Apple) connecté via un câble Jack - TosLink S/PDIF sur mon DAC Cambridge, je dois avouer (comme pour mon premier billet sur le sujet) que la différence n'est pas flagrante. J'ai donc décidé de faire un "blind test" en passant d'une source 24 bits/ 96 kHz (Mac) à la même source mais "resampler" à 24 bits / 44.1 kHz par le DAC (PC Ubuntu).
Résultat des courses: 7 fois sur 10, j'ai préféré le morceau en 24 bits/ 96 kHz.
Manipuler ses fichiers audio avec SoX
Nous allons maintenant passer à la partie ludique de ce billet en manipulant nos fichiers audio avec les différentes fonctions offertes par SoX.
Resampling: de "Studios Masters" vers CD
Pour transformer notre fichier source Studio Masters (24 bits/ 96 kHz) dans un fichier au format CD (16 bits/ 44.1 kHz), il faut saisir la commande suivante:
[cc]
sox -S 01-01-Justice-Horsepower-SMR.flac -b 16 01-01-Justice-Horsepower-SMR-16bits-44.1kHz.flac rate -h -I -b 90 44100
[/cc]
Notes sur les options:
- -S permet d'avoir une barre de progression qui s'affiche sur l'écran
- -b 16 force un resampling en 16 bits (compatible CD)
- rate -h -I -b 90 44100: resampling de haute qualité en 44.1 kHz
Après une dizaine de secondes de traitement, vous devriez obtenir un fichier de 27 Mo (contre 86 Mo pour la source):
[cc]
soxi 01-01-Justice-Horsepower-SMR-16bits-44.1kHz.flac
[/cc]
Input File : '01-01-Justice-Horsepower-SMR-16bits-44.1kHz.flac' Channels : 2 Sample Rate : 44100 Precision : 16-bit Duration : 00:03:40.09 = 9705951 samples = 16506.7 CDDA sectors File Size : 28.1M Bit Rate : 1.02M Sample Encoding: 16-bit FLAC Comments : ALBUM=Audio, Video, Disco. TITLE=Horsepower TRACKNUMBER=1 TRACKTOTAL=11 DISCNUMBER=1 DISCTOTAL=1 DATE=2011 COPYRIGHT=Ed Banger Records Because Music GENRE=Electro ALBUMARTIST=Justice ARTIST=Justice DESCRIPTION=Interprètes : Justice, performer; Gaspard Augé, composer & author; Xavier de Rosnay, composer & author Label : Ed Banger Records Because Music - Because
Conversion en MP3
SoX reconnait le format MP3, il est donc simple comme bonjour de transformer notre source loss-less en MP3:
[cc]
sox -S 01-01-Justice-Horsepower-SMR.flac -r 44100 01-01-Justice-Horsepower-SMR-16bits-44.1kHz.mp3 rate -h -I -b 90 44100
[/cc]
Mais...
... même si la conversion se passe sans problème, le fichier obtenu à un débit de 128 Kbps (donc un MP3 de très mauvaise qualité). Je n'ai trouvé nulle part une option pour encoder à un débit plus important. Si vous avez une idée je suis preneur (avec SoX bien sûr...).
Il est toujours possible d'utiliser SoX pour resampling et lame (sudo apt-get install lame) en utilisant un pipe comme le montre la ligne de commande suivante:
[cc]
sox -S 01-01-Justice-Horsepower-SMR.flac -r 44100 - rate -h -I -b 90 44100 | lame --preset insane - 01-01-Justice-Horsepower-SMR-16bits-44.1kHz.mp3
[/cc]
Et encore...
Voici quelques exemples en bonus (les commentaires sont là pour en ajouter d'autres):
Mixer plusieurs sources audio entre elles en conservant les volumes d'origines:
[cc]
sox -m source1.flac source2.flac destination.flac
[/cc]
Mixer plusieurs sources audio entre elles en mettant tous les volumes au même niveau:
[cc]
sox --combine mix-power source1.flac source2.flac destination.flac
[/cc]
Enregistrer dans un fichier FLAC (par défaut en 16 bits et 48 kHz) le son venant du périphérique d'entrée par défaut de votre PC:
[cc]
rec test.flac
[/cc]
Enregistrer dans un fichier FLAC (16 bits et 8 kHz, adapté à la voix) le son venant du périphérique d'entrée par défaut de votre PC:
[cc]
rec -r 8000 test.flac
[/cc]