L'expérience indique que ce type de distribution spécialisée n'est pas pérenne, sans une active communication, une cohésion de l'équipe de développement. La communauté d'utilisateurs et leurs motivations ne suffisent donc pas suffisamment. Toutefois, elle reste un support moral non négligeable. Voici donc l'histoire de la première grande distribution audiovisuelle nommée AGNULA/DEMUDI. Ceci est la reprise d'un ancien document qui je rédigeai en 2003 dans le cadre d'une exposition.

A GNU LINUX AUDIO / DEBIAN MULTIMEDIA DISTRIBUTION

AGNULA est l'acronyme de " A GNU/Linux Audio distribution"

AGNULA est le nom d'un projet fondé depuis avril 2004 par la commission européenne (number of contract: IST-2001-34879; key action IV.3.3, Free Software: towards the critical mass).

Depuis le projet continue à développer le logiciel libre dans le domaine de l'édition professionnelle audio et vidéo, aidé d'une communauté de développeurs volontaires et des initiateurs du mouvement. Cette équipe travaille sur la version appelée "AGNULA/DeMuDi", une distribution GNU/Linux adaptée de la version Debian (Le terme GNU/Linux fait référence à tout système d'exploitation utilisant le noyau Linux). Cette sculpture de Debian est dédiée au monde professionnel de l'audio. Cet environnement associe autant le monde de la recherche que l'arène professionnelle de la production. Ce document décrit les statuts d'AGNULA/DeMuDi et comment cette équipe envisage les prochains développements.

Mots clefs : AGNULA, AUDIO, DEBIAN.

Un peu d'histoire:

En 1998, la situation des applications musicales et sonores dans l'environnement des logiciels libres se situe déjà au delà du travail initial des pionniers. Un site web, entretenue par un musicien enthousiaste "Dave Phillips", collectait déjà tous les logiciels possibles malaxant le son et organisait le traitement musical sur une base GNU/Linux. A cette époque, chaque communauté de développeurs d'applications musicales ne communique pas entre-elles. Les ressources vives des intérêts communs sont dispersées à travers l'internet. Il n'existait donc pas de plateforme commune pour recevoir ces outils de traitements sonores.

Face à ce constat, des musiciens, compositeurs et développeurs informatiques tels que Nicola Bernardini, Mauricio de Cecco, Davide Rocchesso and Roberto Bresin se rencontrent et fonde LAOS "Linux Audio Open Sourcing". LAOS devient une distribution binaire, couplée d'une communication pour sa promotion et de formations via le web. Elle rassemble la majorité des applications musicales disponibles à cette époque. Cependant le projet LAOS n'aboutira pas, sans doute trop vert pour l'époque.

Tout au moins, Marco Trevisani continue l'idée accompagné de Nicola bernardini, Günter Geiger, Dave Phillips et Maurizio De Cecco. Une version non-officielle de Debian, livrée d'applications musicales apparaît. Cette version appelée DeMuDi, pour Debian Multimédia Distribution, semble réellement tendre vers la maturité.

Une présentation du projet est animée par Nicola Bernardini à Florence en début du joli mois de juin 2001. De nombreux militants se joignent à cette présentation dont Marco Trevisani, Günter Geiger, Dave Phillips, Paul Davis, François Dechelle, Georg Greve, Stanko Juzbasic, Giampiero Salvi, Maurizio Umberto Puxeddu et Gabriel Maldonado. Ce soutien aboutira à une véritable distribution concrète. Appelée 0.0 Alpha DeMuDi, rapidement assemblée par Gunter Geiger et par la collaboration de Marco Trevisani, la version d'un CD boutable apparaît a temps... (en apparté, en tant que français, j'apprécie le terme rondelle vive et préfere le terme gravure à gravage).

Bref, apparaît à temps pour l'IMC 2001 (International Computer Music Conference) tenue à la Havane à Cuba. Ces deux collaborateurs de rondelle vive y présentent un atelier de tutoriaux.

