Differences between revisions 21 and 22
Revision 21 as of 2016-07-03 18:19:11
Size: 10634
Comment: sync with english version
Revision 22 as of 2017-10-01 09:11:51
Size: 10364
Editor: vauss
Comment: sync with English version
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:
  {{{#!wiki debian
Cette page n'est plus à jour. 30-09-2017
}}}
Line 29: Line 32:
Configurer ALSA en exécutant la commande '{{{alsactl init}}}' en tant que superutilisateur. Ignorez le message d'erreur comme 'Unknown hardware', 'matériel inconnu', (cette erreur devrait être corrigée dans la version .20 d'alsa-utils), puis redémarrez et essayez de tester votre son. Pour plus de détails, veuillez lire [[ http://forums.debian.net/viewtopic.php?f=6&t=39116|cette page]]. Configurez ALSA en exécutant la commande '{{{alsactl init}}}' en tant que superutilisateur. Puis, redémarrez et essayez de tester votre son. Pour plus de détails, veuillez lire [[ http://forums.debian.net/viewtopic.php?f=6&t=39116|cette page]].
Line 44: Line 47:
Tester le pilote, en utilisant aplay, MPlayer ou xmms par exemple. Tester le pilote, en utilisant aplay, ou xmms par exemple.
Line 138: Line 141:
Nouveautés :
Line 142: Line 144:
 * http://www.student.nada.kth.se/~d98-jas/debian/debian-install-alsa.txt - Il s'agit d'un article ancien (2003) sur la façon de créer un package ALSA sous Debian.

Translation(s): English - Français - Italiano - Русский


Matériel > Son


  • Cette page n'est plus à jour. 30-09-2017

ALSA 01-11-2015

ALSA, l'Advanced Linux Sound Architecture, est à la fois un projet et un ensemble de logiciels. Le projet a débuté parce que l'architecture OSS ne donnait pas techniquement entièrement satisfaction. De plus certains pilotes manquaient à la version libre d'OSS ; ils n'étaient disponibles que sur la version commerciale. Pendant plusieurs années, ALSA était un projet qui se développait distinctement de Linux. Les pilotes ont été ajoutés au noyau Linux à partir la série 2.5 et ALSA est devenu le système standard des pilotes audio depuis Linux 2.6.

ALSA n'est pas seulement un ensemble de pilotes pour le son, c'est aussi une bibliothèque API qui permet à des applications de gérer les dernières fonctionnalités des cartes son (par exemple, canaux audio multiples, Dolby AC3, etc.). ALSA fournit un soutien efficace pour de nombreuses applications, il est entièrement modulable et gère le SMP et thread-safe (multitraitement symétrique et traitement de plusieurs processus légers : Wikipedia).

Les applications écrites pour OSS peuvent fonctionner avec ALSA grâce à une émulation dans l'espace utilisateur (en utilisant le chargeur de programme aoss) ou une émulation dans l'espace noyau (les pilotes snd-*-oss). Toutefois, vous ne pouvez pas utiliser les pilotes ALSA et OSS en même temps.

NB : Les noms des pilotes ALSA commencent toujours par snd-.

Paquets

Chargement des modules

Les dernières versions des paquets alsa-base sont conçues pour fonctionner tout simplement. Le paquet alsa-base ne charge pas de modules. C'est plutôt udev qui détecte les branchements à chaud et les matériels de son et charge alors les bons modules, puis alsa-base paramètre les bons niveaux de mixage.

Configurez ALSA en exécutant la commande 'alsactl init' en tant que superutilisateur. Puis, redémarrez et essayez de tester votre son. Pour plus de détails, veuillez lire cette page.

Vous pouvez également essayer de détecter et de configurer votre carte son manuellement.

  • Si vous avez une carte son PCI, faire 'lspci -v' pour lister tous les périphériques PCI disponibles. Cette liste contiendra certainement un matériel multimédia audio, correspondant à votre carte son.

  • Pour une carte USB, utilisez lsusb.

Vous pouvez aussi jeter un œil à ALSA's soundcard-Matrix pour savoir quel pilote doit être utilisé avec le chipset que vous avez trouvé.

ALSA et OSS

Si votre système est déjà configuré pour charger les pilotes OSS de votre carte son, alors vérifiez dans les fichiers de configuration du chargeur de modules quels sont les modules chargés. Dans le fichier /var/log/dmesg qui est un compte-rendu de l'initialisation, vous trouverez en particulier les chargements des pilotes de périphérique. Vous trouverez les entrées pour les modules OSS qui vous donneront des indices sur le chipset utilisé par vos cartes son.  N'oubliez pas de désactiver ces entrées avant de reconfigurer votre système pour charger les modules ALSA.

Si vous n'avez pas déchargé tous les modules OSS, les modules ALSA ne seront pas en mesure de s'initialiser (ou de fonctionner correctement) car le pilote OSS sera utilisé à la place du pilote ALSA. Si vous voyez un message "carte son non détectée" et que vous êtes sûr d'avoir le bon pilote ALSA, la présence d'un module OSS pourrait en être la raison.

Test

Tester le pilote, en utilisant aplay, ou xmms par exemple.

Pour tester le MIDI, vous pouvez utiliser aplaymidi.

Partager plusieurs processus sur une même carte

On peut avoir besoin de partager, sur une même carte, plusieurs processus fonctionnant simultanément. Pour cela, il faut pouvoir mélanger les sorties sons de ces processus en un seul flux.

Si votre carte son bon marché ne supporte pas le mixage, essayez le plugin dmix. Il se paramètre automatiquement depuis la version 1.0.10-2 de libasound2 ; pour les versions antérieures, lisez /usr/share/doc/libasound2/examples/asound.conf_dmix ce fichier permet de voir comment activer DMIX dans le fichier /etc/asound.conf (pour tous les utilisateurs) ou ~.asoundrc (pour un simple utilisateur).

Un exemple de fichier .asoundrc pour un ordinateur portable moderne qui possède un HDMI et une simple carte son serait dans le désordre (utilisez au préalable la commande aplay -l pour obtenir les noms corrects pour vos cartes) :

defaults.pcm.!card Generic_1
defaults.ctl.!card Generic_1
defaults.pcm.!device 0
defaults.ctl.!device 0

Méthode alternative

Si votre carte son possède un chipset Realtek, et que vous n'obtenez aucun son, essayez la méthode suivante :

  1. Téléchargez le pilote Realtek HD Audio Codec. Allez dans la rubrique "Quick Links" de la page http://www.realtek.com.tw, acceptez les conditions d'utilisation (cliquez sur : I accept to the above), et ensuite téléchargez le pilote approprié pour Linux.

  2. Ouvrir le fichier téléchargé, puis l'extraire (par exemple, dans votre répertoire personnel), ensuite, ouvrir un terminal superutilisateur et compilez de façon classique.

./configure
make
make install

Remarque :

  1. Assurez-vous que vous avez déjà tout ce qu'il faut pour compiler (gcc, make, build-essential, linux-headers de votre noyau, etc.) avant d'exécuter le script d'installation ci-dessus.
  2. Si vous rencontrez des erreurs, lisez le fichier INSTALL et editez en conséquence les fichiers de configuration appropriés.

Dépannage

Pour voir quels index ont été affectés aux différentes cartes, tapez :

  cat /proc/asound/cards

La première carte que ALSA trouve reçoit, habituellement, l'index 0 et c'est donc en général la carte son par 'défaut'. Malheureusement, il arrive que la première carte son trouvée n'est pas un périphérique son capable de jouer les sons système. (Par ailleurs, une erreur du type "Unknown PCM default" pendant la lecture d'un son se produit si l'utilisateur n'est pas membre du groupe 'audio'. Tapez alors la commande suivante dans un terminal administrateur "adduser <username> audio", pour ajouter l'utilisateur au groupe audio, puis tapez la commande "newgrp" en tant qu'utilisateur).

Il y a deux façons de corriger ce problème.

1. Forcer le chargement des cartes dans un ordre différent. J'ai choisi cette voie et j'ai ajouté ce qui suit à mon fichier /etc/modprobe.d/sound :

  options snd-trident index = 0
  options snd-usb-audio index = 1

Cela oblige ma carte Trident à être le périphérique son par défaut (carte 0) et mon micro USB à être à l'index = 1.

2. Changer la carte par défaut en modifiant le fichier /etc/asound.conf ou ~/.asoundrc. Plus d'infos ici : Multiple Cards

Est-ce que le redémarrage contourne le BIOS et le menu de GRUB ? Cela peut venir de kexec-tools. Il permet de contourner le BIOS pendant le redémarrage et empêche l'initialisation correcte de certains périphériques. En tant que superutilisateur, modifiez le fichier /etc/default/kexec et mettez à jour LOAD_KEXEC avec la valeur :

LOAD_KEXEC=false 

Cela permettra au BIOS d'initialiser correctement le son et d'autres périphériques à chaque démarrage.

Liste de vérification

  • Ajoutez-vous au groupe 'audio' (puis reconnectez-vous).
  • Lancez alsamixer, activez les canaux de son et montez le volume (essayer aussi de désactiver certains canaux comme s/pdif et changez l'option pour le branchement des prises jack).
  • Arts ou esound sont arrêtés ?
  • Les modules OSS sont bien déchargés ?
  • Les haut-parleurs sont branchés et allumés ?
  • Tapez modprobe snd-pcm-oss
  • Est-ce que le superutilisateur peut utiliser "aplay /usr/share/sounds/alsa/Noise.wav" ? Tester le son avec aplay et un fichier wav pour que les problèmes de codec n'interfèrent pas.
  • Si le son ne fonctionne plus après un redémarrage du système, désactivez kexec-tools.

Version

Rechercher dans /proc/asound/version.

Outils

ALSA apporte également des outils permettant d'effectuer plusieurs tâches :

  • Alsactl : AlsaControl est un programme qui permet de contrôler les cartes sons et de manipuler les configurations. Alsactl permet de sauvegarder ou de charger des configurations pour différentes cartes sons.

  • Alsamixer : Ce logiciel permet de régler le volume des différents canaux, utilise Ncurses pour l'affichage.
  • Aplay : Ce logiciel permet de jouer un fichier .wav.
  • Arecord : Ce logiciel permet d'enregistrer un fichier .wav à partir d'une sortie sonore.
  • Aconnect : Ce logiciel permet de connecter deux ports existants sur un séquenceur ALSA.

Plus d'informations

Pour plus d'informations, lisez les fichiers README.Debian dans les paquets alsa-base et alsa-source ou consultez http://www.alsa-project.org et http://alsa.opensrc.org.

Voir aussi: AlsaMidi.

Lien ancien


CategorySound CategoryFrHardware