Historique: Éléments audio du système
Aperçu de cette version: 42
Attention ! Page en cours de ré-écriture (pianoliv - mai 2012)
voir les #Notes_de_travail
Cette page un peu technique présentera les éléments audio d'un système GNU/Linux, leur rôle et leurs imbrications.
Pilote :
Il s'agit du logiciel invisible qui va prendre le contrôle de votre carte son (ou de votre surface de contrôle).
Le type de carte son conditionne le choix du pilote, par exemple FFADO pour les cartes son firewire et ALSA pour le reste, en gros. Ce logiciel fonctionne dans la couche noyau et fait le lien entre les périphériphes matériels et les applications audio, souvent en passant par un...
Serveur son :
Le serveur son est lui aussi souvent invisible, mais il s'agit d'un logiciels comme les autres, que vous pouvez généralement lancer/arrêter au besoin. Son rôle est celui d'un DJ, qui mixe les différentes pistes arrivant de plusieurs applications produisant du son simulatément. Chaque environnement de bureau (comme KDE ou Gnome) possède son propre serveur son plus ou moins basique pour mixer les sorties audio du lecteur multimédia, du navigateur internet, des notifications système etc. Mais le top pour la MAO, c'est le serveur son optimisé pour le temps-réel : Jack.
framework multimédia :
http://www.trilug.org/~crimsun/linuxaudio.png
Les différents pilotes :
Pourquoi plusieurs serveurs son ?
Ces éléments existent parce qu'il est possible qu'ils existent ! C'est leur liberté.
La M.A.O. a des besoins précis, frères avec ceux des studios professionnels. Comme nous sommes libres d'utilisation, de configurations et de modifications, nous pouvons créer une architecture système taillée à la mesure de ces besoins.
Les différents serveurs son :
Jack ET les autres serveurs son :
Il est possible dans certains cas de faire communiquer ensemble plusieurs serveurs son.
Pour ce qui nous intéresse, il s'agit principalement de router différents serveurs son de l'environnement de bureau vers jack, voir la page : jack_et_les_autres_serveurs_son
[+]
voir les #Notes_de_travail
Cette page un peu technique présentera les éléments audio d'un système GNU/Linux, leur rôle et leurs imbrications.
Table des matières
Introduction
Le système GNU/Linux est construit par couches. Vous avez peut-être déjà entendu parlé pour commencer du noyau Linux qui est une couche de logiciels liés intimmement au matériel, et du système GNU qui se greffe par dessus. Les éléments audio du système n'échappent pas à cette règle et se divisent en plusieurs grandes catégories.Pilote :
Il s'agit du logiciel invisible qui va prendre le contrôle de votre carte son (ou de votre surface de contrôle).
Le type de carte son conditionne le choix du pilote, par exemple FFADO pour les cartes son firewire et ALSA pour le reste, en gros. Ce logiciel fonctionne dans la couche noyau et fait le lien entre les périphériphes matériels et les applications audio, souvent en passant par un...
Serveur son :
Le serveur son est lui aussi souvent invisible, mais il s'agit d'un logiciels comme les autres, que vous pouvez généralement lancer/arrêter au besoin. Son rôle est celui d'un DJ, qui mixe les différentes pistes arrivant de plusieurs applications produisant du son simulatément. Chaque environnement de bureau (comme KDE ou Gnome) possède son propre serveur son plus ou moins basique pour mixer les sorties audio du lecteur multimédia, du navigateur internet, des notifications système etc. Mais le top pour la MAO, c'est le serveur son optimisé pour le temps-réel : Jack.
framework multimédia :
http://www.trilug.org/~crimsun/linuxaudio.png
Les pilotes/drivers
Les différents pilotes :
- ALSA (Advanced Linux sound Architecture) : Ensemble de pilotes qui gère de façon unifiée un très grand nombre de cartes son PCI et USB. Les modules ALSA se greffent au noyau et il en existe un grand nombre pour différents types de matériel.
- FFADO (Free Firewire Audio Driver) : Projet expérimental qui vise à faire fonctionner les cartes son Firewire. Il est amené à rejoindre le projet ALSA une fois complet, mais pour le moment seule une poingnée de cartes son sont entièrement supportées.
- OSS (Open Sound System) : Ancien ensemble de pilotes pour d' anciennes cartes sons PCI. Il peut encore être trouvé dans certains studios, particulièrement certaines "vieilles" tables à potards dissimulant beaucoup sous leur capot. La version d'OSS inclue dans le noyau est considérée comme obsolète mais l'équipe maintient une version actuelle pour les quelques rares cartes-son qui demandent ce pilote.
Les serveurs son
Un serveur son est un point central dans un bureau pour tout ce qui concerne le son. C'est à dire que les différentes applications qui ont besoin de produire du son vont le contacter et qu'il gérera la cohabitation des sons de ces différentes applications.Exemple :
application n°1 : Salut serveur son !
serveur son : Yop toi !
application n°1 : j'ai besoin que tu produises un petit jingle pour mon utilisateur
serveur son : OK, c'est fait
application n°1 : merci
serveur son : de nada !
application n°1 : hop, il se lance un film, tu peux gérer la partie audio ?
serveur son : no problème, c'est mon job
application n°1 : cool 😊 Merci, à plus tard 😉
application n°2 : Coucou serveur son
serveur son : Hey ! Salut toi, ça faisait un bail !
application n°2 : ouép, j'étais plus trop utilisé , dis moi, tu peux balancer la petite musique de mon démarrage steuplé ?
serveur son : pas de souci, en plusse je l'aime bien celle-là 😎
application n°2 : merci, je te kiffe grave aussi 😉
serveur son : héhéhé
application n°2 : ouahou, serveur son, mon utilisateur veut m'éteindre ! Tu peux balancer un BIP pour qu'il valide son choix ?
serveur son : oué, il matte un film en ce moment, ça l'emmerde sûrement que ta musique d'intro passe en même temps. T'inquiète pas trop, il t'utilisera certainement après pour chopper la bande originale 😉
application n°2 : ok, merci, à tout à l'heure alors, content de te revoir 😎
serveur son : a+
application n°1 : Salut serveur son !
serveur son : Yop toi !
application n°1 : j'ai besoin que tu produises un petit jingle pour mon utilisateur
serveur son : OK, c'est fait
application n°1 : merci
serveur son : de nada !
application n°1 : hop, il se lance un film, tu peux gérer la partie audio ?
serveur son : no problème, c'est mon job
application n°1 : cool 😊 Merci, à plus tard 😉
application n°2 : Coucou serveur son
serveur son : Hey ! Salut toi, ça faisait un bail !
application n°2 : ouép, j'étais plus trop utilisé , dis moi, tu peux balancer la petite musique de mon démarrage steuplé ?
serveur son : pas de souci, en plusse je l'aime bien celle-là 😎
application n°2 : merci, je te kiffe grave aussi 😉
serveur son : héhéhé
application n°2 : ouahou, serveur son, mon utilisateur veut m'éteindre ! Tu peux balancer un BIP pour qu'il valide son choix ?
serveur son : oué, il matte un film en ce moment, ça l'emmerde sûrement que ta musique d'intro passe en même temps. T'inquiète pas trop, il t'utilisera certainement après pour chopper la bande originale 😉
application n°2 : ok, merci, à tout à l'heure alors, content de te revoir 😎
serveur son : a+
Pourquoi plusieurs serveurs son ?
Ces éléments existent parce qu'il est possible qu'ils existent ! C'est leur liberté.
La M.A.O. a des besoins précis, frères avec ceux des studios professionnels. Comme nous sommes libres d'utilisation, de configurations et de modifications, nous pouvons créer une architecture système taillée à la mesure de ces besoins.
Les différents serveurs son :
- jack : Le serveur de son basse-latence qui permet d'inter-connecter et de synchroniser un grand nombre de logiciel-audio ensemble. En MAO sous Linux, il est devenu incontournable et nous privilégions son utilisation.
- ALSA_Dmix : Mixeur intégré à ALSA, on peut parler de mixeur de bas-niveau. Il permet un mixage logiciel lorsque la carte son est dépourvue de mixeur matériel.
- PulseAudio : c'est un serveur de son "dernière génération". Il s'intercale entre les applications (ou les frameworks multimédias) et le gestionnaire de son (ALSA, OSS, ou autres). Il permet une facilité d’utilisation avec branchement « à chaud ». Il permet aussi de diffuser le son en réseau. L'intégration est en cours sur les différentes distributions car il est destiné à remplacer différents serveurs son du fait de sa polyvalence, de sa souplesse et de sa puissance.
- ESD : c'est le moteur de son du bureau Enlightenment, mais aussi Gnome et XFCE. Possédant le plus fort taux de latence de tous, il est amené à être remplacé par Pulseaudio.
- aRts : c'est le moteur de son du bureau Kde. Utilisé jusqu'à la version 3.5.3 de Kde, il est remplacé par Phonon à partir de kde 4.
- Phonon : c'est le remplaçant de arts. Nous verrons à l'usage quelles sont ces ressources. Mais en tant que frameworks de haut niveau, il peut être intéressant pour une utilisation Mao.
- eSound :
- Asd :
Jack ET les autres serveurs son :
Il est possible dans certains cas de faire communiquer ensemble plusieurs serveurs son.
Pour ce qui nous intéresse, il s'agit principalement de router différents serveurs son de l'environnement de bureau vers jack, voir la page : jack_et_les_autres_serveurs_son
frameworks
Les infrastructures du son- Gstreamer : conçu pour Gnome et pour un lecteur à l'origine, celui ci a vite grandi et s'est doté de l'ensemble des fonctions indispensables pour un framework de haut-niveau. Avec en plus des fonctions réseau assez intéressantes.
- Phonon
- Xine
Liens
[+]