Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
installation:son [Le 30/12/2007, 22:09]
gascon phrase inachevé
— (Version actuelle)
Ligne 1: Ligne 1:
-{{tag>​installation audio carte_son brouillon}} 
  
----- 
- 
-<note critique>​Cette page est en attente de confirmation de suppression,​ veuillez vous référez à la [[../​son|nouvelle page du son]]</​note>​ 
- 
-====== Installation du son ====== 
- 
- 
- 
- 
-===== La gestion du son par le noyau Linux ===== 
- 
-C'est le noyau Linux qui fournit le son à la carte son en utilisant le pilote approprié (appelé module sous linux). Pour cela 2 systèmes existent, OSS et ALSA. On utilise soit l'un soit l'​autre,​ on ne peut pas avoir les 2 en même temps. Mais nous verrons que des passerelles existent pour les applications qui n'​utilisent qu'un des deux systèmes. !!! 
- 
- 
- 
-==== OSS ==== 
- 
-Oss (Open Sound System) est le systeme le plus ancien fournissant des pilotes pour les cartes son sous GNU/Linux. 
-Beaucoup de pilotes ont été développés pour OSS, mais c'est de moins en moins le cas, car il est remplacé par ALSA. 
-Certaines applications utilisent donc l'​interface OSS pour envoyer le son au pilote. 
- 
-==== ALSA ==== 
- 
-OSS n'​étant techniquement pas parfait, un remplaçant a été trouvé. Ce remplaçant est ALSA, pour Advanced Linux Sound Architecture. 
-Les programmes utilisant du son doivent donc être réécrits pour pouvoir utiliser ALSA à la place de OSS. (c'est pourquoi xmms a un plugin OSS et un plugin ALSA). 
- 
-Cependant, afin que les anciennes applications continuent à fonctionner,​ il existe dans ALSA une couche de compatibilité qui permet aux applications OSS de croire qu'​elles utilisent OSS au lieu de ALSA. 
- 
- 
-==== Les serveurs de sons : ESD (esound), Arts, jackd, etc. ==== 
- 
-__En théorie__, avec OSS ou ALSA, un seul son peut être joué à la fois (__Note :__ ceci est vrai pour OSS, mais ne l'est plus pour ALSA avec "​dmix"​). Il n'y a en effet qu'un seul haut parleur. Cependant, certaines cartes permettent nativement le mixage de plusieurs sons ensemble, comme la Sound Blaster Live. **La plupart des autres cartes ne peuvent pas jouer 2 sons en simultané**,​ d'ou l'​utilisation d'un serveur son. 
- 
-  * **ESD** : "​Esound",​ le serveur de son par défaut de GNOME (paquet **esound**). On peut forcer une application a l'​utiliser en la faisant précéder de "​esddsp",​ par exemple : "​esddsp xmms" 
-  * **Arts** : le serveur de son par défaut de KDE, (paquet **arts**). On peut forcer une application a l'​utiliser en la faisant précéder de "​artsdsp",​ par exemple : "​artsdsp xmms" 
- 
-  * **[[:​Jackd]]** : celui-ci est destiné aux musiciens (pour la MAO). Contrairement au autres serveur de son jackd est taillé pour l'​audio temps réel et presque toutes les applications plus ou moins orientées MAO l'​utilise. 
- 
-  * **[[http://​0pointer.de/​lennart/​projects/​polypaudio|polypaudio]]** (compatible et remplacant ESD).  
- 
-Tous ces programmes ont un même but : pouvoir jouer plusieurs sons en même temps, et les mêmes défauts, une latence plus ou moins importante et l'​obligation pour les applications d'​utiliser un plugin ou une astuce pour s'y connecter. 
- 
- 
- 
- 
- 
- 
- 
-===== Mais moi, j'ai pas de son... ===== 
- 
-**Vérifiez vos hauts parleurs, branchements,​ etc..** (oui, dans environ 20% des posts du forum sur le son, les enceintes n'​étaient pas branchées) 
- 
-**Vérifiez que rien n'est branché sur la sortie audio !** (comme des écouteurs) 
- 
-**Vérifiez le volume** !  Dans alsamixer, MASTER, PCM doivent être à 80 % et **sans MM** (mute = sourdine en Français) au dessus ou en dessous. Attention, certaines cartes (très rares) ont le mute inversé... Il faut donc avoir MM sur celles ci (pour changer la valeur MM en 00 utiliser la touche m du clavier). 
- 
-**Désactivez les serveurs de son**, comme ESD ou jackd, qui peuvent être la source de vos soucis 
- 
-**Vérifiez que l'​utilisateur qui veut lire le son est bien membre du groupe "​audio"​** (pour cela tappez "​groups"​ dans une console et vous aurez la liste des groupes auquel appartient l'​utilisateur) dans le cas contraire :  
- 
-   sudo adduser <​utilisateur>​ audio 
- 
-**Sous Feisty :** Si seuls les sons de gnome (ESD) ne fonctionnent pas (démarrage de session, fermeture de session...) alors que les musiques et vidéos fonctionnent avec le son (Totem, Rhythmbox...),​ voici la marche à suivre : 
- 
-Ouvrez le votre dossier personnel ; dans //​Affichage//,​ cochez //Affichez les fichiers cachés// et supprimez le fichier **.esd_auth** ​ 
- 
-ou bien lancez dans le terminal : 
- 
-   sudo rm ~/.esd_auth 
- 
- 
-**Si votre carte son est intégrée à votre carte mère, vérifiez qu'​elle est bien activée dans le BIOS !** 
- 
-De plus, il se peut que votre carte son soit reliée à votre modem interne, dans le cas d'un ordinateur portable par exemple. Allez dans le BIOS et **vérifiez que l'​option Internal modem est bien sur enabled !** 
- 
-Sur **certaines autres cartes son intégrées** (sur les cartes ASRock par exemple), il peut y avoir des conflits avec une source d'​acquisition : tout semble fonctionner,​ mais aucun son ne sort. Dans ce cas, vous pouvez essayer de muter (Fichier/​Changer de périphérique) choisir Alsa Mixer, ensuite aller dans Édition/​Préférence cochez la case « IEC958 Capture monitor », si vous avez l'​entrée correspondante dans alsamixer, "​headphone jack sense" ou "​IEC958 Capture Monitor"​ ou "​External Amplifier Power Down". 
-Si l'on décoche "​IEC958 Capture Monitor"​ dans ALSAMIXER (dans l'​onglet paramètres) : avec une carte ASrock K7VT4proA le son fonctionne convenablement. ​ 
- 
-Ce bug semble résolu dans Breezy. FIXME 
- 
-Pour **sauvegarder vos réglages** : 
- 
-   sudo alsactl store 
- 
-Passez voir les [[materiel:​cartes_son|cartes son qui posent problème]] il y aura peut-être la vôtre. 
- 
-Si les musiques semblent se jouer correctement mais que vous n'​entendez rien, revérifiez les deux points précédents. **Si Linux ne détecte pas de carte son, il ne joue JAMAIS le son ! et affiche TOUJOURS une erreur !** 
- 
-Vérifiez que votre ordinateur n'est pas **équipé de deux cartes sons** et branchez vos enceintes sur l'​autre (utiliser une carte son particulière est un autre problème résolu plus bas dans cette page). 
- 
-Si vous avez un message d'​erreur de type : "Not found or busy", vérifiez avec "​lsof"​ (voir plus haut). 
- 
-**Une très bonne source de renseignements,​ en anglais : le [[https://​bugzilla.ubuntu.com/​|bugzilla]] d'​Ubuntu**,​ qui récapitule tous les bugs connus à corriger, remplis par les utilisateurs. Essayez d'​entrer le modèle de votre carte son, ou le nom du module associé, vous pouvez trouver des personnes avec le même problème, et comment le résoudre. 
- 
-En désespoir de cause, postez sur [[http://​forum.ubuntu-fr.org/​viewforum.php?​id=6|le forum ubuntu-fr]] avec : 
- 
-  * le **type d'​erreur** précis 
-  * le **modèle précis** de la carte son 
-  * le résultat de "​lsmod|grep snd" 
-  * le résultat de la lecture d'un .wav avec aplay et play, par exemple "aplay /​usr/​share/​sounds/​gnomemeeting/​gnomemeeting.wav"​ 
- 
- 
- 
- 
-===== Cartes son ===== 
- 
-Cela arrive, mais c'est rare. Vérifiez que votre carte son n'est vraiment pas détectée, voir les commandes lsmod dans la rubrique du dessous (info lsmod [[:​materiel/​modules_linux|ici]]). Si ces commandes ne listent rien, votre carte son n'est pas reconnue. Pas de panique, on va essayer de la faire marcher quand même... 
- 
- 
-==== Installer les modules son ==== 
- 
-Normalement il suffit de lancer "sudo dpkg-reconfigure alsa-base"​ et de se laisser guider. Si votre carte n'est pas dans la liste, ça se complique, il va falloir googler... 
- 
-Sinon, il faut désinstaller et réinstaller ALSA, voir plus bas la rubrique "​Changer de carte son". 
- 
- 
- 
- 
-==== Plusieurs cartes son ==== 
- 
-Vous avez la chance d'​avoir plusieurs cartes son (idéal pour mixer comme un dj avec mixxx par exemple), mais problème : la carte principale qui est reconnue et utilisée par Ubuntu n'est pas celle que vous voulez utiliser. 
- 
-Le problème se pose aussi avec les cartes TV, qui souvent s'​identifient comme carte son principale, la vrai carte son passant en 2ème position, donc plus aucun son n'en sort. 
- 
-Le problème existe aussi pour les ordinateur récents qui proposent une sortie spdif (S/PDIF est une sortie coaxiale numérique qui peut se brancher directement sur un ampli 5.1:-) 
-Pour les sorties numériques avec ALSA voir aussi le lien [[http://​alsa.opensrc.org/​DigitalOut|Configurer une sortie numérique avec ALSA]] 
- 
-==Pour Breezy et les versions suivantes :== 
- 
-== 1ère solution == 
-Aller dans Système > Préférences > Son et de choisir la bonne carte. ​ 
- 
-== 2ème solution == 
-Cette solution fonctionne dans de nombreux cas. 
- 
-Dans un terminal taper :  
- 
-<code bash> 
-asoundconf list 
-</​code>​ 
- 
-Cette commande sert à lister les cartes son reconnues par la bibliothèque audio ALSA (Advanced Linux Sound Architecture) 
- 
-Toujours dans le terminal taper ensuite la commande **asoundconf set-default-card** suivie du nom de la carte son qu'on veut utiliser tel qu'il a précédemment été renvoyé par la commande asoundconf list. 
- 
-Exemple avec une carte son Soundblaster Audigy 2 qu'on souhaite définir par défaut : 
- 
-<code bash> 
-asoundconf set-default-card Audigy2 
-</​code>​ 
- 
-Au redémarrage,​ c'est normalement la bonne carte son qui sera systématiquement utilisée par défaut et cela devrait persister lors des futurs redémarrages. 
- 
- 
-==Pour Hoary, voici quelques pistes :== 
- 
-== 1ère solution == 
-Faites un "aplay -l", puis regarder quel numéro a la carte qui vous interesse. Puis éditez (ou créez) votre /​etc/​asound.conf pour y placer : 
-<code bash> 
-# On définit la sortie son 
-pcm.!default { 
-  type hw 
-  card 1 # numéro de la carte que vous voulez utiliser 
-} 
-# On définit le mixeur associé 
-ctl.!default {  ​ 
-  type hw 
-  card 1 # numéro de la carte que vous vouler utiliser 
-} 
-</​code>​ 
- 
-Et voila, on utilise par défaut la 2eme carte ! 
- 
-On peut aussi comme alternative mettre le device égal à : "​hw:​0,​1"​ directement dans l'​application c'est ce que je fais pour les applications à base de XINE (Kaffeine, Amarok, VLC) 
- 
-== 2ème solution == 
-Enlevez de l'​unité centrale ou désactivez dans le bios la carte qui ne sert pas :)  
- 
-Cette méthode est très efficace avec les cartes son Sound Blaster Live!, notamment sous Ubuntu 7.04 qui prend par défaut automatiquement la nouvelle carte son. 
-En général il suffit de désactiver le contrôleur AC97 dans le bios. 
- 
-== 3ème solution == 
-Modifier l'​ordre des cartes dans /​etc/​modules. Pour cela il faut ajouter un fichier /​etc/​modprobe.d/​sound (par exemple) qui indique l'​ordre des cartes son puis lancer la mise à jour des modules dans le système (redémarrage nécessaire après). Chez moi ça donne : 
- 
-Fichier /​etc/​modprobe.d/​sound 
-<​code>#​ ordre des cartes son 
- 
-alias snd-card-0 snd-intel8x0 
-alias snd-card-1 snd-ice1712 
-alias snd-card-2 snd-usb-audio 
- 
-options snd-intel8x0 index=0 
-options snd-ice1712 index=1 
-options snd-usb-audio index=2 
-</​code>​ 
- 
-Mise à jour des modules 
-<​code>​ 
-sudo update-modules 
-</​code>​ 
- 
-Et le tour est joué ! 
- 
-== 4ème solution ==  ​ 
-Éditez votre /​etc/​modprobe.d/​alsa-base et changez l'​ordre des modules son (ils commencent par snd) afin de mettre la carte favorite en premier, il faut changer par exemple : 
- 
-<​code>​ 
-install sound-slot-**0** modprobe snd-card-0 
-install sound-slot-**1** modprobe snd-card-1 
-</​code>​ 
-en  
-<​code>​ 
-install sound-slot-**1** modprobe snd-card-0\\ 
-install sound-slot-**0** modprobe snd-card-1 
-</​code>​ 
-Suivi d'un "sudo update-modules"​ 
- 
-Exemple avec une configuration son un peu tordue : un chipset intégré à la carte mère, une carte son PCI EWX2496 et un port MIDI USB. Jusqu'​à ce que je change le MIDI de port USB, dans l'ALSA c'​était dans l'​ordre chipset, EWX puis MIDI (avec la commande //cat /​proc/​asound/​cards//​),​ donc j'​avais le son Gnome/KDE sur la moins bonne carte son: normal. ​ 
-Après ce changement, l'​ordre s'est retrouvé : MIDI, chipset, EWX, ce qui m'a valu une insulte d'​artsd - ah oui j'​utilise **aussi** KDE - j'ai donc décidé de tester la magouille et j'ai modifié /​etc/​modprobe.d/​alsa-base ainsi : 
-<​code>​ 
-install sound-service-0-0 modprobe snd-card-1 snd-mixer-oss 
-install sound-service-0-1 modprobe snd-card-1 snd-seq-oss 
-install sound-service-0-3 modprobe snd-card-1 snd-pcm-oss 
-install sound-service-0-8 modprobe snd-card-1 snd-seq-oss 
-install sound-service-0-12 modprobe snd-card-1 snd-pcm-oss 
-install sound-slot-1 modprobe snd-card-0 
-install sound-slot-2 modprobe snd-card-1 
-install sound-slot-0 modprobe snd-card-2 
-</​code>​ 
-Et maintenant je les ai dans l'​ordre chipset, MIDI, EWX, c'est donc parfait à nouveau, merci ! 
- 
-== 5ème solution == 
-Désactiver le lancement des modules de la carte son non-désirée. 
-Pour cela, repérer les modules lancés correspondant à vos cartes son avec la commande lsmod (ils commencent par "​snd_"​). 
-<​code>​ 
-moi@ubuntu:​~$ lsmod 
-Module ​                 Size  Used by 
-zlib_deflate ​          ​21016 ​ 1 ppp_deflate 
-pppoatm ​                ​6016 ​ 1 
-bluetooth ​             48996  4 rfcomm,​l2cap 
-cpufreq_userspace ​      ​4372 ​ 0 
-cpufreq_stats ​          ​5892 ​ 0 
-cpufreq_ondemand ​       6944  0 
-gameport ​              ​15368 ​ 1 snd_cmipci 
-snd_opl3_lib ​          ​11008 ​ 1 snd_cmipci 
-snd_hwdep ​              ​9860 ​ 1 snd_opl3_lib 
-snd_mpu401_uart ​        ​8704 ​ 1 snd_cmipci 
-snd_via82xx_modem ​      ​1587 ​ 1 
-snd_via82xx ​            ​2257 ​ 1 
-snd_ac97_codec ​         1765  1 
-snd_ac97_bus ​           4465  1 
-</​code>​ 
-Pour plus de facilité, vous pouvez lancer la commande 
-<​code>​lsmod | grep ^snd_</​code>​ 
-Ensuite, éditer le fichier /​etc/​modprobe.d/​blacklist en mode administrateur,​ et rajouter les modules à désactiver. 
-<​code>​ 
-#modules son a desactiver 
-blacklist snd_via82xx_modem 
-blacklist snd_via82xx 
-blacklist snd_ac97_codec 
-blacklist snd_ac97_bus 
-</​code>​ 
- 
-Au redémarrage,​ seule la carte son désirée est utilisée. La seule difficulté qui peut être rencontrée est de désactiver les bons modules, mais rien n'​empêche de faire plusieurs essais. ​ 
- 
- 
- 
- 
- 
-==== Changement materiel de carte son ==== 
- 
-Et voila, finalement votre Soundmaxipowerpouet-16 à 10€ était pas terrible, vous revenez du magasin d'​informatique le plus proche de chez vous avec une nouvelle carte son bien plus top. Comment l'​installer ? 
- 
-Tout d'​abord,​ il faut enlever l'​ancienne et mettre la nouvelle, en faisant bien attention à l'​électricité statique. Ensuite vous demarrez votre Ubuntu, et là, catastrophe...pas de son. 
- 
-Cette section peut aussi servir si votre carte son n'est plus reconnue après un passage dans une version d'​Ubuntu supérieure. Au passage de Breezy-->​Feisty je n'​avais plus que le son en OSS, la première méthode ci dessous à résolu le problème. 
- 
-==Avec Feisty Fawn (et peut être les versions inférieures) :== 
- 
-<​code>​sudo asoundconf list</​code>​ 
-Va vous présenter la liste des cartes son reconnues. 
- 
-<​code>​sudo asoundconf set-default-card XXXX</​code>​ 
-Pour définir la carte utilisée par ALSA, XXXX correspond à la bonne carte donné par la commande "​list"​. 
- 
-==Autre (ancienne) méthode== 
- 
-* Attention!! le package gdm et ubuntu-base (et Ubuntu-desktop?​) peut se désinstaller avec ALSA 
- 
-* Ne pas oublier de les réinstaller après installation d'ALSA 
- 
-En fait, il va falloir désinstaller ALSA : <​code>​sudo apt-get --purge remove alsa-base</​code>​ 
-Puis, le réinstaller :  
-<​code>​sudo apt-get install alsa-base</​code>​ 
- 
-A faire si GDM est désinstallé 
-<​code>​sudo apt-get install ubuntu-minimal gdm</​code>​ 
- 
-//Si quelqu'​un sait si c'est plus simple sous breezy...// 
- 
- 
-Testé sous Dapper et Edgy: 
-il suffit de fraire juste la ligne suivante: 
-<​code>​ sudo apt-get install --reinstall --purge alsa-base </​code>​ 
-ne modifie pas gdm ni ubuntu-desktop 
- 
-===== Prealable, s'​assurer la reconnaissance/​support du codec son ===== 
- 
-Pour savoir si son codec ou carte son est reconnu, le plus évident est de lançer alsamixer d'une console (l'​info est aussi présente dans /​proc/​asound/​card../​codec#​..). Le nom du chip son reconnu doit être celui présent dans l'​ordinateur et identifié par son nom en clair. Si on trouve a ce niveau un "​generic"​ suivi d'IDs PCI (2 hexadécimaux:​ ID fabricant+ID device), il est possible que toutes les manipulations indiquée échouent, sauf peut-être compiler une version plus recente d'ALSA que celle des dépots ubuntu. 
- 
-A savoir: Si l'ID fabricant est 14F1 (Conexant) et que le codec generic ne sort aucun son, la solution risque d'​être compromise. Ce fabricant est avare d'​informations techniques (cf aussi les problèmes de winmodems). Mieux vaut alors renonçer a utiliser ce matériel sous Linux et en changer (si desktop avec carte son non intégrée)... Pour le choix d'un portable (carte son toujours intégrée),​ l'​attitude a conseiller est d'​aller en magasin a une heure creuse négocier de pouvoir tester le modèle envisagé a l'aide d'un live-CD. 
- 
- 
-===== En pratique, optimiser le son ===== 
- 
-Que se passe-t-il quand vous lancez votre Ubuntu ? Linux démarre, alsa initialise votre carte son, puis gnome démarre et le serveur son ESD se lance. 
- 
-ESD va donc monopoliser votre sortie son, pour émettre entre autre les "​bips"​ de Gnome. Si vous souhaitez qu'une application utilise aussi le son, il faut qu'​elle puisse se connecter au serveur son ESD, en général via un plugin. 
-Par exemple après l'​installation d'​xmms,​ il faudra régler celui ci sur la sortie esound. 
- 
-Ce qui nous donne : 
-FIXME 
- 
-{{esd_oss.png}} 
- 
-Il faut bien remarquer que, par défaut, une seule application à la fois peut accéder à la carte son. Et par défaut ESD, qui est une application comme une autre, est lancé et accède à la carte son. 
- 
-**Dans la majeure partie des cas, vous n'avez pas de son tout simplement car ESD "​bouche"​ l'​accès à la carte son**. Vous n'​entendrez que les sons Gnome et les applications utilisant une sortie ESD.  
- 
-La première chose à faire est donc de tuer ESD (killall esd) puis de regarder ce qui accède à la carte son : 
-<code bash>​lsof /​dev/​dsp</​code>​La commande ci dessus vous indique les programmes qui utilisent OSS. 
-<code bash>​lsof /​dev/​snd/​*</​code>​La commande ci dessus vous indique les programmes utilisant ALSA. 
- 
- 
-==== Comment configurer correctement le son ? ==== 
- 
-Une bonne chose est de dire à ESD de se couper lorsqu'​on a pas besoin de lui. 
-<code bash>​gksudo gedit /​etc/​esound/​esd.conf</​code>​ 
- 
-et modifiez le fichier pour que ça ressemble à : 
-<code bash> 
-[esd] 
-auto_spawn=1 
-spawn_options=-terminate -nobeeps -as 2 -d default 
-spawn_wait_ms=100 
-# default options are used in spawned and non-spawned mode 
-default_options= 
-</​code>​ 
- 
-Relancez votre session, normalement vous ne devriez plus avoir de problème avec les jeux comme frozen-bubble. Il suffit de couper la musique deux secondes avant de lancer le jeu. 
- 
-Mais comme gnome fait un bip quand on clic sur une icone, ca marche pas toujours, il faut désactiver le son quand on clique sur une icone (système>​préférences>​sons) 
- 
-Vous pouvez aussi essayer esddsp, qui reroute les applications non ESD vers ESD, par exemple "​esddsp mpg123 mon.mp3"​. Bien entendu, ça ne marchera pas avec toutes les applications,​ certaines ne le supportent pas.  
- 
-esddsp se trouve dans le paquet esound-clients. 
- 
- 
- 
- 
-==== Ecouter plusieurs sons en même temps sans ESD : ALSA DMIX ==== 
- 
-Normalement Breezy active dmix avec les cartes qui sont compatibles avec ce mode. Dans la plupart des cas, ce qui suit est donc inutile sur une Ubuntu Breezy, mais peut servir pour ceux encore sous Hoary. DELETEME //Donc sous Dapper, surement totalement inutile. Et puis Breezy n'est plus maintenue.//​ 
- 
-Ajouté le 02/04/2007 : marche aussi avec arts. Choisir sortie arts dans Amarok, alsa dans VLC. 
- 
-Ne suivez ces instructions **que si vous avez du son ALSA qui fonctionne** correctement (par exemple xmms joue sans problème avec le plugin ALSA). 
- 
-Vous pouvez aussi regarder si vos modules son commencent par "​snd_"​ :  
-<code bash>​lsmod | grep snd</​code>​ 
- 
-Nous allons utiliser une fonctionnalité nouvelle d'​ALSA,​ le mixage directement dans le driver son. Ce système s'​appelle DMIX. 
- 
-**Ce n'est pas sûr que ceci marche avec toutes les cartes sons.** 
- 
-La première chose qu'on va faire, c'est dire à esd d'​utiliser ALSA au lieu de OSS. Pour cela, nous allons installer esd version ALSA, qui va remplacer esd version ESS : 
- 
-<code bash>​sudo apt-get install libesd-alsa0</​code>​ 
- 
-ensuite on va créer le fichier asound : 
- 
-<code bash>​gksudo gedit /​etc/​asound.conf</​code>​ 
- 
-dans lequel on met : 
-<code bash> 
-pcm.card0 { 
-type hw 
-card 0 
-} 
- 
-pcm.!default { 
-type plug 
-slave.pcm "​dmixer"​ 
- 
-} 
- 
- 
-pcm.dmixer { 
-type dmix 
-ipc_key 1025 
-slave { 
-pcm "​hw:​0,​0"​ 
-period_time 0 
-period_size 1024 
-buffer_size 4096 
-periods 128 
-rate 44100 
-} 
-bindings { 
-0 0 
-1 1 
-} 
-} 
-</​code>​ 
- 
-ensuite, on redémarre ALSA: 
- 
-<code bash>​sudo /​etc/​init.d/​alsa-utils restart</​code>​ 
- 
-Relancez votre session (pour ESD) et voilà, normalement vous devriez être capables d'​entendre les clicks clicks de l'​interface,​ écouter de la musique avec XMMS et jouer une vidéo avec totem, le tout en même temps. (il faut que les applications **utilisent ESD ou ALSA**, préférablement ALSA) 
- 
-Si vous avez 2 (ou plus) cartes son, vous pouvez grâce à votre configuration asound.conf choisir laquelle utiliser. Un petit "aplay -l" pour lister les cartes, puis dans l'​exemple du dessus, il suffit de changer //card 0// par le numéro de carte qui vous interesse. Il faut aussi changer //pcm "​hw:​0,​0"//,​ en sachant que le premier nombre correspond au numéro de la carte, et le second a la sortie de la carte (device), en général 0. 
- 
-Si vous obtenez un **son qui crachote avec esd**, changez dans esd.conf "-d default"​ à la 3eme ligne par "-d dmixer"​. 
- 
-Enfin, l'​idéal,​ **c'​est de se passer complètement d'​ESD** (c'est le titre de la rubrique, non ?) en utilisant ALSA aussi pour les sons systeme. Pour cela, il suffit de lancer "​gstreamer-properties"​ (système>​préférences>​sélecteur de systèmes multimedia) et de choisir alsa, et de désactiver le serveur son de gnome. 
- 
-Seul point noir : **les applications OSS doivent toujours accéder à la carte son que une par une**. Il faut donc éteindre tous les sons **avant** de lancer l'​application en question (par exemple des jeux comme Enemy Territory ou Quake), ou tenter avec "​aoss"​ (voir plus bas l'​exemple pour Flash) 
- 
-Voici le système de son avec ALSA + DMIX + ESD-ALSA : 
- 
-{{installation:​esd_alsadmix_corrige.png}} 
- 
-(Ce n'est évidement pas ESS mais OSS en bas) 
- 
- 
- 
- 
- 
- 
- 
-==== Dmix marche pas chez moi :( ==== 
- 
-=== J'ai une erreur a la lecture d'un son === 
- 
-Selon les cartes sons, le "​buffer"​ disponible n'est pas le même. Dans ce cas, vous pouvez avoir des erreurs du type "​buffer size select failed: Invalid argument"​. Essayez donc dans une console : 
- 
-alsaplayer -d ossmix 
- 
-Puis, cherchez la ligne "​BUFFER_SIZE:​ 6553" (6553, c'est un exemple) et utilisez cette valeur **arrondie pour quelle soit un multiple de 2**, dans votre asound.conf : buffer_size 6552, ou mieux, buffer_size 4096 (les ordinateurs aiment bien les puissances de 16) 
- 
-Vous pouvez aussi essayer de doubler le buffer, en indiquant "​buffer_size 8192". Bien entendu il ne faut pas que cette valeur dépasse le buffer de votre carte son, sinon ça ne marchera pas. 
- 
-Parfois, l'​émulation OSS d'alsa n'est pas lancé, et les rares applications n'​utilisant qu'OSS (Real et Skype pour les plus connues) ne marcherons pas. Vous pouvez essayer de charger le module d'​émulation OSS d'alsa : "sudo modprobe -v snd-pcm-oss",​ et si ça regle votre problème, il suffit d'​ajouter snd-pcm-oss dans le fichier /​etc/​modules. Mais **normalement ce n'est pas necessaire**,​ et ça ne sert a rien si ALSA ne fonctionne pas ! 
- 
- 
-=== J'ai du son tout pourri === 
- 
-Si le son crachote avec ESD, vous pouvez essayer de changez dans esd.conf “-d default” à la 3eme ligne par “-d dmixer” (voir plus haut) 
- 
-Si le son est mauvais avec alsa, il faut essayer de jouer avec les valeurs period_size et buffer_size d'​asound.conf,​ en utilisant toujours des valeurs multiples de 2. 
- 
-Ainsi, il peux être judicieux de doubler period_size,​ en indiquant "​period_size 2048". Vous pouvez aussi augmenter énormément buffer_size,​ il y'aura un petit décalage du son, mais une meilleur qualité et moins de "​sautes",​ par exemple en indiquant "​buffer_size 32768" 
- 
-Il est également possible de tenter d'​utiliser la carte son en 48Khz, certaines n'​aiment pas le 44.1 réglé par défaut, en changant "rate 44100" par "rate 48000"​. 
- 
-Bref, jouez avec ces réglages, et essayez de trouver vos valeurs idéales. Il ne faut pas oublier de relancer alsa à chaque changement avec "sudo /​etc/​init.d/​alsa restart"​ (depuis Breezy, il semble que la commande équivalente soit sudo /​etc/​init.d/​alsa-utils restart), et sauvegarder vos réglage une fois que c'est impécable avec "sudo alsactl store"​. 
- 
-Si vous utilisez arts (Kubuntu) avec une SoundBlaster Live et que vous avez un souffle de fond dans vos enceintes, il est possible que l'​entrée digitale soit activée, même si vous n'y avez rien branché. Pour la désactiver,​ lancez KMix, allez dans l'​onglet "​Switches"​ et décochez le bouton "SB Live Analog/​Digital"​. L'​effet devrait être immédiat. 
-Même chose sous Ubuntu, lancez le controleur de volume, vérifiez dans l'​onglet parametre que "SB live Analog/ digital output Jack" n'est pas coché. 
- 
-=== Mon son grésille ! === 
- 
-Allez dans votre contrôleur de volume, en double cliquant sur le petit haut parleur en haut à droite de votre écran. 
-Réduisez le PCM à **80%** ou moins. Puis fermez la fenêtre. 
-Votre son ne devrait plus grésiller. 
-(si il n'y a pas de curseur PCM, allez dans Fichier=>​Changer de périphérique) 
- 
-===== Et mon super kit 5.1 qui ne sort qu'en 2.0 ? ===== 
- 
- 
-Bon, a part certains médias, on écoute surtout du 2.0, c'est a dire de la stéréo simple. 
- 
-Il y a moyen de faire du pseudo 5.1 avec ALSA, pas avec OSS.  
- 
-Il faut éditer le /​etc/​asound.conf,​ et ajouter a la fin : 
- 
-<code bash> 
-pcm.duplicate { 
-    type plug 
-    slave.pcm "​surround51"​ 
-    slave.channels 6 
-    route_policy duplicate 
-} 
-</​code>​ 
- 
-Après, il suffit de choisir "​surround51"​ comme sortie son dans son application préférée ! 
- 
- 
- 
-==== Problèmes pour le son 5.1 ==== 
- 
- 
-__Vous avez effectué la manipulation précédente et le son continue à sortir en 2.0__  
- 
-Peut-être que votre carte son n'est pas une 5.1 ... 
- 
-Faites un premier test avec ces deux commandes (en coupant ce qui utiliserait le périphérique sonore au préalable) 
- 
-<code bash>​speaker-test -D surround51:​0 -c 6 -t 2</​code>​ 
- 
-<code bash>​speaker-test -D duplicate -c 6 -t 2</​code>​ 
- 
-Note : En AC97 le test était concluant, mais elle ne faisait pas 5.1 au final... 
- 
- 
-=== 1ere solution : === 
- 
- 
-Vous devez spécifier au lecteur multimédia la sortie son principale, soit votre kit 5.1 et les sorties de votre carte son. 
- 
-<code bash>​gstreamer-properties</​code>​ 
- 
-**Greffon de sortie par défaut** ​ ==> choisissez Personnalisé 
-**Périphérique** ==> Choisissez votre carte son 
-**Pipeline** ==> alsasink device=duplicate 
- 
-Redémarrer ensuite alsa : 
- 
-<code bash>​sudo /​etc/​init.d/​alsa-utils restart</​code>​ 
- 
-//Il semblerait que gstreamer-properties connaissent des ennuis sous feisty fawn .. // 
- 
-=== 2eme solution === 
- 
- 
-Les changements ne sont pas pris en compte dans la méthode précédente... ce n'est pas grave, il vous reste à tester si le son vers les sorties sont autorisées. 
-Lancez alsamixer et activez le son des sorties front, rear, LFE (pour les basses). Ou tout autre menu qui pourrait être susceptible de ressembler à votre kit d'​enceintes. 
- 
- 
-=== __Le son ne sort pas par mes enceintes arrières__ === 
- 
- 
-Avez vous vérifié que le son joué était bien du 5.1 ? 
-Essayer avec un DVD en mode 5.1, dans VLC par exemple il faut choisir dans AUDIO, le son SURROUND 5.1 pour l'​activer correctement. 
- 
- 
-Voici deux liens de forums qui contiennent de nombreuses informations : 
- 
-[[http://​forum.ubuntu-fr.org/​viewtopic.php?​id=16182&​p=1]] 
- 
-[[http://​forum.ubuntu-fr.org/​viewtopic.php?​pid=884476#​p884476]] 
- 
- 
- 
-===== Liens externes ===== 
- 
- 
-  * Le [[https://​bugzilla.ubuntu.com/​|bugzilla ubuntu]] avec les bugs en cours, passés et futurs. 
-  * Le [[http://​alsa.opensrc.org/​index.php?​page=DmixPlugin|wiki ALSA sur dmix]] 
-  * La [[http://​www.alsa-project.org/​alsa-doc/​alsa-lib/​pcm_plugins.html|page de documentation ALSA]] sur le plugin PCM. 
- 
- 
- 
- 
-On peux dire à Flash (v7, car la v9 utilise alsa par défaut) d'​utiliser ESD-ALSA et non OSS : 
- 
-<​code>​ 
-sudo ln -s /​usr/​lib/​libesd.so.0 /​usr/​lib/​libesd.so.1 ​ 
-</​code>​ 
- 
-On "crée un lien". (l'​équivalent d'un raccourci sous Windows) 
- 
-<​code>​ 
-sudo mkdir -p /tmp/.esd/ 
-export LD_PRELOAD 
- 
- 
-</​code>​ 
- 
-Cela aura pour effet de lancer Real Player via aoss. // a confirmer, et un aoss realplay suffit peut-être...//​ 
-Note: libaoss.so se trouve dans le package alsa-oss. Pour l'​installer,​ 
-sudo apt-get install alsa-oss 
- 
-=== Et sous Kubuntu et KDE... === 
- 
-Allez dans K>Centre de configuration de KDE>Son et multimedia>​Système de son. 
- 
-Dans le cadre Suspension automatique (pour que KDE '​rende'​ le controle du son aux autres applications) mettez 1 seconde. ​ 
- 
-Ensuite dans Sons et multimédia>​Notifications systèmes, Gestionnaire de fenetre, désactivez le son: nouvelle fenetre. 
- 
-Et voila, il devrait vous suffir d'​attendre 1 seconde après un son de KDE pour avoir le son wink 
- 
-**Attention:​** apparement, si vous mettez sur 0, ca ne marche pas.  
- 
-Voir aussi le [[http://​alsa.opensrc.org/​index.php?​page=Dmix+Kde+-+arts%2C+ESD+and+SDL+quick+and+dirty+HOWTO|wiki ALSA : Dmix pour KDE]] 
- 
- 
----- 
-//​Contributeurs : D'​après [[http://​forum.ubuntu-fr.org/​viewtopic.php?​id=2969|le mini howto de ploum]], modifié et agrémenté par [[http://​forum.ubuntu-fr.org/​profile.php?​id=1378|Dawar]]. Notez que Ploum a [[http://​forum.ubuntu-fr.org/​viewtopic.php?​pid=154609|adapté son tuto pour Breezy]]. ​ 
-Partie Problème pour le son 5.1 par ReVeNaNt// 
  • installation/son.1199048954.txt.gz
  • Dernière modification: Le 18/04/2011, 14:49
  • (modification externe)