draffin wrote:Donc la question reste ouverte : qu'est que pulseaudio apporte de plus que jack ?
PulseAudio est un serveur de sons qui est d'ores et déjà disponible en Fedora 7 et peut donc être testé; il s'agit de l'installer par défaut en Fedora 8.
Le document suivant (en anglais) décrit parfaitement les objectifs du projet et ses fonctionnalités:
http://0pointer.de/public/pulseaudio-presentation-lca2007.pdf
La conférence audio est à l'adresse suivante:
http://mirror.linux.org.au/pub/linux.conf.au/2007/video/talks/211.ogg
De quoi s'agit-il? Je traduis les points essentiels de la présentation.
0- préalable: serveur de sons
Pour faire simple, un serveur de sons assure l'interface entre les périphériques haut parleurs, casques, micros ... et les applications qui reçoivent ou émettent des flux.
Il permet par ailleurs la gestion des flux de ces différentes applications: mixage, re direction, annulation d'écho, transformation, ajustement des volumes ...
1- le contexte:
La gestion du son sous Linux n'est pas réellement organisée: différents serveurs sont disponibles (OSS, aRts, ALSA, EsounD, JACK ...) et proposent des interfaces aux applications qui ne sont pas mutuellement compatibles (exemple: on ne peut pas utiliser une application profilée pour ALSA sur un serveur de son EsounD). Une exception avec JACK qui peut gérer des flux ALSA (dans son environnement à l'aide de plugins).
Les différents serveurs de sons sont concurrents dans l'accès aux ressources; ainsi si EsounD préempte les ressources, seuls les applications clientes de EsounD peuvent exploiter les haut-parleurs, le casque ... (idem pour aRts, ALSA, JACK ...).
Par ailleurs, les serveurs de sons présentent des caractéristiques très différentes (gestion des temps de latence, des effets surround, etc ...).
=> Il manque l'équivalent d'un "Compiz" pour le son: gérer différents volumes pour chaque application cliente, suspendre le son quand un appel téléphonique en IP arrive, augmenter le volume quand une application arrive en premier plan, gérer le démarrage à chaud de certains périphériques etc ...
Les applis professionnelles et l'environnement des desktops sont trop séparés; le seul point commun semble être ALSA mais le mixeur ALSA (dmix) n'est pas satisfaisant.
Des opportunités existent: un noyau à faible latence, des interfaces sons définies et acceptées pour les applis professionnelles (JACK par exemple).
Apple a montré avec CoreAudio qu'un environnement commun pro / desktop était possible, de même que Microsoft propose avec Vista un userspace adapté.
2- les objectifs d'AudioPulse:
Les points d'accord à rechercher:
* OSS existe et ne va pas disparaître
* rechercher une interface normalisée pour le serveur son (et non pas rechercher une couche d'abstraction sur différentes interface!)
* rechercher l'équivalent d'une boîte de compatibilité pour les différentes applications abonnées aux différents serveurs de sons
Les caractéristiques d'AudioPulse:
-> un serveur de sons modulaire
-> en remplacement d'EsounD
-> assurant les fonctions de "Compiz pour le son", gestionnaire intégré,
-> compatible à 90% pour les applis existantes
-> challengeant Vista!
AudioPulse comprend 34 modules: support OSS, ALSA, Solaris audio, Win32, support Native TCP, EsounD, TCP, RTP (pour la VoIP!), support de certains 'gadgets': LIRC (contrôle distant), clavier multimedia, intégration dans le serveur graphique Xorg, intégration de JACK et EsounD, support HotPlug (branchement à chaud de périphériques) appuyé sur HAL.
Il supporte 32 canaux, une large variété de formats de flux (PCM, aLaw ....), il gère en temps réel les flux, supporte les flux réseau.
Il n'entre pas en compétition avec JACK, Xine, Helix , ...
3- état présent d'AudioPulse:
Il remplace Esound et ALSA dmix. aRts est officielle mort ... Il est compatible ALSA, OSS, JACK, Gstreamer (sous forme de plugin), XMMS, Audacious, MPlayer, Xine, MPD
Consulter le lien:
http://pulseaudio.org/wiki/PerfectSetup
4- position d'AudioPulse par rapport à JACK:
Il n'y a pas en propre de concurrence. JACK est en priorité un système de communication entre applications audio professionnelles.
JACK comprend cependant des limites pour l'utilisation en serveur de sons pour le Desktop: forte consommation CPU, démarrage non intégré au desktop, incompatibilité avec tous les autres serveurs son.
Idée: intégration de JACK dans AudioPulse...