# Advanced Linux Sound Architecture (Français)

From ArchWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Related articles

- ALSA configuration examples
- ALSA troubleshooting
- Sound system
- PC speaker
- PulseAudio (Français)
- Open Sound System (Français)
- List of applications/Multimedia#Volume control

Cet article ou section a besoin d'être traduit(e).

Notes: Cet article ne respecte pas la structure de sa version anglophone, merci de le réécrire en conséquence. Vous pouvez aussi ajouter à la version anglophone les informations à-jour et dignes d’intérêt qui ne seraient portées que par la version francophone. Voir Archwiki:Translation_Team_(Français) (Discuss in Talk:Advanced Linux Sound Architecture (Français)#)

Advanced Linux Sound Architecture est un composant du noyau Linux qui gère le support des cartes sons, et qui fournit une API de plus haut niveau pour les développeurs d'applications.

Si vous recherchez une alternative, vous pouvez utiliser Open Sound System (OSS).

## Installation

### Noyau

Sous ArchLinux, le noyau par défaut est déjà configuré pour profiter d'ALSA. Il ne reste qu'à installer certains utilitaires pratiques en espace utilisateur et à modifier la configuration si nécessaire. Udev s'occupe automatiquement de la détection du matériel, et du chargement des pilotes adéquats.

### Espace utilisateur

Certains utilitaires sont utiles pour contrôler alsa :

- alsa-utils contient un contrôle du volume des différents canaux alsamixer, ainsi qu'un lecteur pcm utile à des fins de tests.
- alsa-oss fournit la compatibilité avec des applications OSS avec le support de dmix[broken link: invalid section]

Ainsi, pour installer ces paquets, tapez la commande suivante :

    pacman -S alsa-utils alsa-oss

### Régler les niveaux

Par défaut, tous les canaux sont muets. Pour remédier à cela, vous pouvez utiliser `alsamixer`, avec une interface curse, ou bien directement `amixer` en cli.

Les canaux muets sont reconnaissables au MM au bas de la barre de niveau. Utiliser la touche M pour changer son état. Vérifiez aussi que les niveaux ne sont pas à 0.

Utilisez les flèches haut et bas pour monter ou baisser le volume, gauche et droite pour naviguer entre les différents canaux disponibles.

Il faut en général régler les canaux `PCM`, `Master` et `Front` voire plus si vous possédez une carte son évoluée.

Pour une utilisation générale, régler les trois premiers canaux est suffisant.

Astuce: Ne choisissez pas un gain positif pour le canal `PCM` , vous risqueriez de perdre en qualité.

Testez alors si le son marche :

    speaker-test -c 2

Si le test est négatif, rendez-vous au paragraphes Configuration puis Problèmes.

Vous devriez sauver vos niveaux pour qu'ils ne soient pas perdus après un redémarrage :

    alsactl store

ce qui créera un fichier `/var/lib/alsa/asound.state`.

Note: Alsa se décompose en deux services, l'un pour la sauvegarde, l'autre pour sa restauration. Ces services sont directement lancés au démarrage.
Attention: le daemon alsa ne fait rien sinon restaurer les niveaux. Il n'a rien à voir avec le fonctionnement du composant noyau du même nom !

## Configuration

Pour voir si la (ou les) carte(s) est de suite reconnue, faire :

     cat /proc/asound/cards

Ce qui va donner la liste des cartes sons reconnues par alsa.

### Ré-échantillonnage haute qualité

Par défaut, alsa ré-échantillonne automatiquement tous les sons à 48000 Hz, cela via dmix qui utilise un algorithme de basse qualité qui produit des distorsions audibles notamment sur tous les fichiers musicaux issus de CDs (44100 Hz ; les DVDs étant en 48000 Hz).

Pour utiliser l'algorithme haute qualité Secret Rabbit Code (= libsamplerate), il faut tout d'abord installer les paquets alsa-plugins et libsamplerate.

Ensuite créer le fichier `~/.asoundrc` et y insérer :

    ~/.asoundrc

     defaults.pcm.rate_converter "samplerate_best"

- Les autres algorithmes disponibles sont `samplerate_medium`, `samplerate`, `samplerate_linear` et `samplerate_order`.
- Samplerate_best offre la meilleure qualité sonore après ré-échantillonnage mais utilise beaucoup de ressource pour cela, ce qui est un moindre mal pour les audiophiles et les nouvelles générations de processeurs.
- Samplerate_medium, nettement moins gourmand, est quant à lui un bon compromis entre qualité et consommation de ressource processeur (idéal pour les netbooks).

Attention: samplerate_best pourrait être à l'origine de crash aléatoires du plugin flash

Source : Secret Rabbit Code

### Passer la fréquence d'échantillonnage par défaut en 44100 Hz

La fréquence d'échantillonnage par défaut d'Alsa est de 48000 Hz, hors cela n'est absolument pas optimal pour un système audiophile ayant pour but de diffuser du son à 44100 Hz (les CDs et une grande majorité du son sur internet ; les DVDs étant en 48000 Hz). En effet, le ré-échantillonnage parfait n'existe pas et même le meilleur algorithme introduira son lot de distorsions et d'artefacts plus ou moins audibles, en plus de consommer des ressources processeurs !

La solution dans ce cas est évidente, passer l'échantillonnage par défaut d'Alsa en 44100 Hz pour éviter le ré-échantillonnage :

Éventuellement créer le fichier `~/.asoundrc` et y insérer :

    ~/.asoundrc

    # réglage de la carte son par défaut, selon la commande « aplay -l », card = carte et device = périphérique
    defaults.pcm.card 0
    defaults.pcm.device 0
    defaults.ctl.card 0

    # fréquence d'échantillonnage
    defaults.pcm.dmix.!rate 44100

    # algorithme de re-échantillonnage
    defaults.pcm.!rate_converter "samplerate_medium"

Source : alsa-project.org

## Mixer plusieurs sources sonores

Pour pouvoir jouer plusieurs sons de plusieurs applications en même temps sur la même carte son ne supportant pas le mixage matériel.

Il y a un plugin pour ALSA appelé dmix (direct mixing) qui permet un mixage logiciel sans installer un serveur de son comme Pulseaudio ou Jack.

Dmix est maintenant utilisé par défaut. Notez que son utilisation peut réduire légèrement la qualité.

Pour activer le mixage multi-utilisateurs, notamment pour utiliser Music Player Daemon (MPD), insérez ceci dans `/etc/asound.conf` : partie dédié

Dmix ne permet pas un mixage pour cartes son multiple. Pour remédier à ce problème il faut définir chaque carte indépendamment, comme ceci dans `/etc/asound.conf`(multi-utilisateurs) ou `~/.asoundrc` :

    ~/.asoundrc

    # réglage des cartes son, selon la commande « aplay -l », card = carte et device = périphérique
    pcm.carteInterne {
        type hw
        card 0
        device 0
    }

    ctl.carteInterne {
        type hw
        card 0
        device 0
    }

    pcm.carteUsb {
        type hw
        card 2
        device 0
    }

    ctl.carteUsb {
        type hw
        card 2
        device 0
    }

    # Creation d'un Dmix pour chacune
    pcm.interneMix {
        type dmix
        ipc_key 1024
        ipc_key_add_uid false
        ipc_perm 0666
        slave {
            pcm "carteInterne"
            channels 2
            periods 128
            period_time 0
            period_size 2048
            buffer_size 4096
        }
        bindings {
            0 0
            1 1
        }
    }

    pcm.usbMix {
        type dmix
        ipc_key 2048
        ipc_key_add_uid false
        ipc_perm 0666
        slave {
            pcm "carteUsb"
            channels 2
            periods 128
            period_time 0
            period_size 2048
            buffer_size 4096
        }
        bindings {
            0 0
            1 1
        }
    }

    # Sortie multi cartes
    pcm.both {
        type route;
        slave.pcm {
            type multi;
            slaves.a.pcm "interneMix";
            slaves.b.pcm "usbMix";
            slaves.a.channels 2;
            slaves.b.channels 2;

            bindings.0.slave a;
            bindings.0.channel 0;
            bindings.1.slave a;
            bindings.1.channel 1;

            bindings.2.slave b;
            bindings.2.channel 0;
            bindings.3.slave b;
            bindings.3.channel 1;
        }
        ttable.0.0 1;
        ttable.1.1 1;

        ttable.0.2 1;
        ttable.1.3 1;
    }

    pcm.!default {
            type plug
            slave {
                    pcm both
            }
    }

    ctl.!default {
            type hw
            card 2
    }

Pour plus d'informations, rendez-vous sur la page dédiée.

## Problèmes

### Carte graphique ATI et puce audio Intel

Si le son disparaît totalement ou de manière aléatoire en fonction du redémarrage du PC. Le souci vient peut-être d'un conflit entre le module snd_hda_codec_atihdmi et snd_hda_intel. Il vous faudra éditer le fichier modprobe.conf en root :

    nano /etc/modprobe.d/modprobe.conf

Et le modifier pour rendre prioritaire la carte/puce son Intel.

    #
    # /etc/modprobe.d/modprobe.conf (for v2.6 kernels)
    #
    #
    options snd_hda_intel index=0
    options snd_hda_codec_atihdmi index=1

### Microphone non-fonctionnel

Le paquet alsa-firmware n'est pas installé par défaut.

Son installation peut donc résoudre le problème.

    pacman -S alsa-firmware

Category:

- Sound (Français)

Hidden categories:

- Pages or sections flagged with Template:Translateme
- Pages with broken section links