The Linux Sound Playing HOWTO Yoo C. Chung wacko@laplace.snu.ac.kr v1.6, 11 Août 1998 _________________________________________________________________ _(Adaptation française par Guillaume Bertucat guillaume@ibpc.fr et Raphaël Gurlie raphael@ibpc.fr, 20 Janvier 1998). Ce document est un inventaire des applications qui lisent différents formats de sons sous Linux. _ _________________________________________________________________ 1. Introduction Ceci est le document Sound Playing HOWTO. Il fait l'inventaire des nombreux formats de son et des applications qui peuvent être utilisées pour les lire. Il donne aussi quelques trucs et conseils sur la manière d'utiliser ces applications. Il existe également d'autres applications intéressantes relatives au son, mais pas directement reliées a la lecture de celui-ci. Cependant, ce document n'est _pas_ un guide d'installation du support son sur un système Linux. Pour obtenir des informations sur l'installation du support son sur votre système Linux et les matériels supportés, reportez-vous au Linux Sound HOWTO de Jeff Tranter. Ce document traite des applications son destinées aux utilisateurs normaux. C'est à dire, qu'il ne s'intéresse qu'à ce que l'utilisateur moyen a besoin de savoir sur le coté applicatif du son, et non aux bizarreries exotiques comme la synthèse vocale, ou aux problèmes matériels qui sont traités dans le Sound HOWTO. 1.1 Copyright de ce document Ce document peut être distribué et modifié librement ( j'apprécierait cependant que toute modification me soit signalée), aussi longtemps que cette note y est incluse. Cependant, il ne peut lui être appliqué d'autres restrictions, et une version modifiée de ce document devra être soumise au même copyright que celui-ci. De plus, le mérite doit être rendu à qui de droit. 1.2 Copyright des applications inventoriées S'il n'est fait mention d'aucun copyright, alors l'application est sous GNU General Public License. 1.3 Où trouver ce document La version officielle la plus récente de ce document peut être obtenue auprès du Linux Documentation Project. La version non officielle la plus récente de ce document peut être obtenue auprès de http://laplace.snu.ac.kr/~wacko/howto/. Une version Coréenne de ce document (très ancienne) est disponible à http://laplace.snu.ac.kr/~wacko/howto/Sound-Playing-HOWTO.ks. Une version Japonaise de ce document est disponible à http://jf.gee.kyoto-u.ac.jp/JF/JF-ftp/euc/Sound-Playing-HOWTO.euc. 1.4 Remarques et commentaires Je ne suis pas omniscient, et je n'utilise pas toutes les applications citées ci après (je n'ai même pas pu essayer certaines d'entre elles), par conséquent il y a très certainement des erreurs. De plus, comme les logiciels évoluent en permanence, la documentation devient invariablement obsolète. C'est pourquoi, si vous trouvez quoi que ce soit d'erroné, envoyez moi vos corrections. Toute suggestion ou addition à ce document sont également bienvenues. (NdT : toute remarque relative à la clarté ou à la pertinence de la traduction est également bienvenues.) 1.5 Remerciements Merci aux auteurs des applications citées dans ce HOWTO. Merci également à Hannu Savolainen pour son super pilote son, et à Linus Torvalds pour avoir créé un OS fondamental. Je voudrais aussi remercier Raymond Nijssen (raymond@es.ele.tue.nl), Jeroen Rutten (jeroen@es.ele.tue.nl), Antonio Perez (aperez@arrakis.es), Ian Jackson (ijackson@gnu.org), et Peter Amstutz (amstpi@freenet.tlh.fl.us) pour leurs conseils et leur aide. 2. Lire divers formats son Il existe de nombreuses sortes de formats son (WAV, MIDI, MPEG etc.). Ci dessous, nous donnons une liste de ces divers formats, et des applications capables de les lire. 2.1 MIDI MIDI signifie Musical Instrument Device Interface. Les fichiers MIDI ont généralement l'extension .mid. Il contiennent des informations sur les séquences, c'est à dire des informations sur quand et de quelle manière jouer de quel instrument, etc. Selon votre matériel (et peut être aussi le logiciel que vous utiliserez), le son pourra être divin ou carrément pourrit. Adagio Ce paquetage contient mp (un lecteur de fichier MIDI en ligne de commande) et xmp (un lecteur de fichier MIDI basé sur Xview, à ne pas confondre avec le module de lecture également appelé xmp). Pour utiliser xmp vous aurez besoins des extensions SlingShot, qui contiennent également d'autres programmes permettant de jouer les partitions d'Adagio. Si vous avez une GUS, vous pouvez également lire les fichiers MOD avec mp (reportez-vous à la section Modules pour de plus amples informations sur les modules). Un petit bug gênant (cf version 0.5 sur certains matériels) fait que le son est ralenti à la fin. Plus précisément, au lieu d'achever la piste sonore comme le spécifie le fichier MIDI, il termine en jouant l'avant dernière note dans un intervalle plus long. Cela ne m'a pas empêché d'utiliser mp, mais cela découragera peut être une utilisation plus poussée. Le démarrage est aussi relativement lent. Le paquetage ne faisant mention d'aucun copyright (du moins je n'en ai pas trouvé), je suppose qu'il peut être redistribué et modifié. (une interprétation stricte de la loi sur les droit de distribution n'autorise personne à faire une telle supposition, mais je ne pense pas que telle était l'intention de l'auteur.) C'est un portage du CMU MIDI Toolkit vers Linux (bien qu'il y ai suffisamment d'ajouts pour que ce qoit discutable ) de Greg Lee (lee@uhunix.uhcc.hawaii.edu). On peut le récuperer sur ftp://tsx-11.mit.edu/pub/linux/packages/sound/adagio05.tar.gz . Les exécutables inclus ici sont au format a.out (liés aux anciennes bibliothèques), et l'exécutable segfaults de xmp dans l'environnement X11R6 (XFree86 3.1.1, libc 4.7.2). L'exécutable de mp fonctionne très bien dans un environnement a.out. Le compiler vous coûtera un peu de sueur, mais en fait pas tant que ça. Tout ce que vous avez à faire, c'est d'inclure l'option -lfl à la fin de SHROBJ et XMPOBJ dans le Makefile. Ceci pour faire le lien avec la bibliothèque flex, qui n'est pas liée par défaut. Il ne vous reste alors plus qu'à suivre les instructions d'installation. Et n'oubliez pas qu'il vous faudra avoir installé les extensions Xview et SlingShot si vous désirez compiler xmp. TiMidity Certains recommandent ce programme _experimental_ en raison de la bonne la bonne qualité du son (ce qui est incontestablement vrai, C'est beaucoup mieux que mp sur une Sound Blaster 16, même si la différence tend à disparaitre avec des cartes son possèdant une table d'échantillons sonores comme les GUS). Cependant, il souffre d'une forte consomation CPU. Il lit le format MIDI en commençant par le convertir en WAV, puis il lit le WAV (vous pouvez également seulement convertir un fichier MIDI en fichier WAV si vous voulez). Ceci explique qu'il soit gourmand en CPU. Il existe une interface optionnelle basée sur ncurses, Slang, Tcl/Tk ou Motif. Pour utiliser cette application, vous aurez besoin des patchs Gravis Ultrasound. Pour de plus amples informations, consultez les FAQ incluses dans le paquetage TiMidity. L'auteur est Tuukka Toivonen (tt@cgs.fi). La dernière version de TiMidity est disponible sur la TiMidity home page. Cette page contient également un lien vers une petite bibliothèque pour patchs GUS playmidi Il s'agit d'un lecteur MIDI qui sort sous FM, GUS et MIDI externe. Il est supposé démarrer plus rapidement que les autres lecteurs MIDI. Il peut également lire les les fichiers Creative Music, Microsoft RIFF, et les grandes archives MIDI provenant de jeux comme Ultima 7. Il existe une interface X et une interface SVGA. Il y a aussi une option de playback en temps réel incluant le traçage de toutes les notes sur chaque canal et du rythme du playback en cours (inclu automatiquement avec xplaymidi et splaymidi). Si vous utilisez l'interface SVGA, il vous faudra faire quelque chose comme $ splaymidi foo.mid; stty sane parce que l'initialisation du mode tty du terminal ne se fait pas proprement. Cette interface pourrait être supprimée dans un avenir proche. playmidi a été écrit par Nathan Laredo (laredo@gnu.org or laredo@ix.netcom.com). On peut le récuppérer sur ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/playmidi-2.3.tar.gz . 2.2 Modules Les modules (en musique assistée par ordinateur) sont des fichiers de musique digitale, constituées d'un assortiment d'échantillons et d'informations de séquence, qui signalent à l'utilisateur quand jouer quel échantillon (intrument), sur quelle piste, sur quel ton, et réaliser un effet (optionnel) comme par exemple le vibrato. L'avantage par rapport au MIDI est qu'on peut inclure n'importe quel son (y compris les voix humaines).De plus, la sonorité est la même quelle que soit la plateforme, car les échantillons sont inclus dans le module. L'inconvénient est que la taille des fichiers est nettement plus importante que celle des MIDI. Egalement, il n'y a pas vraiment de format standard (le seul vrai est le ProTracker, avec lequel de nombreux modules ne sont pas compatibles). Il provient d'Amiga. Le format le plus répandu est identifié par l'extension .mod. Il existe de nombreuses autres extensions, qui dépendent de leur format. tracker C'est un programme très portable (il l'a été sur de nombreuses plateformes) qui lit les modules musicaux SoundTracker et ProTracker. Il utilise une sortie stéréo 16 bits, et je trouve sa qualité exellente. Si vous cherchez un moyen simple de réduire la consommation CPU, utilisez l'option -mono. Ce programme est un graticiel (selon l'auteur). Il a été écrit par Marc Espie (Marc.Espie@ens.fr). Une version avec le Makefile déjà configuré pour Linux peut être obtenue sur ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/tracker-4.3-linux.t ar.gz. gmod C'est un lecteur de modules musicaux pour carte Gravis UltraSound. Les formats supportés sont 4/6/8 canaux MOD, 8 canaux 669, MultiTracker (MTM), UltraTracker (ULT), FastTracker (XM) et ScreamTracker III (S3M). Il nécessite un pilote son 3.0 ou ultérieur, et bien sûr une GUS. Pour que le contrôle du volume fonctionne de la manière voulue, il peut s'avérer nécéssaire de modifier le noyau. Il possède une interface X qui nécessite le toolkit QT (version 0.99 ou ultérieure). Connectez vous sur la QT toolkit homepage pour de plus amples informations sur QT. Il peut être distribué librement. La version originale a été écrite par Hannu Savolainen, et Andrew J. Robinson en assure à présent la maintenance (robinson@cnj.digex.net). On peut le récupérer sur ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/gmod-3.1.tar.gz. MikMod Ce lecteur de modules portable reconnait les formats XM, ULT, STM, S3M, MTM, MOD et UNI (UNI est un format interne à MikMod). Il supporte également les fichiers de modules compressés. Il utilise une sortie son stéréo en 16 bits. Pour réduire simplement la consommation CPU, utilisez l'option -m (pour sortie mono). La version Unix peut utiliser indifférement ncurses ou Tcl/Tk pour l'interfaçage. On peut aussi s'en servir comme d'une bibliothèque, pas seulement comme d'un programme indépendant. La version originale a été écrite par Jean-Paul Mikkers (mikmak@via.nl). A présent, Jake Stine en assure la maintenance (dracoirs@epix.net). C'est un shareware et vous devrez l'enregistrer pour toute utilisation commerciale. Il vous faudra également une autorisation pour toute redistribution commerciale (pour une redistribution non commerciale, un autorisation n'est pas nécessaire). On peut le trouver sur la MikMod home page. xmp C'est un lecteur de module (à ne pas confondre avec le xmp d'Adagio) qui reconnait les modules MOD, S3M, MTM, PTM, PTR, STM, 669 et XM (d'autres formats sont supportés, mais encore de façon expérimentale ou incomplète). Si vous possédez une carte son avec table d'échantillons sonores (GUS ou SoundBlaster AWE 32), alors, vous pouvez l'utiliser pour diminuer la charge du CPU. xmp peut également gérer les modules compressés. Une interface X pour xmp est disponible. xmp a été écrit par Claudio Matsuoka (claudio@pos.inf.ufpr.br) et Hipolito Carraro Jr. On peut le trouver sur la xmp home page. s3mod s3mod lit des modules MOD de 4,6,ou 8 pistes et des modules Scream Tracker III. Il utilise une sortie mono 8 bits avec un taux d'échantillonage par défaut de 22 kHz. L'option -s passe en stéréo, -b en sortie 16 bits, et -f règle la fréquence d'échantillonage. Cependant, la sortie est plus mauvaise qu'avec tracker (bruit de fond), aussi je conseille d'utiliser plutôt tracker que s3mod pour lire des fichiers MOD ordinaires (à moins que votre machine manque de puissance). La consomation CPU est nettement inférieure à celle de tracker. Un copyright a été déposé par Daniel Marks and David Jeske (jeske@uiuc.edu), mais vous pouvez faire ce que vous voulez avec (sauf dire que vous l'avez écrit). On peut le récupérer sur ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/s3mod-v1.09.tar.gz. mod Ce programme en version beta lit les formats MOD (15/31 instruments, jusqu'à 32 voix), MTM, ULT et S3M sur la carte Gravis UltraSound. Il peut aussi lire les modules compressés si vous avez installé gzip, lharc, unzip et unarj. Il ne peut pas lire les modules compressés avec certains compositeurs Amiga (signature "PACK"). Il nécessite un pilote son de version 3.0 au minimum. Il ne fonctionnera _pas_ avec un pilote son de version 2.90-2 ou antérieure. L'interface en mode texte nécessite ncurses. Une interface X est également incluse, basée sur Tcl/Tk. Il a été écrit par Mikael Nordqvist (mech@df.lth.se ou d91mn@efd.lth.se). On peut le récupérer sur ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/mod-v0.81.tgz. nspmod C'est un lecteur de modules en version _alpha_ qui reconnait les formats MTM, S3M et MOD. Il est destiné à être un lecteur de modules pour cartes sans DSP (à ne pas confondre avec ce que Creative Labs nomme DSP). Sa consommation CPU est comparable à celle de tracker. Il intègre la possibilité de faire boucler les modules s'ils le veulent. Le nombre de boucles peut être limité avec l'option -l. Il utilise une sortie son 8 bits seulement (cf version 0.1). Il a été écrit par Toru Egashira (toru@jms.jeton.or.jp). On peut le récuperer sur ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/nspmod-0.1.tar.gz. yampmod Ce programe en version _alpha_ a été conçu pour lire des modules 4 canaux en utilisant le minimum de ressources CPU. Il n'a _pas_ été conçu pour produire un son de grande qualité. Aussi la seule sortie son disponible est une sortie mono à 22kHz. De plus, la sortie n'est pas aussi propre qu'elle le devrait, du fait de son statut alpha. Il a été écrit par David Groves (djg@djghome.demon.co.uk). On peut le récupérer sur ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/yampmod-0.1.tar.gz. 2.3 Flux audio MPEG MPEG est un standard spécifiant le codage vidéo ainsi que la piste audio associée pour un stockage digital. MPEG est habituellement associé avec la vidéo, mais la partie audio du standart MPEG peut être utilisée seule. Elle définit trois couches (layer), couche I,II, et III. Les lecteurs pouvant décoder une couche élevée peuvent également décoder une couche plus basse (par exemple un lecteur de couche III peut aussi lire les fichiers de couche II). Les fichiers audio MPEG de couche I ont habituellement l'extension .mpg ( donc s'il y a un fichier avec cette extention qui ne peut pas être lu par un lecteur de vidéo MPEG, c'est probablement un flux audio), la couche II a généralement l'extension .mp2, et la couche III l'extension .mp3. La compression audio est plutôt bonne. Un fichier audio MPEG de couche II faisant 2 Mégaoctets (Mo) prendra problablement 25 Mo pour un fichier d'échantillon brut PCM de la même qualité. mpg123 Ce programme en version _beta_ est un lecteur de flux audio MPEG efficace, qui supporte les couches I, II, et III. Il est basé sur du code provenant de plusieurs sources. Il est capable de lire des flux en temps réel par HTTP (ainsi, on peut lire un flux audio MPEG directement à travers le World Wide Web). L'auteur principal est Michael Hipp (Michael.Hipp@student.uni-tuebingen.de). Le programme peut être utilisé et distribué gratuitement pour des utilisations non-commerciales, sous réserve qu'il ne soit pas modifié. Son insertion dans une collection de logiciels gratuits (comme une image d'un serveur FTP sur CD-ROM) est explicitement autorisé. On peut trouver la version la plus récente sur la mpg123 homepage. maplay 1.2 Ce lecteur de flux audio MPEG supporte seulement les flux de couche I et II, et manque du support pour les flux de couche III. Il supporte les cartes son 16 bits sous Linux. Il utilise pas mal les ressources CPU, prenant plus de 55% du temps CPU sur un Pentium 60MHz. La sortie est intolérable sur un 486 à 66MHz parce que le CPU ne peut pas suivre le son. Si cela se produit, essayez de ne lire qu'un seul canal du flux audio (avec l'option -l ou -r), au lieu de la stéréo par défaut. Un léger changement dans un des fichiers pourrait être nécessaire pour le compiler. A savoir, vous pourriez avoir besoin d'ajouter la ligne suivante au début du fichier configuration.sh. #! /bin/sh L'auteur est Tobias Bading (bading@cs.tu-berlin.de). On peut récupérer maplay 1.2 sur ftp://ftp.cs.tu-berlin.de/pub/misc/maplay1.2/maplay1_2.tar. maplay 1.3b C'est une modification non officielle (pas par l'auteur original) de maplay 1.2 qui peut être exécuté avec une charge plus basse du CPU. Il l'accomplis principalement en faisant une sortie u-law qui aussi sur d'autres plateformes que SPARC. Notez qu'il utilise la sortie u-law par défaut, ce qui rend la qualité du son moins bonne. Les modifications ont été faites par Orlando Andico (orly@gibson.eee.upd.edu.ph). On peut le récupérer sur ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/maplay-1.3b-Linux.t ar.gz. maplay3 C'est un autre dérivé de maplay 1.2. Il ajoute le support des flux audio MPEG de couche III. Actuellement il semble y avoir des bugs dans le playback (qui se manifestent par des bruits aigus). Tripotez les options pour régler le problème. Les modifications ont été faites par Timo Jantunen (timo.jantunen@hut.fi ou jeti@cc.hut.fi). Il peut etre utilisé librement, mais seulement pour un usage non lucratif. Cependant, je ne suis pas entièrement sûr de la validité de ce copyright, du fait que le maplay original est sous GPL (GNU General Public License), licence qui ne permet pas aux dérivés d'avoir un copyright différent. On peut le récupérer sur ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/maplay3.tar.gz. splay Ce lecteur en version _beta_ est un autre dérivé de maplay 1.2 (en fait de maplay 1.2+, qui est un dérivé de maplay 1.2, sous MS Window seulement). Il ajoute un support pour les flux audio MPEG de couche III. Il est aussi capable de lire les fichiers WAV. Il peut enfin aussi lire des flux reçus à travers des connections HTTP. Une autre caractéristique de splay est qu'il peut être utilisé comme une bibliothèque (sous License GPL), ainsi il peut être employé dans d'autres programmes. Il tente aussi d'augmenter ses performances en utilisant le threading (pthread est nécessairepour utiliser cette caracteristique) et un peu d'assembleur en ligne. Une interface en ligne de commande pour splay est disponible, ainsi qu'une interface X optionnelle (qui utilise QT). Si après compilation, il ne marche pas (par exemple segmentation faults), essayez de le compiler sans le threading. Il a été fais par Jung Woo-jae (jwj95@eve.kaist.ac.kr). Il peut être obtenu sur la splay's home page. Sajber Jukebox Ce programme est un lecteur de MPEG audio avec une interface utilisateur graphique. Il est basé sur splay, ainsi il inclue un support pour les couches audio MPEG de type I, II et III. Il est aussi capable de lire les flux audio MPEG en temps réel sous connexion HTTP. Il est facilement configurable. Il utilise le toolkit QT (nécessite au moins la version 1.2). Il utilise aussi la bibliothèque LinuxThreads (les exécutables inclus ne marchent qu'avec la version 0.5). L'auteur est Joel Lindholm (wizball@kewl.campus.luth.se). La dernière version peut être récupérée sur ftp://kewl.campus.luth.se/pub/jukebox. amp Ce lecteur de MPEG audio en version _beta_ supporte seulement les flux audio de couche III. Il est capable de lire directement vers la carte son, et il peut sortir des fichiers au format brut PCM ou au format WAV. Il charge par contre vraiment le CPU (à peu près 60% sur un pentium 133MHz). Il a été écrit par Tomislav Uzelac (tuzelac@rasip.fer.hr). Il peut être utilisé et distribué librement, tant qu'il n'est pas vendu à des fin commerciales sans autorisation (l'inclure dans des CD-ROMs qui contiennent des logiciels gratuits est, par contre, explicitement autorisé). On peut le récupérer sur ftp://ftp.rasip.fer.hr/pub/mpeg/amp-0.7.3.tgz. XAudio Cette bibliothèque en version _alpha_ a été écrite pour être une implémentation rapide d'une bibliothèque de décodage pour des IHM variées. Il suporte les MPEG audio de couche I, II, et III. Il est capable d'effectuer des accès aléatoires aux flux de bits. Une interface en ligne de commande est incluse, ainsi qu'une interface Motif (Lesstif), fournie dans la version Linux. Il est de Gilles Boccon-Gibod, Alain Jobart et d'autres. L'interface pour la bibliothèque peut être récupérée librement. La bibliothèque elle-même demande une license pour être utilisée (une license pour la source et les exécutables est disponible). L'interface pour la bibliothèque peut être obtenue sur la XAudio home page. Layer 3 Shareware Encoder/Decoder C'est un convertisseur de MPEG audio de couche III en fichiers d'échantillons au format WAV, AIFF, SND, AIFC, ou juste PCM brut. La version Linux ne sort pas directement le son sur la carte audio. On doit d'abord le convertir en un autre format. Cependant, quand vous essayez de lire un fichier convertis avec sox, vous n'entendrez probablement que des bruits parce que l'ordre des mots dans les échantillons PCM n'est pas bon (au moins sur les machines Intel). Vous avez besoin de donner à sox l'option -x pour résoudre ce problème. Mais certains lecteurs n'ont pas besoin d'être avertis que l'ordre des mots est mauvais, ainsi vous n'aurez peut être pas à vous inquiéter de cela. Si vous avez un ordinateur vraiment rapide (probablement au moins un Pentium 100MHz), alors vous pouvez essayer de lire un flux MPEG de couche III directement sans avoir besoin de convertir préalablement le fichier audio en un autre format comme dans l'exemple suivant (cet expemple suppose que vous utilisiez sox et que vous lisiez un échantillon stéréo de 44,1 kHz). $ l3dec foo.mp3 -sto | play -t raw -x -u -w -c 2 -r 44100 - Le nombre après -r est la fréquence du flux audio, et le nombre après -c dépend de s'il est mono ou stéréo (ou même quadriphonique). Si ça vous semble trop compliqué, vous pouvez utiliser quelque chose comme un script shell ou un alias. C'est un shareware déposé par Fraunhofer-IIS. Une version de démonstration pour les systèmes Linux à base de x86 peut être récupéré sur ftp://ftp.fhg.de/pub/layer3 La version de démonstration convertis seulement les flux audio MPEG de couche III. X11Amp Ce logiciel en version _beta_ est un lecteur de flux audio MPEG doté d'une interface graphique, similaire à celle utilisée par son homologue sous Windows winamp. Aucun droits de reproduction n'est mentionné (je suppose qu'il peut être librement utilisé pour un usage personnel). Il est maintenu par Mikael Alm (psy@x11amp.bz.nu), Thomas Nilsson (fatal@x11amp.bz.nu) et Olle Hallnas (crocodile@x11amp.bz.nu). On peut le récupérer sur X11Amp's homepage. Seuls les exécutables pour les systèmes Intel Linux et FreeBSD sont disponibles à cette adresse. 2.4 WAV Tiré de la page man de sox : Ils (format WAV) apparaissent comme étant très similaires aux fichiers IFF, mais ce ne sont pas les mêmes. Ce sont les formats de fichiers son natifs de Windows 3.1. Evidemment, Windows 3.1 est d'une telle incroyable importance pour l'industrie informatique qu'il se doit d'avoir son propre format de fichier son. Ils ont habituellement l'extention .wav. A voir aussi la section sox et bplay pour d'autres lecteurs de WAV que ceux présentés ici. wavplay Ce programme supporte la lecture et l'enregistrement avec le format WAV. Il utilise un système de verrou, ainsi un seul son peut être lu à la fois. Ses capacités de verrou peuvent être utilisées indépendamment de celles de lecture du son. En plus d'une interface en ligne de commande, il y a une interface Motif, utilisable avec Lesstif. Il a été écrit à l'origine par Andre Fuechsel (af1@irz.inf.tu-dresden.de), mais a évolué au point d'avoir été completement réecrit par Warren W. Gay (bx249@freenet.toronto.on.ca ou wwg@ica.net). On peut le récupérer sur ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/wavplay-1.0.tar.gz. 2.5 Autres Cette section présente les moyens disponibles pour lire les formats son qui ne méritent pas une section séparée (par exemple les formats qui n'ont qu'un lecteur disponible), ou les lecteurs qui lisent plus d'un format. sox Ce programme est en fait un convertisseur : il convertit un format son en un autre. Toutefois, des versions de sox, invoquées comme play, lisent les sons ( l'application play dans le Sound HOWTO détaille probablement cela). Il supporte les données binaires brutes (pas de header) et textuelles, les fichiers son IRCAM, .voc de Sound Blaser, .au de SPARC (sans header), HCOM de Mac,.sou sur PC/DOS, SndTool, et Sounder, .snd de NeXT, RIFF/WAV de Windows 3.1, .smp de Turtle Beach, CD-R, AIFF de Apple/SGI, et le format 8SVX. Depuis à peu près les kernels 1.3.6x, vous pourriez avoir à faire un petit changement dans un fichier pour le faire lire du son directement. A savoir, vous devez changer la ligne 179 dans sbdsp.c de if (abuf_size < 4096 || abuf_size > 65536) { en if (abuf_size < 1 || abuf_size > 65536) { Il se peut que ça ne soit pas nécessaire, mais le faire ne peut causer aucun disfonctionnement. Il a été écrit et deposé par plusieurs personnes et peut être utilisé par n'importe qui. On peut le récupérer sur ftp://sunsite.unc.edu/pub/Linux/apps/sound/convert/Lsox-linux.tar.gz. En plus, cette version supporte les formats MS ADPCM et IMA ADPCM WAV. Une version plus récente de Chris Bagwell (cbagwell@sprynet.com) (basée sur la dernière version gamma du sox original, et incluant les modifications ci-dessus) peut être récupérée sur ftp://sunsite.unc.edu/pub/Linux/apps/sound/convert/sox-11gamma-cb3.tar .gz. bplay Ce programme en version _beta_ lit les fichiers audio bruts, WAV et VOC. Il est aussi en mesure d'enregistrer dans ces formats. Il utilise une variétés de techniques pour obtenir le vitesse la plus élevée possible, permettant ainsi d'être exécuté de façon acceptable même sur des machines lentes. Une de ces techniques requiert que les programmes installés soient setuid root. Le barge espérant l'utiliser devrait employer le paquetage Debian de Ian Jackson (ijackson@gnu.org), qui permet d'ôter la caractéritique nécessitant le bit setuid. L'auteur est David Monro (davidm@gh.cs.usyd.edu.au). On peut le récupérer sur ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/bplay-0.96.tar.gz. SIDPLAY Ce programme émule la puce Sound Interface Device (MOS 6581, communément appelée SID) et le Micro Processor Unit (MOS 6510) du Commodore 64. Il est ainsi possible de charger et d'exécuter des programmes en code machine C64 qui produisent de la musique ou du son. En général ce sont des fragments de code et de données qui sont tirés de jeux et de démos directement transférés du C64. Il utilise une interface en ligne de commande par défaut. Il existe aussi des interface en Tk ou QT disponible séparément du paquetage principal. Il est maintenu par Michael Schwendt (sidplay@geocities.com). Il peut être obtenu sur la SIDPLAY's home page. RealAudio Player Ce programme vous permet d'écouter des sons, qui sont stockés dans un format propriétaire, en temps réel à travers Internet sans rapatrier intégralement le fichier son préalablement. Il peut être utilisé seul, mais il est vraiment destiné à être utilisé à travers un navigateur web (Mosaic et Netscape le supportent explicitement). Il ne peut etre utilisé sans X (vous ne devriez pas pouvoir le faire marcher avec Lynx sur une console texte). Cependant, il existe un bricolage qui permet d'executer le lecteur RealAudio depuis une console. Pour que ça fonctionne, il vous faudra le serveur X virtual frame buffer (Xvfb). Ce bricolage peut être récupéré sur ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/traplayer-0.5.tar.g z. Il a été réalisé par Progressive Networks, Inc. Il ne peut être redistribué, modifié, etc. Regardez la license pour les détails exacts sur ce que vous pouvez faire. Il peut être obtenu en s'enregistrant gratuitement sur la RealAudio home page. cat On peut se demander ce que cat, l'utilitaire de concaténation parfois suremployé, a à faire avec la lecture des sons. Je vais vous montrer son utilisation à travers un exemple. $ cat sample.voc > /dev/dsp $ cat sample.wav > /dev/dsp $ cat sample.au > /dev/audio Faire un cat d'un fichier .au sur /dev/audio marchera habituellement, et si vous avez suffisament de chance pour que le fichier ait un ordre d'octets correct (pour votre plateforme) etc., un cat d'un fichier son qui utilise des échantillon PCM (comme .wav ou .voc) sur /dev/dsp pourrait même donner quelque chose d'audible. Ce n'est pas un usage totalement inutile de cat. Par exemple, si vous avez un fichier son qu'aucun de vos programmes ne reconnaisse, et dont vous savez qu'il utilise des échantillons PCM. Vous pourrez alors être en mesure d'en avoir une idée très approximative (si vous êtes chanceux). 3. Autres utilitaires son pratiques Cette section ne concerne pas la lecture des fichiers son. Cependant, il existe une collection d'utilitaires que vous pourriez trouver utiles. 3.1 volume C'est une simple interface en ligne de commande pour contrôler le volume (qu'est ce que ça aurait pu être d'autre ?). Il a aussi un programme séparé, inclus dans le paquetage, ayant une interface en Tcl/Tk permettant de contrôler le volume, de lire les fichiers son .au. Un lecteur très simple de CD en Tcl/TK est aussi inclus. C'est un Freeware et il a été écrit par Sam Lantinga (slouken@cs.ucdavis.edu). On peut le récupérer sur ftp://sunsite.unc.edu/pub/Linux/apps/sound/soundcard/volume-2.1.tar.gz . 3.2 Sound Studio C'est une application en Tcl/Tk utilisant sox qui supporte la lecture, l'enregistrement, et l'édition de sons numériques. La distribution inclue sox pour eviter tous problemes de comptabilité. Il a été écrit par Paul Sharpe et N. J. Bailey (N.J.Bailey@leeds.ac.uk). Il peut être librement utilisé et distribué si vous leur envoyez un courrier. Il peut être trouvé sur la Sound Studio's home page. 3.3 Tickle Music Ce programe en version _beta_ doté d'une interface Tcl/Tk est un navigateur de fichiers de musicaux qui vous permet de lire des formats de son variés tant que le programme approprié pour les jouer est sur votre système. Par défaut gmod est utilisé pour lire les fichiers MOD et mp pour les fichiers MIDI (vous pouvez changer la source pour utiliser d'autres programmes). Il a été écrit et déposé par Shannon Hendrix (shendrix@pcs.cnu.edu ou shendrix@escape.widomaker.com). On peut le récupérer sur ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/tmusic-1.0.tar.gz. 4. Références 1. La documentation incluse avec les applications présentées dans ce document. 2. Le Linux Sound HOWTO. On peut le trouver sur le Linux Documentation Project ou en français 3. Linux MIDI and Sound Applications 4. Programmer's Guide to OSS 5. SoX home page