Historique: Éléments audio du système
Aperçu de cette version: 52
Attention ! Page en cours de ré-écriture (pianoliv - mai 2012)
Cette page un peu technique présente les éléments audio d'un système GNU/Linux, leurs rôles 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 :
Application audio :
Un logiciel audio est écrit pour fonctionner avec un ou plusieurs des serveurs son mentionnés.
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.
Sachant que arts/esd/gstreamer ne sont pas adaptés à la MAO, il convient d' utiliser JACK, qui peut tourner en temps-réel. Les principaux logiciels de son et/ou Midi peuvent s' y connecter.
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
[+]
Notes de travail
forum lié : tiki-view_forum_thread.php?comments_parentId=36424&forumId=8
À intégrer dans cette page :
Les bibliothèques de compatibilité cross-plateforme :
Cette page un peu technique présente les éléments audio d'un système GNU/Linux, leurs rôles 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 :
Application audio :
Un logiciel audio est écrit pour fonctionner avec un ou plusieurs des serveurs son mentionnés.
|
Pour plus de simplicité, on privilégiera l'utilisation d'un seul serveur son et d'applications directements compatibles : jack et les applications compatibles jack sont la référence en MAO. |
|
| |
|
Mais le monde n'est parfois pas aussi simple, et on utilisera parfois des adapatateurs entre différentes applications et serveurs son, ce qui va du shéma du plus simple... |
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.
Alsa possède également un mixeur/serveur son rudimentaire, appelé ↓ Dmix. - 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.
Sachant que arts/esd/gstreamer ne sont pas adaptés à la MAO, il convient d' utiliser JACK, qui peut tourner en temps-réel. Les principaux logiciels de son et/ou Midi peuvent s' y connecter.
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.
L'installation par défaut, vue d'un ensemble applicatif
Après la configuration correcte de DMIX - 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 :
- SDL : on ne s'étendra pas dessus ici. Sachez simplement qu'il est capable de se connecter à alsa et à oss, et de tourner en même temps sans encombre qu'une application utilisation le routage arts-> alsa. Il est utilisé principalement par les jeux vidéos et permet un mixage de "mi-niveau" très facilement.
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
- arts
- esd
Liens
[+]
Notes de travail
forum lié : tiki-view_forum_thread.php?comments_parentId=36424&forumId=8
À intégrer dans cette page :
Les bibliothèques de compatibilité cross-plateforme :