Papilinux mon apprentissage de Linux un noyau rt pour utilister ardour ?

un noyau rt pour utilister ardour ?

Ubuntu focal fait swinger

multimédia ogg

Ma version d'ubuntu 20.04 sans noyau RT

Le noyau rt ou temps réel est ( ce que j’ai cru pendant longtemps) un élément technique important pour qui souhaite se lancer dans la musique assistée par ordinateur ( mao ). En gros, il va rajouter une couche entre le matériel et le noyau afin de limiter la latence lors des interruptions de taches. Je met à disposition des documentations vous permettant de mieux appréhender la notion de noyau en temps réel :

Introduction aux aspects temps réel dans les Os ( présentation réalisée par Stéphane Lavirotte )

Conception d’un noyau temps réel préamptif ( document réalisé par Lanteri Isabelle )

Mais dans mon cas précis j’utilise ubuntu en version FOCAL ( 20.04 LTS ). Qui n’a pas de noyau temps réel; J’ai quand même essayé de me monter mon studio numérique. Afin de voir si j’arrive à avoir des performances correctes.

 

De quoi ai-je besoin pour ma configuration ?

Une carte son

J’ai depuis un petit moment une carte son internet en pci : une soundblaster serie Z qui est reconnu et avec lequel je peux enfin enregistrer en spdif mon synthétiseur Korg Kronos.

J’utilise les drivers recon3d, qui fonctionne bien pour faire de l’écoute de son depuis le pc. Mais niveau enregistrement j’ai beaucoup de latence. En effet n’ayant pas drivers optimisés pour ce matériel cela ne m’étonne pas.

Par chance le korg kronos est reconnu, du coup il faut le configurer dans cadence j’y reviendrais plus tard. Et la je retrouve une bonne latence, suffisament pour travailler en temps réel !

L'installation des logiciels

Le serveur Audio Jack : jack1 ou jack 2 ?

Cela n’a pas été simple de choisir, car il est difficile de trouver un tuto à jour, n’aller pas lire les documentations du wiki d’ubuntu, a part pour essayer de comprendre ce qu’est un serveur audio il ne sont plus mis à jour. Pour faire court c’est ce qui permet au système de gérer les flux entre les logiciels et le Hardware.

j’étais confronté à deux versions de jack et j’avoue je n’ai pas tout de suite compris la différence. J’ai toujours installé jack 1 sans me poser trop de question puisque je suivais aveuglément des tutos ! 

C’est en écrivant cet article que je suis tombé sur un autre billet qui m’a fait comprendre. En fait les 2 fonctionnent mais apportent leurs particularités. Voyez donc par vous même, je vous ai traduit une explication récupérée sur le site Github :

 Jack 1 et Jack 2 sont des implémentations équivalentes du même protocole. Le Jack 2 a été écrit à l’origine pour ajouter le support multiprocesseur et pour réécrire les internes en utilisant le C++. Les programmes compilés contre le Jack 1 fonctionneront avec le Jack 2 sans recompilation (et vice versa).

 Le Jack 2 était initialement prévu pour remplacer le Jack 1, mais ce n’est plus le cas et ils sont considérés comme des implémentations équivalentes.

 JACK est une API C, et donc la réécriture C++ dans Jack 2 n’a d’importance que pour les personnes qui programment Jack.

FeatureJack 1Jack 2
Implements the JACK C APIYesYes
Supports multiple processors (SMP)NoYes(1)
autoriser apps à se connecter/dé déconnecter sans interruption audioNoYes
Interaction avec PulseAudio sur Linux à partager la carte sonNo(6)Yes
 support DBUSNo(6)Yes
