Le pingouin sur scène - 1
Malgré ma familiarité avec l’informatique, ou peut-être justement à cause d’elle, j’ai longuement hésité à emmener avec moi un ordinateur sur scène. Les contraintes techniques sont grandes, la fiabilité doit être quasi-absolue et je rêvais d’un système assez souple pour se mettre au service de mes idées musicales - et pas le contraire.
Cependant, me mettant à utiliser de plus en plus de pédales d’effets, loopers et autres ustensiles électroniques, j’ai décidé de faire le pas au début de l’année 2010 - et de voir ce que Linux avait à proposer dans le domaine.
Une dizaine de concerts et prestations plus tard, je vous propose un petit retour d’expérience. On verra que le système au pingouin a plus d’un tour dans son sac pour qui veut bien prendre la peine d’entrer dans sa logique.
Le matériel
Mon fidèle IBM Thinkpad x31 traînait dans un coin, je lui ai donc proposé de reprendre du service. Une excellente machine d’une fiabilité exemplaire, mais pas directement à la pointe pour ce qui est de ses spécifications (pentium M 1.4Ghz, 512Mb de mémoire vive).
J’ai trouvé des bons prix en occasion pour une interface son Lexicon Omega (USB, 4 entrées, 2 sorties, 24bits, 48kHz) et un pédalier midi Behringer FCB 1010. Pour moins de CHF 300.-, me voilà donc prêt à me lancer dans le monde fascinant de la MAO (Musique Assistée par Ordinateur).
NB: Évidemment, j’étais déjà équipé pour la musique amplifiée avant cela (micro, ampli, etc.). Si cela n’est pas votre cas, votre prix d’entrée pourrait être “un peu” plus élevé…
Le système d’exploitation: Linux
J’étais intéressé à explorer ce que Linux avait à offrir dans le domaine de la MAO. Et de toute façon, sur une machine vétuste comme celle que j’avais choisie, c’était probablement la seule solution viable.
La première étape était donc de choisir une distribution. Un premier essai avec Planet CCRMA/Fedora a relativement bien fonctionné, mais il restait trop de petits problèmes dans tous les coins que j’avais la flemme de corriger.
Entre temps j’ai découvert Tango Studio et j’ai décidé de l’essayer. Basée sur une distribution solide (Ubuntu), conçue spécialement pour les musiciens et avec des versions très à jours des principaux logiciels qui m’intéressaient… tout pour plaire!
(Ou presque: l’interface graphique par défaut de Tango Studio est Gnome, qui me semblait trop lourd pour la machine utilisée. Quelques minutes plus tard, XFCE est installé et me voilà prêt à partir pour l’aventure!)
Les connections: JACK
Quand on connaît bien le monde Linux, ce n’est pas une surprise, mais ça peut l’être pour qui vient d’un autre environnement: la MAO sous Linux est complètement modulaire.
Cela veut dire que plutôt que de choisir un logiciel unique (Live, ProTools, Cubase, GarageBand ou que sais-je encore) et de tout faire avec, on va choisir pour chaque tâche un logiciel spécialisé différent. Cela nécessite évidemment une solution pour relier tous ces logiciels entre eux.
Pour celui-ci, le choix s’impose: il s’agit de JACK (pour JACK Audio Connection Kit, dans la plus pure tradition de l’acronyme récursif).
JACK est un démon qui n’a pas besoin d’interface graphique pour tourner, mais qjackctl fournit une interface graphique qui aide bien à mettre les choses en place.
La configuration de JACK mériterait un article à elle toute seule, heureusement de nombreuses personnes y ont déjà pensé et une simple recherche google permet de trouver tous les renseignements nécessaires. Le gros enjeu pour une situation live est d’obtenir une latence très basse (C’est très perturbant de jouer une note et de l’entendre sortir de sa sono 1/2 seconde plus tard).
Soyons francs: les premiers essais étaient peu concluants. Pas moyen d’obtenir une latence raisonnable sans perdre régulièrement des échantillons (X-runs, dans le jargon de la MAO Linux), ce qui se traduit par des “clics” désagréables dans le son.
Puis j’ai compris: Tango Studio est livré avec un noyau low latency par defaut. Ce choix est peut-être justifié pour des machine récentes, mais sur un vieux coucou, un vrai noyau real time s’impose.
Une fois un tel noyau installé (on le trouve maintenant dans le dépôts de Tango Studio, ça devrait donc être facile à faire) et après un peu de recherche sur les paramètres, surprise: j’arrive à obtenir un système très stable avec une latence extrêmement faible de 4ms!
En d’autres termes, l’inévitable retard dans le son que son détour par l’ordinateur introduit est ramené à une valeur suffisamment basse pour être imperceptible.
Conclusion provisoire
À ce stade, on ne peut pas faire grand chose d’autre que de faire passer le son par l’ordinateur… ça ne valait pas l’effort! Il faudra maintenant choisir des logiciels qui vont effectivement traiter le son d’une manière ou d’une autre. Ce sera le sujet de mon prochain article sur la question.
Mais j’aimerais déjà relever que demander à une vieille bécane à 1.4Ghz de traiter 2 x 48'000 échantillons de 24 bits par seconde, en assurant une latence de 4ms au maximum et sans en perdre un seul… c’est assez impressionnant!
Et comme finalement le but de tout ça, c’est de faire de la musique, voici déjà un petit exemple du genre de résultat obtenu: