Quantcast
Channel: Linux Attitude» son
Viewing all articles
Browse latest Browse all 2

Alsa

0
0

Niveau :      
Résumé :

Aujourd'hui un truc obscur pour beaucoup d'entre nous : alsa. Pas la poudre blanche, mais le truc avec un mixer, enfin pas celui de la cuisine, mais celui de linux ...

Pour simplifier disons que alsa est une API présentée par le noyau et qui permet d'accéder à travers une interface unique à toutes les cartes son que vous pouvez avoir.

Fichier de configuration

Alsa étant relativement bien fait, ses utilisateurs (l'application qui émet du son, la gestion du volume ...) n'ont pas besoin de configuration particulière pour fonctionner. Mais il est possible de changer cette non configuration. Cela peut se faire soit de façon globale au système dans /etc/asound.conf soit spécifiquement à l'utilisateur dans ~/.asoundrc.

Que peut-on mettre dans ces fichiers ?

Là ça devient vite obscur et peu documenté. Mais nous allons voir que c'est assez simple. Il s'agit d'une configuration hiérarchique. Vous avez le choix entre les 2 formats suivants pour écrire des valeurs (ou un mix des 2) :

# commentaire
val.eur.1 "toto"
val.eur.2 "tata"
val.ue "help"

val {
  eur {
   1 "toto"
   2 "tata"
  }
  ue "help"
}

Éléments de configuration

Mais que peut-on bien mettre dans ce fichier ?

Ici les exemples sont nombreux, mais rarement expliqués.

Tout d'abord une liste détaillée se trouve ici : Asoundrc.txt

Reste à trouver ce que les attributs veulent dire. Ce qui va vous intéresser est essentiellement pcm qui permet de créer une nouvelle carte son (virtuelle). Les autres ne vous seront utiles que rarement et dépendront surtout du contenu de vos pcm.

Un pcm

La première chose à déclarer dans un pcm est son type, vous avez le choix parmi les différents plugins alsa. Contemplez la densité de la documentation, heureusement vous en avez un peu plus ici : pcm_plugins.html

Notez la présence de ladspa pour changer le pitch du son. J'ai déjà présenté son usage avec vlc pour accélérer un son sans en changer la hauteur.

Chaque type a ses paramètres spécifiques. Tous les plugins qui ne font que traiter le signal (comme ladspa ou softvol) ont un paramètre slave. Il faut bien comprendre de que cela signifie. Un slave est un autre plugin (oui c'est sans fin :-) qui va recevoir le son depuis le plugin que l'on configure. Donc le son transite de master vers slave lors de la lecture mais il transite de slave vers master lors de l'enregistrement.

Exemple

Maintenant prenons un exemple utile, ajouter une pré-amplification logicielle au système. Pratique lorsqu'on a un portable et qu'aucun ampli externe ne nous permet de monter le son alors que c'est l'enregistrement de youtube qui est très faible.

Comment faire ? Très simple, ajoutons une carte virtuelle de type softvol

pcm.softcard {
      type softvol
      slave.pcm "default"
# on associe un contrôle nommé pre-amp au mixage de la première carte son
      control.name "Pre-Amp"
      control.card 0 
}

C'est bien, mais cela veut dire qu'il faut indiquer à nos logiciels d'utiliser la carte softcard pour profiter de cet avantage. Quelques changements vont nous permettre de changer ceci pour tout le monde.

# on change la configuration du pcm par défaut
pcm.!default {
      type plug
# et on pointe bêtement vers la notre
      slave.pcm "softcard"
}

pcm.softcard {
      type softvol
# on laisse dmix choisir la bonne carte physique
      slave.pcm "dmix"
      control.name "Pre-Amp"
      control.card 0
# on en profite pour donner des limites plus sympa pour l'augmentation et la rédution du volume
      min_dB -5.0
      max_dB 20.0
      resolution 5
}

Avant de voir le contrôle, il faut lancer un premier test pour forcer la lecture du fichier de conf par alsa (c'est comme ça ...) :

# test de bruit presque blanc
$ speaker-test

Et maintenant nous avons un nouveau contrôle dans alsamixer (ou votre mixer préféré) permettant de régler la pré-amplification.

A vous de tester les autres plugins ...

Tags:, ,

Viewing all articles
Browse latest Browse all 2

Latest Images

Trending Articles





Latest Images