Avant que vous commenciez, vous devriez connaître le modèle de carte son que vous avez, la puce qu'elle utilise, et si c'est une carte PCI ou ISA. FreeBSD supporte une grande variété de cartes PCI et ISA. Si vous ne voyez pas votre carte dans la liste suivante, consultez la page de manuel pcm(4). Ce n'est pas une liste complète, cependant elle énumère certaines des cartes les plus courantes.
Crystal 4237, 4236, 4232, 4231
Yamaha OPL-SAx
OPTi931
Ensoniq AudioPCI 1370/1371
ESS Solo-1/1E
NeoMagic 256AV/ZX
SoundBlaster® Pro, 16, 32, AWE64, AWE128, Live
Creative ViBRA16
Advanced Asound 100, 110, et Logic ALS120
ES 1868, 1869, 1879, 1888
Gravis UltraSound
Aureal Vortex 1 ou 2
Pour utiliser votre carte son, vous devrez charger le pilote de périphérique approprié. Cela peut être fait de deux façons. La plus simple est de charger le module pour votre carte son avec kldload(8), ce qui peut être soit fait à partir de la ligne de commande:
# kldload snd_emu10k1.ko
soit en ajoutant la ligne appropriée dans le fichier /boot/loader.conf comme cela:
snd_emu10k1_load="YES"
Ces exemples concernent la carte Creative SoundBlaster Live!. Les autres modules son chargeables sont listés dans /boot/defaults/loader.conf.
Sinon, vous pouvez compiler le support pour votre carte son en statique dans votre noyau. Les sections ci-dessous fournissent les informations nécessaires pour ajouter le support de votre matériel de cette manière. Pour plus d'informations au sujet de la recompilation de votre noyau, veuillez consulter le Chapitre 9.
Si vous avez une de ces cartes, vous devrez rajouter:
device pcm
à votre fichier de configuration du noyau. Si vous avez une carte ISA PnP, vous aurez également besoin d'ajouter:
device sbc
Pour une carte ISA non-PnP, ajouter:
device pcm device sbc0 at isa? port 0x220 irq 5 drq 1 flags 0x15
à votre fichier de configuration du noyau. Les valeurs données ci-dessus sont celles par défaut. Vous aurez peut-être à changer l'IRQ ou d'autres valeurs en fonction de votre carte. Voir la page de manuel sbc(4) pour plus d'informations.
Note : La carte Sound Blaster Live n'est pas supportée sous FreeBSD 4.0 sans un correctif, ce dont ne parlera pas cette section. Il est recommandé que vous mettiez à jour votre système jusqu'à la tout dernière -STABLE avant d'essayer d'utiliser cette carte.
Pour une carte ISA non-PnP, vous devrez ajouter:
device pcm device gusc
à votre fichier de configuration du noyau. Si vous avez une carte ISA non-PnP, vous devrez rajouter:
device pcm device gus0 at isa? port 0x220 irq 5 drq 1 flags 0x13
à votre fichier de configuration du noyau. Vous aurez peut-être à changer l'IRQ ou d'autres valeurs en fonction de votre carte. Voir la page de manuel gusc(4) pour plus d'informations.
Pour les cartes son Crystal, vous devrez ajouter:
device pcm device csa
à votre fichier de configuration du noyau.
Pour des cartes ISA PnP ou PCI, vous devrez ajouter:
device pcm
à votre fichier de configuration du noyau. Si vous avez une carte son ISA non-PnP qui n'a pas de pilote de ``bridge'', vous devrez ajouter:
device pcm0 at isa? irq 10 drq 1 flags 0x0
à votre fichier de configuration du noyau. Vous aurez peut-être à changer l'IRQ ou d'autres valeurs en fonction de votre carte.
Certains systèmes avec la carte son intégrée à la carte mère auront peut-être besoin de l'option suivante dans votre configuration de noyau:
options PNPBIOS
Note : Si vous utilisez FreeBSD 5.0 ou une version suivante l'option PNPBIOS est inutile. Cette option n'existe plus et la fonctionnalité est constamment activée.
Après avoir redémarré, ouvrez une session et recherchez le périphérique dans le fichier /var/run/dmesg.boot comme montré ci-dessous:
# grep pcm /var/run/dmesg.boot pcm0: <SB16 DSP 4.11> on sbc0
Le résultat pourra être différent sur votre système. Si aucun périphérique pcm n'apparaît, quelque chose s'est mal passée plus tôt. Si cela se produit, retournez à votre fichier de configuration du noyau et vérifiez que vous avez choisi le périphérique correct. Les problèmes courants sont listés dans la Section 16.2.2.1.
Note : Si vous utilisez un FreeBSD 5.0 ou suivant, vous pouvez sans risque passer le reste de cette section. Ces versions utilisent devfs(5) pour créer automatiquement les fichiers spéciaux de périphériques.
Si la commande précédente a donné pcm0, vous devrez faire en tant que root ce qui suit:
# cd /dev # sh MAKEDEV snd0
Si la commande a donné pcm1, suivez les mêmes étapes qu'au-dessus, en remplaçant snd0 par snd1.
Note : Les commandes précédentes ne créeront pas un périphérique /dev/snd!
MAKEDEV créera un ensemble de fichiers de périphérique, dont:
| Périphérique | Description |
|---|---|
| /dev/audio | Périphérique audio Sparc® compatible |
| /dev/dsp | Processeur de signaux numériques |
| /dev/dspW | Comme /dev/dsp, mais avec 16 bits par échantillons |
| /dev/midi | Périphérique d'accès MIDI |
| /dev/mixer | Port de contrôle du mélangeur |
| /dev/music | Interface de niveau 2 du séquenceur |
| /dev/sequencer | Séquenceur |
| /dev/pss | Interface programmable |
Si tout va bien, vous devriez avoir maintenant une carte son qui fonctionne. Si votre lecteur de CD-ROM ou de DVD-ROM est correctement relié à votre carte son, vous pouvez introduire un CD dans le lecteur et le jouer avec cdcontrol(1):
% cdcontrol -f /dev/acd0c play 1
Diverses applications, comme audio/workman offrent une meilleure interface. Vous pouvez vouloir installer une application comme audio/mpg123 pour écouter des fichiers audio MP3.
| Erreur | Solution |
|---|---|
| ``unsupported subdevice XX'' |
Un ou plusieurs fichiers spéciaux de périphérique n'ont pas été créés correctement. Répétez les étapes précédentes. |
| ``sb_dspwr(XX) timed out'' |
Le port d'E/S n'est pas configuré correctement. |
| ``bad irq XX'' |
L'IRQ sélectionnée est incorrecte. Vérifiez que l'IRQ choisie et l'IRQ de la carte son sont les mêmes. |
| ``xxx: gus pcm not attached, out of memory'' |
Il n'y a pas suffisamment de mémoire disponible pour utiliser ce périphérique. |
| ``xxx: can't open /dev/dsp!'' |
Vérifiez avec la commande fstat | grep dsp si une autre application maintient le périphérique ouvert. Souvent à l'origine de ce type de problème on trouve esound et le support son de KDE. |
Il est souvent intéressant de pouvoir jouer simultanément du son à partir de multiples sources, comme lorsque esound ou artsd ne supportent pas le partage du périphérique son avec certaines applications.
FreeBSD vous permet de le faire par l'intermédiaire de Canaux Sonores Virtuels, qui peuvent être configurés avec la fonction sysctl(8). Les canaux virtuels vous permettent de multiplexer les canaux de sortie de votre carte son en mixant le son au niveau du noyau.
Pour configurer le nombre de canaux virtuels, il existe deux paramètres de sysctl qui, si vous avez les privilèges de l'utilisateur root, peuvent être configurés comme ceci:
# sysctl hw.snd.pcm0.vchans=4 # sysctl hw.snd.maxautovchans=4
L'exemple ci-dessus alloue quatre canaux virtuels, ce qui est un nombre suffisant pour une utilisation classique. hw.snd.pcm0.vchans est le nombre de canaux virtuels que possède pcm0, et est configurable une fois que le périphérique a été attaché au système. hw.snd.maxautovchans est le nombre de canaux virtuels alloués à un nouveau périphérique audio quand il est attaché à l'aide de kldload(8). Comme le module pcm peut être chargé indépendamment des pilotes de périphériques, hw.snd.maxautovchans peut stocker combien de canaux virtuels seront alloués à chaque périphérique attaché par la suite.
Si vous n'utilisez pas devfs(5), vous devrez faire pointer vos applications sur /dev/dsp0.x, où x est 0 à 3 si hw.snd.pcm.0.vchans est fixé à 4. Sur un système utilisant devfs(5), ce qui précède sera automatiquement effectué de façon transparente pour l'utilisateur.
| Précédent | Sommaire | Suivant |
| Multimédia | Niveau supérieur | Fichiers MP3 |
Ce document, ainsi que d'autres peut être téléchargé sur ftp.FreeBSD.org/pub/FreeBSD/doc/.
Pour toutes questions à propos de FreeBSD, lisez la documentation avant de contacter <questions@FreeBSD.org>.
Pour les questions sur cette documentation, contactez <doc@FreeBSD.org>.