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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
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/.
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.
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).
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 :-)
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.
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.
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.
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 :
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.
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.
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.
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.
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.
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 !
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.
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.
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.
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.
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.
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
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 :
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.
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 :-)
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
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) - 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 titre le la chanson (maximum 30 caractères)
--ta artiste qui a fait la chanson (maximum 30 caractères)
--tl album d'où provient la chanson (maximum 30 caractèress)
--ty année au cours de laquelle la chanson a été faite (maximum 4 caractères)
--tc 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
, 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.
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.
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.
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.
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.
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 :
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 :
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 [options] [[-b - Utiliser le répertoire pour tous les fichiers de shout
-C - Utiliser le fichier comme fichier de configuration
-D - Exécuter cette commande avant chaque chanson (system())
-P - Utiliser le mot de passe spécifié
-S - Afficher les paramètres et sort
-V - Utiliser un affichage verbeux
-X - Utiliser la description spécifiée
-a - Activer la correction automatique du débit (transfert)
-b - Démarrer en utilisant le débit spécifié
-d - Activer le dj
-e - 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 - 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 - Utiliser le point de montage spécifique
-n - Utiliser le nom spécifique
-o - Désactive l'auto-détection du débit
-p - 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 - 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 :-)
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 :
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 !
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 []
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.
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.
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 :
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 :
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 :-)
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.
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).
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.
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 :
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 -p [-d dir]
Options:
-h - Nécessaire~: Nom de l'hôte
-p - Nécessaire~: Numéro de port de l'hôte, habituellement 8000
-d - Optionnel~: Le répertoire de destination
-l - Optionnel~: Envoie tout vers le fichier journal
-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
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.
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.
[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] [-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)
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 de la chaîne de caractères affichée. Voir le fichier README pour plus de détails.
-F
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
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
Positionne le titre de la chanson. Alias de l'option -n. Induit l'option -w.
-a
Positionne le nom de l'artiste. Induit l'option -w.
-l
Positionne le nom de l'album. Induit l'option -w.
-y
Positionne l'année de publication. Induit l'option -w.
-c
Positionne le commentaire. Induit l'option -w.
-g
Positionne le numéro du genre. Induit l'option -w.
-G
Positionne le genre par son nom. Induit l'option -w.
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.
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.
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.
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.
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.