Linux MP3 HOWTO

Philip Kerr phil@websentric.com, traduction Arnaud Gomes-do-Vale arnaud@carrosse.frmug.org v1.10, Septembre 1999 Ce document décrit le matériel, les logiciels et les procédures à suivre pour créer et écouter des fichiers son MP3 sous Linux.

Table des matières

1 Introduction 1 2 Copyright 1 3 Où trouver ce document 2 4 Remerciements 2

4.1 Dénégation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 5 Matériel nécessaire et influence sur les performances 3 6 Logiciels nécessaires 4 7 Configuration du système 4

7.1 Configuration pour la capture d’une source analogique . . . . . . . . . . . . . . . . . . . . . . 5 7.2 Configuration pour l’extraction de son depuis un CD . . . . . . . . . . . . . . . . . . . . . . . 5 7.3 Configuration additionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

8 Encodage depuis une source audio 6 9 Encodage depuis un lecteur de CD-ROM 6 10 Lire des MP3 7 11 Retours 8

1 Introduction

Ce document décrit le matériel, les logiciels et les procédures à suivre pour créer et écouter des fichiers son MP3 sous Linux.

2 Copyright

Ce HOWTO est \begin{matrix}c \\ ◯ \end{matrix} Philip Kerr, 1999.

Sauf indication contraire, les droits d’auteur des HOWTO Linux sont détenus par leurs auteurs respectifs. Les HOWTO Linux peuvent être reproduits et distribués, en totalité ou en partie, sur tout média physique ou électronique dans la mesure où ce copyright est préservé dans chaque copie. La distribution commerciale en est autorisée et encouragée. L’auteur apprécierait toutefois qu’on lui notifie individuellement ce genre de distribution.

Le présent copyright doit couvrir toute traduction, compilation et autre travail dérivé des HOWTO Linux. C’est-à-dire qu’il est interdit d’imposer des restrictions de diffusion allant au delà du présent copyright à des ouvrages inspirés, ou incorporant des passages, de HOWTO Linux. Sous certaines conditions, des exceptions à ces règles seront tolérées : contactez le coordinateur des HOWTO à l’adresse donnée ci-dessous.

Pour résumer, nous souhaitons une diffusion aussi large que possible de ces informations. Néanmoins, nous entendons garder la propriété intellectuelle (copyright) des HOWTO, et apprécierions d’être informés de leur redistribution.

Pour toute question plus générale, merci de contacter le coordinateur des HOWTO, Tim Bynum, à l’adresse électronique linux-howto@metalab.unc.edu.

3 Où trouver ce document

La dernière version officielle de ce document se trouve sur le site du Linux Documentation Project <http:

//metalab.unc.edu/LDP/>. La dernière version française se trouve à <http://www.freenix.org/linux/
HOWTO/>.

4 Remerciements

Lors de l’écriture de ce document, je me suis largement inspiré du Sound-HOWTO de Jeff Tranter et du Sound-Playing-HOWTO de Yoo C. Chung.

Merci également aux autres auteurs de HOWTO, au travail desquels je me réfère:

– Linux System Administrators Guide de Lars Wirzenius

– Linux Network Administrators Guide d’Olaf Kirch

– Multi Disk System Tuning HOWTO de Stein Gjoen

4.1 Dénégation

Vous utilisez les informations contenues dans ce document à vos propres risques. Nous déclinons toute responsabilité quant à son contenu. L’utilisation des concepts, des exemples ou de tout autre contenu se fait entièrement à vos propres risques.

Tous les droits sont détenus par leurs propriétaires respectifs, sauf mention contraire explicite. L’utilisation d’un terme dans ce document ne constitue pas une limitation à sa validité en tant que marque.

Le fait de citer un produit ou une marque particulière ne constitue pas une adhésion.

Il est fortement conseillé d’effectuer une sauvegarde de votre système avant une installation importante ainsi qu’à intervalles réguliers.

5 Matériel nécessaire et influence sur les performances

Le traitement de son numérique est une tâche qui demande beaucoup de ressources, notamment en termes de puissance de calcul et d’entrées/sorties. Je recommande fortement une machine de type Pentium au minimum.

Si vous voulez produire des MP3 à partir d’une source analogique, une carte son PCI donnera les meilleurs résultats. La différence de performance entre les E/S d’une carte ISA et celles d’une carte PCI sont importantes (environ 132 Mbps pour du PCI, d’après le PCI-HOWTO). Naturellement, meilleur est le rapport signal/bruit de la carte, meilleur est le MP3 produit. J’ai utilisé une Soundblaster PCI128, et je suis récemment passé à une Soundblaster Live Value. Les deux cartes ont de bonnes performances, mais la Live a un rapport signal/bruit sensiblement meilleur, assez bon pour un usage semi-professionnel. Souvenez-vous de la vieille maxime du traitement de données: si vous partez de déchets, vous obtiendrez des déchets.