Ouvert à cette présentation, la commission européenne investie le 26/11/2001 dans le Consortium AGNULA. Une subvention est accordée pendant 24 mois au développement du projet. Sont désormais affiliés à cette initiative le Centro tempo Reale, IRCAM, IUA-MTG, Free Software, KTH et Red Hat France. Ce formidable coup de pouce, cette mesure d'accompagnement prend fin le 31/03/2004. Cette période permet la possibilité de fournir des applications scientifiques en voie de développement et de rémunérer certains acteurs travaillant sur la distribution.

Après cette période d'aide financière, la Chambre de Commerce de Florence décide de participer partiellement au financement du projet. Sous couverture de cette institution, la Firenze techologie accorde le crédit à la Media Innovation Unit. AGNULA/DeMuDi constitue une étape majeure dans l'infrastructure du logiciel libre dédié à l'audio, au son et à la musique. C'est un souffle nouveau. C'est l'exemple du logiciel libre subventionné par l'europe. Cela est peut être un précédents pour des projets similaires.

LE LOGICIEL LIBRE

Pourquoi vouloir obtenir une distribution de logiciels libres dans le domaine des applications professionnelles.

Lors des présentations du projet AGNULA, et de la distribution AGNULA / DeMuDi, de nombreuses questions spécifiques surgissent. Pourquoi est-il nécessaire de vouloir obtenir une distribution de logiciels libres dans le domaine de l'application audio professionnelle et de recherche sonore.

Le logiciel libre est un ensemble de programmes informatiques dont l'usage et la distribution des licences garantissent des particularités précises de liberté.

L'objectif de la licence GNU GPL, selon ses créateurs est de garantir à l'utilisateur les libertés suivantes :

  • 1.La liberté d'exécuter le logiciel pour n'importe quel usage
  • 2.La liberté d'étudier le fonctionnement d'un programme et de l'adapter à vos besoins
  • 3.La liberté de redistribuer des copies
  • 4.La liberté d'améliorer le programme et de rendre publiques vos modifications afin que l'ensemble de la communauté en bénéficie

The GNU 's song (Refrain)

"I'm a GNU-I'm a GNU

The g-nicest work of g-nature in the zoo

I'm a GNU-how do you do?

You really oughtta g-know w-who's w-who

I'm a GNU-spelt G - N - U

I'm not closed source or cost a buck or two

So let me introduce, I'm neither man nor moose

Oh, g-no, g-no, g-no, I'm a GNU!"

La plus célebre des licences est probablement celle de la GNU General Public Licence. Elle est le fondement de la Free Software Foundation. Nous pouvons résumer cette licence par la possibilité d'utiliser le programme, de l'étudier, de le modifier et de participer à la communauté d'utilisateurs Dans le cadre de la distribution AGNULA / DeMuDi , la communauté se compose de créateurs (compositeurs, designers sonores), utilisateurs professionnels (techniciens son, ingénieurs du son) ou de chercheurs (théoriciens, informaticiens)

Les créateurs utilisent des outils logiciels qui s'adaptent à leurs demandes. Ces programmes se plient à leurs inspirations Le logiciel est de nature non-physique, interface vierge, il est destiné à être construit au gré de ses envies (ex : Jmax, PureData).

L'utilisateur professionnel dispose d'un ensemble d'outils qui souvent sont habillés physiquement de façon à répondre à des besoins précis (ex : Ardour, Rosegarden).

Le chercheur peut adapter le logiciel suivant les demandes de la communauté d'utilisateurs, Ainsi chaque chercheur apporte sa pierre à l'édifice.

Dans la production informatique, il existe deux principales licences : celles sous licences propriétaires et celles sous licences libres. Il est à savoir que pour créer un programme, l'informaticien utilise un langage compris par l'homme. Ces langages peuvent s'appelere C, C++, TCL / TK... Cette prose informatique est l'outil nécessaire pour comprendre comment un logiciel est élaboré. Cette syntaxe constitue le code source. La finalité d'un logiciel est de fonctionner sur une machine. Pour cela, il doit être interprété par l'ordinateur. La phase de traduction s'appelle la compilation. Le langage informatique devient un langage machine, (binaire).

