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 !
.