Lorsque vous enregistrez du son directement sur un disque dur (enregistrement d2d, direct-to-disk), les performances du disque et de son interface sont primordiales. Si vous utilisez un système basé sur de l’IDE, le mode 4 ou l’UDMA sont préferables, dans la mesure où ils ont un débit presque acceptable.

La solution idéale reste un système à base de SCSI, dont les disques et les interfaces ont un bien meilleur débit, de 5 Mo/s pour le SCSI-1 à 80 Mo/s pour le SCSI ultra-wide. L’IDE peut aller jusqu’à des vitesses variant de 8,3 Mo/s à 33 Mo/s pour l’Ultra-ATA, mais il s’agit de crêtes, les débits moyens seront plus faibles. Si vous pouvez trouver ou vous offrir un disque SCSI AV, allez-y. Les disques AV ont des têtes de lecture/écriture optimisées pour les transferts continus de données; les autres disques SCSI et IDE ne peuvent normalement soutenir un transfert de données car leurs têtes chauffent trop !

Naturellement, un disque équipé de cache donnera des résultats plus homogènes, vu que le cache peut servir de tampon lorsque les têtes se déplacent ou ne peuvent pas soutenir le débit.

Si votre disque n’est pas à la hauteur, vos enregistrements seront parsemés de coupures et d’erreurs lorsque le disque n’arrivera pas à enregistrer le signal. Si vous enregistrez des événements uniques, comme des concerts, investissez dans un bon système disque SCSI.

Une charge système élevée peut aussi causer des coupures dans des enregistrements d2d. Des tâches de fond peuvent momentanément occuper le système. Il vaut mieux réduire les services au minimum vital, particulièrement les services réseau. Pour plus d’informations à propos des services réseau et des scripts de démarrage, reportez-vous au SAG et au NAG.

La pagination de la mémoire virtuelle peut aussi provoquer des erreurs, donc mettez le plus de mémoire physique possible. Je recommande au moins 32 Mo, mais vous pouvez avoir besoin de plus.

Pour ceux qui veulent tirer le maximum de leur système, optimiser le noyau ne fera probablement pas de mal.

Alors que le matériel ci-dessus vous donnera un système acceptable pour encoder des données sonores, ne négligez pas l’emploi de matériel plus ancien et moins performant si c’est tout ce à quoi vous avez accès.

La configuration d’un système bas de gamme pour donner de bons résultats sera un défi intéressant pour un administrateur système, et le résultat sera probablement une machine Linux plus heureuse.

Un autre point important est la connectique. Des cãbles et des connecteurs bon marché et de mauvaise qualité donneront un enregistrement de mauvaise qualité. Si votre carte le permet, utilisez des connecteurs phono (RCA). Des contacts plaqués or aideront aussi à obtenir un son de bonne qualité. Enfin, séparez bien les câbles audio des câbles transmettant d’autres données pour éviter les risques d’interférences.

Mais n’oubliez pas, une fortune dépensée en câbles sera perdue si le reste du système n’est pas optimisé.

Pour encoder des MP3 depuis un CD-ROM, la vitesse et le type du lecteur déterminent le temps nécessaire à l’extraction des informations. Un lecteur simple vitesse est probablement trop lent sauf pour les plus patients.

Votre lecteur de CD-ROM doit être connecté à votre carte son, ou bien au moyen du connecteur interne, ou bien en branchant la sortie casque du lecteur sur l’entrée ligne de la carte son. Pour des informations détaillées sur la configuration des cartes son, lisez le Sound-HOWTO.

6 Logiciels nécessaires

La conversion de son en MP3 se fait normalement en deux étapes. D’abord, le son est enregistré au format WAV, puis le WAV est converti en MP3. Le support du son que vous voulez encoder, CD ou enregistrement direct, déterminera les logiciels nécessaires à la production du fichier WAV. Si vous voulez enregistrer depuis une source sonore, vous aurez besoin d’un programme pour lire les données sur l’entrée de votre carte son et les sauvegarder au format WAV. Voici quelques logiciels utiles. Wavrec Wavrec fait partie du paquetage Wavplay, qui peut être téléchargé sur :

<ftp://metalab.unc.edu/pub/Linux/apps/sound/players/>

Pour convertir des CD audio au format WAV (extraction de CD) : CDDA2WAV

<http://metalab.unc.edu/pub/Linux/apps/sound/cdrom/>

Cdparanoia

<http://www.xiph.org/>

Pour convertir les fichiers WAV au format MP3 : Blade’s MP3 Encoder

<http://bladeenc.cjb.net>

Pour lire les MP3, il vout faut un lecteur : Xmms (anciennement X11Amp)

<http://www.xmms.org>

Xaudio

<http://www.xaudio.com>

