Linux MP3 HOWTO Phil Kerr phil@plus24.com, traduction Frédéric Bothamy fbothamy@mail.dotcom.fr v1.61, 16 Décembre 2001, traduction Décembre 2001 _________________________________________________________________ _Ce document décrit le matériel, les logiciels et les procédures à suivre pour créer, écouter et diffuser des fichiers son MP3 sous Linux._ _________________________________________________________________ 1. Introduction Ce document décrit le matériel, les logiciels et les procédures à suivre pour créer, écouter et diffuser des fichiers son _MP3_ sous Linux. Il recouvre : * L'encodage de MP3 en direct ou depuis une source extérieure * L'encodage de MP3 depuis un CD audio * La diffusion de MP3 sur un réseau * L'écoute des MP3 * L'enregistrement de flux de MP3 * Le mixage de MP3 * L'édition des informations ID3 2. Copyright Ce HOWTO est © Phil Kerr, 1999, 2000. Ce document est distribué sous les termes de la GNU Free Documentation License. Vous devriez en avoir reçu une copie l'accompagnant. Dans le cas contraire, elle est disponible depuis http://www.fsf.org/licenses/fdl.html. 3. Où trouver ce document La dernière version officielle de ce document se trouve sur le site du Linux Documentation Project http://www.linuxdoc.org/. Le site web de ce HOWTO est http://www.mp3-howto.com/. 3.1 Traductions Ce document a été traduit dans les langues suivantes : _Notez bien que les traductions peuvent être plus anciennes que la version originale, dans la mesure où traduire prend du temps._ _Coréen_ http://kldp.org/HOWTO/MP3-HOWTO par Lee, So-min _Français_ http://www.freenix.org/unix/linux/HOWTO/MP3-HOWTO.html par Frédéric Bothamy _Hongrois_ http://free.netlap.hu/howto/MP3-HOGYAN.html par Andras Timar _Italien_ ftp://ftp.pluto.linux.it/pub/pluto/ildp/HOWTO/MP3-HOWTO par Mariani Dario _Espagnol_ http://www.insflug.org/documentos/MP3-Como par Arielo _Hollandais_ http://nl.linux.org/doc/HOWTO/MP3-HOWTO-NL.html par Reggy Ekkebus _Japonais_ http://www.linux.or.jp/JF/JFdocs/MP3-HOWTO.html par Saito Kan _Slovène_ http://www.lugos.si/delo/slo/HOWTO-sl/MP3-HOWTO-sl.html par Jernej Kovacic Merci beaucoup à tous ces traducteurs. Si vous voulez traduire ce HOWTO dans une autre langue, merci d'envoyer un e-mail à l'auteur (NdT : en anglais), en précisant l'URL où se trouvera la traduction. 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 Un grand merci également pour tous ceux qui m'ont envoyé des commentaires ou signalé des erreurs. 5. 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. 6. 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 à partir de l'entrée ligne ou d'un microphone, 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 est importante (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 encodé. 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. Creative propose un pilote en version bêta pour la Soundblaster Live!, qui peut être téléchargé depuis http://developer.soundblaster.com/linux/. 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éférables, dans la mesure où ils ont un débit suffisant pour assurer l'integrité des données transférées. 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 à 66 Mo/s pour l'Ultra DMA mode 4, 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. Pour la diffusion de MP3 sur le réseau, meilleure est la carte réseau, meilleure sera le débit, naturellement une interface 100 Mb donnera un meilleur débit qu'une interface 10 Mb. 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 audio. 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. Bien entendu, vous ne pourrez pas écouter de MP3 via la sortie casque du lecteur ! Pour des informations détaillées sur la configuration des cartes son, lisez le _Sound-HOWTO_. 7. Logiciels nécessaires La conversion du 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. Certains utilitaires accompliront les deux transformations en une seule fois. 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 audio extérieure, 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. La plupart des commentaires proviennent des sites web des applications en question. 7.1 Extracteurs de CD et enregistreurs WAV Pour enregistrer des données analogiques via l'entrée ligne : _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_ Cdparanoia est un outil d'extraction de compact disc audio numérique (CDDA, Compact Disc Digital Audio), parfois appelé "ripper". L'application est construite au-dessus de la bibliothèque Paranoia qui effectue le vrai travail (les sources de Paranoia sont fournies avec la distribution source de cdparanoia). Tout comme cdda2wav, cdparanoia lit directement les données enregistrées sur le CD, sans passer par un quelconque format analogique, et écrit les données dans un fichier ou dans un tube, au format WAV, AIFC ou PCM linéaire 16 bits brut. Par rapport à cdda2wav, il est beaucoup plus lent, mais il donne les meilleurs résultats possibles, même avec des CD rayés ou difficiles à lire. http://www.xiph.org/paranoia/index.html _RipEnc_ RipEnc est un script en Bourne shell qui sert de frontal à cdparanoia, cdda2wav, tosha et bladeenc, 8hz-mp3, l3enc. Il utilise le protocole CDDB pour trouver le nom des morceaux au fur et à mesure de leur extraction. Une option permettant de les nommer manuellement est aussi disponible. Vous pouvez extraire la totalité du CD ou choisir certains morceaux. Les marques ID3 sont également supportées. http://www.asde.com/~mjparme/index.htm _Cd2mp3_ cd2mp3 est un logiciel gratuit, conçu pour gérer 2 autres programmes cdda2wav (qui extrait les pistes du CD) et lame (qui encode les MP3). http://sertaozinho.org/cd2mp3/index.html _RipperX_ RipperX est un programme en GTK pour extraire les CD audio et encoder les MP3. Il peut utiliser cdparanoia, bladeenc, lame, XingMp3enc, 8hz-mp3 et l'encodeur ISO v2. Il supporte également CDDB et les marques ID3. http://www.digitallabyrinth.com/linux/ripperX/ _Grip_ Grip est un lecteur et extracteur de CD et encodeur MP3 utilisant GTK. Il possède nativement les capacités d'extraction de cdparanoia, mais il peut également utiliser des extracteurs extérieurs comme cdda2wav. Il fournit aussi un frontal automatique pour les encodeurs MP3 et vous permet de prendre un CD et de transformer facilement son contenu en MP3. Le protocole CDDB est supporté, ce qui permet de récupérer les informations concernant le disque depuis des serveurs de bases de données. Grip fonctionne avec DigitalDJ pour fournir une version numérique cohérente de votre collection de CD. http://www.nostatic.org/grip/ 7.2 Encodeurs Vous en aurez besoin pour convertir vos fichiers WAV au format MP3 : _Blade's MP3 Encoder_ BladeEnc est un encodeur MP3 gratuit. Il est construit autour des mêmes routines de compression ISO que mpegEnc, donc vous pouvez vous attendre à un résultat à peu près équivalent, voire meilleur. Les principales différences sont l'apparence et la vitesse. BladeEnc ne dispose pas d'une belle interface utilisateur comme mpegEnc, mais il est plus de trois fois plus rapide, et il dispose de plusieurs frontaux graphiques. http://bladeenc.cjb.net _Lame_ Dans la tradition des noms GNU, LAME signifie _LAME Ain't an MP3 Encoder_ (NdT : LAME n'est pas un encodeur MP3). D'ailleurs, LAME _n'est pas_ un encodeur MP3. Il s'agit d'un patch applicable aux sources de démonstration dist10 de l'ISO, sous licence GPL. LAME est totalement incapable de produire un flux MP3. En fait, il ne peut même pas être compilé seul. Vous aurez besoin des sources ISO pour le faire fonctionner. Ces sources sont également disponibles gratuitement, mais tout usage commercial (y compris la distribution d'un encodeur gratuit) nécessite l'accord de FhG (Fraunhofer Gesellschaft, Allemagne). http://www.sulaco.org/mp3/ _Gogo_ Il s'agit d'un encodeur MP3 extrêmement rapide pour x86, dérivé de la version 3.29 bêta de LAME et optimisé par PEN@MarineCat, Keiichi SAKAI, URURI, kei et shigeo. Pour le compiler, vous aurez besoin de NASM, disponible à l'adresse http://www.web-sites.co.uk/nasm/. http://homepage1.nifty.com/herumi/gogo_e.html 7.3 Lecteurs Pour lire les MP3, il vout faut bien sûr un lecteur : _Xmms (anciennement X11Amp)_ Ce lecteur dispose de la plupart des fonctionnalités de Winamp (disponible sous Windows 95/98/NT), en plus de quelques fonctionnalités propres à la version Linux. http://www.xmms.org _Xaudio_ Xaudio est une application multi-plate-formes très rapide et très robuste permettant la lecture de son numérique, orientée plus particulièrement vers le décodage de flux audio MPEG (MP1, MP2, MP3). http://www.xaudio.com _AlsaPlayer_ AlsaPlayer est un nouveau type de lecteur PCM. Il est fortement multi-threadé et essaye de tirer le maximum des bibliothèques et des pilotes ALSA. Il dispose de quelques fonctionnalités très intéressantes, uniques parmi les lecteurs Linux/Unix. Le but est de créer un canevas modulaire pour l'utilisation de toute sorte de médias, principalement orienté vers la lecture de son PCM. _Contrôle total de la vitesse (pitch), vers l'avant *et* l'arrière. Le premier lecteur sous Linux, et le seul sous GPL, à faire ça ! Les MP3 et les CD peuvent être écoutés à vitesse variable :-)_ http://www.alsa-project.org/~andy/ _mpg123_ Qu'est-ce que mpg123 ? Il s'agit d'un lecteur audio MPEG pour Unix, rapide, libre et portable. Il supporte les couches 1, 2 et 3 (les fameux MP3) des flux MPEG 1.0/2.0, et il a été testé avec succès sur de nombreuses plate-formes, y compris Linux, FreeBSD, NetBSD, SunOS, Solaris, IRIX et HP-UX. Pour une lecture de qualité CD (44 kHz, 16 bits, stéréo), un Pentium (ou un 486 rapide), une SPARCstation 10, un DEC Alpha ou un processeur similaire est nécessaire. Une lecture mono et/ou de qualité réduite (22 kHz ou 11 kHz) est possible même sur un 486 plus lent. http://dorifer.heim3.tu-clausthal.de/~olli/mpg123/ _FreeAmp_ FreeAmp est un lecteur audio extensible et multi-plate-formes. Il dispose d'une version optimisée du décodeur MPEG Xing, sous GPL, qui en fait un des lecteurs les plus rapides et donne l'un des meilleurs rendus sonores. FreeAmp dispose des fonctionnalités les plus courantes auxquelles les utilisateurs sont habitués et d'un interface propre et facile à utiliser. http://www.freeamp.org/ 7.4 Serveurs de diffusion Les serveurs de diffusion vous permettent de diffuser des MP3 à travers un réseau, qu'il s'agisse de votre réseau local ou d'Internet. _Icecast_ Icecast est un système de diffusion de flux audio MPEG couche 3, conçu par l'équipe de linuxpower.org. Icecast est fourni avec iceplay et icedir. Iceplay permet de gérer la liste des morceaux à jouer et d'envoyer les fichiers pré-encodées à votre serveur Icecast. http://www.icecast.org/ _Fluid_ Le serveur de flux Fluid est un programme permettant de diffuser des flux multimédia sur un réseau. Sous sa forme actuelle, il utilise le format MP3. http://www.subside.com/fluid/ (ancien site) http://fluid.sourceforge.net/ (nouveau site) _Litestream_ Litestream est un système Open Source très échelonnable de diffusion de MP3 pour Unix. http://www.litestream.net/ _Apache::MP3_ C'est un module de diffusion de MP3 utilisant le serveur Web Apache. Ce module utilise une arborescence de répertoires contenant des fichiers MP3 et la présente comme une bibliothèques de chansons à explorer sur le web. [Disponible sur le site de CPAN] 7.5 Mixage _LiveIce_ LiveIce est le client source d'Icecast, qui encode un flux MP3 pour le diffuser au fur et à mesure de sa création. Contrairement à des clients comme Shout ou IceDJ, il permet la diffusion en direct, et pas seulement depuis des MP3 enregistrés au préalable. LiveIce est fourni avec Icecast, des versions récentes et de la documentation se trouvent sur le site suivant : http://star.arm.ac.uk/~spm/software/liveice.html _eMixer_ eMixer est un frontal facile d'utilisation à mpg123 qui permet de jouer et de mixer deux flux MP3 ensemble. La capacité de mixer deux flux permet d'utiliser eMixer comme 'cross-fader' et donne à l'utilisateur les mêmes possibilités qu'à un DJ. eMixer est également bien adapté à un environnement "temps réel", comme une soirée dansante. eMixer est bâti autour du même code de mixage de MP3 que le mixeur de LiveIce. http://emixer.linuxave.net/ _GDAM_ GDAM est un logiciel temps réel numérique de mixage DJ. Plusieurs fichiers MP3 peuvent être joués et mixés simultanément. Des effets peuvent être ajoutés, changés et réarrangés dynamiquement. GDAM propose une architecture client-serveur ; toute la partie son est produite par le serveur qui reçoit des instructions des clients. Les autres fonctionnalités incluent des plugins pour des effets audio et des composants interface, des fonctions de cache et de boucle, du séquençage, de la correspondance de rythme assistée, un visualiseur de fréquences/calculateur de rythme, une gestion de file en continue (pas de pause entre les chansons d'une liste), un système d'aide en ligne, un clone de mpg123 tournant sur un serveur gdam, une interface flexible en ligne de commande pour un contrôle direct du serveur, l'enregistrement d'un mixage entier ou de tout point dans le flux vers le cache/disque/encodeur mp3, le support de plusieurs périphériques son et le support du contrôle matériel midi. http://gdam.org/ URL alternative : http://gdam.sourceforge.net 7.6 Éditeurs ID3 _id3ed_ id3ed est un éditeur de marques ID3 pour les fichiers MP3. Vous pouvez positionner des marques interactivement ou à partir de la ligne de commande ou une combinaison des deux. id3ed peut positionner le genre par le nom ou par le numéro associé. Vous pouvez également enlever ou visualiser les marques. http://www.azstarnet.com/~donut/programs/id3ed.html _mp3info_ MP3info est un petit outil pour lire ou écrire les marques ID3 des MP3. Des versions console (ligne de commande et interactive par ncurses) et graphique utilisant GTK sont incluses. http://metalab.unc.edu/mp3info/ 7.7 Enregistreurs de flux _Streamripper_ Streamripper enregistre les flux shoutcast. Si le flux contient des informations sur la piste (meta data), streamripper crée un fichier séparé pour chaque piste. http://streamripper.sourceforge.net/ _Wget_ GNU Wget est un utilitaire réseau librement disponible pour récupérer des fichiers sur l'Internet utilisant HTTP et FTP, les deux protocoles les plus largement utilisés. Il fonctionne non interactivement, ce qui lui permet donc de travailler en tâche de fond, après que l'utilisateur se soit déconnecté. _Wget est beaucoup plus qu'un simple enregistreur de flux !_ ftp://ftp.gnu.org/gnu/wget/ 7.8 Divers _Normalisation du volume_ _Wavnorm_ Si vous avez encodé un flux audio enregistré en direct ou si vous êtes parti d'un vieux CD, il se peut que le volume sonore varie. Pour changer le volume sonore de vos MP3, vous devrez les normaliser au moyen de wavnorm. http://www.zog.net.au/computers/wavnorm/ _SOX_ Sox est un utilitaire de conversion sonore très pratique dont je recommande l'utilisation. Vous en aurez besoin pour utiliser wavnorm. ftp://sunsite.unc.edu/pub/Linux/apps/sound/convert/ Vous pourrez également avoir besoin d'un programme de mixage ; Xmixer fonctionne bien, et il est inclus dans la plupart des distributions Linux. 8. 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, mais cette section devrait être raisonnablement indépendante de la distribution utilisée. 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. 8.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, la tension est de 500 mV pour les équipements domestiques et semi-pro et 750 mV pour les équipements pro. Je suppose que la plupart des cartes son utilisent le standard à 500 mV, 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 platines disques peuvent être plus embêtantes ; 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. La tension générée 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 ! Platine disques sur entrée micro. Merci à Mark Tranchant pour ce qui suit : _La sortie d'une platine disque se fait à un niveau très bas. Cependant, vous ne pouvez pas brancher la platine à une entrée micro et espérer de bons résultats. La sortie nécessite une égalisation, car les basses sont atténuées et les aigus amplifiés pour tirer le maximum de l'aiguille de la platine. Cette égalisation est définie très précisément ; il s'agit de l'égalisation RIAA. Vous *devez* passer la sortie de la platine à travers un préampli dédié, puis vers une entrée ligne._ 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 allumés et tournés vers les haut-parleurs. 8.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. 8.3 Configuration additionnelle Connectez-vous normalement à votre système, puis utilisez un programme de mixage pour regler des niveaux 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 /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. 9. 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 10 Mo (5 Mo par canal). 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 /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 $ARGV[0]; exit; } else { print "Usage cdriper [nombre de pistes] [répertoire cible]\n\n"; } ______________________________________________________________ Notez que ce script est très rudimentaire et ignore complètement les perfectionnements tels que la vérification d'erreur ou l'utilisation de CDDB. Améliorez-le tant que vous voudrez :-) La ligne intéressante est _________________________________________________________________ $cdcap = system("cdparanoia", $count, "/mp3/cdda.wav"); _________________________________________________________________ Cette ligne appelle l'extracteur de CD audio, cdparanoia, qui convertit les données brutes extraites d'un CD en fichier WAV. J'utilise cdparanoia, mais vous pourriez aussi bien utiliser cdda2wav. Dans ce cas, cette ligne devient : _________________________________________________________________ $cdcap = system("cdda2wav", $count, "/mp3/cdda.wav"); _________________________________________________________________ Les options sont $count (le nombre de pistes à extraire), puis le chemin d'accès des fichiers WAV produits. Dans mon exemple, il s'agit de 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. Si vous préferez utiliser Lame ou Gogo, remplacez la ligne _________________________________________________________________ $enc = system("bladeenc /mp3/cdda.wav $track -br 256000"); _________________________________________________________________ par _________________________________________________________________ $enc = system("lame /mp3/cdda.wav $track -b 256"); _________________________________________________________________ ou _________________________________________________________________ $enc = system("gogo /mp3/cdda.wav $track -b 256"); _________________________________________________________________ Voici une liste des options disponibles pour chacun de ces encodeurs : Bladeenc _________________________________________________________________ BladeEnc 0.91 (c) Tord Jansson Homepage: http://bladeenc.mp3.no =============================================================================== BladeEnc is free software, distributed under the Lesser General Public License. See the file COPYING, BladeEnc's homepage or www.fsf.org for more details. Usage: bladeenc [options globales] entrée1 [sortie1 [options]] entrée2 ... Options générales : -[kbit], -br [kbit] Débit du flux MP3 en kbit/s. La valeur par défaut est 128 (64 pour une sortie mono) -crc Inclure un code de vérification dans le fichier MP3 -delete, -del Effacer le fichier WAV après un encodage réussi -private, -p Positionner le drapeau privé du fichier MP3 -copyright, -c Positionner le drapeau copyright du fichier MP3 -copy Enlever le drapeau original du fichier MP3 -mono, -dm Produire un MP3 mono à partir des deux canaux combinés -leftmono, -lm Produire un MP3 mono à partir du canal de gauche -rightmono, -rm Produire un MP3 mono à partir du canal de droite -swap Intervertir les canaux stéréo de droite et de gauche -rawfreq=[freq] Fréquence du flux brut (RAW). La valeur par défaut est 44100 -rawbits=[bits] Nombre de bits d'échantillonage pour chaque canal du flux brut. La valeur par défaut est 16 -rawmono Les flux bruts sont mono, pas stéréo -rawstereo Les flux bruts sont stéréo (valeur par défaut) -rawsigned Les flux bruts sont signés (valeur par défaut) -rawunsigned Les flux bruts ne sont pas signés -rawbyteorder=[order]Ordre des bits du flux brut : LITTLE ou BIG. -rawchannels=[1/2] Nombre de canaux pour les flux bruts. Même effet que -rawmono ou -rawstereo, respectivement. Options uniquement globales : -quit, -q Quitte sans attendre l'appui sur une touche une fois l'encodage terminé -outdir=[dir] Sauve les MP3 dans le répertoire spécifié -quiet Désactive les sorties à l'écran -nocfg Ignore le fichier de configuration -prio=[prio] Priorité de BladeEnc. Les valeurs possibles sont HIGHEST, HIGHER, NORMAL, LOWER, LOWEST(défaut) et IDLE -refresh=[rate] Fréquence de mise à jour de l'indicateur de progression. 1=rapide, 2=valeur par défaut -progress=[0-8] Quel indicateur de progression utiliser. 0=aucun, 1=défaut. Les fichiers d'entrée et de sortie peuvent être remplacés par STDIN et STDOUT, respectivement. _________________________________________________________________ Lame _________________________________________________________________ LAME version 3.50 (www.sulaco.org/mp3) GPSYCHO: GPL psycho-acoustic model version 0.74. USAGE : lame [options] [sortie] et/ou peuvent être "-", c'est à dire stdin/stdout. OPTIONS : -m mode (s)téréo, (j)oint, (f)orce ou (m)ono (par défaut j) force = force ms_stereo sur toutes les voix. Plus rapide et utilise les seuils de masquage spéciaux Mid & Side -b positionne le débit du flux, par défaut 128 kbps (pour les VBR, il s'agit du débit minimum autorisé) -s sfreq fréquence d'échantillonage du fichier d'entrée (en kHz) - p ar défaut 44.1 --resample sfreq fréquence d'échantillonage du fichier de sortie (en kHz) - par défaut, celle de l'entrée sfreq --mp3input le fichier d'entrée est un fichier MP3 --voice mode expérimental 'voice' -v utilise un débit variable (VBR) -V n paramètre de qualié pour le VBR. Par défaut n=4 0=meilleur qualité, fichiers plus gros. 9=plus petits fichi ers -t désactive la marque d'information VBR Xing --nohist désactive l'affichage de l'histogramme VBR -h utilise (peut-être) les améliorations de qualité -f mode rapide (basse qualité) -k désactive l'extinction sfb=21 -d permet différents types de blocs pour les canaux --athonly utilise seulement l'ATH pour le masquage -r l'entrée est du pcm brut -x force l'inversion des bits de l'entrée -a réduit le flux de stéréo vers mono pour en encodage mono -e emp post-correction n/5/c (obsolète) -p protection d'erreur. Ajoute un code d'erreur 16 bits à cha que séquence. (le code d'erreur est calculé correctement) -c ajoute la marque de copyright -o ajoute la marque non original -S n'affiche pas d'indicateur de progression, ni d'histogramme VBR Spécifier l'une des options suivantes ajoutera les marques ID3 --tt titre le la chanson (maximum 30 caractères) --ta <artist> artiste qui a fait la chanson (maximum 30 caractères) --tl <album> album d'où provient la chanson (maximum 30 caractèress) --ty <year> année au cours de laquelle la chanson a été faite (maximu m 4 caractères) --tc <comment> information supplémentaires (maximum 30 caractèress) MPEG1 samplerates(kHz): 32 44.1 48 bitrates(kbs): 32 48 56 64 80 96 112 128 160 192 224 256 320 MPEG2 samplerates(kHz): 16 22.05 24 bitrates(kbs): 8 16 24 32 40 48 56 64 80 96 112 128 144 160 _________________________________________________________________ Gogo _________________________________________________________________ GOGO-no-coda ver. 2.24 (Feb 12 2000) Copyright (C) 1999 PEN@MarineCat and shigeo Special thanks to Keiichi SAKAI, URURI, Noisyu and Kei This is based on LAME3.29beta and distributed under the LGPL usage gogo inputPCM [outputPCM] [options] inputPCM est le fichier d'entrée wav Si input.wav est `stdin', alors l'entrée est stdin outputPCM est le fichier de sortie mp3 (facultatif) Options -b kbps débit [kpbs] -br bps débit [ bps] -silent ne pas afficher d'indicateur de progression -off optimisation {3dn,mmx,kni(sse),e3dn} -v {0,..,9} VBR [0:haute qualité 9:haute compression] Il n'est conseillé d'utiliser cette option avec l'option -b que pour une entrée PCM brut -offset bytes saute la taille de l'en-tête -8bit PCM 8~bits [par défaut PCM 16~bits] -mono PCM mono [par défaut PCM stéréo] -bswap échange les bits de poids faible et fort pour le PCM 16~bits -s kHz fréquence du PCM [par défaut 44.1kHz] -nopsy désactive les psycho-acoustiques -m {s,m,j} format de sortie s:stéréo, m:mono, j:j-stéréo -d kHz change la fréquence d'échantillonage pour le MP3 produit -emh {n,c,5} post-correction -lpf {on,off} filtre 16~kHz [par défaut utilisé si <= 128~kbps ; non utilisé si >= 160kbps] -test mode test de performance -delete supprime le fichier d'entrée après l'encodage _________________________________________________________________ RipEnc RipEnc effectue la même tâche que le code ci-dessus, mais est écrit en shell et est plus facile à utiliser :-) Voici à quoi il ressemble : _________________________________________________________________ RipEnc version 0.7, Copyright (C) 1999 Michael J. Parmeley <mjparme@asde.com>, RipEnc comes with ABSOLUTELY NO WARRANTY Il n'y a actuellement PAS de processus d'encodage en tâche de fond Votre fichier encode.log fait 982607 octets. <Entrer 'd' pour les détails, 'v' pour voir le fichier journal d'encodage ou 'del' pour supprimer le fichier journal> 1) Changer le répertoire de travail.............[/megajukebox/tmp] 2) Choisir l'encodeur...........................[lame] 3) Choisir l'extracteur.........................[cdparanoia] 4) Choisir l'outil de marquage ID3..............[aucun] 5) Basculer entre le nommage manuel ou par CDDB.[manuel] 6) Positionner la variable XMCD_LIBDIR pour CDA.[/var/X11R6/lib/xmcd] 7) Positionner la convention de nommage préférée[artist-name_of_song.mp3] 8) Extraire le CD en entier ?...................[non] 9) Positionner l'option petit disque dur ?......[non] 10) Veuillez sélectionner votre Cd-Rom..........[/dev/cdrom] 11) Positionner le débit des MP3 encodés........[256] 12) Lister les fichiers du répertoire de travail 13) Démarrer 14) A propos 15) Sortir ? _________________________________________________________________ CD2MP3 Cd2mp3 est un encodeur CDDA vers MP3 en un seul passage. Il convertit une piste audio en MP3 sans produire de fichier intermédiaire. Voici à quoi il ressemble en fonctionnement : _________________________________________________________________ [dj@megajukebox]$ cd2mp3 options ALL Using language: 1 - English. Translator: Gustavo Sverzut Barbieri(k-s) <gsbarbieri@hotmail.com> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Cd2Mp3 1.0 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Author: Gustavo Sverzut Barbieri (k-s) <gsbarbieri@hotmail.com.br> *** device: -D/dev/cdrom type: -Icooked_ioctl *** audio device: /dev/dsp *** preset: tape *** copyright: Yes *** author: *** album: recording: '1' as 'track-1.mp3' (wait) Ok! (recorded) recording: '2' as 'track-2.mp3' (wait) _________________________________________________________________ Vous pouvez bien sur lui fournir des options sur la ligne de commande dont voici la liste : _________________________________________________________________ dj@megajukebox]$ cd2mp3 --help %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Cd2Mp3 1.0 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Author: Gustavo Sverzut Barbieri (k-s) <gsbarbieri@hotmail.com.br> Usage: cd2mp3 options <track_number>="<track name>" ... <track_number>="<track name> "or: cd2mp3 options ALL (to record all tracks) or: cd2mp3 options LIST=<reclist_path> (to read pairs: <track_number>="<track name>" from a file) ou: cd2mp3 options PLAY=<track_number> VOL=[0..100] (only plays the track) Options: DEV=<cdrom_device> (default: /dev/cdrom) DEV_TYPE=[generic_scsi|cooked_ioctl] (default: cooked_ioctl) AUDIO_DEV=<audio_device> (default:/dev/dsp) LANGUAGE=<language_number> (LANGUAGE=help to see supported languages) COPYRIGHT=[YES|NO] PRESET=[phone|voice|fm|tape|hifi|cd|studio] (PRESET=help will give more info) ALBUM="<album's title>" AUTHOR="<author's name>" _________________________________________________________________ 10.2 Encoder en mode graphique Les encodeurs en mode graphique offrent toutes les fonctionnalités de ceux en mode console, mais englobe le tout dans une interface agréable et facile à utiliser. Grip et RippperX sont semblables d'utilisation, tous deux permettent de choisir une, plusieurs ou toutes les pistes d'un CD et de les convertir. Ils offrent aussi le support CDDB qui vous permet de récupérer les informations sur l'album et les pistes à partir d'un serveur. Ceci vous évite d'avoir à les saisir à la main. 10.3 Performance des encodeurs Dans la section sur l'encodage, j'ai mentionné 3 encodeurs différents : bladeenc, lame et gogo. La principale différence se situe dans leur performance en encodage (bien qu'il y ait aussi des différences dans les options disponibles listées auparavant). Prenons un petit exemple : j'ai extrait une piste d'un CD, puis l'ai encodé avec chaque encodeur. Tous les encodeurs ont été exécuté dans les même conditions système et ont tous produit des MP3 stéréo. _________________________________________________________________ [dj@megajukebox]$ ls -l cdda.wav -rw-rw-r-- 1 dj dj 59823164 Feb 10 00:56 cdda.wav [dj@megajukebox]$ bladeenc cdda.wav -br 256 BladeEnc 0.91 (c) Tord Jansson Homepage: http://bladeenc.mp3.no =============================================================================== BladeEnc is free software, distributed under the Lesser General Public License. See the file COPYING, BladeEnc's homepage or www.fsf.org for more details. Files to encode: 1 Encoding: ../test.wav Input: 44.1 kHz, 16 bit, stereo. Output: 128 kBit, stereo. Completed. Encoding time: 00:05:58 (0.78X) All operations completed. Total encoding time: 00:05:58 ------------------------------------------------------------------------------- - [dj@megajukebox]$ lame cdda.wav -b 256 LAME version 3.50 (www.sulaco.org/mp3) GPSYCHO: GPL psycho-acoustic model version 0.74. Encoding ../test.wav to ../test.wav.mp3 Encoding as 44.1 kHz 128 kbps j-stereo MPEG1 LayerIII file Frame | CPU/estimated | time/estimated | play/CPU | ETA 10756/ 10756(100%)| 0:02:28/ 0:02:28| 0:02:29/ 0:02:29| 1.9074| 0:00:00 ------------------------------------------------------------------------------- - [dj@megajukebox]$ gogo cdda.wav -m s -b 256 GOGO-no-coda ver. 2.24 (Feb 12 2000) Copyright (C) 1999 PEN@MarineCat and shigeo Special thanks to Keiichi SAKAI, URURI, Noisyu and Kei MPEG 1, layer 3 stereo inp sampling-freq=44.1kHz out sampling-freq=44.1kHz bitrate=256kbps inp sampling-freq=44.1kHz out sampling-freq=44.1kHz bitrate=128kbps input file `../test.wav' output file `../test.mp3' { 10751/ 10755} 100.0% ( 2.94x) re:[00:00:00.03] to:[00:01:35.42] End of encoding time= 95.430sec _________________________________________________________________ Il semble que gogo ait un algorithme mieux optimisé pour l'encodage que bladeenc ou lame. 11. Diffusion de MP3 sur un réseau Un serveur de diffusion de MP3 vous permet d'envoyer des fichiers MP3 sur un réseau basé sur TCP. Ceci peut être l'Internet ou un réseau local / intranet. Le principe de connexion est très semblable à celui d'un serveur web, les fichiers sont diffusés quand un client (le lecteur de MP3) se connecte sur le serveur. 11.1 Icecast Après avoir téléchargé et décompressé l'archive, un bon coup d'oeil dans le répertoire doc/ est une bonne chose, le manuel HTML est très utile et complet. Si vous avez téléchargé le code source, suivez les instructions pour la compilation relative à votre système. Icecast ne marchera correctement que si vous spécifiez correctement le nom du server dans le fichier de configuration icecast.conf qui est situé dans le répertoire etc. Il doit correspondre exactement au nom de machine résolu par son adresse IP. Si vous voyez les lignes suivantes lors du démarrage du serveur Icecast, c'est qu'il y a un problème : _________________________________________________________________ -> [05/Jan/2000:17:21:04] WARNING: Resolving the server name [your.server.name] does not work! _________________________________________________________________ Editez le fichier icecast.conf situé dans le répertoire etc, localisez la ligne contenant l'entrée "server_name" et entrez les nom de votre serveur. En cas de doute, vous pouvez utiliser la commande _hostname_ ou afficher le fichier /etc/hosts. Un fois les modifications nécessaires faites, il vous faudra soit copier le fichier de configuration dans le répertoire bin, soit démarrer icecast avec l'option -c et spécifier l'emplacement du fichier ainsi : _________________________________________________________________ [dj@megajukebox bin]$ ./icecast -c ../etc/icecast.conf _________________________________________________________________ Si tout est configuré correctement, vous devriez voir quelque chose comme : _________________________________________________________________ [dj@megajukebox bin]$ ./icecast -c ../etc/icecast.conf -d /home/dj/mp3/icecast/ Icecast Version 1.3.0 Starting... Icecast comes with NO WARRANTY, to the extent permitted by law. You may redistribute copies of Icecast under the terms of the GNU General Public License. For more information about these matters, see the file named COPYING. [05/Jan/2000:18:36:30] Icecast Version 1.3.0 Starting.. [05/Jan/2000:18:36:30] Using stdin as icecast operator console [05/Jan/2000:18:36:30] Tailing file to icecast operator console [05/Jan/2000:18:36:30] Server started... [05/Jan/2000:18:36:30] Listening on port 8000... [05/Jan/2000:18:36:30] Using [megajukebox] as servername... [05/Jan/2000:18:36:30] Max values: 1000 clients, 1000 clients per source, 10 so urces, 5 admins -> [05/Jan/2000:18:36:30] [Bandwidth: 0.000000MB/s] [Sources: 0] [Clients: 0] [ Admins: 1] [Uptime: 0 seconds] _________________________________________________________________ L'option -d positionne le répertoire pour les fichiers journaux et les modèles. Voici ci-dessous la liste des options de la ligne de commande : _________________________________________________________________ -c [filename] Utilise le fichier comme un fichier de configuration. Veuillez noter que tout paramètre passé sur la ligne de commande est prioritaire sur le contenu de ce fichier. Notez également que le fichier icecast.conf contenu dans le répertoire courant est automatiquement lu quand vous spécifiez cette option, ainsi tout paramètre du fichier icecast.conf non spécifié dans le nouveau fichier de configuration sera utilisé par le serveur. -P [port] Port utilisé par toutes les connexions des clients, de la source audio et d'administration. Il est positionné à 8000 par défaut. -m [max clients] Nombre maximum de connexions clientes autorisées. Quand ce nombre est atteint, toute connexion cliente sera refusée avec un message~: 'HTTP/1.0 504 Server Full' -p [encoder password] Cette options positionne le mot de passe que l'encodeur doit utiliser pour pouv oir envoyer le flux vers le serveur. Notez que si vous compilez le serveur avec le support de crypt(), cet argument doit être une chaîne encryptée. -b Cette option permet au serveur icecast d'être lancé en tâche de fond (i.e. proc essus démon). Pour pouvoir utiliser les commandes d'administration, vous devrez alors vous connecter au serveur comme administrateur, en utilisant un client telnet ou équ ivalent. -d [directory] Rend tous les fichiers journaux créés par icecast et tous les modèles que iceca st utilise relatifs à ce répertoire. _________________________________________________________________ Voici ainsi comment démarrer le serveur, mais vous devez aussi connecter une source MP3 au serveur. Vous avez le choix entre deux applications pour envoyer des données MP3 au serveur, Shout et LiveIce. Shout Shout envoie au serveur icecast une liste de MP3 à diffuser et est inclus avec icecast. Vous créez la liste des fichiers MP3 avec la commande suivante : _________________________________________________________________ find [répertoire MP3] -name '*.mp3' -print > playlist _________________________________________________________________ Au niveau le plus simple, pour démarrer le service shout, exécutez la commande suivante : _________________________________________________________________ [dj@megajukebox bin]# ./shout megajukebox -P hackme -p playlist _________________________________________________________________ L'option -P spécifié le mot de passe nécessaire pour ajouter un point de montage à icecast, celui-ci est positionné à _hackme_..... Je vous suggère fortement de le changer, sinon quelqu'un le fera à votre place :-) L'option -p définit l'emplacement du fichier de liste. Voici ci-dessous une liste de toutes les options de la ligne de commande : _________________________________________________________________ [dj@megajukebox bin]# ./shout Usage: shout <host> [options] [[-b <bitrate] file.mp3]... Options: -B <directory> - Utiliser le répertoire pour tous les fichiers de shou t -C <file> - Utiliser le fichier comme fichier de configuration -D <dj_file> - Exécuter cette commande avant chaque chanson (system( )) -P <password> - Utiliser le mot de passe spécifié -S - Afficher les paramètres et sort -V - Utiliser un affichage verbeux -X <desc> - Utiliser la description spécifiée -a - Activer la correction automatique du débit (transfert ) -b <bitrate> - Démarrer en utilisant le débit spécifié -d - Activer le dj -e <port> - Se connecter sur le serveur au port spécifié -f - Ne pas envoyer les fichiers qui ne correspondent pas au débit spécifié -g <genre> - Utiliser un genre spécifique -h - Afficher l'aide -i - Utiliser les anciens en-têtes icy -k - Ne pas tronquer la liste interne (continuer) -l - Envoyer sans fin (en boucle) -m <mount> - Utiliser le point de montage spécifique -n <name> - Utiliser le nom spécifique -o - Désactive l'auto-détection du débit -p <playlist> - Utilise le fichier spécifié comme liste de MP3 -r - Lecture aléatoire de la liste -s - (Secret) Ne pas envoyer les meta data au serveur -u <url> - Utilise l'URL spcifié -v - Affiche la version -x - Ne pas mettre à jour le fichier cur (économise le pro cesseur) -z - Passer en tâche de fond (mode démon) -t - Autoriser la diffusion des titres _________________________________________________________________ LiveIce LiveIce peut fonctionner dans 2 modes, il peut passer une liste de MP3 à Icecast ou il peut passer directement de l'audio en direct de la carte son. Après avoir décompressé l'archive et lu le fichier README concernant la construction du paquet, assurez-vous que vous disposez du programme mpg123 car LiveIce en a besoin. Il y a deux façons de configurer LiveIce : en éditant le fichier de configuration avec vi/emacs ou en utilisant l'outil de configuration basé sur Tk, ce qui est une façon très agréable de l'éditer :-) Le meilleur endroit où sont décrits les détails internes du fichier de configuration liveice.cfg est la page de LiveIce où Scott couvre l'ensemble des options. Ceci est une copie de mon fichier de configuration avec LiveIce positionné en mode mixer (diffusion à partir d'une liste de MP3). NOTE : j'ai ajouté des commentaires au fichier, donc, si vous voulez faire du copier-coller, assurez-vous que les commentaires ne débordent pas sur une nouvelle ligne ou sinon LiveIce ne fonctionnera pas :-) _________________________________________________________________ # Fichier de configuration liveice # Généré automatiquement SERVER megajukebox # Le nom de votre serveur * DOIT ETRE LE NOM DE RESOLUTION DU SERVEUR * PORT 8000 # Le port que le serveur Icecast écoute NAME Megajukebox # Des informations concernant le nom de votre s erveur qui seront envoyées # aux lecteurs de MP3 et au serveurs de réperto ires. # Par exemple, 'Sarah FM' ou 'ThisTown: Loud a nd Heavy Jazz - Internet Radio 24/7' GENRE Live # Des informations concernant le genre. Par exe mple 'Talk' ou 'Dance' DESCRIPTION # Des informations concernant la station. Par e xemple 'The best for reggae in the North' URL http://megajukebox:8000 # L'URL et le port du serveur PUBLIC 0 # Positionner à 1 si vous voulez que Icecast an nonce votre station et ses détails # sur un serveur de répertoires, sinon laisser à 0 XAUDIOCAST_LOGIN # Peut être soit ICY_LOGIN ou X_AUDIOCAST_LOGIN . X_AUDIOCAST est préférable. MOUNTPOINT /techno # Positionne le point de montage du flux pour I cecast. A n'utiliser que si l'option X_AUDIOCAST est utilisée # sinon laisser la valeur par défaut icy_0 PASSWORD hackme # Mot de passe de l'administrateur Icecast SAMPLE_RATE 44100 # La fréquence du flux STEREO # Peut être MONO ou STEREO NO_SOUNDCARD # Voir ci-dessous HALF_DUPLEX # Positionne la carte son en mode duplex. Peut être HALF_DUPLEX ou FULL_DUPLEX USE_GOGO # Positionne l'encodeur à utiliser. Consulter l e fichier README pour la liste complète. BITRATE 128000 # Positionne le débit du flux (voir ci dessous) VBR_QUALITY 1 # Positionne la qualité du débit variable (VBR) MIXER # Voir ci dessous PLAYLIST /megajukebox/playlist # Emplacement de la liste de MP3 (voir les déta ils sur la commande find plus loin dans ce chapitre) TRACK_LOGFILE track.log # Nom et emplacement du fichier où envoyer la l iste des MP3 diffusés _________________________________________________________________ Une fois que vous avez votre fichier de configuration, vous pouvez démarrer LiveIce ainsi : _________________________________________________________________ [dj@megajukebox liveice]$ ./liveice /megajukebox/playlist 1 opening connection to megajukebox 8000 Attempting to Contact Server connection successful: forking process opening pipe!... writing password Setting up Interface Soundcard Reopened For Encoding Input Format: 16Bit 44100Hz Stereo Output Format: 256000 Bps Mpeg Audio IceCast Server: megajukebox:8000 Mountpoint: /techno Name: megajukebox - this and that radio - broadcasting 24/7 Genre: Techno Url: http://megajukebox.com Description: a load of digital noise -> but i know you like it :) Press '+' to Finish adding /megajukebox/demotunes/track_1.mp3 adding /megajukebox/demotunes/track_2.mp3 adding /megajukebox/demotunes/track_3.mp3 adding /megajukebox/demotunes/track_4.mp3 /megajukebox/demotunes/track_4.mp3 Adding New Channel 1 Adding New Channel 2 Channel 1 selecting /megajukebox/demotunes/track_1.mp3 Channel 2 selecting /megajukebox/demotunes/track_1.mp3 Playing track_1.mp3 searching for Id3v2 searching for Id3v1 copying the data fixing the nulls adding the url closing input file Using log track.log _________________________________________________________________ La dernière ligne est un indicateur de crêtes. Il y a plusieurs touches de contrôle pour le mode mixer : _________________________________________________________________ Action Touche Canal 1 Touche Canal 2 ~~~~~~ ~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~ Sélectionne la piste suivante sur le canal 1 a Sélectionne la piste précédente sur le canal q z Démarre/Arrète le canal 2 s Réinitialise le canal w x Augmente le volume sur le canal 3 d Diminue le volume sur le canal e c Augmente la vitesse sur le canal 4 f Diminue la vitesse sur le canal r v Mode Sticky Activé/Aléatoire/Désactivé 5 g Prévisualisation du canal t b Piste aléatoire u m _________________________________________________________________ Le fichier de configuration liveice.cfg est prévu pour le mode mixer. Pour utiliser LiveIce en mode audio, changez la ligne relative à MIXER en NOMIXER et changez la ligne NO_SOUNDCARD en SOUNDCARD et redémarrez LiveIce. Tout oubli de positionner les options correctement amènera à des avertissements intéressants ;-) _________________________________________________________________ 946:Error: Line In mode *and* no soundcard??????? Eeejit! _________________________________________________________________ Une fois que tout est positionné correctement et que vous avez placé la source externe, vous devriez être capable de diffuser de la musique =:-) _________________________________________________________________ [dj@megajukebox liveice]$ ./liveice /megajukebox/playlist 0 Initialising Soundcard 16Bit 22050Hz Stereo Full Duplex opening connection to megajukebox 8000 Attempting to Contact Server connection successful: forking process opening pipe!... writing password Setting up Interface Soundcard Reopened For Encoding Input Format: 16Bit 22050Hz Stereo Output Format: 32000 Bps Mpeg Audio IceCast Server: megajukebox:8000 Mountpoint: /daves_band_live_at_the_club Name: megajukebox - Dave and the Dynamite - Live at the Roxy Genre: Live/Rock Url: http://megajukebox Description: megajukebox::Louder than a frog in a trashcan..... and almost as m usical Press '+' to Finish Lvl: L: 8704 R: 11776 _________________________________________________________________ La dernière ligne est un indicateur de niveau du signal, si le signal est trop fort, vous obtiendrez un avertissement *clip*. Si tel est le cas, réduisez le gain de la source en entrée. Ceux d'entre vous dotés d'une vue perçante ont pu remarquer que dans le fichier de configuration liveice.cfg, les première lignes commentées indiquent que le fichier a été généré automatiquement. Si vous utilisez l'interface en Tk liveiceconfigure.tk et que vous avez fait des changements à la main au fichier d'origine, vous les perdrez quand vous sauverez. Utilisez soit uniquement l'interface ou apprenez vi/emacs :-) 11.2 Fluid Après avoir décompressé l'archive, placez vous dans le répertoire et n'oubliez pas de lire le fichier README :-) Fluid possède trois modes principaux de fonctionnement : la transmission, le relai et le transfert. Je ne vais détailler ici que la transmission. Les fichiers de configuration associés à la transmission sont situés dans config/MP3TX.cfg. Pour tester le server, lancez-le avec les options suivantes, à ce moment-là, les valeurs des paramètres par défaut devraient êtres correctes : _________________________________________________________________ java Fluid TX _________________________________________________________________ Naturellement vous devez avoir Java d'installé auparavant sous une forme ou une autre. Vous pouvez utiliser le portage de Blackdown du JDK disponible à partir de http://www.blackdown.org ou Keffe si vous utilisez Redhat. Fluid est livré avec quelques fichiers MP3 de test, donc si tout fonctionne, vous devriez voir quelque chose de similaire à ceci (j'ai lancé le serveur en utilisant Kaffe pour cette exemple, vous pouvez avoir à le lancer en utilisant java) : _________________________________________________________________ [dj@megajukebox Fluid-Beta2J]$ kaffe Fluid tx ------- Fluid Streaming Server Beta 2 ------- This program is ShareWare(tm) and it will not be crippled in any way because of it. However if you do like the program and will use it commercial purposes, we ask of you to contact us at the address below for pricing info: Eldean AB E-mail: Sjoangsvagen 7 fluid@subside.com S-192 72 Sollentuna SWEDEN Fluid is Copyright Subside (C) 1998 written by Lars Samuelsson http://www.subside.com --------------------------------------------- * Transmission mode * Reading config from: config/MP3TX.cfg Reading playlist: playlist.m3u Server started on port: 2711 Accepting administrator login on port: 2710 P| Dr. Nick - Hello Everybody _________________________________________________________________ Si vous arrivez jusque là, il semble que tout fonctionne, mais je suis certain que vous préféreriez diffuser plus que de simples fichiers de tests ! Vous devez créer une liste de MP3 que vous désirez diffuser. Il s'agit d'une liste fixe que les utilisateurs ne pourront pas modifier ou faire de requêtes précises. Cette liste est nommée playlist.m3u et est située par défaut dans le répertoire racine. Pour créer une liste de tous les fichiers MP3 d'un répertoire particulier (ou d'un disque), utilisez la commande suivante : _________________________________________________________________ find [MP3 directory] -name "*.mp3" -print > playlist.m3u _________________________________________________________________ Par défaut, le serveur utilise le port 2711, qui est celui sur lequel se connectent les programmes clients. Si vous désirez le changer, ceci peut être fait dans le fichier de configuration. Le serveur peut être administré à distance en invoquant ainsi un telnet sur le port d'administration, par défaut le port 2710 : _________________________________________________________________ [dj@megajukebox Fluid-Beta2J]$ telnet localhost 2710 Trying 127.0.0.1..megajukebox Connected to localhost.localdomain. Escape character is '^]'. jaguar You are connected to the -Fluid- Streaming Server Type "help" for a command reference help The following commands are available: help conn curr exit curr Information about the currently broadcasted song: Title: Beer Talk Artist: Homer Simpson Album: The Simpsons Year: 1996 Comment: Borrowed this as an example Genre: Comedy _________________________________________________________________ La référence à "jaguar" est le mot de passe par défaut. Il n'y a pas d'indication de demande du mot de passe, donc n'attendez pas à en avoir une ! Je vous conseille de changer le mot de passe positionné par défaut sinon vous vous exposez à une intrusion ! Ceci peut être changé dans le fichier de configuration qui ressemble à ceci : _________________________________________________________________ [dj@megajukebox config]$ cat MP3TX.cfg 2711 2710 5 4096 32 1000 jaguar playlist.m3u current.txt # --- Les lignes sont --- # 1. numéro du port (que le serveur utilise) # 2. numéro du port (pour administrer le serveur à distance) # 3. Nombre de connexions (que le serveur peut accepter) # 4 Taille des paquets lors des lectures/envois (en octets) # 5. Débit des MP3 en ko/s (tous les MP3 doivent avoir le même débit) # 6. Délai entre les chansons (en millisecondes) # 7. Mot de passe pour l'administration à distance # 8. Nom de la liste (liste au format .m3u) # 9. Nom du fichier dans lequel écrire les informations de la chanson (à partir des marques ID3) _________________________________________________________________ Dire que la liste doit être au format m3u veut dire qu'elle doit être dans le même format que celui produit par la commande find citée auparavant. Mise à jour pour la version RC1 de Fluid Fluid a été mis à jour et a été diffusé sous licence GPL (Vas-y Lars !) Voici les principales différences : * Un nouveau format pour le fichier fluid.config * Un ouveau port par défaut 4711 * Une nouvelle méthode pour démarrer et arrêter le programme. Fluid utilise maintenant les scripts _fluid.start_ et _fluid.stop_ * Le code source est maintenant inclus dans le paquet. Super ! 11.3 Litestream Litestream est semblable à Icecast dans son fonctionnement. Le système est composé d'un serveur de diffusion et d'une source. Pour démarrer le serveur de diffusion, exécutez la commande avec le format suivant : _________________________________________________________________ [dj@megajukebox]$ litestream <source port> <stream host> <stream port> <max lis teners> <log ident> [<yp host> <yp port>] _________________________________________________________________ Les options sont les suivantes : _source port_ C'est le numéro du port auquel vous connectez la source 'audio'. _stream host_ Il s'agit de l'adresse IP ou nom complet (FQDN) de votre serveur. Vous pouvez la déterminer avec la commande hostname pour le nom de domaine ou par un cat /etc/hosts pour l'adresse IP. _stream port_ C'est le numéro du port auquel les clients doivent se connecter. _max listeners_ Il s'agit du nombre maximum de clients pouvant se connecter à votre serveur. _log ident_ Les messages d'information seront écrits dans le fichier /var/log/messages. <log ident> est une chaîne de caractère utilisée pour identifier le serveur Litestream. Par exemple, si vous utilisez la chaîne ident 'Litestream', les messages du serveur dans le fichier /var/log/messages seront semblables à : _________________________________________________________________ Sep 18 19:32:20 linux Litestream[1901]: stream.c:555: main: 'server started' _________________________________________________________________ _yp host & yp port_ Ces 2 options spécifient l'hôte et le port d'un serveur yp (ou NIS) utilisé pour annoncer votre serveur aux serveurs de répertoires. Voici un exemple : _________________________________________________________________ [dj@megajukebox]$ litestream 5000 megajukebox 5555 1000 LitestreamServer _________________________________________________________________ Cette partie est pour le système serveur. Une fois démarré, il attend qu'une source audio lui soit connectée, ce qui se fait avec la commande source. Le format est tel que : _________________________________________________________________ source <ip or hostname> <port> <name> <genre> <url> <irc> <icq> <aim> <public? (0, 1)> <reported bitrate (16, 18, 56, 128, etc.)> <playlist.txt> <log ident> _________________________________________________________________ Voici ci-dessous la liste des options pour la commande source : _ip or hostname_ est le nom d'hôte ou l'adresse IP de l'ordinateur faisant touner le serveur Litestream. _port_ est le port sur lequel le serveur Litestream attend une source de diffusion. _name_ est le nom de votre flux. _genre_ est le genre de votre flux. _url_ est l'URL de la page web de votre flux. _irc_ est le channel IRC de votre flux. _icq_ est votre identifiant ICQ. _aim_ est votre identifiant AIM. _public_ est positionné à 0 ou à 1. 0 pour privé, 1 pour publique. _reported bitrate_ est le débit du flux qui sera indiqué au serveur YP. Ceci ne reflète pas nécessairement le débit réel de votre flux. _playlist.txt_ est le nom du fichier contenant la liste de MP3. _log ident_ est l'identifiant syslog qui précèdera chaque message d'information généré par la source de diffusion Litestream. Voici un exemple de la commande Litestream présentée ci-dessus : _________________________________________________________________ [dj@megajukebox]$ source megakukebox 5000 'Megajukebox The best jukebox ever' Various http://www.megajukebox.com \#megajukebox 0 N/A 1 128 /jukebox/playlist LitestreamSource _________________________________________________________________ 11.4 Apache::MP3 Module Le module Apache::MP3 permet au serveur Apache de diffuser des MP3. Il n'offre pas le même niveau de fonctionnalités que les serveurs Fluid, Litestream et Icecast. Ce module dépend des modules MP3::Info et mod_perl, lesquels sont tous deux disponibles sur le site du CPAN. Après avoir récupéré les fichiers nécessaires, lire le fichier README vous aidera certainement ! Tout d'abord, compilez le module, puis faites les changements au fichier de configuration d'Apache (ces changements devront être faits soit dans le fichier httpd.conf ou dans le fichier srm.conf). Vous devez également créer les répertoires pour les icônes et une arborescence de répertoire pour les MP3. La section 6 du fichier README détaille l'édition (ou la création) d'un fichier de configuration Perl. Ceci est nécessaire pour précharger le module MP3::Info sans lequel il peut faire planter le serveur Apache. Dans le fichier httpd.conf, créez une entrée comme ceci : _________________________________________________________________ Perlrequire /etc/httpd/conf/startup.perl _________________________________________________________________ Modifiez la référence /etc/httpd/conf pour pointer sur l'endroit où sont stockés les fichiers de configuration Apache sur votre système. Créez maintenant le fichier startup.perl à l'emplacement spécifié ci-dessus. Vous devriez avoir au minimum les lignes suivantes (vous devriez ici aussi ajuster l'emplacement du programme perl selon la configuration de votre système). _________________________________________________________________ [dj@megajukebox conf]$ cat /etc/httpd/conf/startup.perl #!/usr/bin/perl use MP3::Info(); _________________________________________________________________ Redémarrez ensuite le serveur Apache et positionnez votre navigateur web vers l'un de vos nouveaux répertoires de MP3 :-) Vous pourrez obtenir plus de documentation sur le module Apache::MP3 en exécutant la ligne suivante sur la ligne de commande : _________________________________________________________________ [dj@megajukebox conf]$ perldoc Apache::MP3 _________________________________________________________________ 11.5 Outrepasser un pare-feu Une grande quantité de sociétés et d'administrations utilisent des systèmes pare-feux pour empêcher les utilisateurs de se connecter sur des serveurs distants sur certains ports. Une façon d'outrepasser ceci est d'exécuter votre serveur de MP3 en utilisant le port 80. Il ne sera plus possible alors d'avoir un serveur web sur la même URL ou la même adresse IP. En lançant Icecast en mode 'Outrepasser le pare-feu', vous devrez alors lancer shout en utilisant l'option positionnant le port à 80, ainsi : _________________________________________________________________ [dj@megajukebox bin]$ ./shout megajukebox -e 80 -P hackme -p ../playlist _________________________________________________________________ 11.6 Considérations de bande passante Diffuser de l'audio peut consommer des quantités importantes de bande passante si le débit des serveurs de MP3 est trop élevé. Considérons, par exemple, ce scénario. Une liaison T1 possède une capacité d'environ 1,55 Mo/s. Si vous diffusez vos MP3 en 128 kb/s stéréo, chaque lecteur connecté utilisera 256 kb/s, ainsi 6 utilisateurs seulement pourront se connecter à votre serveur MP3 en même temps sans problème. Et à ce débit, vous n'aurez guère d'utilisateurs se connectant par modem ! Vous devez donc prendre une décision concernant non seulement le débit auquel votre serveur est connecté à l'Internet, mais aussi celui auquel vos utilisateurs seront connectés. 24 kb/s stéréo semble donner une qualité de signal raisonnable auquel même les utilisateurs possédant un modem 56K pourront se connecter et qui autorise environ 32 connexions simultanées par la liaison T1 évoquée plus haut. Si votre serveur tourne sur un intranet, les problèmes de bande passante peuvent encore être à considérer, spécialement si votre réseau fonctionne en 10 Mb/s. Mais n'oubliez surtout pas de prévenir votre FAI ou votre administrateur système que vous allez faire de la diffusion, sinon vous pourriez avoir une mauvaise surprise. Certains FAI peuvent vous faire payer la bande passante au-delà d'une certaine limite et les administrateurs systèmes aiment bien savoir pourquoi leur réseau ralentit :-) 11.7 Problèmes de copyright Je pense qu'il est sensé de supposer que les compagnies de disques n'aimeraient pas que vous fassiez de la diffusion audio sans leur permission ou sans paiement d'aucune sorte ! Alors, qu'avez-vous le droit de diffuser ? Il s'agit d'une partie dans laquelle vous devez être conscient des ramifications légales car c'est vous qui serez légalement responsable. Voici deux liens, l'un de l'Electronic Frontier Foundation (EFF) qui milite pour réduire les restrictions concernant la technologie. L'autre lien est celui de la Recording Industry Association of America (RIAA), qui cherche à protéger les droits des artistes contre le piratage. Je vous suggère fortement de visiter ces deux sites, ainsi que d'autres plus spécifiques à votre localisation physique. http://www.eff.org/cafe/ http://www.riaa.com/weblic/weblic.htm NdT : on peut citer en France le site de la SACEM http://www.sacem.org pour la protection des droits d'auteurs des artistes et celui de l'AFUL http://www.aful.org pour la défense des libertés des citoyens par rapport aux nouvelle technologies (en plus de promouvoir les logiciels libres). 12. Ecouter des MP3 Maintenant, vous devriez (on l'espère du moins) avoir quelques fichiers MP3 prêts à lire et vous devriez avoir le choix de lire les fichiers ou les flux de MP3. 12.1 Lire à partir de fichiers Lire à partir d'un fichier est à peu de chose près identique avec tous les lecteurs. La seule différence importante est que certains sont basés sur la ligne de commande et d'autres sur une interface graphique. Lire un fichier MP3 demande généralement de fournir en paramètre le nom du fichier, comme ceci : _________________________________________________________________ [dj@megajukebox]$ mpg123 /mp3_files/SampleFile.mp3 ou [dj@megajukebox]$ xaudio /mp3_files/SampleFile.mp3 _________________________________________________________________ Si vous désirez jouer une série de fichiers, passez-les tous dans une liste : _________________________________________________________________ [dj@megajukebox]$ alsaplayer /mp3_files/SampleFile1.mp3 /mp3_files/SampleFile2. mp3 _________________________________________________________________ Pour lire toutes les chansons d'un répertoire, il suffit de passer les fichiers par le caractère générique ainsi : _________________________________________________________________ [dj@megajukebox]$ xmms /mp3_files/*.mp3 _________________________________________________________________ Lire un flux de fichier MP3 est relativement simple, remplacez simplement le nom du fichier par l'URL du flux et son numéro du port : _________________________________________________________________ [dj@megajukebox]$ mpg123 http://localhost:8000 ou [dj@megajukebox]$ freeamp http://megajukebox:2711 _________________________________________________________________ 12.2 Capturer des flux MP3 Un flux provenant d'un serveur MP3 peut être capturé et sauvé localement en utilisant le programme suivant : Streamripper Pour capturer un flux MP3 en utilisant Streamripper, exécutez la commande suivante : _________________________________________________________________ [dj@megajukebox]$ streamripper -h megajukebox -p 8000 Press CTRL-C to stop name: Megajukebox reponse: 200 genre: Megajukebox url: http://www.megajukebox.com/ bitrate: 128 This stream contains no meta data, ripping as one large ass track 1st track ripped socket error: : Success _________________________________________________________________ Voici une liste des options disponibles. _________________________________________________________________ [dj@megajukebox]$ streamripper Usage: streamripper -h <host> -p <port> [-d dir] Options: -h <host> - Nécessaire~: Nom de l'hôte -p <port> - Nécessaire~: Numéro de port de l'hôte, habituellement 8000 -d <dir> - Optionnel~: Le répertoire de destination -l <logfile> - Optionnel~: Envoie tout vers le fichier journal <logfi le> -v - Optionnel~: Mode verbeux -c - Optionnel~: Ne pas afficher le compteur de status -q - Optionnel~: Mode discret, ne pas créer les fichiers MP 3 -s - Optionnel~: Envoyer le flux vers la sortie standard st dout pour mpg123 -n - Optionnel~: Attendre la prochaine piste avant écriture -o - Optionnel~: Créer un répertoire avec le nom du flux en sortie _________________________________________________________________ wget Pour sauver un flux en utilisant wget : _________________________________________________________________ [dj@megajukebox]$ wget http://megajukebox:8000 -O download01.mp3 --13:41:41-- http://megajukebox:8000/ => `download01.mp3' Connecting to megajukebox:8000... connected! HTTP request sent, awaiting response... 200 OK Length: unspecified [audio/mpeg] 0K -> .......... .......... .......... .......... .......... 50K -> .......... .......... .......... .......... .......... 100K -> .......... .......... .......... .......... .......... 150K -> .......... .......... .......... .......... .......... 200K -> .......... .......... .......... .......... .......... 250K -> .......... .......... .......... .......... .......... 300K -> .......... .......... .......... .......... .......... 350K -> .......... .......... .......... .......... .......... 400K -> .......... .......... .......... .......... .......... 450K -> .......... .......... .......... .......... .......... 500K -> .......... .......... .......... .......... .......... _________________________________________________________________ 12.3 Mixage eMixer eMixer vous donne la possiblité de mixer des MP3 de façon semblable à une table de mixage de DJ. Les nouvelles versions supportent 2 cartes sons si bien que vous pouvez émettre votre mixage sur une carte et gérer ou poser des marques sur la piste suivante sur l'autre carte. Comme à l'habitude, une fois que vous avez décompressé l'archive, lisez le fichier README pour savoir comment installer le programme. Vous aurez besoin de créer une liste de fichiers MP3, ce que vous pouvez faire avec la commande find citée dans la section Diffusion de MP3 sur un réseau. Vous devrez avoir installé auparavant le programme mpg123 avant de pouvoir lancer eMixer. Voici les touches de contrôles (tirées du fichier README) : _________________________________________________________________ TOUCHES DE CONTROLES "up, down" parcourt la liste "page up, page down" parcourt la liste écran par écran "enter" démarre/arrète la lecture de la piste "tab" change le canal "}","]" bascule entre les contrôles/fenêtres de volume et de vi tesse "space" redémarre la piste active "left, right" contrôle l'atténuateur "insert" diminue le volume/la vitesse sur le canal un "home" augmente le volume/la vitesse sur le canal un "delete" diminue le volume/la vitesse sur le canal deux "end" augmente le volume/la vitesse sur le canal deux "< , / , >" position ajustée à droite, au centre, à gauche de l'att énuateur " + , = " (NOUVEAU) bascule entre les atténuateurs " q " démarre/arrète le canal un " w " démarre/arrète le canal deux " p " bascule entre les modes d'écoute - simple, boucle, cont inue, aléatoire " a " arrète tous les canaux " f " menu fichier " u " menu utilitaire " h " menu aide " ~, ` " annule l'ouverture du menu " s " active la lecture SIM (la lecture SIM démarre la même piste sur les deux cana ux en même temps) _________________________________________________________________ GDAM GDAM est un mixer graphique avec un large éventail d'effets intégré et temps réels. 13. Edition des marques ID3 Les marques ID3 sont des champs d'information sur la chanson contenus dans les données du fichier MP3 tels que le nom de l'artiste, l'album d'où provient la chanson, etc. Des éditeurs vous permettent d'afficher et d'éditer ces informations. 13.1 id3ed _________________________________________________________________ [dj@megajukebox]$ id3ed id3ed v1.10 - mpeg layer 3 file information editor Usage: id3ed [-s songname] [-n artist] [-a album] [-y year] [-c comment] [-k tracknum] [-g genre] [-q] [-SNAYCKG] [-l/-L] [-r] [-i] <mp3files> [-v] -q Pas d'interface en ligne ; positionne seulement les mar ques spécifiés sur la ligne de commande. Utilisée deux fois, cette option supprime tous les messages excepté les erreurs. -SNAYCKG Affiche une invite pour éditer seulement la marque spéc ifique. Les autres marques peuvent toujours être éditées avec l es options -[snaycg]. -l/-L Affiche la liste des genres -r Supprime les marques ID3 des fichiers -i Affiche les marques ID3 sans les modifier -v Affiche la version et la licence du programme _________________________________________________________________ _________________________________________________________________ [dj@megajukebox MyBand]$ id3ed track01.mp3 File track01.mp3: (tag v1.1) songname[max:30]: Our Kick Ass Demo artist[max:30]: Us album[max:30]: White Album year[max:4]: 1999 comment[max:28]: Will be a classic some day! tracknum[max:3]: 1 genre[0-255/name]: 5 _________________________________________________________________ Si nous voulons maintenant afficher les informations ID3 de la piste, nous lançons id3ed avec l'option -i ainsi : _________________________________________________________________ [dj@megajukebox MyBand]$ id3ed -i track01.mp3 track01.mp3: (tag v1.1) songname: Our Kick Ass Demo artist: Us album: White Album year: 1999 comment: Will be a classic some day! tracknum: 1 genre: Funk(5) _________________________________________________________________ 13.2 mp3info MP3info travaille de façon similaire à id3ed, voici un extrait du manual : _________________________________________________________________ SYNOPSIS mp3info [ -option < value > ] filename[s]... DESCRIPTION Il s'agit d'un petit outil pour récupérer et positionner les information s des MP3. OPTIONS -T Ne PAS récupérer les marques ID3. A utiliser pour les médias d'ac cès lents car les marques sont situées à la toute fin du fichier MP3 -s <0/1> Afficher les informations. Vraiment obsolète, car cette option de vrait toujours être activée. Par défaut à 1. -f <format> Format de la chaîne de caractères affichée. Voir le fichier READM E pour plus de détails. -F <Formatnumber> Format prédéfini pour la chaîne de caractère affichée. Essayez l' option. -w Ecrire les marques ID3 à la fin du fichier. -W Supprimer les marques ID3. Est prioritaire sur toutes les options concernant les marques ID3 et positionne l'option -s à désactivée. Pour à la fois supprimer les marques ID3 et afficher les informations, utilisez -W -s 1 -n <name> Positionne le titre de la chanson. Induit l'option -w. Cette opti on devrait être supprimée sous peu, utilisez plutôt l'option -t à la place. -t <name> Positionne le titre de la chanson. Alias de l'option -n. Induit l 'option -w. -a <artist> Positionne le nom de l'artiste. Induit l'option -w. -l <album> Positionne le nom de l'album. Induit l'option -w. -y <year> Positionne l'année de publication. Induit l'option -w. -c <comment> Positionne le commentaire. Induit l'option -w. -g <genre> Positionne le numéro du genre. Induit l'option -w. -G <genrename> Positionne le genre par son nom. Induit l'option -w. _________________________________________________________________ 13.3 Codes des genres ID3 ID3 utilise un code pour référencer les genres de musique, voici une liste des codes extraite de http://www.id3.org/id3v2-00.txt. _________________________________________________________________ Les genres suivants sont définis dans la norme ID3v1 : 0.Blues 1.Classic Rock 2.Country 3.Dance 4.Disco 5.Funk 6.Grunge 7.Hip-Hop 8.Jazz 9.Metal 10.New Age 11.Oldies 12.Other 13.Pop 14.R&B 15.Rap 16.Reggae 17.Rock 18.Techno 19.Industrial 20.Alternative 21.Ska 22.Death Metal 23.Pranks 24.Soundtrack 25.Euro-Techno 26.Ambient 27.Trip-Hop 28.Vocal 29.Jazz+Funk 30.Fusion 31.Trance 32.Classical 33.Instrumental 34.Acid 35.House 36.Game 37.Sound Clip 38.Gospel 39.Noise 40.AlternRock 41.Bass 42.Soul 43.Punk 44.Space 45.Meditative 46.Instrumental Pop 47.Instrumental Rock 48.Ethnic 49.Gothic 50.Darkwave 51.Techno-Industrial 52.Electronic 53.Pop-Folk 54.Eurodance 55.Dream 56.Southern Rock 57.Comedy 58.Cult 59.Gangsta 60.Top 40 61.Christian Rap 62.Pop/Funk 63.Jungle 64.Native American 65.Cabaret 66.New Wave 67.Psychadelic 68.Rave 69.Showtunes 70.Trailer 71.Lo-Fi 72.Tribal 73.Acid Punk 74.Acid Jazz 75.Polka 76.Retro 77.Musical 78.Rock & Roll 79.Hard Rock LEs genres suivants sont des extensions de Winamp : 80.Folk 81.Folk-Rock 82.National Folk 83.Swing 84.Fast Fusion 85.Bebob 86.Latin 87.Revival 88.Celtic 89.Bluegrass 90.Avantgarde 91.Gothic Rock 92.Progressive Rock 93.Psychedelic Rock 94.Symphonic Rock 95.Slow Rock 96.Big Band 97.Chorus 98.Easy Listening 99.Acoustic 100.Humour 101.Speech 102.Chanson 103.Opera 104.Chamber Music 105.Sonata 106.Symphony 107.Booty Bass 108.Primus 109.Porn Groove 110.Satire 111.Slow Jam 112.Club 113.Tango 114.Samba 115.Folklore 116.Ballad 117.Power Ballad 118.Rhythmic Soul 119.Freestyle 120.Duet 121.Punk Rock 122.Drum Solo 123.A capella 124.Euro-House 125.Dance Hall _________________________________________________________________ 14. Conversion MP3 vers Minidisc. _Par Afra <afra@prongs.org> _ Pour enregistrer des MP3 à partir de Linux vers votre Minidisc, il existe deux méthodes : analogique et numérique. Chaque méthode dépend du type de carte son dont vous disposez sur votre système Linux. La principale différence entre les enregisrements analogiques et numériques tient dans la qualité sonore que vous atteindrez pendant l'enregistement. Avec un enregistement analogique, il est possible que vous entendiez des bruits statiques ou flous, bien que la plupart des cartes analogiques tentent de minimiser ces effets. N'allez pas croire que, parce que vos n'avez qu'une carte son analogique, vous êtes condamné, parce que ce n'est pas le cas. C'est juste qu'il vous faudra passer un peu de temps à essayer de minimiser les bruits indésirables en ajustant les paramètres du mixeur. Aucun logiciel spécifique n'est nécessaire, un simple lecteur de MP3 suffit pour votre système Linux. Fondamentalement, les deux méthodes nécessitent une connexion entre la sortie de votre carte son et l'entrée de votre Minidisc. 14.1 Enregistrement analogique Si votre carte son ne dispose pas d'une sortie "Digital Out", vous pouvez vouloir utiliser l'enregistrement analogique. Pour enregistrer un fichier MP3 de votre système Linux vers votre Minidic, connectez un cordon de la sortie de votre carte son Line Out vers l'entrée de votre Minidisc Line In. Positionnez votre Minidisc en mode enregistrement comme vous le feriez habituellement et lisez le fichier MP3. Vous devriez noter que les niveaux d'enregistrements du Minidisc augmentent. Après la lecture, il est possible que vous notiez un petit ou un grand volume de bruit statique dû à votre carte son. Pour réduire le bruit statique pendant l'enregistrement, gardez les niveaux d'enregistrement et de volume dans la zone des -3 dB à 0 dB. Pour atténuer le bruit, vous pouvez essayer de positionner votre Minidisc en mode d'enregitrement, mais sans lire le fichier MP3. Vous devriez encore entendre le bruit et pouvez alors jouer sur les effets du mixeur pour le réduire. 14.2 Enregistement numérique Vous obtiendrez un son de meilleur qualité avec un enregistrement numérique. Connectez votre cable optique (si vous devez en acheter un, la taille du Minidisc et celle du port de la carte sont importantes, il s'agit souvent de 3,5 mm, mais vérifiez les manuels utilisateurs de la carte son et du Minidisc) à la sortie Digital Out de la carte son. Le cable devrait alors clignoter à l'autre bout, ce qui est un bon signe. Connectez maintenant l'extrémité clignotante à l'entrée Digital Input de votre Minidisc. Positionnez votre Minidisc en mode enregistrement et lisez le fichier MP3 sur votre ordinateur. 14.3 Liste de MP3 C'est un problème lorsque vous lisez une liste de MP3 : comment votre Minidisc saura-t-il quand positionner une marque automatique quand une piste passe à une autre (c'est-à-dire changer de numéro de piste automatiquement) ? La solution est ce fichier MP3 que vous pouvez récupéré de http://www.prongs.org/minidisc/2sec.zip. Vous pouvez utiliser ce fichier qui est un fichier MP3 contenant 2 secondes de silence, en l'insérant avant chaque fichier MP3 de votre liste, ainsi le Minidisc saura comment faire le marquage automatique. 15. Retours et commentaires 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@plus24.com pour que je les rajoute à la prochaine version. Bons MP3 !