Le Linux Sound-HOWTO Jeff Tranter, tranter@pobox.com, traduction fran�aise de Ga�l Duval (version 1.18) gael@linuxmandrake.com v1.19, 23 janvier 1998 - mis � jour en d�cembre 1998. _________________________________________________________________ _Ce document d�crit comment le son est g�r� par Linux. Il �num�re les diff�rents mat�riels support�s, d�crit comment configurer les pilotes dans le noyau, et r�pond aux questions les plus fr�quentes. Son but est de permettre aux nouveaux utilisateurs de profiter du son rapidement, et de d�sengorger le trafic Usenet._ _________________________________________________________________ 1. Introduction Ceci est le document Linux Sound-HOWTO. Il est con�u pour �tre une r�f�rence rapide couvrant tout ce que vous devez savoir pour installer et configurer les fonctions sonores de Linux. Des r�ponses sont donn�es aux questions les plus fr�quentes � propos du son sous Linux, et des r�f�rences � d'autres informations sur le son et la musique de synth�se sont mentionn�es. L'�tude se limite aux aspects des cartes son qui concernent Linux. Pour des informations plus g�n�rales sur les cartes, la musique et le son, consultez la section _Autres sources d'information_. 1.1 Remerciements Beaucoup de ces informations proviennent des fichiers Readme (`lisez-moi') provenant de la documentation fournie avec le code source du pilote son, �crit par Hannu Savolainen (hannu@voxware.pp.fi). Que Hannu et les nombreuses autres personnes ayant particip� au d�veloppement des pilotes son du noyau Linux et des utilitaires associ�s soient donc remerci�s. Merci au paquetage Linuxdoc-SGML de Matt Welsh, qui permet � ce HOWTO d'�tre disponible sous diff�rents formats, �manants tous d'un m�me fichier source. 1.2 Versions ant�rieures _Version 1.1_ premi�re version; post�e uniquement dans le canal SOUND de la `linux activists mailing list' (`liste de diffusion des activistes Linux'). _Version 1.2_ corrections mineures; premi�re version disponible sur les sites d'archives. _Version 1.3_ conversion au format SGML ; maintenant disponible sous plusieurs formats, gr�ce aux outils Linuxdoc-SGML de Matt Welsh; la pr�sentation a chang� � cause du nouveau format, mais peu de changements sur le fond. _Version 1.4_ petites modifications de SGML; ajout de r�ponses � propos des incompatibilit�s entre la PAS16 et la carte SCSI Adaptec1542A. _Version 1.5_ le pilote son 2.5a est maintenant dans la distribution du noyau 1.1; note sur le support GUS-MAX; quelques petites corrections. _Version 1.6_ ajout d'information sur l'erreur "no space on device" ; notez que le Hacker's Guide est dans un r�pertoire cach� ; ajout de questions � propos du mode bidirectionnel ; informations sur les erreurs "device busy" ; corrections diverses. _Version 1.7_ ajout d'informations sur l'ASP et l'AWE32; VoxWare 2.9 est disponible; r�ponses aux questions concernant l'utilisation de l'IRQ 2; liens vers les Sound-HOWTO et SCSI HOWTO. _Version 1.8_ ajout d'une question � propos d'erreurs survenant sous DOS; plusieurs points r�actualis� pour la version 2.90 du pilote son; informations concernant DOOM; r�ponse sur la r�duction du bruit. _Version 1.9_ questions concernant l'enregistrement et les cartes compatibles. _Version 1.10_ disponibilit� de l'HOWTO sur le web, sous diverses formes et traduites; informations concernant les conflits de DMA avec le pilote de sauvegarde QIC; informations concernant la Sound Galaxy NX Pro et la BusMouse Logitech. _Version 1.11_ une mise � jour tardive; document mis sous licence GPL; mise � jour avec la version 3.0 du pilote son; informations concernant toutes les nouvelles cartes support�es; nouvelles informations sur la configuration et les probl�mes rencontr�s; beaucoup de nouveaux liens HTML ajout�s; mise � disposition en ligne au format du CD-ROM HOWTO. _Version 1.12_ nouveaux pilotes son du noyau 1.3.34; nouveaux noms pour les fichiers de p�riph�rique son; l'adresse de base pour la 1542 n'est pas 333 mais 334; clarification du statut de la Creative Labs Emu et de l'ASP; pointeurs vers les sites web de Creative Labs et MediaTrix. _Version 1.13_ pr�cision sur le nom VoxWare; mise � jour en fonctions des derni�res cartes support�es et des options de configuration; questions sur le support Plug and Play; question sur le probl�me de la taille du block; nouvelles options pour xconfig et menuconfig; modutils a un support de fichier de p�riph�rique sonore; fin de la liste de diffusion vger; mise � jour du site web de l'auteur; autres changements divers et vari�s. _Version 1.14_ l'Audio Excel DSP16 n'est plus support�e (mais devrait refonctionner dans quelques mois); changements pour le programme configure; la version italienne de ce HOWTO est disponible; astuce pour r�gler les gains du mixer au chargement du module son; la derniere version stable du noyau est maintenant 2.0; nouveau nom pour le pilote son; question concernant les droits des fichiers de p�riph�rique son. _Version 1.15_ suppresion d'anciennes questions devenues obsol�tes; nouvelle adresse email pour l'auteur; mise � jour des liens pour y inclure les derniers packages de logiciels disponibles; plus d'informations sur le livre du multim�dia; petites corrections grammaticales. _Version 1.16_ beaucoup de mises � jour et de corrections propos�es par Hannu Savolainen; ajout d'une "date limite de consommation" de six mois pour ce document; nouveaux liens vers des pages web; ajout d'un lien sur la traduction espagnole; petites corrections grammaticales. _Version 1.17_ la traduction chinoise de ce document est disponible; un pilote alternatif pour la GUS; le package radio modem; le guide Linux Multimedia est desormais disponible en Fran�ais et en Japonais; r�f�rences � des mini-HOWTOs utiles; pointeur pour le Thinkpad IBM. _Version 1.18_ la traduction cor�enne est disponible; plus d'informations concernant le son et les MIPS; mise � jour sur le support de nouvelles cartes son; il faut lancer fuser en tant que root. _Version 1.19_ cette nouvelle version est publi�e selon la licence LDP plutot que GPL. 1.3 Nouvelles versions de ce document Les nouvelles versions de ce document seront p�riodiquement post�es dans le groupe fr.comp.os.linux.annonces. Elles seront aussi envoy�es � divers sites ftp qui archivent ce genre d'informations, notamment : ftp://ftp.lip6.fr/pub/linux/french/docs/HOWTO/ (version fran�aise) et ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/ (version originale). Des versions hypertexte de ce document ainsi que des autres HOWTOs pour Linux sont disponibles sur un grand nombre de sites web dont http://sunsite.unc.edu/LDP/. La plupart des distributions Linux sur CD-ROM contiennent les HOWTOs, souvent dans le r�pertoire /usr/doc et il est possible d'en acheter des versions imprim�es chez plusieurs revendeurs sp�cialis�s. Parfois, les HOWTOs disponibles sur CD-ROM, sur les sites FTP et dans les version imprim�es sont d�pass�s. Si le HOWTO a plus de six mois, alors une nouvelle version est certainement disponible sur Internet. 1.4 Retour d'informations... Si vous avez des suggestions, des corrections, ou des commentaires � apporter � ce HOWTO, merci de bien vouloir me les envoyer ( tranter@pobox.com), et j'essaierai de les inclure dans la version suivante. J'essaie �galement de r�pondre aux questions concernant les cartes son sous Linux dans la mesure du possible. Avant de poser directement une question, merci de lire toutes les informations contenues dans ce HOWTO, et envoyez-moi une description d�taill�e du probl�me. Merci de ne pas me poser de questions quant � l'utilisation des cartes son avec d'autres syst�mes d'exploitation que Linux. Si vous publiez ce document sur CD-ROM ou sous forme imprim�e, j'appr�cierais d'en recevoir une copie (n.d.t.: le traducteur aussi :-) ). Envoyez-moi un email pour que je vous communique mon adresse postale. Pensez �galement � contribuer au Linux Documentation Project pour supporter la documentation libre de Linux. Pour plus d'informations, contactez le coordinateur des HOWTOs LINUX, Tim Bynum mailto:linux-howto@sunsite.unc.edu. 1.5 Ce document : politique de distribution Copyright 1995-1997 Jeff Tranter. Traduction fran�aise 1998 Ga�l Duval. Ce document est distribuable selon les termes de la licence LDP que l'on peut consulter � http://sunsite.unc.edu/LDP/COPYRIGHT.html. 2. La technologie des cartes-son Cette partie vous donne un petit aper�u des techniques audio employ�es en informatique, cela pour vous aider � comprendre certains concepts dont on parlera dans la suite de ce document. Pour en savoir plus, vous pouvez consulter certains livres traitant d'audio-num�rique ou de traitement du signal num�rique... Le son est un ph�nom�ne analogique; il se traduit par une valeur quelconque sur une �chelle continue. Les ordinateurs fonctionnent de mani�re _num�rique_; c'est-�-dire qu'ils utilisent des valeurs discr�tes. Les cartes-son utilisent un composant appel� _Convertisseur Analogique-Num�rique_ (A/N ou ADC en anglais) afin de convertir les tensions correspondantes aux ondes sonores analogiques en valeurs num�riques qui peuvent alors �tre stock�es dans la m�moire de l'ordinateur. De m�me, un _Convertisseur Num�rique-Analogique_ (N/A ou DAC en anglais) convertit les valeurs num�riques en une tension analogique qui peut alors �tre amplifi�e pour "attaquer" un haut-parleur et produire du son... La conversion analogique-num�rique (�chantillonage ou "sampling" en anglais) g�n�re des erreurs. Deux facteurs d�terminent la qualit� du signal echantillon� par rapport au signal initial. Tout d'abord, la _fr�quence d'�chantillonage_ est le nombre d'�chantillons r�alis�s par unit� de temps (exprim�e en Hertz). Une petite fr�quence d'�chantillonage produira une repr�sentation moins fine du signal analogique d'origine, dans le sens o� les fr�quences aigues ne seront pas ou mal restitu�es. (ndt : la th�orie nous enseigne que pour restituer correctement une fr�quence sonore de n Hz, il faut effectuer un �chantillonage au moins �gal � 2 x n Hz. Ainsi, l'�tendue du spectre sonore audible par un humain (0 � 20000 Hz) sera bien restitu�e par un �chantillonage � 44100 Hz (norme CD-AUDIO) ). Le nombre de bits d'�chantillonage conditionne l'�tendue des valeurs utilisables pour repr�senter chaque �chantillon, qui conditionne elle-m�me la plage dynamique de restitution. (ndt : il s'agit du rapport entre le niveau sonore le plus fort restituable sans distortion, et le niveau de souffle ou de bruit inh�rent au mat�riel de restitution. Cette plage dynamique est exprim�e de mani�re logarithmique en decibels (dB). En th�orie, lorsque l'on ajoute un nouveau bit de codage pour chaque �chantillon, on double cette plage, ce qui correspond � un gain en dynamique de 6 dB :-) ) Les cartes son utilisent typiquement un codage sur 8 ou 16 bits (ndt : et parfois 24), pour des fr�quences d'�chantillonage allant de 4000 � 44100 (ndt : ou 48000 Hz). L'�chantillonage pouvant �tre r�alis� sur une voie (mono) ou deux (st�r�o) (ndt : et plus (8, 16...) pour des cartes professionnelles). La _synth�se FM_ est une ancienne m�thode utilis�e pour produire des sons. Son principe consiste en la combinaison de plusieurs ondes de formes diff�rentes (ex : sinuso�dales, triangulaires, carr�es). Ce proc�d� est plus simple � impl�menter au niveau "hardware" que la conversion analogique-num�rique mais son utilisation est plus compliqu� (au niveau programmation). Beaucoup de cartes son supportent la synth�se FM afin de rester compatibles avec des cartes ou programmes plus anciens. Plusieurs g�n�rateurs sonores diff�rents sont habituellement fournis. La _synth�se par table d'�chantillons sonores_ ou _wavetables_ associe la flexibilit� de la conversion A/N avec les possibilit�s multivoies de la synth�se FM. Avec ce proc�d�, des sons digitalis�s/num�ris�s peuvent �tre charg�s dans une m�moire d�di�e puis rejou�s, combin�s, et modifi�s en sollicitant peu le microprocesseur de la machine. Toutes les cartes son actuelles supportent la synth�se par tables d'�chantillons sonores. La plupart des cartes offrent �galement la possibilit� de _mixage_, en combinant les signaux provenant des diff�rentes sources avec des niveaux diff�rents. Le terme _MIDI_ signifie : Musical Instrument Digital Interface soit : interface num�rique pour instruments musicaux en fran�ais. Ce protocole mat�riel et logiciel standard permet aux "instruments �lectroniques" de communiquer entre eux. Les �v�nements envoy�s dans un bus MIDI peuvent aussi �tre m�moris�s dans des fichiers MIDI. Cela permet de les �diter ult�rieurement et de les rejouer. Beaucoup de cartes son poss�dent une interface MIDI. Celles qui n'en n'ont pas peuvent quand m�me jouer des fichier MIDI. Les fichiers _MOD_ sont un format courant pour les sons g�n�r�s par ordinateur. En plus des informations relatives aux notes devant �tre jou�es, ces fichiers contiennent des �chantillons d'instruments ou de voix digitalis�es. Les fichiers MOD proviennent du monde Amiga, mais peuvent �tre jou�s par d'autres syst�mes - dont Linux - en utilisant des logiciels appropri�s. 3. Mat�riel support� Cette partie r�pertorie les cartes son et interfaces qui sont support�es par les derniers noyaux Linux � la date o� ce document a �t� r�dig�. Les diff�rentes versions des pilotes son ont leur propre num�rotation. La derni�re version stable du noyau Linux est � ce jour la 2.0.33 pour une version 3.5.4-960630 du pilote son. Le concepteur de ce pilote, Hannu Savolainen, en rend souvent publiques les nouvelles versions beta avant qu'elles ne deviennent parties int�grantes du noyau Linux. La liste la plus actualis�e des cartes support�es se trouve sur : http://www.4front-tech.com/ossfree/new_cards.html (USA) ou http://personal.eunet.fi/pp/voxware/new_cards.html (Europe). Ces pages indiquent quel pilote est n�cessaire pour tel type de carte, ou si son support est encore en d�veloppement. Le fichier /usr/src/linux/drivers/sound/Readme.cards distribu� avec le noyau Linux contient des informations sur les cartes support�es mais n'est pas forc�ment � jour. Les informations contenues dans ce HOWTO sont valables pour Linux tournant sur un processeur compatible Intel x86. Le pilote son devrait �galement fonctionner avec la plupart des cartes son disponibles pour les plateformes Alpha. N�anmoins, il peut dans ce cas exister des conflits d'adresses avec d'autres p�riph�riques, m�me si la carte fonctionne parfaitement sur une machine � base de x86. Il n'est donc g�n�ralement pas possible de dire si telle ou telle carte va fonctionner sans l'essayer. A l'heure o� ces lignes ont �t� r�dig�es, le pilote son ne fonctionnait pas encore sur la version PowerPC de Linux. Mais cela devrait fonctionner dans l'avenir. On peut configurer le son dans le noyau pour Linux port� sur MIPs, et certaines machines MIPs poss�dent des slots EISA et/ou des circuits-son int�gr�s dans la machine. On m'a dit que le groupe Linux-MIPs souhaitait int�grer un support son dans le futur. Le noyau Linux contient un pilote-son particulier pour les versions Atari et Amiga de Linux qui impl�mente une compatibilit� d'instructions avec le pilote son des machines x86, ceci en utilisant les possibilit�s mat�rielles natives de ces machines. Le portage de Linux pour SPARC n'inclue pas encore de support du son. De la m�me fa�on que pour les Amiga et les Atari, les machines SPARC poss�dent des possibilit�s sonores int�gr�es � la machine. Il faudrait donc un pilote sp�cifique (ce qui est rigolo, car sous Linux, /dev/dsp est une �mulation du pilote son de SunOS !). 3.1 Les cartes son Les cartes son suivantes sont support�es par le pilote son du noyau linux : * ATI Stereo F/X (n'est plus fabriqu�) * AdLib (n'est plus fabriqu�) * Ensoniq SoundScape (et compatibles fabriqu�es par Reveal and Spea) * Gravis Ultrasound * Gravis Ultrasound ACE * Gravis Ultrasound Max * Gravis Ultrasound avec �chantillonage sur 16 bits * Logitech Sound Man 16 * Logitech SoundMan Games * Logitech SoundMan Wave * MAD16 Pro (chipsets OPTi 82C928, 82C929, 82C930, 82C924) * Media Vision Jazz16 * MediaTriX AudioTriX Pro * Microsoft Windows Sound System (MSS/WSS) * Mozart (OAK OTI-601) * Orchid SW32 * Personal Sound System (PSS) * Pro Audio Spectrum 16 * Pro Audio Studio 16 * Pro Sonic 16 * Roland MPU-401 interface MIDI * Sound Blaster 1.0 * Sound Blaster 16 * Sound Blaster 16ASP * Sound Blaster 2.0 * Sound Blaster AWE32 * Sound Blaster Pro * TI TM4000M notebook * ThunderBoard * Turtle Beach Tropez ("classic", pas la "Plus") * Turtle Beach Maui * Yamaha FM synthesizers (OPL2, OPL3 et OPL4) * 6850 UART MIDI Interface Notez bien que les cartes Plug and Play (PnP) ne sont pas enti�rement compatibles avec les mod�les non-PnP de la m�me carte. Par exemple, la SoundBlaster16 PnP n'est pas compatible � 100% avec la SoundBlaster16 originelle. Il en va de m�me pour les Soundscape et les GUS PnP. On trouvera plus d'informations � ce sujet dans la suite de ce document. Les cartes suivantes ne sont _pas_ support�es, soit parce qu'elles sont d�pass�es, soit parce que le constructeur ne souhaite pas communiquer la totalit� des sp�cifications techniques n�cessaires pour �crire le pilote concern�. * Pro Audio Spectrum (originelle) * Pro Audio Spectrum+ * anciennes cartes (Sierra Aria based)fabriqu�es par Diamond Les autres cartes qui sont annonc�es comme �tant compatibles avec une des cartes support�es vues plus haut _peuvent_ fonctionner � condition qu'elles soient r�ellement compatibles au niveau mat�riel (c'est-�-dire, au niveau des registres). M�me si la plupart des cartes son sont dites "compatibles SoundBlaster", un tr�s petit nombre le sont suffisament pour fonctionner avec le pilote SoundBlaster de Linux. Ces cartes fonctionnent habituellement mieux en utilisant les pilotes MSS/WSS ou MAD16. Seules les v�ritables cartes SoundBlaster fabriqu�es par Creative Labs et qui utilisent les puces Creative (comme la SoundBlaster16 Vibra), la MV Jazz16 et les cartes bas�es sur l'ESS688/1688 fonctionnent en g�n�ral avec le pilote SoundBlaster. Tenter d'utiliser une "carte son SoundBlaster Pro compatible 16 bits" avec le pilote de p�riph�rique SoundBlaster est en g�n�ral une perte de temps. Le noyau Linux supporte les ports SCSI pr�sents sur quelques cartes son (par exemple, sur la SoundBlaster16 Vibra) et les interfaces propri�taires pour un certain nombre de lecteurs de CD-ROM (par exemple, sur la Soundblaster Pro). Voyez � ce propos le SCSI HOWTO et le CDROM HOWTO pour plus d'informations. Un module chargeable du noyau supportant les ports joystick (dont certains fournis avec certaines cartes son) est �galement disponible. Notez que les pilotes de p�riph�rique SCSI, CD-ROM, joystick et son du noyau sont compl�tement ind�pendants les uns des autres. Pour des informations � jour sur les pilotes son, consulter le site Web de Hannu Savolainen (qui est mentionn� dans la liste des r�f�rences). 3.2 Des pilotes son alternatifs Il y a des pilotes "non officiels" disponibles. Ils font pas partie de la distribution standard du noyau Linux et sont utilis�s � la place du pilote son normal. Une version commerciale du pilote son est vendue par 4Front Technologies. Elle offre un grand nombre de caract�ristiques suppl�mentaires par rapport � la version libre fournie dans le noyau Linux. Pour en savoir plus, consulter la page Web de 4Front Technologies sur http://www.4front-tech.com/. Markus Mummert ( mum@mmk.e-technik.tu-muenchen.de) a con�u un pilote son pour les cartes son Turtle Beach Multisound (classic), Tahiti et Monterey. La documentation pr�cise : "ce pilote a �t� con�u pour de l'enregistrement/ lecture sur disque-dur sans perte de synchronisation, m�me sur un syst�me charg�. Les autres fonctionalit�s, comme la synth�se sonore par table d'�chantillons, le MIDI et l'utilisation des DSP (Digital Signal Processor = Processeurs de Signaux Num�riques) ne peuvent pas �tre utilis�es. De m�me, l'enregistrement et la lecture simultan�s ne sont pas possibles. Il remplace actuellement VoxWare et a �t� test� pour plusieurs noyaux, de la version 1.0.9 � la 1.2.1. On peut �galement l'installer sur les syst�mes UN*X SysV386R3.2." On peut le trouver sur http://www.cs.colorado.edu/~mccreary/tbeach. Kim Burgaard ( burgaard@daimi.aau.dk) a �crit un pilote son et des utilitaires pour l'interface MIDI MPU-401. Le fichier relatif � Linux donne cette description : "Un pilote pour v�ritable interface MIDI compatible Roland MPU-401 (incluant la SCC-1 et la RAP-10/ATW-10 Roland). Fourni avec un ensemble d'utilitaires, dont un lecteur/enregistreur pour fichiers MIDI standards." "Beaucoup d'am�liorations ont �t� r�alis�es depuis la version 0.11a. Entre autres, le pilote respecte la politique de partage des IRQ et la nouvelle interface des modules du noyau. Une fonction de m�tronome, des possibilit�s de synchronisation - par exemple des images en fonction d'un battement sans perte de pr�cision, une interface avanc�e de relecture/enregistrement/overdub (lecture et enregistrement simultan�s) et beaucoup plus encore." On peut le trouver sur ftp://sunsite.unc.edu/pub/Linux/kernel/sound/mpu401-0.2.tar.gz. Jaroslav Kysela et d'autres ont �galement con�u un pilote alternatif pour la Gravis UltraSound. Consulter la page http://romeo.pf.jcu.cz/~perex/ultra du projet Linux UltraSound pour plus d'infos. Une autre utilisation des cartes son sous Linux consiste � s'en servir comme modem pour la radio-amateur par paquets. Les versions r�cente 2.1.x (attention, version de _d�veloppement_ !) contiennent un pilote qui fonctionne avec les cartes compatibles SoundBlaster et Windows Sound System pour pouvoir utiliser les protocoles paquets AFSK 1200 bps et FSK 9600 bps. Voyez le HOWTO AX25 pour plus de d�tails (je suis moi-m�me radio-amateur avec VE3ICH comme indicatif !). 3.3 Le haut-parleur du PC Un autre pilote son est �galement disponible, qui ne n�cessite pas de carte son : il utilise le haut-parleur PC. Il est compatible au niveau logiciel avec le pilote de cartes son, mais, comme on peut s'y attendre, il produit un son de moins bonne qualit� et n�cessite plus de ressources CPU. Les r�sultats semblent �tre assez in�gaux, et d�pendent des caract�ristiques du haut-parleur interne. Pour de plus amples informations, consultez la documentation fournie avec ce pilote. La version actuelle est 1.1 et peut-�tre trouv�e sur ftp://ftp.informatik.hu-berlin.de/pub/os/linux/hu-sound/ 3.4 Le port parall�le Une autre option consiste � fabriquer un convertisseur num�rique-analogique en utilisant le port parall�le (pour imprimante ou autre extensions). Cette solution produit un son de meilleur qualit� qu'avec le haut-parleur du PC, mais sollicite �galement beaucoup la CPU. Le paquetage du pilote pour haut-parleur mentionn� ci-dessus supporte cette fonction et contient les instructions pour construire le mat�riel ad�quat. 4. L'installation La configuration du support son sous Linux doit se faire selon les �tapes suivantes : 1. Installation de la carte son. 2. Configuration et recompilation du noyau avec le support son. 3. Cr�ation des fichiers "device" (fichiers sp�ciaux associ�s. au p�riph�rique : /dev/...). 4. Red�marrage de la machine et tests d'installation. Dans la suite sont explicit�es toutes ces �tapes. 4.1 L'installation de la carte son Suivez les instructions du fabriquant pour l'installation mat�rielle ou confiez-la � votre revendeur. Les vieilles cartes-son ont souvent des petits interrupteurs appel�s cavaliers ("switch" ou "jumper") permettant de configurer les adresses IRQ (Interrupt ReQuest = requ�te d'interruption ), DMA (Direct Memory Access = bus de transfert direct des donn�es), les canaux, etc. Si vous n'�tes pas certain, utilisez les r�glages d'usine. Essayez d'�viter les conflits avec d'autres pr�riph�riques (comme les cartes ethernet, les cartes SCSI, les ports s�rie et parall�le). Normalement, vous devrez utiliser les m�mes adresses d'E/S, d'IRQ et de DMA que celles fonctionnant sous DOS. Cependant, dans certains cas (en particulier avec les cartes PnP) vous aurez peut-�tre besoin d'un r�glage particulier pour que cela fonctionne avec Linux. Il faudra peut-�tre faire quelques essais. 4.2 La configuration du noyau Quand vous avez install� Linux, vous avez certainement utilis� un noyau pr�compil�. G�n�ralement, ces noyaux ne fournissent pas de support son. Il vous faut donc recompiler votre noyau en fonction des p�riph�riques que vous poss�dez. Vous devez �galement recompiler le noyau lorsque vous passez � une de ses nouvelles versions ou afin de lib�rer de la m�moire en r�duisant sa taille (ndt : par l'utilisation des modules). Consultez le Linux Kernel HOWTO pour recompiler le noyau (ndt : c'est tr�s simple � faire). Je ne vais parler ici que des points qui sont sp�cifiques aux cartes son. Si vous n'avez jamais configur� le noyau pour le support son, il peut �tre utile de lire _tous_ les fichiers Readme fournis avec les pilotes son du noyau, et en paticulier les informations sp�cifiques � votre carte-son. La documentation suivant peut-�tre trouv�e dans le r�pertoire des pilotes son du noyau Linux. Il se trouve en g�n�ral dans /usr/src/linux/drivers/sound : CHANGELOG - description des modifications pour chaque version COPYING - droit et restrictions de duplication Readme - informations r�centes et importantes Readme.aedsp16 - � propos de la carte Audio Excel 16 DSP Readme.cards - pr�cisions sur la configuration de cartes sp�cifiques Readme.linux - pr�cisions sur l'installation de pilotes son non inclus dan s le noyau Readme.modules - comment compiler le pilote en un module chargeable Readme.v30 - nouvelles possibilit�es dans la version 3.0 du pilote son experimental.txt - � propos des caract�ristiques exp�rimentales Suivez tout d'abord la proc�dure habituelle pour compiler le noyau. Il existe actuellement trois interfaces disponibles pour la proc�dure de configuration. Une interface graphique sous X11 peut �tre lanc�e par "make xconfig". Une interface � base de menus texte est disponible en tapant "make menuconfig". Enfin, la m�thode originelle, en utilisant "make config" propose une interface uniquement � base de texte. Il faut faire particuli�rement attention en utilisant "make xconfig" ou "make menuconfig". En effet, les choix par d�faut sont toujours positionn�s sur "No", ce qui n'est pas correct dans tous les cas. En particulier, l'option "/dev/dsp and /dev/audio support" (CONFIG_AUDIO) doit habituellement �tre valid�e. Dans ce document, je suppose que vous utilisez la proc�dure traditionnelle en mode texte : "make config". N�anmoins, la proc�dure est identique dans les autres cas. Il y a �galement deux autres mani�res de configurer le son. La premi�re est l'"ancienne" fa�on (la seule disponible pour les noyaux 2.0.0). Elle utilise un programme de configuration s�par� qui fait partie du pilote son. Cette m�thode fonctionne pour la plupart des cartes, except�es quelques unes qui n�cessitent des pilotes additionnels "bas niveau" (miroSOUND, AWE32, et AEDSP16). La seconde m�thode (la "nouvelle") est mieux int�gr�e � la configuration par menus texte utilis�e pour le reste du noyau. Elle ne fonctionne pas pour les cartes qui ont besoin d'un fichier constructeur t�l�chargeable. Ceci concerne les cartes PSS, SM Wave, AudioTrix Pro et TurtleBeach Tropez/Maui. Avec ces cartes, on utilisera la vieille proc�dure. La "nouvelle" m�thode est toujours utilis�e en faisant "make xconfig". Quand on utilise "make menuconfig", on peut choisir entre les deux m�thodes. En faisant "make config", vous aurez la vieille m�thode par d�faut. Mais si vous avez d�j� utilis� la nouvelle m�thode, ce sera celle utilis�e par "make config" ! Vous pouvez res�lectionner l'ancienne en lan�ant "make menuconfig" et en la s�lectionnant. La m�thode recommend�e est l'utilisation de "make menuconfig" avec l'ancienne m�thode de configuration. Beaucoup de probl�mes de configuration du son proviennent (au moins en partie) de l'utilisation de la nouvelle m�thode. Il est �galement possible de compiler le pilote de son en tant que module chargeable. Je vous recommande de le compiler initialement en statique, dans le noyau. Une fois que cela fonctionne et que vous l'aurez test�, vous pourrez essayer de le compiler en module. Quand vous lancez make config, validez le support son en r�pondant "y" � la question : Sound card support (CONFIG_SOUND) [M/n/y/?] A la fin des questions de configuration, un programme sera compil� et ex�cut� et vous demandera alors quelles sont les options pour votre carte son. Attention en r�pondant � ces questions, car une r�ponse erron�e pour une option peut emp�cher d'autres questions suivantes d'�tre pos�es. Par exemple, ne r�pondez "yes" � la premi�re question (PAS 16) que si vous n'avez r�ellement pas de carte PAS 16. De m�me, n'activez pas plus d'options que celles dont vous avez r�ellement besoin car cela consomme de la m�moire ! Certains pilotes (comme celui du MPU-401) peuvent �galement entrer en conflit avec votre controleur SCSI et emp�cher le noyau de "booter". Voici une liste de toutes les options de configuration. R�pondez "y" (oui) ou "n" (non) � chaque question. La r�ponse par d�faut est affich�e en lettre majuscule telle que : "[Y/n/?]" signifie "y" par d�faut et vice versa. Pour valider la valeur par d�faut, appuyez juste sur Enter, tout en sachant que cette valeur par d�faut n'est pas forc�ment correcte. Si vous rentrez "?", vous aurez un court message d'explication sur l'option pr�sente. Notez �galement que toutes les options ne sont pas demand�es. Le programme de configuration d�sactive certaines questions en fonction des choix pr�cedemment valid�s. Il peut �galement s�lectionner automatiquement certaines options. _Old configuration exists in /etc/soundconf. Use it [Y/n/?]_ Si vous avez pr�cedemment compil� le noyau pour le support son, la configuration pr�c�dente a pu �tre sauvegard�. Si vous souhaitez utiliser cette ancienne configuration, alors entrez "y". Si vous essayez une configuration diff�rente ou si vous utilisez une nouvelle version du noyau, r�pondez "n" pour commencer la configuration. _ProAudioSpectrum 16 support [Y/n/?]_ R�pondez "y" _uniquement_ si vous poss�dez une Pro Audio Spectrum _16_, une ProAudio Studio 16 ou une Logitech SoundMan 16. Ne r�pondez pas "y" si vous avez une autre carte de chez Media Vision ou Logitech car elle ne sera pas compatible PAS16. _SoundBlaster support [Y/n/?]_ R�pondez "y" si vous avez une carte SoundBlaster de chez Creative Labs, ou une carte compatible � 100% au niveau mat�riel (comme la Thunderboard ou la SM Games). Si votre carte est dans la liste des cartes support�es, consultez le fichier Readme.cards des cartes sp�cifiques avant de r�pondre � cette question. Pour une carte inconnue, essayez "y" si cette carte se dit �tre compatible SoundBlaster. _Gravis Ultrasound support [Y/n/?]_ R�pondez "y" si vous avez une GUS ou une GUS MAX. R�pondez "n" si vous n'avez pas de GUS car ce pilote utilise beaucoup de m�moire. _MPU-401 support (NOT for SB16) [Y/n/?]_ Attention avec cette question. L'interface MPU-401 est support�e par presque toutes les cartes son. N�anmoins, quelques cartes support�es poss�dent leur propre pilote MPU-401. Si vous validez l'option dans ce cas l�, vous aurez un conflit. La validation de cette option sur un syst�me qui ne poss�de pas d'interface MPU-401 peut causer des disfonctionnements. Si votre carte est normalement support�e, consultez quand m�me les instructions sp�cifiques la concernant dans le fichier Readme.cards. Il est plus s�r d'entrer "y" si vous poss�dez une v�ritable carte avec interface MPU-401 MIDI. _6850 UART Midi support [Y/n/?]_ Il est s�r de r�pondre "n" � cette question dans tous les cas. L'interface 6850 UART n'est que tr�s rarement utilis�e. _PSS (ECHO-ADI2111) support [Y/n/?]_ R�pondez "y" si vous poss�dez une carte Orchid SW32, ou Cardinal DSP16 ou encore d'autres cartes bas�es sur les puces PSS (codec AD1848 + puce DSP ADSP-2115 + puce Echo ESC614 ASIC). v _16 bit sampling option of GUS (not GUS MAX) [Y/n/?]_ R�pondez "y" si vous avez install� la carte-fille d'�chantillonage 16 bits sur votre GUS. R�pondez non si vous avez une GUS MAX. Cette option d�sactive le support GUS MAX. _GUS MAX support [Y/n/?]_ R�pondez "y" uniquement si vous avez une GUS MAX. _Microsoft Sound System support [Y/n/?]_ Faite encore attention avant de r�pondre "y" � cette question. Il est plus s�r de r�pondre "y" si vous poss�dez la carte Windows Sound System originelle fabriqu�e par Petitmou (microsoft) ou l'Aztech SG 16 Pro / NX 16 Pro. Vous pouvez aussi r�pondre "y" au cas o� votre carte n'ait pas �t� propos�e plus haut. Pour les cartes ayant le support natif pour VoxWare, consultez les instructions sp�cifiques dans le fichier Readme.cards. Certains pilotes poss�dent leur propre support MSS et l'activation de cette option dans ce cas causera un conflit. _Ensoniq Soundscape support [Y/n/?]_ R�pondez "y" si vous avez une carte son bas�e sur les puces Ensoniq SoundScape. De telles cartes sont fabriqu�es, au moins chez Ensoniq, Spea et Reveal (ce dernier fabrique �galement d'autres types de cartes). _MediaTriX AudioTriX Pro support [Y/n/?]_ R�pondez "y" si vous avez une AudioTriX Pro. _Support for MAD16 and/or Mozart based cards?_ R�pondez "y" ici si votre carte poss�de une puce d'interface Mozart (OAK OTI-601) ou MAD16 (OPTi 82C928 ou 82C929). Ces circuits sont assez r�pandus, il est donc possible qu'un grand nombre de cartes "anonymes" en poss�dent. De plus, la puce MAD16 est utilis�e dans des cartes fabriqu�es par des constructeur connus comme Turle Beach (Tropez), Reveal (quelques mod�les) et Diamond (les plus r�centes). _Support for Crystal CS4232 based (PnP) cards [Y/n/?]_ R�pondez "y" si vous avez une carte bas�e sur les circuits Crystal CS4232. _Support for Turtle Beach Wave Front (Maui, Tropez) synthesizers [Y/n/?]_ R�pondez "y" ici si vous poss�dez l'une de ces cartes. _SoundBlaster Pro support [Y/n/?]_ Activez cette option si votre carte est une SoundBlaster Pro ou une SoundBlaster 16. Idem si vous avez une carte clone de SoundBlaster Pro. On peut �conomiser un peu de m�moire ici en r�pondant "n" mais l'alternative la plus s�re est de r�pondre "y". _SoundBlaster 16 support [Y/n/?]_ Validez si vou avez une SoundBlaster 16 (dont l'AWE 32). _Audio Excel DSP 16 initialization support [Y/n/?]_ R�pondez "y" si vous avez une Audio Excel DSP 16. Consultez le fichier Readme.aedsp16 pour de plus amples informations. Le programme de configuration pose alors plusieurs questions � propos d'options de plus haut niveau. Il est recommand� de r�pondre "y" � chacune de ces questions, et "n" uniquement si vous savez que vous n'aurez pas besoin de cette option. _/dev/dsp and /dev/audio support (usually required) [Y/n/?]_ R�pondre "n" d�sactive /dev/dsp et /dev/audio, les p�riph�riques de conversion A/D et D/A. R�pondez "y". _MIDI interface support [Y/n/?]_ R�pondre "n" d�sactive les p�riph�riques associ�s � /dev/midixx ainsi que les acc�s aux ports MIDI utilisant /dev/sequencer et /dev/music. Cette option affecte �galement tous les p�riph�riques compatibles MPU-401 et/ou General MIDI. _FM synthesizer (YM3812/OPL-3) support [Y/n/?]_ R�pondre "y" ici. _/dev/sequencer support [Y/n/?]_ R�pondre "n" d�sactive /dev/sequencer et /dev/music. _Do you want support for the mixer of SG NX Pro ?_ R�pondez "y" si vous poss�dez une carte son Sound Galaxy NX Pro et que vous voulez utiliser ses fonctions �tendues de mixage. _Do you want support for the MV Jazz16 (ProSonic etc.) ?_ R�pondez "y" si vous avez une carte son MV Jazz 16. _Do you have a Logitech SoundMan Games [Y/n/?]_ R�pondez "y" si vous poss�dez une carte Logitech SoundMan Games. Apr�s toutes ces questions, le programme de configuration vous questionne sur la configuration sp�cifique de la carte. Habituellement, juste quelques adresses d'E/S, d'IRQ et de DMA sont demand�es. Pour certaines cartes, le programme demande quels fichiers doivent �tre utilis�s durant l'initialisation de la carte. Ceci est vrai pour les cartes qui poss�dent une puce DSP ou un microprocesseur qui doit �tre initialis� en chargeant un petit programme (microcode). Dans certains cas, ce code est �crit dans un fichier .h par le programme de configuration et est alors integr� au pilote pendant sa compilation. Encore une fois, lisez dans le fichier d'information Readme.cards ce qui concerne votre type de carte. A la fin, il vous sera demand�: The sound driver is now configured. Save copy of this configuration to /etc/soundconf [Y/n/?] Normalement, vous devriez entrer "y" ce qui vous permettra �ventuellement de conserver vos options de configuration pour votre pilote son dans une recompilation ult�rieure du noyau Linux. Si vous mettez � jour votre vieux pilote son, soyez certain que les fichiers /usr/include/sys/soundcard.h et /usr/include/sys/ultrasound.h sont des liens symboliques sur les fichiers correspondant dans /usr/include/linux, et qu'ils contiennent respectivement uniquement les lignes #include <linux/soundcard.h> et #include <linux/ultrasound.h>. Vous pouvez maintenant recompiler et installer le nouveau noyau. 4.3 La cr�ation des Fichiers sp�ciaux des P�riph�riques Pour op�rer proprement, des entr�es des fichiers de p�riph�riques doivent �tre cr�es pour vos p�riph�riques son. Normalement, ils sont cr��s automatiquement lors de l'installation de Linux. Une v�rification rapide peut �tre effectu�e en utilisant la commande ci-dessous. Si vous obtenez la m�me chose (except� pour la date...) alors les fichiers de p�riph�riques sont certainement presque bons... % ls -l /dev/sndstat crw-rw-rw- 1 root root 14, 6 Apr 25 1995 /dev/sndstat Notez que le fait d'avoir des fichiers de p�riph�riques corrects ne garantit rien en tant que tel... Le pilote du noyau doit �galement �tre charg� ou compil� avant que les p�riph�riques puissent fonctionner. Si vous pensez que les fichiers de p�riph�riques ne sont pas bons, vous pouvez les recr�er en utilisant le petit script shell (� �x�cuter en tant qu'utilisateur root) que vous trouverez � la fin du fichier Readme.linux dans le r�pertoire /usr/src/linux/drivers/sound disponible pour l'utilisateur root. Autrement, beaucoup de distributions Linux incluent un script /dev/MAKEDEV uilisable � ces fins... Si vous utilisez le pilote son du haut-parleur PC, lisez la documentation qui va avec ce paquetage pour d�terminer quels fichiers doivent �tre cr��s. 4.4 D�marrage de Linux et Test de l'Installation Vous devriez maintenant �tre pr�t � `rebooter' (red�marrer) sur votre nouveau noyau et tester les pilotes de son. Suivez la proc�dure habituelle pour installer et rebooter sur le nouveau noyau (gardez l'ancien dans un petit coin au cas o� il y aurait un un probl�me !). Pendant le red�marrage, essayez de v�rifier quelques messages d'information tels que ceux qui suivent (s'ils d�filent trop vite, vous pourrez les retrouver avec la commande dmesg) : Sound initialization started <Sound Blaster 16 (4.13)> at 0x220 irq 5 dma 1,5 <Sound Blaster 16> at 0x330 irq 5 dma 0 <Yamaha OPL3 FM> at 0x388 Sound initialization complete Cela devrait correspondre avec votre carte son et votre configuration de cavaliers (s'il y en a). Notez que ces messages ne sont pas affich�s quand on utilise le module chargeable du pilote son (� moins que vous ne l'ayez sp�cifi� avec : "insmod sound trace_init=1). Quand le pilote son est attach� ("link�") au noyau les messages "Sound initialization started" et "Sound initialization complete" devraient �tre affich�s. S'ils ne le sont pas, cela signifie qu'il n'y a pas de pilote son dans le noyau. Dans ce cas, v�rifiez que vous avez install� le bon noyau... Si rien ne s'affiche entre les lignes "Sound initialization started" et "Sound initialization complete", cela signifie soit que vous n'avez pas install� le bon pilote, soit que le port d'E/S est incorrect ou que vous avez une carte PnP qui n'a pas �t� configur�e. Le pilote peut �galement afficher des messages d'erreurs ou d'avertissement ("warnings") pendant le red�marrage. Regardez bien tout �a quand vous rebootez pour la premi�re fois apr�s avoir configur� le pilote son. Ensuite, vous devriez v�rifier le fichier de p�riph�rique /dev/sndstat. La lecture du fichier d'�tat du pilote son devrait vous fournir des informations suppl�mentaires sur la fa�on dont a �t� initalis�e la carte son. Vous devriez obtenir quelque chose dans ce style : % cat /dev/sndstat Sound Driver:3.5.4-960630 (Sat Jan 4 23:56:57 EST 1997 root, Linux fizzbin 2.0.27 #48 Thu Dec 5 18:24:45 EST 1996 i586) Kernel: Linux fizzbin 2.0.27 #48 Thu Dec 5 18:24:45 EST 1996 i586 Config options: 0 Installed drivers: Type 1: OPL-2/OPL-3 FM Type 2: Sound Blaster Type 7: SB MPU-401 Card config: Sound Blaster at 0x220 irq 5 drq 1,5 SB MPU-401 at 0x330 irq 5 drq 0 OPL-2/OPL-3 FM at 0x388 drq 0 Audio devices: 0: Sound Blaster 16 (4.13) Synth devices: 0: Yamaha OPL-3 Midi devices: 0: Sound Blaster 16 Timers: 0: System clock Mixers: 0: Sound Blaster Cette derni�re commande peut g�n�rer des messages d'erreur. "No such file or directory" signifie que vous devez cr�er les fichiers de p�riph�riques (voir la section 4.3). "No such device" vous indique que le pilote son n'est pas charg� ou li� au noyau. Voyez la section 4.2 pour corriger cela. Si des lignes apparaissent entre parenth�ses dans la partie "Card config:" de /dev/sndstat (par exemple : "(SoundBlaster at 0x220 irq 5 drq 1,5)" ), cela signifie que le p�riph�rique (la carte) a bien �t� configur�e, mais pas d�tect�e. Maintenant, vous devriez pouvoir jouer un fichier son. Procurez-vous un petit fichier son et envoyez-le vers le fichier de p�riph�rique pour v�rifier basiquement la sortie son. Par exemple : % cat endoftheworld >/dev/dsp % cat crash.au >/dev/audio (prennez garde de ne pas ommetre le ">" dans les commandes ci-dessus) Notez que, g�n�ralement, utiliser cat n'est pas une fa�on correcte de jouer des fichiers audio, mais juste un moyen rapide de v�rification. Vous souhaiterez sans doute trouver un programme dedi� permettant de jouer correctement des fichiers son. Cette commande fonctionne uniquement si il y a au moins un fichier de p�riph�rique list� dans la section "Audio devices" de /dev/sndstat. Si cette section est vide, il faut essayer de savoir pourquoi la carte n'a pas �t� d�tect�e. Si les commandes ci-dessus retournent "I/O error", regardez la � la fin des messages produits par le noyau en tapant la commande "dmesg". Il est fr�quent de trouver des messages d'erreurs � cet endroit. Tr�s souvent, on trouve le message : "Sound: DMA (output) timed out - IRQ/DRQ config error?". Cette erreur signifie que la carte n'a pas r�ussi � utiliser l'interruption attendue. Dans la plupart des cas, cela veut dire que l'IRQ ou le canal DMA configur� pour le pilote ne fonctionne pas. La meilleure fa�on de le faire fonctionnner est d'essayer tous les IRQ et les DMA support�s par le pilote. Une autre raison est que le fichier de p�riph�rique n'est pas compatible avec le pilote pour lequel il est configur� Ceci est le plus souvent vrai quand une carte son suppos�e "compatible SoundBlaster (Pro/16)" ne fonctionne pas avec le pilote SoundBlaster. Dans ce cas, essayez de trouver avec quelle autre carte votre mat�riel est r�ellement compatible (en postant dans fr.comp.os.linux par exemple). Quelques fichiers son peuvent �tre trouv�s dans ce paquetage : ftp://tsx-11.mit.edu/pub/linux/packages/sound/snd-data-0.1.tar.Z Maintenant, vous pouvez v�rifier que l'enregistrement fonctionnne. Si vous pouvez relier un micro(phone !) � votre carte son, vous pouvez effectuer un test rapide en utilisant ce genre de commandes : # enregistre 4 secondes de son en provenance du micro # dans le fichier "sample.au" % dd bs=8k count=4 </dev/audio >sample.au 4+0 records in 4+0 records out # rejoue le son enregistr� % cat sample.au >/dev/audio N'oubliez pas de parler dans le micro pour que cela fonctionne !!! Vous pouvez �galement avoir besoin de trouver un programme `mixer' (m�langeur de sources sonores), afin de s�lectionner le microphone comme �tant le p�riph�rique d'entr�e. Ceci doit �galement vous permettre d'ajuster le niveau d'enregistrement (gain). Si tout cela fonctionne, vous pouvez �tre � peu pr�s certain que vos convertisseurs A/N et N/A fonctionnent, ainsi que la partie du pilote y �tant associ�e. Si vous rencontrez des difficult�s, passez � la section suivante !!! 4.5 Probl�mes rencontr�s Si vous avez encore des probl�mes apr�s avoir suivi les instructions de ce HOWTO, voici quelques points � v�rifier. Ils sont list�s dans un ordre de difficult� croissante. Si la v�rification se solde par un echec, r�solvez le probl�me avant d'effectuer la suivante ! Premier point : Soyez certain que vous utilisez vraiment votre noyau fra�chement compil� ! Vous pouvez v�rifier la date du noyau pour �tre certain que vous utilisez celui que vous avez compil� avec le support son. Utilisez la commande uname : % uname -a Linux fizzbin 2.0.0 #1 Tue Jun 4 16:57:55 EDT 1996 i386 ou listez le fichier /proc/version: % cat /proc/version Linux version 2.0.0 (root@fizzbin) (gcc version 2.7.0) #1 Tue Jun 4 16:57:55 ED T 1996 Si la date ne semble pas correspondre avec celle � laquelle vous avez compil� le noyau, alors vous utilisez certainement un noyau plus ancien... Avez-vous r�ellement red�marr� la machine ? Si vous utilisez LILO (multiboot), l'avez-vous r�install� ? (normalement, cela se fait par : /etc/lilo/install). Si vous bootez � partir d'une disquette, en avez-vous cr�� une nouvelle et bien utilis�e ? Deuxi�me point : Soyez s�r que les pilotes son dunoyau y sont bien inclus La fa�on la plus simple de v�rifier ceci est de controler ce que contient /dev/sndstat comme cela a �t� d�crit pr�c�demment. Si il semble y avoir un probl�me, alors quelque chose s'est mal d�roul� pendant la configuration ou la construction du nouveau noyau. Troisi�me point : Est-ce que le noyau a bien d�tect� votre carte son pendant le d�marrage ? Soyez certain que votre carte son a bien �t� d�tect�e lors du d�marrage. Vous avez d� voir un message lors de la phase de boot. Vous pouvez retrouvez les messages du dernier d�marrage en utilisant la commande dmesg : % dmesg ou % tail /var/adm/messages Si votre carte n'a pas �t� trouv�e, c'est que quelque chose s'est mal pass�. Soyez certain que votre carte est r�ellement install�e ! Si elle fonctionne sous DOS, vous pouvez supposer qu'elle va fonctionner sous Linux, et qu'il doit y avoir un probl�me au niveau de la configuration du noyau. Soit vous avez configur� une mauvaise carte ou de mauvais param�tres, soit votre carte n'est support�e par aucun des pilotes son du noyau Linux... Une possibilit� est que votre carte n�cessite une initialisation par le pilote DOS. Essayez sous DOS d'initialiser votre carte avec le pilote fourni par le constructeur de la carte. Ensuite, rebootez � chaud en utilisant Control-Alt-Delete. V�rifiez bien que que les adresses d'E/S, de DMA, et les num�ros d'IRQ sont les m�mes sous Linux et sous DOS. Consultez le fichier Readme.cards dans les sources du pilote son Linux pour conna�tre les d�tails de configuration de votre carte. Si votre carte n'est pas mentionn�e dans ce document, il est possible que le pilote son de Linux ne la supporte pas. Vous pouvez consulter les r�f�rences list�es � la fin de ce document pour obtenir de l'aide. Quatri�me point : Arrivez-vous � lire des donn�es en provenance du dsp ? Essayez d'enregistrer des sons en provenance de /dev/audio en utilisant la commande dd dont on a d�j� parl� dans ce document. Si �a ne fonctionne pas, alors il y a probablement un conflit d'IRQ ou de DMA, ou une incompatibilit� mat�rielle (le p�riph�rique n'est pas support� par Linux ou le pilote n'est pas configur� pour le bon p�riph�rique). Une autre possibilit� est d'avoir un mat�riel d�fectueux. Testez cette carte sous DOS pour v�rifier ! Quoi encore... Si �a ne marche toujours pas, voici quelques suggestions sur ce que vous devriez faire : * relisez soigneusement ce HOWTO ! * consultez les r�f�rences � la fin de ce document, et particuli�rement les pages Web de d'Hannu Savolainen et les fichiers Readme pr�sents dans les sources du noyau. * postez une question pr�cise et d�taill�e dans fr.comp.os.linux en n'oubliant pas de pr�ciser que vous avez pr�alablement lu ce HOWTO (ndt : :-} ) * effectuez quelques recherches sur le web ou dans les news avec un moteur de recherche comme http://altavista.digital.com * essayez d'utiliser un noyau Linux plus r�cent * envoyez un email � l'auteur du pilote son de votre carte * lancez emacs et tapez Esc-x doctor :-) 5. Applications utilisant le son Je donne ici quelques exemples d'applications que vous aimerez peut-�tre avoir si vous poss�dez une carte son sous Linux. Pour avoir des informations plus fra�ches, vous pouvez consulter la Linux Software Map, les sites d'archives Internet, et/ou les fichiers disponibles dans votre CD-ROM Linux. Voici quelques programmes � poss�der : * un utilitaire de conversion de format des fichiers son (par ex. Sox) * un utilitaire de mixage (par ex. aumix ou xmix) * un lecteur/enregistreur de fichiers sons (par ex. play ou wavplay) * un lecteur de fichiers MOD (par ex. tracker) * un lecteur de fichiers MIDI (par ex. playmidi) Pour chacun de ces outils, il existe souvent aussi bien une version graphique qu'un version texte. Vous trouverez �galement quelques applications plus �sot�riques (comme des utilitaires de synth�se ou de reconnaissance vocale) qu'il peut-�tre amusant d'essayer... 6. R�ponses aux Questions Fr�quemment Pos�es Ce paragraphe r�pond � des questions qui sont souvent pos�es dans les forums de discussion et les listes de diffusion. Des r�ponses � d'autres questions peuvent �galement �tre trouv�es sur la page web des pilotes son OSS. 6.1 Quels sont les diff�rents fichiers de p�riph�riques li�s au son ? Ce sont des noms le plus souvent "standard", mais certaines distribtutions Linux peuvent avoir choisi des noms diff�rents. _/dev/audio_ lien symbolique vers /dev/audio0 _/dev/audio0_ p�riph�rique audio compatible avec les stations Sun (dans une impl�mentation partielle seulement : il n'y a pas de support de l'interface ioctl Sun, uniquement l'encodage u-law) _/dev/audio1_ second p�riph�rique audio (pour certaines cartes son ou si vous en avez deux) _/dev/dsp_ normalement, c'est un lien symbolique vers /dev/dsp0 _/dev/dsp0_ premier p�riph�rique d'�chantillonage _/dev/dsp1_ second p�riph�rique d'�chantillonage _/dev/mixer_ lien vers /dev/mixer0 _/dev/mixer0_ premier mixeur son _/dev/mixer1_ second mixeur son _/dev/music_ interface s�quenceur de haut niveau _/dev/sequencer_ acc�s bas niveau pour MIDI, FM et GUS _/dev/sequencer2_ normalement, lien vers /dev/music _/dev/midi00_ premier port MIDI _/dev/midi01_ second port MIDI _/dev/midi02_ troisi�me port MIDI _/dev/midi03_ quatri�me port MIDI _/dev/sndstat_ indique l'�tat du pilote son Le pilote pour haut-parleur PC fournit les fichiers de p�riph�riques suivant : _/dev/pcaudio_ �quivalent � /dev/audio _/dev/pcsp_ �quivalent � /dev/dsp _/dev/pcmixer_ �quivalent � /dev/mixer 6.2 Comment puis-je jouer un fichier son ? Les fichiers son provenant des stations Sun (.au) peuvent �tre envoy�s directement dans /dev/audio. Les fichiers son bruts doivent �tre envoy�s dans /dev/dsp, de pr�f�rence en utilisant un utilitaire pr�vu � cet effet (play). Sinon, le r�sultat risque d'�tre de pi�tre qualit�. Les programmes comme wavplay ou vplay (dans le paquetage snd-util) donneront leurs meilleurs r�sultats avec des fichiers WAV. Par contre, ils ne reconnaissent pas les fichiers WAV Microsoft compress�s avec ADPCM. Les anciennes versions de play (dans le paquetage Lsox) fonctionnent mal avec les fichiers WAV 16 bits. Le programme splay du paquetage snd-util peut �tre utilis� pour jouer la plupart des fichiers son si les param�tres corrects sont sp�cifi�s en ligne de commande. 6.3 Comment faire pour enregistrer un son ? La lecture de /dev/audio ou /dev/dsp fournira des donn�es �chantillon�es qui peuvent �tre redirig�es vers un fichier. Un programme tel que vrec facilite le r�glage de la fr�quence d'�chantillonage, la dur�e d'enregistrement, etc. Vous aurez aussi certainement besoin d'un programme de mixage pour s�lectionner l'entr�e son apropri�e. 6.4 Avoir plus d'une carte son Avec le piloye son actuel, il est possible d'avoir plusieurs SoundBlaster, SoundBlaster/Pro, SoundBlaster16, MPU-401 ou cartes MSS � la fois sur votre syst�me. L'installation de deux SoundBlaster est possible en d�finissant les macros SB2_BASE, SB2_IRQ, SB2_DMA et dans certains cas SB2_DMA2 dans le fichier local.h. Il est aussi possible d'avoir en m�me temps une SoundBlaster et une PAS16. Avec les nouveaux noyaux 2.0.X qui utilisent make config, vous devez �diter /usr/include/linux/autoconf.h � la place de local.h. Apr�s la section contenant les lignes : #define SBC_BASE 0x220 #define SBC_IRQ (5) #define SBC_DMA (1) #define SB_DMA2 (5) #define SB_MPU_BASE 0x0 #define SB_MPU_IRQ (-1) ajoutez ceci (avec des valeurs correctes pour votre syst�me) : #define SB2_BASE 0x330 #define SB2_IRQ (7) #define SB2_DMA (2) #define SB2_DMA2 (2) Les pilotes suivants ne permettent pas d'instances multiples : * GUS (limitation du pilote) * MAD16 (limitation mat�rielle) * AudioTrix Pro (limitation mat�rielle) * CS4232 (limitation mat�rielle) 6.5 Error: No such file or directory for sound devices Vous devez cr�er les fichiers de p�riph�riques du pilote son. Consultez la section concern�e. Si vous avez d�j� ces fichiers, assurez-vous qu'ils poss�dent bien les nombres majeur et mineur corrects (certaines distributions obsol�tes de Linux cr�ent des fichiers de p�riph�riques incorrects durant l'installation). 6.6 Error: No such device for sound devices Vous avez d�marr� votre machine avec un noyau non configur� pour le son, ou alors, les adresses d'E/S configur�es dans votre noyau ne correspondent pas � celles de votre mar�riel. V�rifiez que vous utilisez bien votre noyau fraichement compil� et qu'il a �t� correctement configur� avec des param�tres correspondant � votre mat�riel. 6.7 Error: No space left on device for sound devices Ceci peut arriver si vous tentez d'envoyer des donn�es vers /dev/audio ou /dev/dsp sans cr�er le fichier de p�riph�rique ad�quat. Ce fichier est alors un fichier normal qui a rempli votre disque-dur !!! Vous devez ex�cuter le script mentionn� dans la section _Cr�ation des fichiers de p�riph�riques_. Cela peut �galement arriver avec Linux 2.0.x s'il n'y a pas suffisamment de m�moire vive sur votre machine lorsque le fichier de p�riph�rique est ouvert. Le pilote audio a besoin d'au moins deux pages (de 8 ko) contigu�s de m�moire vive physique pour chaque canal DMA. Cela peut arriver avec des machines ayant moins de 16 Mo de RAM ou qui tournent sans discontinuer depuis tr�s longtemps. Il est possible de lib�rer de la m�moire vive en compilant et en �x�cutant ce programme C avant d'ouvrir le fichier de p�riph�rique : main() { int i; char mem[500000]; for (i = 0; i < 500000; i++) mem[i] = 0; exit(0); } 6.8 Error: Device busy for sound devices Un p�riph�rique son ne peut �tre ouvert que par un seul processus � la fois. Il y a certainement un processus qui utilise d�j� la carte son. Une fa�on de le savoir est d'utiliser la commande fuser : % fuser -v /dev/dsp /dev/dsp: USER PID ACCESS COMMAND tranter 265 f.... tracker Dans cet exemple, la commande fuser montre que le processus num�ro 256 a d�j� ouvert le p�riph�rique. Vous devez alors attendre que ce processus finisse son travail ou alors, le tuer (avec kill). Pour conna�tre les processus d'un utilisateur autre que vous, il faut �tre root pour utiliser la commande fuser. 6.9 J'ai encore une erreur de type `device busy' (p�riph�rique occup�) ! Selon Brian Gough, il existe un conflit potentiel entre les SoundBlaster utilisant le canal DMA 1 et les lecteurs de bandes QIC-02 utilisant le m�me canal. D'o� des erreurs de type "device busy". Si vous utilisez FTAPE, il se peut que le pilote concern� soit actif. Selon le FTAPE-HOWTO, le pilote du QIC-02 n'est pas n�cessaire pour utiliser FTAPE. Il y a seulement besoin du pilote du QIC-117. Vous devez donc reconfigurer votre noyau pour qu'il utilise le bon pilote. 6.10 Lecture incompl�te d'un fichier d'�chantillons audio Habituellement, cela se traduit par l'arr�t de la lecture au bout d'une seconde environ, avec un message d'erreur du type "missing IRQ" ou "DMA timeout". Il s'agit certainement d'une mauvaise configuration de l'IRQ ou du canal DMA. V�rifiez que le noyau est bien configur� et qu'il n'y a pas de conflit d'adresse avec d'autres cartes. Un autre sympt�me est une lecture en boucle. Ceci est souvent li� � un conflit d'IRQ. 6.11 Il y a des pauses lors de la lecture d'un fichier MOD La lecture des fichiers MOD n�cessite beacoup de ressources CPU. Il se peut que vous ayez trop de processus en cours ou bien que votre ordinateur soit trop lent pour une lecture en temps r�el. Vous pouvez alors: * tenter une lecture avec un taux d'�chantillonage plus faible ou en mono * supprimer des processus * acheter un ordinateur plus rapide :-) * acheter une carte son plus puissante (comme la Gravis UltraSound) Si vous avez une Gravis UltraSound, vous avez int�r�t � utiliser un des lecteurs mod con�us sp�cifiquement pour la GUS (par ex. gmod). 6.12 Erreurs de compilation d'applications utilisant le son Les version 1.0c et ant�rieures du pilote son utilisent des appels ioctl() incompatibles. R�cup�rez des sources plus r�centes ou effectuez les modifications n�cessaires pour l'adapter au nouveau pilote son. Voyez le fichier Readme du pilote son pour plus de d�tails... Soyez �galement certain que vous avez utilis� la derni�re version de soundcard.h et ultrasound.h en compilant votre application. Voyez comment les installer au d�but de ce document. 6.13 SEGV en utilisant des ex�cutables qui fonctionnaient avant Il s'agit certainement du m�me probl�me que pr�c�demment. 6.14 Quels sont les bugs connus et les limitations dans le pilote son ? Ils sont partiellement r�pertori�s dans le _Hacker's Guide to VoxWare_, actuellement disponible sous forme provisoire. La derni�re version est la "draft 2" disponible sur ftp://nic.funet.fi/pub/Linux/ALPHA/sound/. Notez que ce r�pertoire est cach� et n'appara�tra pas � moins d'y acc�der directement avec la commande "cd" de FTP. Lors de la r�daction de ce document, de nouvelles documentations �taient disponibles sur le site web de 4Front Technologies. Une autre source d'information est le Guide du Multim�dia sous Linux (ndt: traduit en Fran�ais par Eric Dumas). Voir les r�f�rences dans ce document. 6.15 Quelles ressources processeur sont-elles n�cessaires pour enregistrer ou jouer des fichiers son sans pause ? Il n'existe pas de r�ponde imm�diate � cette question. Cela d�pend de: * la technique utilis�e : �chantillonage PCM ou synth�se FM * la fr�quence d'�chantillonage et la taille des �chantillons * l'application utilis�e pour jouer et enregistrer * la carte son utilis�e * la vitesse du disque dur, la vitesse du processeur, la taille du cache, etc. En g�n�ral, les machines � base de 386 peuvent jouer des �chantillons ou faire de la synth�se FM sur des cartes 8 bits sans probl�me. Jouer des fichiers MOD n�cessite plus de ressources CPU. Des mesures exp�rimentales ont montr� que la lecture d'un fichier son � 44 khz utilise plus de 40% des ressources processeur d'un 486/50 et qu'un 386/25 peut difficilement jouer plus rapidement que 22 khz (ceci pour des cartes 8 bits de type SondBlaster...). Une carte comme la Gravis UltraSound a plus de fonctions impl�ment�es au niveau physique et n�cessitera donc moins de ressources CPU. (ndt: actuellement, on peut consid�rer que toute machine moderne, � base de pentium ou sup�rieur est capable d'enregistrer et de jouer des fichiers son en qualit� "CD" : 44 khz/16 bits) Ces consid�rations supposent que vous n'�x�cutez par simultan�ment un processus gourmant en ressources CPU !!! La conversion de fichiers son ou le calcul d'effets sonores par des utilitaires comme sox est �galement plus rapide si vous poss�dez un coprocesseur arithm�tique (int�gr� ou non dans le processeur). Le pilote son quant � lui n'effectue pas de calculs en virgule flottante. 6.16 Probl�mes avec la PAS16 et l'adaptateur SCSI Adaptec 1542 (les explications suivantes ont �r� fournies par seeker@indirect.com) Linux reconna�t seulement la 1542 � l'adresse 330 (par d�faut) ou 334, et la PAS autorise l'�mulation MPU-401 � l'adresse 330 uniquement. Le conflit subsiste m�me si vous avez d�sactiv� l'utilisation MPU-401 par voie logicielle. Passez la 1542 � l'adresse 334 rendera tout le monde heureux... De plus, la 1542 et la PAS-16 utilisent toutes les deux un DMA 16 bits. Donc, si vous �chantillonez � 44,1 khz en 16 bits st�r�o et que vous sauvez le fichier sur un disque SCSI pilot� par la 1542, vous aurez certainement des probl�mes. Les canaux DMA d�bordent et la m�moire vive ne se rafra�chit pas assez vite. Vous obtenez alors un message d'erreur : "PARITY ERROR - SYSTEM HALTED", sans explication sur ce qui s'est pass�. Encore pire : certains revendeurs de lecteurs de bandes QIC-117 recommendent de r�gler pour le bus des d�lais "on/off" tels que la 1542 est active plus longtemps qu'en utilisation normale. Procurez-vous le programme SCSISEL.EXE sur le BBS d'Adaptec ou � d'autres endroits sur Internet et r�duisez la dur�e "on" du bus, ou augmentez sa dur�e "off" jusqu'� ce que le probl�me disparaisse. SCSISEL.EXE modifie les r�glages de l'EEPROM et les modifications apport�es fonctionneront donc au prochain red�marrage sous Linux. Dernier probl�me - les vieilles puces Symphony r�duisent de mani�re importante les p�riodes de cycle I/O pour acc�lerer les acc�s au bus. Aucune des cartes essay�es ne produit de probl�mes avec ces courtes p�riodes de cycle, sauf pour la PAS-16. Le BBS de Media Vision propose le programme SYMPFIX.EXE qui est suppos� r�soudre le probl�me en utilisant un bit de diagnostic dans le controleur de bus Symphony, mais cela ne procure aucune garantie mat�rielle. Vous devrez peut-�tre : * contacter le distributeur de la carte-m�re pour remplacer la vieille puce incrimin�e * changer de carte-m�re ou... * acheter une autre carte-son ! Le premier probl�me d�pend de la puce utilis�e sur votre carte-m�re, de la vitesse du bus et des param�tres du BIOS, et de la phase de la lune. Le second probl�me d�pend de l'option de rafra�chissement (cach� ou synchronis�), de la fr�quence de rafra�chissement du DMA de la 1542 et �ventuellement de celui du bus d'E/S. Le troisi�me probl�me peut-�tre d�termin� en appellant Media Vision et en leur demandant quelle cat�gorie de puce Symphony est incompatible avec leur design... 6.17 Est-il possible de lire et de jouer des �chantillons sonores simultan�ment ? A cause de certaines limitation mat�rielles, ceci est impossible sur beaucoup de cartes-son. Certaines cartes r�centes offrent cette possibilit�. Pour plus d'informations, Consultez la section concernant le "mode bidirectionnel" dans le _Hacker's Guide to Voxware_. 6.18 Ma SB16 est regl�e en IRQ 2, mais le programme de configuration ne permet pas cette valeur. Sur les machines � base de 286, l'IRQ 2 est �quivalente � l'IRQ 9. Sp�cifiez IRQ 9 dans la configuration. 6.19 Est-ce que les SoundBlaster AWE32 et SoundBlaster16 ASP sont support�es ? Dans le pass�, Creative Labs ne souhaitait pas divulguer les informations techniques permettant de programmer leurs cartes. Depuis, ils ont chang� de politique et un pilote pour AWE est maintenant inclus dans les noyaux 2.1.x. 6.20 Si j'utilise Linux et que je relance le DOS ensuite, j'obtiens des erreurs et/ou certaines applications ne fontionnent plus correctement. Cela arrive apr�s un red�marrage � chaud sur DOS. Parfois, le message d'erreur met en cause un mauvais fichier CONFIG.SYS. Une rapide solution � ce probl�me est de proc�der � un red�marrage complet en utilisant le bouton reset ou en coupant le secteur plutot qu'un red�marrage � chaud (en utilisant Control-Alt-Del). (N.d.t.: dans les nouvelles versions de linux, le red�marrage par Control-Alt-Del provoque normalement une r�initialisation totale de la machine, �quivalente au "reset" mat�riel ) La bonne solution est d'utiliser les m�mes r�glages d'IRQ et de DMA sous DOS et Linux (ou de ne pas utiliser DOS :-) ). 6.21 Probl�mes avec DOOM sous Linux Ceux qui utilisent le portage de DOOM pour Linux r�alis� par ID Software peuvent �tre int�ress�s par ces notes. Pour une sortie son correcte, vous devez utiliser la version 2.90 ou sup�rieure du pilote son : il a �t� con�u pour supporter le mode temps-r�el de DOOM. Les �chantillons sonores sont en 16 bits. Si vous avez une carte son 8 bits vous pouvez quand m�me utiliser le son en r�cup�rant plusieurs programmes disponibles sur ftp://sunsite.unc.edu/pub/Linux/games/doom. Si DOOM r�me sur votre syst�me, d�sactiver le son (en renommant le fichier sndserver) peut augmenter les performances. Par d�faut, DOOM ne supporte pas la musique sous Linux. Le programme musserver y rem�die. On peut le trouver sur ftp://pandora.st.hmc.edu/pub/linux/musserver.tgz. 6.22 Comment r�duire le bruit produit par ma carte son ? Utilisez des c�bles de liaison blind�s et de bonne qualit�, essayez de placer votre carte dans des slots diff�rents. Si la carte a un control de volume, modifiez ce r�glage. Utilisez �galement un programme "mixeur" pour vous assurer que les entr�es inutiles (comme le micro) sont d�sactiv�es. Mais certaines cartes sont mal blind�es et mal reli�es � la terre et produisent naturellement beaucoup de bruit. Enfin, sur mon syst�me, j'ai d�couvert qu'utiliser l'option de configuration no-hlt r�duisait le niveau de bruit. Cette commande force le noyau � ne pas utiliser l'instruction halt quand il �x�cute le processus "idle" (ndt : c'est � dire, quand le syst�me n'a rien � faire). Vous pouvez utiliser ceci manuellement au d�marrage ou le sp�cifier dans le fichier de configuration de LILO avec la commande : append="no-hlt" 6.23 Je peux jouer des sons �chantillon�s, mais pas en enregistrer Si vous pouvez jouer des sons mais pas en enregistrer, essayez ceci : * utilisez un programme mixeur de son pour s�lectionner le p�riph�rique appropri� (par exemple, un micro) * avec le m�me mixeur, positionnez le gain d'entr�e du p�riph�rique au maximum * Si vous le pouvez, essayez de tester l'enregistrement du son sous DOS afin de d�terminer s'il existe ou non un probl�me de mat�riel Parfois, deux canaux DMA diff�rents sont utilis�s pour l'enregistrement et la lecture. Dans ce cas, il est assez probable que le canal DMA sp�cifi� pour l'enregistrement n'est pas correct. 6.24 Ma carte "compatible" fonctionne seulement si je l'initialise pr�alablement sous DOS. Dans la plupart des cas, une carte "compatible SoundBlaster" fonctionnera mieux sous Linux si elle est configur�e avec un pilote autre que celui destin� � la v�ritable SoundBlaster. Beaucoup de cartes se disent "compatibles SoundBlaster" mais bien souvent, ce mode SoundBlaster est seulement un bidouillage pr�vu pour la compatibilit� avec les jeux sous DOS. Beaucoup de cartes poss�dent un mode 16 bits natif qui est facilement support� par les version r�centes du noyau Linux (2.0.1 et plus). Pour d'autres cartes plus anciennes, il sera n�cessaire d'essayer de les faire fonctionner dans le mode SoundBlaster. Les seules cartes r�centes qui font exception � cette r�gle sont les cartes bas�es sur Mwave. 6.25 Ma carte son 16 bits "compatible SoundBlaster" fonctionne seulement en mode 8-bits sous Linux. Les cartes son 16 bits dites "compatible SoundBlaster" ne sont v�ritablement qu'avec le mode 8 bits SoundBlaster Pro. Elles poss�dent en g�n�ral un mode 16 bits qui n'est compatible ni avec la SoundBlaster 16, ni avec le noyau Linux. Vous arriverez peut-�tre � faire fonctionner votre carte en mode 16 bits en utilisant les pilotes MAD16 ou MSS/WSS. 6.26 O� puis-je trouver des logiciels de son sous Linux ? Voici quelques bons sites d'archive int�ressants pour les applications utilisant le son sous Linux : * ftp://sunsite.unc.edu:/pub/Linux/kernel/sound/ * ftp://sunsite.unc.edu:/pub/Linux/apps/sound/ * ftp://tsx-11.mit.edu:/pub/linux/packages/sound/ * ftp://nic.funet.fi:/pub/Linux/util/sound/ * ftp://nic.funet.fi:/pub/Linux/xtra/snd-kit/ * ftp://nic.funet.fi:/pub/Linux/ALPHA/sound/ 6.27 Est-ce que le pilote de son peut-�tre compil� comme module chargeable ? Ceci est possible pour les versions r�centes du noyau. Consultez les fichiers /usr/src/linux/drivers/sound/Readme.modules et /usr/src/linux/Documentation/modules.txt (ou /usr/src/linux/README) pour plus d'informations. 6.28 Puis-je utiliser ma carte son pour remplacer le "bip" produit par ma console ? Essayez le programme oplbeep que l'on peut trouver sur ftp://sunsite.unc.edu/pub/Linux/kernel/patches/misc/modreq_beep.tgz Une variante est le programme beep que vous trouverez sur ftp://sunsite.unc.edu/pub/Linux/kernel/patches/misc/modreq_beep.tgz Le paquetage modutils contient un exemple de programme et de patch pour le noyau qui permettent d'appeller un programme externe donn� afin de g�n�rer des sons sur requ�te du noyau. De plus, il est possible avec certaines cartes son d'y connecter la sortie du haut-parleur PC de telle mani�re que tous les sons passent par les haut parleurs de la carte. 6.29 Qu'est-ce que VoxWare ? Les pilotes son du noyau supportent diff�rentes sortes de syst�mes Unix/x86 et sont donc disponibles en tant que paquetage ind�pendant du noyau Linux. Jusqu'� F�vrier 1996, les auteurs ont appell� ce programme "Voxware". Malheureusement, ce nom �tait d�j� d�pos� par VoxWare Incorporated et ne pouvait donc plus �tre utilis�. Ces pilotes s'appellent maintenant OSS/Free. L'Open Sound System (OSS) est un pilote son distribu� de mani�re commerciale pour plusieurs syst�mes Unix par 4Front Technologies. La version gratuite, connue sous le nom d'OSS/Free, continuera d'�tre disponible gratuitement pour Linux. D'autres noms utilis�s par le pass� et se r�ferrant au m�me pilote son sont : TASD (Temporarily Anonymous Sound Driver) et USS (Unix Sound System). Pour de plus amples informations, consultez la page web de 4Front Technologies sur http://www.4front-tech.com/. J'ai �cris une pr�sentation d'OSS/Linux dans le num�ro de juin 1997 de Linux Journal (n.d.t. : en anglais). 6.30 Est-ce que les cartes son Plug & Play sont support�es ? La totalit� des fonctions Plug & Play devrait �tre disponible dans les version 2.1 du noyau Linux. En attendant, il existe de nombreux essais de support Plug & Play. Si vous poss�dez un syst�me Pentium r�cent avec un BIOS Plug & Play, il devrait pouvoir pouvoir configurer vos cartes. Prennez garde de configurer le pilote son de Linux avec les m�mes param�tres d'E/S, d'IRQ et de canal DMA que dans le BIOS. Il existe un paquetage d'outils Plug & Play pouvant �tre utilis�s pour configurer les cartes. On peut le trouver sur le site http://www.redhat.com/ (peut-�tre se trouve t-il d�j� dans votre distribution Linux). Si vous utilisez votre carte sous Windows95, vous pouvez utiliser le gestionnaire de p�riph�rique pour configurer la carte, puis d�marrer Linux apr�s une r�initialisation � chaud en utilisant le programme LOADLIN. V�rifiez que les param�tres de configuration sont identiques sous les deux syst�mes. Si vous utilisez votre carte sous DOS, vous pouvez utiliser l'utilitaire icu qui est fourni avec les cartes SoundBlaster16 PnP afin de configurer votre mat�riel sous DOS. Utilisez le programme LOADLIN pour relancer Linux. V�rifiez ici encore que les param�tres sont identiques. (N.d.t. : dans un grand nombre de cas, on pourra se contenter de configurer sa carte PnP sous DOS avec l'utilitaire ad�quat pour les param�tres d�sir�s. Ensuite, la carte (m�me �teinte) gardera en m�moire interne son param�trage, et il ne sera pas n�cessaire de repasser par DOS ni d'utiliser LOADLIN.EXE pour lancer Linux :-) ). La version commerciale du pilote son OSS supporte les SoundBlaster 16 PnP. Elle est disponible aupr�s de 4Front Technologies. 6.31 Sox/Play/Vplay indique : "invalid block size 1024" Une modification du pilote dans sa version 1.3.67 a rendu inop�rants certains programmes son qui v�rifiaient (abusivement) que le r�sultat de la requ�te ioctl SNDCTL_DSP_GETBLKSIZE �tait sup�rieure � 4096. Les utilitaires pr�sents dans le dernier paquetage snd-util-3.x.tar.gz (sur ftp://ftp.4front-tech.com/ossfree) g�rent maintenant ceci correctement. Les derni�res versions du pilote son ont �galement �t� modifi�es pour �viter des fragments d'allocation plus petits que 4096 octets, ce qui r�soud le probl�me avec les anciens utilitaires. 6.32 Pourquoi le pilote son poss�de-il son propre programme de configuration ? Le pilote son supporte un grand nombre de param�tres de configuration. Le programme configure inclus avec le pilote son v�rifie les d�pendances entre ces param�tres. Les outils utilis�s pour configurer le noyau ne supportent pas ce niveau de fonctionalit�s. Cela dit, les derniers noyaux Linux permettent en partie d'utiliser les outils standard de configuration du noyau pour le pilote son (voyez la partie consacr�e � la "configuration du noyau"). 6.33 Les param�tres du mixeur sont r�initialis�s � chaque fois que je charge le module du pilote son Il est possible de compiler le pilote son en tant que module chargeable par le noyau et utiliser kerneld pour un chargement et d�chargement automatiques. Cela peut engendrer un probl�me. A chaque fois que le module est recharg�, les param�tres du mixeur reprennent leur valeurs d'origine. Selon les cartes son, on peut alors obtenir un volume trop faible ou trop �lev� (par ex. SoundBlaster 16). Markus Gutschke (gutschk@uni-muenster.de) a trouv� une solution qui consiste � inclure cette ligne dans le fichier /etc/conf.modules : options sound dma_buffsize=65536 && /usr/bin/setmixer igain 0 ogain 0 vol 75 Cela force votre programme mixeur (dans notre cas, setmixer) � �tre ex�cut� imm�diatement apr�s le chargement du pilote son. Le param�tre dma_buffsize est recquis par la commande option. Modifiez cela en fonction de votre programme mixeur et de vos r�glages de gain. Si vous avez compil� le pilote son en dur dans le noyau et que vous souhaitez r�gler les diff�rents gains du mixeur au d�marrage de Linux, vous pouvez effectuer l'appel au programme mixeur dans /etc/rc.d/rc.local. 6.34 Seul l'utilisateur root peut enregistrer des sons Par d�faut, le script se trouvant dans Readme.linux qui cr�e les fichiers de p�riph�riques son (/dev/...) autorise seulement l'acc�s � la carte son par root. Ceci afin de combler un trou de s�curit� potentiel. Dans un environnement r�seau, des utilisateurs externes pourraient se connecter � votre machine et vous �couter par l'interm�diaire de la carte son et d'un micro qui y serait raccord�. Si vous vous en foutez, il suffit de changer les permissions des fichiers sp�ciaux /dev/audio et /dev/dsp. Par contre, ce script autorise par d�faut n'importe quel utilisateur � jouer un �chantillon sonore dans la carte. Ceci n'a aucune cons�quence sur la s�curit� mais peut se r�v�ler plut�t d�sagr�able. 6.35 Est-ce que les circuits sonores de l'IBM ThinkPad sont support�s ? Vous trouverez des informations � ce sujet sur : http://www.screamin.demon.co.uk/. 7. R�f�rences Si vous poss�dez une carte son qui supporte une interface SCSI ou CD-ROM, vous pourrez consulter les documents suivants : SCSI HOWTO, CD-ROM HOWTO. Ces documents existent en version fran�aise. Le Sound-Playing HOWTO explique comment jouer diff�rents types de fichiers son sous Linux. Le Ultrasound Plug'n'play Mini-HOWTO explique comment faire fonctionner sa Gravis Ultrasound PnP. Le Linux SoundBlaster 16 PnP Mini-HOWTO explique comment faire fonctionner sa SoundBlaster16 PnP sous Linux. Le Linux SoundBlaster AWE64 PnP Mini-HOWTO explique comment faire fonctionner sa SoundBlaster AWE64 sous Linux. (N.d.t. : consultez ces documents traduits en Fran�ais sur : ftp://ftp.lip6.fr/pub/linux/french/docs/HOWTO/) Il existe un vieux document connu sous le nom de _Hacker's Guide to VoxWare_, et disponible sur ftp://nic.funet.fi/pub/Linux/ALPHA/sound/. La plupart des informations ici pr�sentes ont �t� tir�es de la documentation disponible sur http://www.4front-tech.com/pguide, mais la section concernant /dev/sequencer peut tout de m�me vous �tre utile. Les FAQs (Questions Fr�quemment Pos�es ou Foire Aux Questions !) suivantes sont r�guli�rement post�es dans le forum Usenet news.announce et sont �galement archiv�es sur ftp://rtfm.mit.edu/pub/usenet/news.answers : * PCsoundcards/generic-faq (Generic PC Soundcard FAQ) * PCsoundcards/soundcard-faq (comp.sys.ibm.pc.soundcard FAQ) * PCsoundcards/gravis-ultrasound/faq (Gravis UltraSound FAQ) * audio-fmts/part1 (description des formats de fichiers Audio) * audio-fmts/part2 (description des formats de fichiers Audio) (N.d.t.: voir �galement les postages r�guliers de FAQ dans le forum Usenet fr.comp.os.linux.annonces) Les FAQs vous indiquent �galement plusieurs listes de diffusion sp�cifiques � certains mat�riels ainsi que leurs sites d'archives. Les forums Usenet suivant concernent le son et/ou la musique : * alt.binaries.sounds.* (�change de fichiers d'�chantillons sonores) * alt.binaries.multimedia (�change de fichiers multim�dia) * alt.sb.programmer (programmation de la SoundBlaster) * comp.multimedia (� propos de Multim�dia) * comp.music (th�ories et recherches sur la musique assist�e par ordinateur) * comp.sys.ibm.pc.soundcard.* (divers forums pour cartes son compatibles IBM PC) Un site web consacr� au multim�dia est consultable sur http://viswiz.gmd.de/MultimediaInfo/. Creative Labs a son site web sur http://www.creaf.com/. MediaTrix �galement sur http://www.mediatrix.com/. Il existe des listes de diffusion Linux consacr�es au son. Pour s'y abonner, envoyez un email � majordomo@vger.rutgers.edu avec, dans le corps du message, le mot "help". Ces listes sont en g�n�ral destin�es � des discussions relatives au d�veloppement d'applications li�es au son, pas aux question du genre "comment faire fonctionner ma SoundBlaster"... Rappelons une fois encore que les sources du noyau Linux contiennent un certain nombre de fichiers Readme tr�s utiles relatifs aux pilotes de carte son. Typiquement, on trouvera ces fichiers dans le r�pertoire /usr/src/linux/drivers/sound. Le concepteur du pilote son, Hannu Savolainen, peut �tre contact� par email � hannu@voxware.pp.fi. Il poss�de �galement un site web sur http://personal.eunet.fi/pp/voxware. Les informations relatives � OSS, la version commerciale du pilote son pour Linux et autres Unix, sont consultables sur http://www.4front-tech.com/, le site de 4Front Technologies. La carte des logiciels Linux ou _Linux Software Map_ (LSM) est un document inestimable pour rechercher un programme donn�. Vous pouvez faire une recherche dans cette base avec un mot-clef tel que _sound_ et identifier de cette fa�on toutes les applications g�rant les p�riph�riques sonores. Ce document peut �tre trouv� sur un grand nombre de sites FTP et en particulier sur : ftp://sunsite.unc.edu/pub/Linux/docs/LSM/. Enfin, si vous voulez en apprendre davantage � propos de la programmation multimedia sous Linux (essentiellement d'applications g�rant les CD-ROM et les cartes son), consultez mon livre _Le Guide du Multimedia sous Linux_ (n.d.t : traduction fran�aise d'Eric Dumas, num�ro ISBN : ISBN 2-84177-014-1) publi� chez O'Reilly and Associates. Ce bouquin est en vente un peu partout, mais vous pouvez quand m�me consulter la page Web d'Oreilly http://www.oreilly.com/international/france/.