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 _M_P_3 sous Linux. ______________________________________________________________________ Table des matières 1. Introduction 2. Copyright 3. Où trouver ce document 4. Remerciements 4.1 Dénégation 5. Matériel nécessaire et influence sur les performances 6. Logiciels nécessaires 7. Configuration du système 7.1 Configuration pour la capture d'une source analogique 7.2 Configuration pour l'extraction de son depuis un CD 7.3 Configuration additionnelle 8. Encodage depuis une source audio 9. Encodage depuis un lecteur de CD-ROM 10. Lire des MP3 11. Retours ______________________________________________________________________ 11.. IInnttrroodduuccttiioonn Ce document décrit le matériel, les logiciels et les procédures à suivre pour créer et écouter des fichiers son _M_P_3 sous Linux. 22.. CCooppyyrriigghhtt Ce HOWTO est © 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. 33.. OOùù ttrroouuvveerr ccee ddooccuummeenntt La dernière version officielle de ce document se trouve sur le site du Linux Documentation Project . La dernière version française se trouve à . 44.. RReemmeerrcciieemmeennttss Lors de l'écriture de ce document, je me suis largement inspiré du _S_o_u_n_d_-_H_O_W_T_O de Jeff Tranter et du _S_o_u_n_d_-_P_l_a_y_i_n_g_-_H_O_W_T_O de Yoo C. Chung. Merci également aux autres auteurs de HOWTO, au travail desquels je me réfère: · _L_i_n_u_x _S_y_s_t_e_m _A_d_m_i_n_i_s_t_r_a_t_o_r_s _G_u_i_d_e de Lars Wirzenius · _L_i_n_u_x _N_e_t_w_o_r_k _A_d_m_i_n_i_s_t_r_a_t_o_r_s _G_u_i_d_e d'Olaf Kirch · _M_u_l_t_i _D_i_s_k _S_y_s_t_e_m _T_u_n_i_n_g _H_O_W_T_O de Stein Gjoen 44..11.. DDéénnééggaattiioonn 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. 55.. MMaattéérriieell nnéécceessssaaiirree eett iinnfflluueennccee ssuurr lleess ppeerrffoorrmmaanncceess 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 _P_C_I_-_H_O_W_T_O). 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 _S_A_G et au _N_A_G. 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 _S_o_u_n_d_-_H_O_W_T_O. 66.. LLooggiicciieellss nnéécceessssaaiirreess 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. _W_a_v_r_e_c Wavrec fait partie du paquetage Wavplay, qui peut être téléchargé sur : Pour convertir des CD audio au format WAV (extraction de CD) : _C_D_D_A_2_W_A_V _C_d_p_a_r_a_n_o_i_a Pour convertir les fichiers WAV au format MP3 : _B_l_a_d_e_'_s _M_P_3 _E_n_c_o_d_e_r Pour lire les MP3, il vout faut un lecteur : _X_m_m_s _(_a_n_c_i_e_n_n_e_m_e_n_t _X_1_1_A_m_p_) _X_a_u_d_i_o Vous aurez peut-être également besoin d'un mixeur ; Xmixer, inclus dans la plupart des distributions, fonctionne bien. 77.. CCoonnffiigguurraattiioonn dduu ssyyssttèèmmee 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 _L_i_n_u_x _S_o_u_n_d _H_O_W_T_O de Jeff Tranter et le _L_i_n_u_x _S_o_u_n_d _P_l_a_y_i_n_g _H_O_W_T_O 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. 77..11.. CCoonnffiigguurraattiioonn ppoouurr llaa ccaappttuurree dd''uunnee ssoouurrccee aannaallooggiiqquuee 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. _A_t_t_e_n_t_i_o_n, 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. 77..22.. CCoonnffiigguurraattiioonn ppoouurr ll''eexxttrraaccttiioonn ddee ssoonn ddeeppuuiiss uunn CCDD 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. 77..33.. CCoonnffiigguurraattiioonn aaddddiittiioonnnneellllee 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 _M_u_l_t_i_-_D_i_s_k_-_H_O_W_T_O de Stein Gjoen peut être utile. 88.. EEnnccooddaaggee ddeeppuuiiss uunnee ssoouurrccee aauuddiioo 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 _[_f_i_c_h_i_e_r _s_o_u_r_c_e_] _[_f_i_c_h_i_e_r _d_e_s_t_i_n_a_t_i_o_n_] -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. 99.. EEnnccooddaaggee ddeeppuuiiss uunn lleecctteeuurr ddee CCDD--RROOMM 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. :-) 1100.. LLiirree ddeess MMPP33 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 ``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. 1111.. RReettoouurrss 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 ! .