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 :

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 <animator@nownuri.net>

Français

http://www.freenix.org/unix/linux/HOWTO/MP3-HOWTO.html par Frédéric Bothamy <fbothamy@mail.dotcom.fr>

Hongrois

http://free.netlap.hu/howto/MP3-HOGYAN.html par Andras Timar <atimar@itp.hu>

Italien

ftp://ftp.pluto.linux.it/pub/pluto/ildp/HOWTO/MP3-HOWTO par Mariani Dario <darkpand@uni.net>

Espagnol

http://www.insflug.org/documentos/MP3-Como par Arielo <larocka@yahoo.com>

Hollandais

http://nl.linux.org/doc/HOWTO/MP3-HOWTO-NL.html par Reggy Ekkebus <reggy@zeelandnet.nl>

Japonais

http://www.linux.or.jp/JF/JFdocs/MP3-HOWTO.html par Saito Kan <can-s@geocities.co.jp>

Slovène

http://www.lugos.si/delo/slo/HOWTO-sl/MP3-HOWTO-sl.html par Jernej Kovacic <jkovacic@email.si>

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 :

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 <em/[fichier source] [fichier destination]/ -br 256000

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

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

Vous pourriez aussi utiliser Lame (ou Gogo, qui en est dérivé), avec la ligne de commande suivante :

/usr/local/bin/lame <em/[fichier source] [fichier destination]/ -b 256

10. Encodage depuis un lecteur de CD-ROM

De la même façon, l'encodage depuis un CD se déroule en deux étapes. Tout d'abord, les données extraites du CD sont enregistrées au format WAV, puis le fichier WAV est converti en MP3. Il existe deux types d'encodeurs, en ligne de commande ou sous X. Ils réalisent le même travail, mais ceux qui utilisent X sont plus faciles à utiliser et plus beaux.

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

10.1 Encodage en ligne de commande

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, "/mp3/cdda.wav");
$track = "$ARGV[1]/track".$count.".mp3";
$enc = system("bladeenc  /mp3/cdda.wav $track -br 256000");
$count++;

}
until $count > $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] <entrée> [sortie]

<entrée> et/ou <sortie> 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 <bitrate>    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) - par 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 fichiers
    -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 à chaque 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 <title>     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 (maximum 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 sources, 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 pouvoir 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. processus démon).
Pour pouvoir utiliser les commandes d'administration, vous devrez alors vous
connecter au serveur comme administrateur, en utilisant un client telnet ou équivalent.

        -d [directory] 

Rend tous les fichiers journaux créés par icecast et tous les modèles que icecast
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 shout
        -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 processeur)
        -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 serveur qui seront envoyées
                                # aux lecteurs de MP3 et au serveurs de répertoires.
                                # Par exemple,  'Sarah FM' ou 'ThisTown: Loud and Heavy Jazz - Internet Radio 24/7' 

GENRE Live                      # Des informations concernant le genre. Par exemple 'Talk' ou 'Dance'

DESCRIPTION                     # Des informations concernant la station. Par exemple '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 annonce 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 Icecast. 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 le 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étails sur la commande find plus loin dans ce chapitre)

TRACK_LOGFILE track.log         # Nom et emplacement du fichier où envoyer la liste 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 musical

 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 :

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 listeners> <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 <logfile>
        -v             - Optionnel~: Mode verbeux
        -c             - Optionnel~: Ne pas afficher le compteur de status
        -q             - Optionnel~: Mode discret, ne pas créer les fichiers MP3
        -s             - Optionnel~: Envoyer le flux vers la sortie standard stdout 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 vitesse
"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, continue, 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 canaux 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 marques 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écifique.
                        Les autres marques peuvent toujours être éditées avec les 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 informations des MP3.

OPTIONS
       -T     Ne PAS récupérer les marques ID3. A utiliser pour les médias d'accè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 devrait toujours
              être activée. Par défaut à 1.

       -f <format>
              Format de la chaîne de caractères affichée. Voir le fichier README 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 option 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 !