Sous licence propriétaire, le code source est protégé Il n'est accessible qu'aux employés affiliés au détenteur de la licence. Il se décline différentes versions de logiciels propriétaires : les FreeWares, ShareWares et logiciels. Les Freewares sont d'une utilisation libre, une donation est appréciée pour aider le développement. Les ShareWares sont une version de logiciel d'évaluation. Il est possible d'utiliser ce produit un nombre de fois précis, ou un temps donnés avant son expiration d'utilisation. Enfin, le logiciel officiel est une version achetée, dont les correctifs de bugs et les futures fonctions seront résolus à la prochaine version disponible sur le marché. Sous licence libre, les logiciels sont en perpétuelle correction de bugs et d'évolution, grâce à la participation de la commuanuté. Il est pour principe qu'une donation est appréciée si un programme plaît.

UN NOYAU LINUX POUR LES APPLICATIONS TEMPS RÉELS

La structure même d'AGULA / DeMuDi est l'environnement classique d'un système d'exploitation Linux. Cependant, le noyau (Kernel) de cette distribution est adapté aux applications temps réèls de type vidéo et audio.

Le noyau Linux convient-il aux applications audio

Originellement, Linux a été développé pour des stations de travail, serveurs et bureaux. Dans ce sens, ce système n'est pas adapté aux applications temps réèls, notamment dans le cadre d'application d'enregistrement multipiste. Face à ce constat, deux stratégies ont été adoptées : un patch de preemption et un patch de basse latence.

le patch de preemption

Créé à l'origine par Montavista et à présent maintenu en évolution par Robert M.Love, ce patch hiérarchise des priorités de traitements d'information au sein du noyau. Hors des fonctions essentielles liées au maintien du système, il définit quelles sont les informations à traiter en priorité. Cette stratégie a prouvé son efficacité et fonctionne désormais dans la version du noyau 2.6.x.

Le patch de basse latence

Introduit par Ingo Molnar et améliore par Andrew morton, le patch de basse latence introduit des conditions spécifiques de traitements d'informations dans certains blocs du noyau. Si le concept de ce patch est simple, il introduit un cahier des charges de maintenance lourd. En effet, les conditions de calcul s'effectuent à travers tous les points de code du noyau sans réelle centralisation.

Les conditions de test

le noyau 2.4.4 fut testé à rude épreuve par la méthode Williams en 2002, (Cerberus test Control System, logiciel Amlat). 5 000 000 d'interruptions d'informations ont été traitées avec une fréquence de 2048 impulsions par seconde. L'horloge de latence a été mesurée pour chaque interruption sur un Intel Centrino 1.4 Mhz doté de 512 Mo de RAM.

Il en résulte qu'un noyau non patché, dont la latence du test se mesure au maximum de 48.1 ms, n'est pas adapté aux applications dont la vocation est le traitement de flux en temps réel. Le patch de basse latence et de preemption améliorent nettement les résultats. Ce noyau additionné de ces patchs se nomme Vanilla, actuellement en version 2.6.x.

La latence maximale, mesurée avec la dernière version de vanilla, admet un temps de réponses de 0.7 ms et de 100 % des interruptions de preemption à 1 ms. Enfin, un troisième patch permet de pouvoir utiliser les performances de ce noyau autant loggué en administrateur qu'en utilisateur. Désormais, Linux, équipé de ce noyau, est fortement conseillé aux applications temps réel.

UNE BIBLIOTHÈQUE DE CARTE SON

Les applications audio tournant sous Linux seraient inutiles sans une solide infrastructure de pilote de cartes sons. Les versions antérieures au noyau 2.4.x incluaient l'OSS / Free (Open Sound System drivers). Depuis l'évolution des performances du noyau, le projet ALSA (Advanced Linux Sound Architecture) a été adopté en remplacement de l'OSS. Les origines d'ALSA remonte à une dizaine d'années, une cinquantaine de développeurs ont contribué à tester les cartes sons et à écrire un code robuste tournant sur le noyau. Bien sûr ALSA est sous licence libre.

A l'attention des développeurs