Peux etre utiliser WalkThrough_Dev_NetOneYesYes
Peux etre utiliserWalkThrough_User_NetJack2NoYes
sous dévellopement activeYes(7)Yes
Supports Linux/*nix/POSIX OS’sYesYes
Supports OS XYesYes(4)
Supports WindowsNoYes(5)
Supports Solaris/OpenSolarisYes?Yes
supports pour >1 soundcard on LinuxYesNo
Supports metadata APIYesYes
integration de Linux MIDIYesNo
integration de CoreMIDI (OS X)NoYes

 

Différence entre Jack 1 et 2

Bon du coup je suis parti pour installer jackd2. En outre parce que j’ai un Ryzen 5 2600 8 core, cela corresponds plus à mon architecture matériel.

Donc ce qui fait que je me retrouve avec 2 jackd !  Je ne préfére pas désinstaller jackd 1 car j’ai déjà eu des soucis lors de désinstallations de logiciels. je ne sais pas encore faire un apt remove en indiquant que je ne veux pas qu’il désinstalle les paquets commun entre jack et le système !

Les choix sont faits : passons à l'installation

Installation de jack et autres paquets

Pour vous créer la liste des paquets installés que j’ai utilisé j’ai utilisé la commande suivante :

papilinux@papilinux-System-Product-Name:~$ dpkg -l ‘*jack*’ | grep ‘ii’ > jack2.txt

iialsaplayer-jack0.99.81-2build2amd64alsaplayer output module for JACk
iijack-capture0.9.73-3amd64program for recording soundfiles with jack
iijack-delay0.4.2-1build1amd64JACK latency meter
iijack-rack1.4.8~rc1-2ubuntu4amd64LADSPA effects rack for JACK
iijack-stdio1.4-1build2amd64program to pipe audiodata from and to JACK
iijack-tools20131226-1build4amd64various JACK tools
iijackd5+nmu1allJACK Audio Connection Kit
iijackd21.9.12~dfsg-2ubuntu2amd64JACK Audio Connection Kit
iijackeq0.5.9-3amd64routes and manipulates audio fromto multiple sources
iijackmeter0.4-1build2amd64a basic command line meter for the JACK audio system
iilibjack-jackd2-0:amd641.9.12~dfsg-2ubuntu2amd64JACK Audio Connection Kit
iipulseaudio-module-jack1:13.99.1-1ubuntu3.2amd64jackd modules for PulseAudio sound server
iiqjackctl0.5.0-1ubuntu2amd64User interface for controlling the JACK sound server

Vous allez maintenant créer un document texte

  1. crtl+alt+t pour ouvrir un terminal
  2. taper touch jackd2.txt ( créer un nouveaux doc )
  3. puis nano jackd2.txt et insérer les paquets de la deuxieme colonne
  4. enregerister avec ctrl+x taper o pour enregistrer puis au retour du prompt tapez :
  5. dpkg --set-selections < jackd2.txt
Installation de Cadence

Pour la suite j’utilise Cadence, c’est une interface graphique qui va permettre de démarrer le serveur audio jack, de faire la liaison avec pulseaudio, de configurer votre carte son, de faire les branchement nécessaire pour entendre le retour de ce que vous jouer avec vos instruments connectés mais aussi de gérer les vsts et encore pleins de petites applis. Ces paquets peuvent être lancer depuis votre desktop ou votre terminal.

Pour son installation  :

il faut dans un premier temps activer les dépôts KXSTUDIO :

papilinux@papilinux-System-Product-Name:~$  wget https://launchpad.net/~kxstudio-debian/+archive/kxstudio/+files/kxstudio-repos_10.0.3_all.deb

papilinux@papilinux-System-Product-Name:~$ sudo dpkg -i kxstudio-repos_10.0.3_all.deb

J’ai utilisé la doc qui se trouve sur le site de kxststudio sur ubuntu 20.04 lts je n’ai pas eu à faire les deux premières lignes.

J’ai ensuite procédé à une installation en règle de Cadence par un sudo apt install cadence.

Installation d'ardour 5

Il me reste plus qu’à installer ardour 5 : apt install ardour

et me voilà avec une version 5.12.

Retour d'expérience d'ardour sans noyau rt

Au final pas besoin d’installer un noyau rt pour faire de la musique. J’ai eu de très bon résultat, une latence plus que correct sur le retour. c’est à dire que lorsuqe je veux écouter ce que je joue en temps réel sur mon synthé je n’ai aucun décalage, trés peu de décrochage (xrun). cela m’arrivait que lorsque le son était trop fort. 

Par contre cela dépends de votre carte son, dans le cas ou vous ne voulez pas investir dans une carte son et utiliser celle intégrée à la carte mère il fuadrait envisager un noyau rt. Je n’ai pas essayé.

J’ai configuré cadence pour que cela soit le korg kronos qui serve de carte son. Je ferais sûrement une vidéo pour vous montrer comment faire.

Une fois la prise en main passée j’ai pu créé une petite réalisation sonore, ambiance techno. J’ai eu un plantage au début de jack, et j’ai fait je pense une fausse manip en relancer pulseaudio. Du coup dans Catia ( un module de cadence) je devais refaire les connexions entre les entrées les sorties des différentes pistes. un peu chiant quand même. Mais si je lance une nouvelle session, plus de problème. Et à ce jour je n’ai plus eu de plantage de jack. Les mystères de l’informatique.

Voici le morceau créer avec ARDOUR et un korg kronos et quelques samples, bonne écoute :

 

Leave a Reply

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Related Post

error

Le blog vous plait ? partagez le !