Vous aurez peut-être également besoin d’un mixeur ; Xmixer, inclus dans la plupart des distributions, fonctionne bien.

7 Configuration du système

Cette section décrit les bases de la configuration de Linux en vue de l’enregistrement de son depuis une source analogique ou un CD audio. J’ai pris comme base mon système Intel sous Red Hat 5.2, mais cette section devrait être raisonnablement indépendante de la distribution utilisée. Je traiterai prochainement de la plate-forme Sparc. Si ce HOWTO vous est utile avec d’autres types de matériel, merci de me contacter. Naturellement, une carte son en état de marche est un pré-requis raisonnable. Pour cela, je vous invite à lire l’excellent Linux Sound HOWTO de Jeff Tranter et le Linux Sound Playing HOWTO de Yoo C. Chung.

Ces deux HOWTO décrivent l’art et la manière de configurer le son sous Linux beaucoup mieux que je ne saurais le faire.

7.1 Configuration pour la capture d’une source analogique

Pour commencer, configurez votre équipement audio. Il existe de multiples façons d’amener le son jusqu’à votre machine Linux. Voici les plus communes :

Sortie ligne vers entrée ligne. La plupart des appareils audio ont une sortie ligne. Le niveau ligne est un standard précisant la tension et l’intensité du courant émis par l’appareil. Si je me souviens bien, l’intensité est de 500 mA pour les équipements domestiques et semi-pro et 750 mA pour les équipements pro. Je suppose que la plupart des cartes son utilisent le standard à 500 mA, mais certaines cartes pro récentes peuvent utiliser l’autre. La différence ne devrait pas être trop importante si vous n’enregistrez pas à un volume très important.

La sortie ligne est généralement utilisée pour connecter des équipements hi-fi à un amplificateur, donc les tuners radio et les platines cassette, CD, DAT, Mini-Disc et autres devraient pouvoir se brancher sans problème. Les tourne-disques peuvent être plus embêtants; voir ci-dessous pour en savoir plus.

Vous pouvez aussi capturer du son depuis un magnétoscope. La plupart des magnétoscopes ont une sortie ligne, ou vous pouvez obtenir un signal au niveau ligne depuis une prise péritel si votre magnétoscope en est équipé.

Sortie d’amplificateur vers entrée ligne, sortie ligne vers entrée cassette sur l’amplificateur. Essentiellement, vous remplacez la platine cassette reliée à votre ampli hi-fi par votre système Linux. Le lien entre la sortie ligne et l’entrée de l’ampli permet de contrôler le niveau de l’enregistrement.

Micro sur entrée micro. Le courant généré par un microphone est beaucoup plus faible que le niveau ligne. Si vous branchez votre micro sur votre entrée ligne, vous n’enregistrerez probablement jamais rien.

Attention, l’inverse, brancher la sortie ligne d’un appareil sur l’entrée micro, peut endommager votre carte son !

Tourne-disques sur entrée micro. Hélas, je ne dispose pas d’informations à ce sujet pour le moment. Si je me souviens bien, le tourne-disques devrait être branché sur l’entrée micro, vu qu’il utilise un mécanisme similaire et des courants comparables.

Les claviers et synthés doivent être branchés sur l’entrée ligne, et les guitares sur l’entrée ligne via une boîte de direct (DI box, utilisée pour convertir le signal au niveau ligne).

Avant de brancher quoi que ce soit sur votre carte son, assurez-vous que le volume est reglé au minimum et que les éventuels micros ne sont pas tournés vers les haut-parleurs.

7.2 Configuration pour l’extraction de son depuis un CD

Configurer votre système Linux pour extraire le son d’un CD avec votre lecteur de CD-ROM est relativement simple.

Si vous pouvez écouter un CD audio avec votre lecteur branché sur votre carte son, il y a des chances que vous puissiez l’enregistrer.

7.3 Configuration additionnelle

Logez-vous normalement sur votre système, puis utilisez un programme mixeur pour regler des niveau d’enregistrement assez forts pour avoir un son décent, mais pas trop pour éviter la distorsion. Normalement, j’évalue ça à l’oreille ; après quelques temps, vous connaîtrez le meilleur niveau pour votre système.

Je recommande ou bien d’arrêter tous les services non indispensables, ou bien de passer en mode utilisateur seul, en particulier si vous enregistrez depuis une source extérieure. Cela assure que seuls un nombre minimum de services fonctionnent, et donc que les erreurs d’enregistrement sont réduites au minimum.

J’ai réservé un disque SCSI à l’enregistrement du son. J’y ferai référence comme /mnt/mp3. J’ai fait cela principalement pour le gain de performances apporté par un disque SCSI. De plus, enregistrer sur un disque séparé, dont vous savez que la tête ne va pas tout à coup se déplacer à l’autre bout du disque pendant que vous êtes en train d’enregistrer, est une Bonne Chose. :-)