ALSA a défini une API (Application Programming Interface / Interface de Programmation d'Applications) dont la puissance est de répondre à des développements de pilotes de cartes sons audio et MIDI courantes et professionnelles. A partir de la version 3, l'API ALSA est suffisante pour les développeurs.

Certains constructeurs de cartes sons ont aidé l'équipe ALSA en livrant les spécifications de l'architecture électronique de leur produit, et sont devenus des partenaires de développement. A présent, les utilisateurs Linux peuvent avoir accès à une plus vaste vitrine de cartes sons. Ces interfaces audio peuvent être analogiques, digital I / O. De la carte son intégré au chipst de lma carte mère, carte PCI, adaptateur PCMCIA pour les portables, à port USB externe, tout est supporté.

Cependant, certaines restrictions existent toujours notamment les formats 1394 et mLAN qui ont des spécifications protégées. A défaut, le port FireWire est actuellement en expérimentation et la norme Bluetooth à l'étude. L'équipe ALSA compte sur les futurs développement des codes réseaux Linux qui seront, peut être demain, les protocoles standards des cartes sons...

Pour une liste plus complète se renseigner sur http://www.alsa-project.org

(A noter : ALSA supporte les fichiers surround 5.1 entrelacés. Bien évidemment, uniquement en mode analogique, puisque les formats digitaux AC3 et DTS sont propriétaires.)

La distribution AGNULA / DeMuDi fournit la bibliothèque ALSA. Lors de l'installation de ce système, AlSA reconnaît automatiquement vos cartes sons (sous conditions qu'elles soient répertoriées dans la bibliothèque). Cette installation transparente configure vos ports audio et MIDI. A tout moment, vous pouvez reconfigurer vos cartes sons en tapant sur votre console (ex : Xterm) : alsaconf. La partie visible d'ALSA est l'application JACK.

Alsa fournit des applications tels qu'un lecteur / enregistreur, une table de mixage, un routeur MIDI... (arecord / aplay, alsamixer, aconnect) Des applications spécifiques à certaines cartes audio sont aussi livrées.

UN ROUTEUR AUDIO ET MIDI

L'application JACK (Jack Audio Connection Kit) peut être considéré comme le squelette qui soutient toutes les applications audio Linux. Il permet de router les entrées / sorties audio et MIDI d'une application vers d'autres applications. Ce chaînage permet à chaque programme d'être tour à tour maître ou esclave, suivant le schéma choisi de connexion.

Il est la représentation physique d'ALSA. il mesure et dispose des paramètres nécessaires pour gérer la latence des flux audio, la bande passante. JACK peut aussi déclencher la lecture en synchronisation de toutes les applications chaînées par les simples fonctions : play, pause, stop. Il est le serveur audio de la distribution AGNULA / DeMuDi. La plupart des applications audio livrées avec la distribution sont compatibles JACK, en ce sens elles sont jackifiées. JACK est le centre du système audio de la distribution.

La configuration peut devenir très complexe. La limite des entrées /sorties et MIDI n'est imputable qu'aux possibilités de la carte son. Hors, seul le serveur Jack communique avec elle. Les applications audio jackifiées ont donc des possibilités d'E / S audio seulement limitées à la puissance de l'ordinateur. Le rooting illimité MIDI entre les applications est en cours d'étude. Actuellement, celui-ci est toujours limité en base seize.

A propos de futur : Peut être considérer comme l'équivalent de JACK : Gstreamer. A la différence, Gstreamer ne fait pas de communication entre les applications mais gère le flux temps réèl des données médias (vidéo, audio) Il est en projet de fusionner les deux applications Gstreamer et JACK.

Comment obtenir les meilleurs performances avec JACK

La qualité audio est un son sans Drop (saturation du signal numérique) et sans intéruption audible du flux sonore. Trois solutions pour obtenir cette performance : une carte son de qualité, une bonne machine et régler JACK.

dans le setup de JACK, nous avons accès à différents paramètres :

  • Drivers: choix de la bibliotheque de pilote
  • Interfaces : choix de la carte son communiquant avec jack
  • SampleRate : Choix de la résolution de frequence d'échantillonage
  • BufferSize : choix de la quantité de mémoire tampon</li>
  • Interface input/output channels : le nombre d'entrées de la carte son communiquant avec jack
  • Inputs : par défaut ou choix de la carte son
  • Output: par défaut ou choix de la carte son
  • Priority : reglage de la preemption de jack
  • Jackrealtime : permet de bénificier de la latence minimum, puique jack ne fais plus fonction de serveur
  • Jackd : est la fonction serveur
  • Autre jack : fonctionnent pour les versions Kernel 2.4.x

Dither : c'est la qualité numérique du son en sortie finale (une des composantes de la masterisation) Toute personne, qui dispose de ressources CPU disponibles, peut utiliser le dither triangle. Si les ressources CPU sont encore négociables Shape est de meilleure qualité. Pour toutes autres informations : http://jackit.sourceforge.net/

LES PLUGINS D'EFFETS ET D'INSTRUMENTS VIRTUELS

Les plugins sont des ajouts logiciels que l'on greffe sur des applications. Ils offrent à ces logiciels des ajouts de fonctionnalités. AGNULA / DeMuDi est livré avec de nombreux plugins (plus d'une centaine). Ces plugins se nomment LADSPA (Linux Audio Developers Simple Plugins Architecture). Ils sont l'équivalent Open Source des plugins VST du format propriétaire de Steinberg. Ce format ne gère que des effets audio de type : Egalisation, Reverb, Delay, Distortion, Flanger, Delay...

Il est toujours possible d'ajouter des plugins instruments, l'équivalent des VSTI du format propriétaire de Steinberg. Mais, c'est un ajout personnel à la distribution AGNULA / DeMuDi. Ces plugins instruments sont des synthétiseurs, samplers, boîte à rythme. Ces instruments génèrent des sons par un pilotage sequentiel MIDI. Ce qui n'est pas le cas des plugins LADPSA, puisque ceux-ci ne traitent que le signal audio. Ce format se nomme DSSI, prononcé dizzy.

Le développement des plugins LADPSA débute en 1999, sous l'impulsion de Paul Davis, Richard W.E. Furse, et Stefan Westerfield. Ils contactent l'entreprise Steinberg, dont les produits phares sont Cubase, WaveLab... afin de porter les plugins VST sur Linux. Mais, ce projet leur sera refusé. Ils développent, de ce fait, leur propre API, LADPSA SDK, afin de créer des plugins libres.

Les plugins LADPSA se greffent sur de nombreuses applications dont Ardour (Enregistreur multipiste), Rosegarden (sequenceur audio / MIDI), TerminatorX (platines de mix DJ virtuel). Ils supportent l'automation, variation d'un ou de plusieurs paramètres des effets sur la durée. Ces paramètres sont également modifiables en temps réèl via les controleurs MIDI, pour des performances Live.

Les plugins DSSI d'instruments virtuels sont peu nombreux en versions libres actuellement. De plus, ils sont sous licence GNU / LGPL (GNU / Less General Public Licence). Ce terme de licence prescrits par GNU s'applique plutôt aux œuvres devant être intégrées dans d’autres (comme les bibliothèques). Les termes de licence GPL posent, en effet, un certain nombre de problèmes pour les réalisations pouvant entrer dans la réalisation d’autres produits propriétaires.

DSSI peut piloter des instruments propriétaires au format VSTI de Steinberg grâce au DLL essentiel au fonctionnement de Microsoft Windows. Ces instruments peuvent être un B4 et autres produits de la société Native instruments ou de synthétiseurs virtuels FreeWare. L'installation des DLL sur Linux est produite par l'émulateur Windows pour la plateforme Linux appelé Wine. Cet émulateur n'est pas fourni avec la distribution AGNULA / DeMuDi. Celle-ci se veut entièrement sous licence GNU / GPL.

Cependant, la distribution AGNULA / DeMuDi fournit de nombreuses applications génératrices de son de type synthétiseur. Elles ne sont pas comparables à des plugins, puisqu'elles sont entièrement construites et modifiables suivant les volontés du créateur. Pour ceux qui ne désirent pas créer leur propre synthétiseur, de nombreux patch (instruments développés par des tiers pour ce type de logiciels) de qualité peuvent être trouvés à travers l'internet sous licence GNU / GPL. Ces applications peuvent être chaînées bien sur via JACK tant au niveau MIDI que audio.

LES APPLICATIONS

