URL: https://linuxfr.org/news/klang-kernel-level-audio-next-generation Title: KLANG - Kernel Level Audio Next Generation Authors: Michel Nicolas baud123, claudex, Pierre Jarillon et rootix Date: 2012年07月31日T23:04:47+02:00 License: CC By-SA Tags: linux, audio, kernel, freebsd, module, son et klang Score: 75 Wolfgang Draxinger a lancé le projet KLANG. Il ambitionne d'écrire un nouveau gestionnaire audio pour les noyaux Linux et FreeBSD avec un rendu professionnel : * sans hachure, * avec un minimum de latence * et avec une gestion intelligente de l'énergie. Alors que l'information est en train de se répandre sur la toile, [l'auteur met en garde](http://klang.eudyptula.org/news/) : bien qu'un site décrivant les ambitions du projet existe, le code n'est pas encore dans un état acceptable pour une première version publique. ---- [KLANG official page](http://klang.eudyptula.org/) ---- Pourquoi avons-nous besoin d'un nouveau gestionnaire de son? ------------------------------------------------------------ Selon l'auteur, aucune des solutions actuelles n'est pleinement satisfaisante. Il y a d'abord l'ensemble des gestionnaires audio qui tournent en [espace utilisateur](http://fr.wikipedia.org/wiki/Espace_utilisateur): [JACK](http://fr.wikipedia.org/wiki/Jack), [PulseAudio](http://fr.wikipedia.org/wiki/PulseAudio) et [ESD](http://en.wikipedia.org/wiki/Enlightened_Sound_Daemon). Les processus en espace utilisateurs sont fortement dépendants de la charge en cours du système et sont donc tributaires du [scheduler](http://fr.wikipedia.org/wiki/Completely_Fair_Scheduler) pour obtenir des ressources [CPU](http://fr.wikipedia.org/wiki/Cpu). Or l'oreille humaine est capable d'entendre des "sauts" dans le son dès qu'un décalage de 4ms apparaît. En comparaison, l’œil a une tolérance plus importante car une désynchronisation jusqu'à 40 ms reste acceptable. Pour obtenir une bonne qualité de rendu de son, il faut donc pouvoir le traiter au plus proche du temps réel. Ceci n'est possible qu'en espace noyau. Il existe actuellement deux solutions qui résident dans le noyau : - [ALSA](http://fr.wikipedia.org/wiki/Advanced_Linux_Sound_Architecture) : pas de [mixage](http://fr.wikipedia.org/wiki/Mixage) à la hauteur! L'[API](http://fr.wikipedia.org/wiki/Interface_de_programmation) est compliquée et manque d'abstraction. - [OSS](http://fr.wikipedia.org/wiki/Open_Sound_System) : l'API est bonne mais il ne gère pas les sources audio non échantillonnées (comme le [MIDI](http://fr.wikipedia.org/wiki/Musical_Instrument_Digital_Interface)). Il n'a pas non plus été pensé pour l'économie d'énergie et vide une batterie très efficacement. La conception de la gestion des signaux est moins intéressante que celle de JACK. Partant de ce constat Wolfgang a décidé de prendre le meilleur de chacun des projets existants : - la conception basée sur le routage de signaux comme JACK, - l'API d'OSS, - la gestion des sources non-échantillonnées, - le code en espace noyau pour bénéficier des meilleurs latences possibles. L'API d'OSS? ------------ Il faut insister sur ce point. KLANG se présente aux applications au moyen de l'API existante d'OSS. Cela signifie que toute les applications gérant OSS prennent en charge KLANG ! Cependant, pour pouvoir gérer les fonctionnalités propres à ce nouveau gestionnaire, l'API originale sera étendue. NdA : Nous souhaitons tous nos vœux de réussite à ce nouveau projet prometteur !