Pour les détails de la configuration d’un système Linux avec plusieurs disques, la lecture du Multi-Disk-HOWTO de Stein Gjoen peut être utile.

8 Encodage depuis une source audio

Premièrement, assurez-vous que vous avez suffisamment de place sur votre disque dur. Pour un enregistrement de qualité CD (44,1 kHz, 16 bits, stéréo), une minute prend près de 5 Mo.

En général, j’enregistre avec une qualité DAT, 48 kHz, 16 bits, stéréo.

Avec wavrec, j’utilise la syntaxe suivante:

     /usr/local/bin/wavrec -t 60 -s 48000 -S /mnt/mp3/temp.wav

La première partie est le chemin d’accès explicite de wavrec. le -t 60 précise la durée de l’enregistrement en secondes. l’option -s 48000 donne la fréquence d’échantillonnage en bits/s (la fréquence du DAT est 48000, celle du CD, 44100). La dernière option indique le fichier de sortie.

Pour voir la liste complète des options, lancez wavrec -help ou lisez le manuel.

Ceci va produire un fichier WAV. Ensuite, vous allez devoir l’encoder au format MP3. Utilisez bladeenc avec la ligne de commande suivante.

     /usr/local/bin/bladeenc [fichier source] [fichier destination] -br 256000

L’option -br précise la fréquence. En l’occurrence, je l’ai reglée au maximum: 256 kbits/s. Le chemin d’accès de bladeenc peut aussi être différent sur votre système de celui de mon exemple.

Pour voir la liste des options, lancez bladeenc -help. En fait, il s’agit d’une option invalide, mais cela va afficher la liste des options.

9 Encodage depuis un lecteur de CD-ROM

Là encore, vérifiez que vous avez suffisamment de place sur votre disque dur.

J’ai écrit un petit script Perl pour extraire et encoder des pistes d’un CD.

     #!/usr/bin/perl
     if ($ARGV[0] ne "") {
     $count = 1;
     do {
     $cdcap = system("cdparanoia", $count, "/mnt/mp3/tmp/cdda.wav");

     $track = "$ARGV[1]/track".$count.".mp3";
     $benc = system("bladeenc  /tmp/cdda.wav $track -br 256000");
     $count++;
     }
     until $count > $ARGV[0];
     exit;
     }
     else {
     print "Usage cdriper [nombre de pistes] [répertoire cible]\n\n";
     }

La ligne intéressante est

     $cdcap = system("cdparanoia", $count, "/mnt/mp3/tmp/cdda.wav");

Cette ligne appelle l’extracteur de CD audio, cdparanoia, qui convertit les données brutes extraites d’un CD en fichier WAV. Les options sont $count (le nombre de pistes à extraire), puis le chemin d’accès des fichiers WAV produits. Dans mon exemple, il d’agit d’un répertoire tmp sur mon disque réservé aux MP3. Les fichiers WAV sont ensuite convertis en MP3 avec bladeenc. J’ai écrit ce script pour extraire tout un CD sans devoir extraire et encoder chaque piste séparément, et sans utiliser le traitement par lots de cdparanoia, qui extrait tout le disque, ce qui peut occuper jusqu’à 600 Mo. Remarquez que ce script est très simple et ne s’embarrasse pas de détails comme la récupération d’erreurs. Vous êtes libre de l’améliorer. :-)

10 Lire des MP3

Maintenant, vous devriez avoir quelques fichiers MP3 prêts à lire. Les deux lecteurs MP3 les plus appréciés sous Linux sont Xaudio et xmms (anciennement x11amp). J’ai donné des liens vers leurs sites web dans la section 6 (Logiciels nécessaires). Pour l’écriture de ce HOWTO, je me suis appuyé sur Xaudio, principalement parce qu’il est utilisable avec ou sans X. Ce logiciel est un partagiciel. Il s’agit en fait d’un ensemble de programmes, dont les plus intéressants pour

nous sont xaudio et mxaudio.

Après l’avoir installé sur votre système, vous avez le choix entre utiliser la version en ligne de commande

xaudio ou la version X mxaudio.

L’interface de mxaudio est agréable et simple à utiliser. La liste des options de xaudio peut être obtenue avec l’option -help (xaudio -h). Pour lire un fichier, utilisez xaudio fichier.mp3. Pour lire le contenu d’un répertoire, xaudio *.mp3. Les deux programmes sont accompagnés de fichiers README.

11 Retours

De nouveaux matériels et logiciels sortent sans cesse. Si vous utilisez des versions plus récentes du matériel et/ou des logiciels décrits dans ce HOWTO, ou si vous pouvez ajouter quoi que ce soit, envoyez-moi vos informations à phil@websentric.com pour que je les rajoute à la prochaine version.

Bons MP3 !