La distribution AGNULA / DeMuDi ne fournit pas toutes les applications de musique et de son disponible sur la plateforme GNU / Linux. Son but est de délivrer les meilleurs produits actuels. Cette sélection s'adresse à tous les publics du débutant comme à l'utilisateur professionnel. Le nombre des logiciels disponibles sur la distribution est actuellement supérieur à 100.

Toutes les familles d'applications de traitement sonores sont représentées, voici une liste non-exhaustive :

Les éditeurs de son : Un choix tres varié est fourni. Cela va du tres complexe mais extrêmement puissant éditeur de son 'Snd' au familier et accessible 'Audacity'. Le domaine des éditions de fréquences est aussi représenté grâce à Ceres3

Les multitrackers : Considérer comme l'application audio majeur de GNU / Linux, 'Ardour' n'est pas seulement un excellent enregistreur multipistes, il est aussi la cause du développement de JACK. 'Ecasound' est une solide alternative mais non-GUI, c'est à dire sans interface graphique et donc utilisable en mode texte.

Les environnements de constructions interactives graphiques : Le logiciel libre est très fort dans le domaine des applications de programmations graphiques interactives. Les plus celebres sont 'jMax' et 'PureData'.

Les séquenceurs : Parmis d'autres les plus aboutis sont 'Rosegarden' et 'muse'. Ils sequencent l'audio et le MIDI et deviennent de véritable outils de production.

Les langages processeurs de sons : Un large choix de langages de composition vous sont offert, comme 'CSound', 'SuperCollider', 'Common Lisp Music'. Les deux premiers était sous licence GNU / LGPL mais depuis la création d'AGNULA, sont devenus GNU / GPL.

Les synthétiseurs virtuels : Une bonne gamme de synthétiseurs virtuels sont fournis. Ce peut être des synthèses modulaires 'AlsaModularSynth, SpiralSynthModular', des synthèses additives ' ZynAddSubFX' et des synthétiseurs à langage de composition comme 'Csound' et 'SuperCollider'. Enfin, Last but not Least, 'Fluidsynth' et 'timidity++' sont des synthétiseurs à base de sample. On regrette, cependant, l'absence d'echantillons sonores en licence GNU / GPL.

La notation musicale : La dernière catégorie de notre liste est particulièrement bien représentée grâce à l'éditeur professionnel 'Lilypond'. 'Rosegarden' et 'NoteEdit' proposent aussi un éditeur de partition très riches en notation.

L'AVENTURE CONTINUE

AGNULA / DeMuDi a succiter une large attention. En effet depuis sa création, un réseau d'utilisateurs de plus en plus nombreux suivent l'évolution du projet et participent activement. Par le biais de Mailing list, les developpeurs de toutes les applications de la distribution communiquent avec les utilisateurs. Ces utilisateurs expriment leurs besoins, repertorient des bugs et accèdent à des réponses, et des services rapides de la part des développeurs.

Malheureusement, tous ces supports n'ont pas fait le poids face aux impératifs des besoins des développeurs. Certains membres très actifs se sont dirigés vers d'autres activités en relation avec le domaine ou de gestion de droits libres artistiques.

Le Projet AGNULA n'aurai pu être sans une équipe de volontaires et de convaincus.

Nous remercions Marco Trevisani pour ses publications sur la musique libre depuis des années, Dave Phillips, Günter Geiger, Fernando Lopez-Lezcano, François Dechelle et Davide Rochesso, ces personnes qui suivent l'idée et les concepts depuis les premiers jours.

D'autres gratitudes envers Philippe Aigrain et Jean-François Junger pour la promotion d'AGNULA envers la Communauté Européenne; Luca Mantellassi et Giovanni Nebiolo, pour le support de la Chambre de Commerce et d'Industrie de Florence. Et enfin, Roberto Bresin et le departement musical du KTH à Stockolm pour l'hébergement du serveur AGNULA.

Enfin, Mdesigner remercie personnellement : Damien Cirotteau, Nicola Bernardini, Free Ekanayaka, Andrea Glorioso de la Media Innovation Unit, Firenze Technologia, Italy, sans lesquels ce document n'aurai pu paraître.