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 rapide
ment, et de désengorger le trafic Usenet.
______________________________________________________________________
Table des matières
1. Introduction
1.1 Remerciements
1.2 Versions antérieures
1.3 Nouvelles versions de ce document
1.4 Retour d'informations...
1.5 Ce document : politique de distribution
2. La technologie des cartes-son
3. Matériel supporté
3.1 Les cartes son
3.2 Des pilotes son alternatifs
3.3 Le haut-parleur du PC
3.4 Le port parallèle
4. L'installation
4.1 L'installation de la carte son
4.2 La configuration du noyau
4.3 La création des Fichiers spéciaux des Périphériques
4.4 Démarrage de Linux et Test de l'Installation
4.5 Problèmes rencontrés
4.5.1 Premier point : Soyez certain que vous utilisez vraiment votre noyau fraîchement compilé !
4.5.2 Deuxième point : Soyez sûr que les pilotes son du noyau y sont bien inclus
4.5.3 Troisième point : Est-ce que le noyau a bien détecté votre carte son pendant le démarrage ?
4.5.4 Quatrième point : Arrivez-vous à lire des données en provenance du dsp ?
4.5.5 Quoi encore...
5. Applications utilisant le son
6. Réponses aux Questions Fréquemment Posées
6.1 Quels sont les différents fichiers de périphériques liés au son ?
6.2 Comment puis-je jouer un fichier son ?
6.3 Comment faire pour enregistrer un son ?
6.4 Avoir plus d'une carte son
6.5 Error: No such file or directory for sound devices
6.6 Error: No such device for sound devices
6.7 Error: No space left on device for sound devices
6.8 Error: Device busy for sound devices
6.9 J'ai encore une erreur de type `device busy' (périphérique occupé) !
6.10 Lecture incomplète d'un fichier d'échantillons audio
6.11 Il y a des pauses lors de la lecture d'un fichier MOD
6.12 Erreurs de compilation d'applications utilisant le son
6.13 SEGV en utilisant des exécutables qui fonctionnaient avant
6.14 Quels sont les bugs connus et les limitations dans le pilote son ?
6.15 Quelles ressources processeur sont-elles nécessaires pour enregistrer ou jouer des fichiers son sans pause ?
6.16 Problèmes avec la PAS16 et l'adaptateur SCSI Adaptec 1542
6.17 Est-il possible de lire et de jouer des échantillons sonores simultanément ?
6.18 Ma SB16 est reglée en IRQ 2, mais le programme de configuration ne permet pas cette valeur.
6.19 Est-ce que les SoundBlaster AWE32 et SoundBlaster16 ASP sont supportées ?
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.
6.21 Problèmes avec DOOM sous Linux
6.22 Comment réduire le
6.23 Je peux jouer des sons échantillonés, mais pas en enregistrer
6.24 Ma carte "compatible" fonctionne seulement si je l'initialise préalablement sous DOS.
6.25 Ma carte son 16 bits "compatible SoundBlaster" fonctionne seulement en mode 8-bits sous Linux.
6.26 Où puis-je trouver des logiciels de son sous Linux ?
6.27 Est-ce que le pilote de son peut-être compilé comme module chargeable ?
6.28 Puis-je utiliser ma carte son pour remplacer le "bip" produit par ma console ?
6.29 Qu'est-ce que VoxWare ?
6.30 Est-ce que les cartes son Plug & Play sont supportées ?
6.31 Sox/Play/Vplay indique : "invalid block size 1024"
6.32 Pourquoi le pilote son possède-il son propre programme de configuration ?
6.33 Les paramètres du mixeur sont réinitialisés à chaque fois que je charge le module du pilote son
6.34 Seul l'utilisateur root peut enregistrer des sons
6.35 Est-ce que les circuits sonores de l'IBM ThinkPad sont supportés ?
7. Références
______________________________________________________________________
11.. IInnttrroodduuccttiioonn
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 _A_u_t_r_e_s _s_o_u_r_c_e_s _d_'_i_n_f_o_r_m_a_t_i_o_n.
11..11.. RReemmeerrcciieemmeennttss
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.
11..22.. VVeerrssiioonnss aannttéérriieeuurreess
VVeerrssiioonn 11..11
première version; postée uniquement dans le canal SOUND de la
`linux activists mailing list' (`liste de diffusion des
activistes Linux').
VVeerrssiioonn 11..22
corrections mineures; première version disponible sur les sites
d'archives.
VVeerrssiioonn 11..33
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.
VVeerrssiioonn 11..44
petites modifications de SGML; ajout de réponses à propos des
incompatibilités entre la PAS16 et la carte SCSI Adaptec1542A.
VVeerrssiioonn 11..55
le pilote son 2.5a est maintenant dans la distribution du noyau
1.1; note sur le support GUS-MAX; quelques petites corrections.
VVeerrssiioonn 11..66
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.
VVeerrssiioonn 11..77
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.
VVeerrssiioonn 11..88
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.
VVeerrssiioonn 11..99
questions concernant l'enregistrement et les cartes compatibles.
VVeerrssiioonn 11..1100
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.
VVeerrssiioonn 11..1111
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.
VVeerrssiioonn 11..1122
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.
VVeerrssiioonn 11..1133
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.
VVeerrssiioonn 11..1144
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.
VVeerrssiioonn 11..1155
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.
VVeerrssiioonn 11..1166
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.
VVeerrssiioonn 11..1177
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.
VVeerrssiioonn 11..1188
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.
VVeerrssiioonn 11..1199
cette nouvelle version est publiée selon la licence LDP plutot
que GPL.
11..33.. NNoouuvveelllleess vveerrssiioonnss ddee ccee ddooccuummeenntt
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 :
(version française)
et (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
. 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.
11..44.. RReettoouurr dd''iinnffoorrmmaattiioonnss......
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
.
11..55.. CCee ddooccuummeenntt :: ppoolliittiiqquuee ddee ddiissttrriibbuuttiioonn
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 à .
22.. LLaa tteecchhnnoollooggiiee ddeess ccaarrtteess--ssoonn
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 _n_u_m_é_r_i_q_u_e; c'est-à-dire qu'ils utilisent des valeurs
discrètes. Les cartes-son utilisent un composant appelé _C_o_n_v_e_r_t_i_s_s_e_u_r
_A_n_a_l_o_g_i_q_u_e_-_N_u_m_é_r_i_q_u_e (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 _C_o_n_v_e_r_t_i_s_s_e_u_r _N_u_m_é_r_i_q_u_e_-_A_n_a_l_o_g_i_q_u_e (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
_f_r_é_q_u_e_n_c_e _d_'_é_c_h_a_n_t_i_l_l_o_n_a_g_e 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 _s_y_n_t_h_è_s_e _F_M 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 _s_y_n_t_h_è_s_e _p_a_r _t_a_b_l_e _d_'_é_c_h_a_n_t_i_l_l_o_n_s _s_o_n_o_r_e_s ou _w_a_v_e_t_a_b_l_e_s 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 _m_i_x_a_g_e, en
combinant les signaux provenant des différentes sources avec des
niveaux différents.
Le terme _M_I_D_I 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 _M_O_D 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.
33.. MMaattéérriieell ssuuppppoorrttéé
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 : (USA) ou
(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 !).
33..11.. LLeess ccaarrtteess ssoonn
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 _p_a_s 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 _p_e_u_v_e_n_t 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).
33..22.. DDeess ppiillootteess ssoonn aalltteerrnnaattiiffss
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 .
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'enreg
istrement 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 .
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 ver
sion 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 syn
chronisation - par exemple des images en fonction d'un bat
tement 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
.
Jaroslav Kysela et d'autres ont également conçu un pilote alternatif
pour la Gravis UltraSound. Consulter la page
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_é_v_e_l_o_p_p_e_m_e_n_t !) 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 !).
33..33.. LLee hhaauutt--ppaarrlleeuurr dduu PPCC
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
33..44.. LLee ppoorrtt ppaarraallllèèllee
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.
44.. LL''iinnssttaallllaattiioonn
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.
44..11.. LL''iinnssttaallllaattiioonn ddee llaa ccaarrttee ssoonn
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.
44..22.. LLaa ccoonnffiigguurraattiioonn dduu nnooyyaauu
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 _t_o_u_s 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 dans 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.
OOlldd ccoonnffiigguurraattiioonn eexxiissttss iinn //eettcc//ssoouunnddccoonnff.. UUssee iitt [[YY//nn//??]]
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.
PPrrooAAuuddiiooSSppeeccttrruumm 1166 ssuuppppoorrtt [[YY//nn//??]]
Répondez "y" _u_n_i_q_u_e_m_e_n_t si vous possédez une Pro Audio Spectrum
_1_6, 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.
SSoouunnddBBllaasstteerr ssuuppppoorrtt [[YY//nn//??]]
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.
GGrraavviiss UUllttrraassoouunndd ssuuppppoorrtt [[YY//nn//??]]
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.
MMPPUU--440011 ssuuppppoorrtt ((NNOOTT ffoorr SSBB1166)) [[YY//nn//??]]
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.
66885500 UUAARRTT MMiiddii ssuuppppoorrtt [[YY//nn//??]]
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.
PPSSSS ((EECCHHOO--AADDII22111111)) ssuuppppoorrtt [[YY//nn//??]]
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
1166 bbiitt ssaammpplliinngg ooppttiioonn ooff GGUUSS ((_n_o_t GGUUSS MMAAXX)) [[YY//nn//??]]
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.
GGUUSS MMAAXX ssuuppppoorrtt [[YY//nn//??]]
Répondez "y" uniquement si vous avez une GUS MAX.
MMiiccrroossoofftt SSoouunndd SSyysstteemm ssuuppppoorrtt [[YY//nn//??]]
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.
EEnnssoonniiqq SSoouunnddssccaappee ssuuppppoorrtt [[YY//nn//??]]
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).
MMeeddiiaaTTrriiXX AAuuddiiooTTrriiXX PPrroo ssuuppppoorrtt [[YY//nn//??]]
Répondez "y" si vous avez une AudioTriX Pro.
SSuuppppoorrtt ffoorr MMAADD1166 aanndd//oorr MMoozzaarrtt bbaasseedd ccaarrddss??
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).
SSuuppppoorrtt ffoorr CCrryyssttaall CCSS44223322 bbaasseedd ((PPnnPP)) ccaarrddss [[YY//nn//??]]
Répondez "y" si vous avez une carte basée sur les circuits
Crystal CS4232.
SSuuppppoorrtt ffoorr TTuurrttllee BBeeaacchh WWaavvee FFrroonntt ((MMaauuii,, TTrrooppeezz)) ssyynntthheessiizzeerrss
[Y/n/?]" Répondez "y" ici si vous possédez l'une de ces cartes.
SSoouunnddBBllaasstteerr PPrroo ssuuppppoorrtt [[YY//nn//??]]
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".
SSoouunnddBBllaasstteerr 1166 ssuuppppoorrtt [[YY//nn//??]]
Validez si vou avez une SoundBlaster 16 (dont l'AWE 32).
AAuuddiioo EExxcceell DDSSPP 1166 iinniittiiaalliizzaattiioonn ssuuppppoorrtt [[YY//nn//??]]
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.
//ddeevv//ddsspp aanndd //ddeevv//aauuddiioo ssuuppppoorrtt ((uussuuaallllyy rreeqquuiirreedd)) [[YY//nn//??]]
Répondre "n" désactive /dev/dsp et /dev/audio, les périphériques
de conversion A/D et D/A. Répondez "y".
MMIIDDII iinntteerrffaaccee ssuuppppoorrtt [[YY//nn//??]]
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.
FFMM ssyynntthheessiizzeerr ((YYMM33881122//OOPPLL--33)) ssuuppppoorrtt [[YY//nn//??]]
Répondre "y" ici.
//ddeevv//sseeqquueenncceerr ssuuppppoorrtt [[YY//nn//??]]
Répondre "n" désactive /dev/sequencer et /dev/music.
DDoo yyoouu wwaanntt ssuuppppoorrtt ffoorr tthhee mmiixxeerr ooff SSGG NNXX PPrroo ??
Répondez "y" si vous possédez une carte son Sound Galaxy NX Pro
et que vous voulez utiliser ses fonctions étendues de mixage.
DDoo yyoouu wwaanntt ssuuppppoorrtt ffoorr tthhee MMVV JJaazzzz1166 ((PPrrooSSoonniicc eettcc..)) ??
Répondez "y" si vous avez une carte son MV Jazz 16.
DDoo yyoouu hhaavvee aa LLooggiitteecchh SSoouunnddMMaann GGaammeess [[YY//nn//??]]
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 et #include
.
Vous pouvez maintenant recompiler et installer le nouveau noyau.
44..33.. LLaa ccrrééaattiioonn ddeess FFiicchhiieerrss ssppéécciiaauuxx ddeess PPéérriipphhéérriiqquueess
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.
44..44.. DDéémmaarrrraaggee ddee LLiinnuuxx eett TTeesstt ddee ll''IInnssttaallllaattiioonn
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
at 0x220 irq 5 dma 1,5
at 0x330 irq 5 dma 0
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 :
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 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 !!!
44..55.. PPrroobbllèèmmeess rreennccoonnttrrééss
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 !
44..55..11.. PPrreemmiieerr ppooiinntt :: SSooyyeezz cceerrttaaiinn qquuee vvoouuss uuttiilliisseezz vvrraaiimmeenntt vvoottrree
nnooyyaauu ffrraaîîcchheemmeenntt ccoommppiilléé !!
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 EDT 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 ?
44..55..22.. nnooyyaauu yy ssoonntt bbiieenn iinncclluuss DDeeuuxxiièèmmee ppooiinntt :: SSooyyeezz ssûûrr qquuee lleess
ppiillootteess ssoonn dduu
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.
44..55..33.. TTrrooiissiièèmmee ppooiinntt :: EEsstt--ccee qquuee llee nnooyyaauu aa bbiieenn ddéétteeccttéé vvoottrree
ccaarrttee ssoonn ppeennddaanntt llee ddéémmaarrrraaggee ??
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.
44..55..44.. QQuuaattrriièèmmee ppooiinntt :: AArrrriivveezz--vvoouuss àà lliirree ddeess ddoonnnnééeess eenn pprroovvee
nnaannccee dduu ddsspp ??
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 !
44..55..55.. QQuuooii eennccoorree......
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
· 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 :-)
55.. AApppplliiccaattiioonnss uuttiilliissaanntt llee ssoonn
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...
66.. RRééppoonnsseess aauuxx QQuueessttiioonnss FFrrééqquueemmmmeenntt PPoossééeess
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.
66..11.. QQuueellss ssoonntt lleess ddiifffféérreennttss ffiicchhiieerrss ddee ppéérriipphhéérriiqquueess lliiééss aauu ssoonn
??
Ce sont des noms le plus souvent "standard", mais certaines
distribtutions Linux peuvent avoir choisi des noms différents.
//ddeevv//aauuddiioo
lien symbolique vers /dev/audio0
//ddeevv//aauuddiioo00
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)
//ddeevv//aauuddiioo11
second périphérique audio (pour certaines cartes son ou si vous
en avez deux)
//ddeevv//ddsspp
normalement, c'est un lien symbolique vers /dev/dsp0
//ddeevv//ddsspp00
premier périphérique d'échantillonage
//ddeevv//ddsspp11
second périphérique d'échantillonage
//ddeevv//mmiixxeerr
lien vers /dev/mixer0
//ddeevv//mmiixxeerr00
premier mixeur son
//ddeevv//mmiixxeerr11
second mixeur son
//ddeevv//mmuussiicc
interface séquenceur de haut niveau
//ddeevv//sseeqquueenncceerr
accés bas niveau pour MIDI, FM et GUS
//ddeevv//sseeqquueenncceerr22
normalement, lien vers /dev/music
//ddeevv//mmiiddii0000
premier port MIDI
//ddeevv//mmiiddii0011
second port MIDI
//ddeevv//mmiiddii0022
troisième port MIDI
//ddeevv//mmiiddii0033
quatrième port MIDI
//ddeevv//ssnnddssttaatt
indique l'état du pilote son
Le pilote pour haut-parleur PC fournit les fichiers de périphériques
suivant :
//ddeevv//ppccaauuddiioo
équivalent à /dev/audio
//ddeevv//ppccsspp
équivalent à /dev/dsp
//ddeevv//ppccmmiixxeerr
équivalent à /dev/mixer
66..22.. CCoommmmeenntt ppuuiiss--jjee jjoouueerr uunn ffiicchhiieerr ssoonn ??
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.
66..33.. CCoommmmeenntt ffaaiirree ppoouurr eennrreeggiissttrreerr uunn ssoonn ??
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.
66..44.. AAvvooiirr pplluuss dd''uunnee ccaarrttee ssoonn
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)
66..55.. EErrrroorr:: NNoo ssuucchh ffiillee oorr ddiirreeccttoorryy ffoorr ssoouunndd ddeevviicceess
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).
66..66.. EErrrroorr:: NNoo ssuucchh ddeevviiccee ffoorr ssoouunndd ddeevviicceess
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.
66..77.. EErrrroorr:: NNoo ssppaaccee lleefftt oonn ddeevviiccee ffoorr ssoouunndd ddeevviicceess
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 _C_r_é_a_t_i_o_n _d_e_s
_f_i_c_h_i_e_r_s _d_e _p_é_r_i_p_h_é_r_i_q_u_e_s.
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);
}
66..88.. EErrrroorr:: DDeevviiccee bbuussyy ffoorr ssoouunndd ddeevviicceess
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.
66..99.. JJ''aaii eennccoorree uunnee eerrrreeuurr ddee ttyyppee ``ddeevviiccee bbuussyy'' ((ppéérriipphhéérriiqquuee
ooccccuuppéé)) !!
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.
66..1100.. LLeeccttuurree iinnccoommppllèèttee dd''uunn ffiicchhiieerr dd''éécchhaannttiilllloonnss aauuddiioo
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.
66..1111.. IIll yy aa ddeess ppaauusseess lloorrss ddee llaa lleeccttuurree dd''uunn ffiicchhiieerr MMOODD
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).
66..1122.. EErrrreeuurrss ddee ccoommppiillaattiioonn dd''aapppplliiccaattiioonnss uuttiilliissaanntt llee ssoonn
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.
66..1133.. SSEEGGVV eenn uuttiilliissaanntt ddeess eexxééccuuttaabblleess qquuii ffoonnccttiioonnnnaaiieenntt aavvaanntt
Il s'agit certainement du même problème que précédemment.
66..1144.. QQuueellss ssoonntt lleess bbuuggss ccoonnnnuuss eett lleess lliimmiittaattiioonnss ddaannss llee ppiilloottee
ssoonn ??
Ils sont partiellement répertoriés dans le _H_a_c_k_e_r_'_s _G_u_i_d_e _t_o _V_o_x_W_a_r_e,
actuellement disponible sous forme provisoire. La dernière version est
la "draft 2" disponible sur
. 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.
66..1155.. oouu jjoouueerr ddeess ffiicchhiieerrss ssoonn ssaannss ppaauussee ?? QQuueelllleess rreessssoouurrcceess pprroo
cceesssseeuurr ssoonntt--eelllleess nnéécceessssaaiirreess ppoouurr eennrreeggiissttrreerr
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.
66..1166.. PPrroobbllèèmmeess aavveecc llaa PPAASS1166 eett ll''aaddaappttaatteeuurr SSCCSSII AAddaapptteecc 11554422
(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...
66..1177.. EEsstt--iill ppoossssiibbllee ddee lliirree eett ddee jjoouueerr ddeess éécchhaannttiilllloonnss ssoonnoorreess
ssiimmuullttaannéémmeenntt ??
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 _H_a_c_k_e_r_'_s _G_u_i_d_e _t_o _V_o_x_w_a_r_e.
66..1188.. MMaa SSBB1166 eesstt rreeggllééee eenn IIRRQQ 22,, mmaaiiss llee pprrooggrraammmmee ddee ccoonnffiigguurraattiioonn
nnee ppeerrmmeett ppaass cceettttee vvaalleeuurr..
Sur les machines à base de 286, l'IRQ 2 est équivalente à l'IRQ 9.
Spécifiez IRQ 9 dans la configuration.
66..1199.. EEsstt--ccee qquuee lleess SSoouunnddBBllaasstteerr AAWWEE3322 eett SSoouunnddBBllaasstteerr1166 AASSPP ssoonntt
ssuuppppoorrttééeess ??
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.
66..2200.. SSii jj''uuttiilliissee LLiinnuuxx eett qquuee jjee rreellaannccee llee DDOOSS eennssuuiittee,, jj''oobbttiieennss
ddeess eerrrreeuurrss eett//oouu cceerrttaaiinneess aapppplliiccaattiioonnss nnee ffoonnttiioonnnneenntt pplluuss ccoorrrreeccttee
mmeenntt..
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 :-) ).
66..2211.. PPrroobbllèèmmeess aavveecc DDOOOOMM ssoouuss LLiinnuuxx
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
.
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
.
66..2222.. CCoommmmeenntt rréédduuiirree lleebbrruuiitt pprroodduuiitt ppaarr mmaa ccaarrttee ssoonn ??
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"
66..2233.. JJee ppeeuuxx jjoouueerr ddeess ssoonnss éécchhaannttiilllloonnééss,, mmaaiiss ppaass eenn eennrreeggiissttrreerr
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.
66..2244.. MMaa ccaarrttee ""ccoommppaattiibbllee"" ffoonnccttiioonnnnee sseeuulleemmeenntt ssii jjee ll''iinniittiiaalliissee
pprrééaallaabblleemmeenntt ssoouuss DDOOSS..
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.
66..2255.. mmooddee 88--bbiittss ssoouuss LLiinnuuxx.. MMaa ccaarrttee ssoonn 1166 bbiittss ""ccoommppaattiibbllee
SSoouunnddBBllaasstteerr"" ffoonnccttiioonnnnee sseeuulleemmeenntt eenn
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.
66..2266.. OOùù ppuuiiss--jjee ttrroouuvveerr ddeess llooggiicciieellss ddee ssoonn ssoouuss LLiinnuuxx ??
Voici quelques bons sites d'archive intéressants pour les applications
utilisant le son sous Linux :
·
·
·
·
·
·
66..2277.. EEsstt--ccee qquuee llee ppiilloottee ddee ssoonn ppeeuutt--êêttrree ccoommppiilléé ccoommmmee mmoodduullee
cchhaarrggeeaabbllee ??
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.
66..2288.. PPuuiiss--jjee uuttiilliisseerr mmaa ccaarrttee ssoonn ppoouurr rreemmppllaacceerr llee ""bbiipp"" pprroodduuiitt
ppaarr mmaa ccoonnssoollee ??
Essayez le programme oplbeep que l'on peut trouver sur
Une variante est le programme beep que vous trouverez sur
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.
66..2299.. QQuu''eesstt--ccee qquuee VVooxxWWaarree ??
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 . J'ai écris une
présentation d'OSS/Linux dans le numéro de juin 1997 de Linux Journal
(n.d.t. : en anglais).
66..3300.. EEsstt--ccee qquuee lleess ccaarrtteess ssoonn PPlluugg && PPllaayy ssoonntt ssuuppppoorrttééeess ??
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
(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.
66..3311.. SSooxx//PPllaayy//VVppllaayy iinnddiiqquuee :: ""iinnvvaalliidd bblloocckk ssiizzee 11002244""
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 ) 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.
66..3322.. PPoouurrqquuooii llee ppiilloottee ssoonn ppoossssèèddee--iill ssoonn pprroopprree pprrooggrraammmmee ddee ccoonn
ffiigguurraattiioonn ??
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").
66..3333.. cchhaarrggee llee mmoodduullee dduu ppiilloottee ssoonn LLeess ppaarraammèèttrreess dduu mmiixxeeuurr ssoonntt
rrééiinniittiiaalliissééss àà cchhaaqquuee ffooiiss qquuee jjee
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.
66..3344.. SSeeuull ll''uuttiilliissaatteeuurr rroooott ppeeuutt eennrreeggiissttrreerr ddeess ssoonnss
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.
66..3355.. EEsstt--ccee qquuee lleess cciirrccuuiittss ssoonnoorreess ddee ll''IIBBMM TThhiinnkkPPaadd ssoonntt ssuupp
ppoorrttééss ??
Vous trouverez des informations à ce sujet sur :
.
77.. RRééfféérreenncceess
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 : )
Il existe un vieux document connu sous le nom de _H_a_c_k_e_r_'_s _G_u_i_d_e _t_o
_V_o_x_W_a_r_e, et disponible sur
. La plupart des
informations ici présentes ont été tirées de la documentation
disponible sur , 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
:
· 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
. Creative Labs a son site web
sur . MediaTrix également sur
.
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
.
Les informations relatives à OSS, la version commerciale du pilote son
pour Linux et autres Unix, sont consultables sur , le site de 4Front Technologies.
La carte des logiciels Linux ou _L_i_n_u_x _S_o_f_t_w_a_r_e _M_a_p (LSM) est un
document inestimable pour rechercher un programme donné. Vous pouvez
faire une recherche dans cette base avec un mot-clef tel que _s_o_u_n_d 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 :
.
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 _L_e _G_u_i_d_e _d_u
_M_u_l_t_i_m_e_d_i_a _s_o_u_s _L_i_n_u_x (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
.
.