Historique: Paramétrage d'une station audio-numérique professionnelle
Aperçu de cette version: 15
note
Cette page présente le paramétrage avancé d'une station audio-numérique professionnelle. Nous tâcherons de l'expliquer de manière simple et accessible, même pour un débutant. Nous ne reviendrons pas sur les paramétrages de base (déjà traités Ici - Configurer LinuxMint Zena pour la Mao) de Pipewire mais nous en affinerons certains, notamment l'attribution des coeurs du CPU à l'audio. Il fait suite à ces pages de discussion : ici.
Cet article se propose de répondre à la question suivante :
Nous disposons aujourd'hui de CPU à plusieurs cœur, est-il possible d'attribuer une fonction spécifique à certains de ces cœurs ?
Est il possible d'assigner des cœurs aux applications tels que Ardour, Muse, Qtractor etc... ?
La réponse est oui pour les deux questions. L'article pourrait s'arrêter là.
.....Mais nooooon je ne vais pas vous faire languir.
attention
Page en cours d'écriture
Table des matières
Le matériel dont nous disposons
Le matériel dont nous disposons est le suivant :1) PC processeur Intel 8 cœurs, 16 Gb de RAM, disque SSD
2) Carte son externe Behringer UMC1820, 8 entrées, 96 kHZ (testé aussi sur une UMC 404HD, 4 entrées, 192 kHz )
3) Noyau liquorix installé.
Quelques considérations préliminaires
Concernant l'interface audio, il est inadéquat de baser la configuration système sur la résolution native de 24 bits/96 kHz spécifiée par le constructeur. Ce paramètre reflète uniquement les capacités de traitement interne du matériel, ex : UMC 1820, et n'établit aucune corrélation directe avec les performances d'échantillonnage exploitables par le système hôte c'est-à-dire votre PC.Cela est d'autant plus pertinent que ce périphérique agit principalement comme un convertisseur transparent et un préamplificateur en entrée. Sa fonction n'est pas de traiter ou de modifier la résolution du flux, mais de transcrire fidèlement le signal analogique vers le domaine numérique (USB) selon le format demandé par l'hôte. La conversion Analogique/Numérique s'adapte donc dynamiquement à la fréquence d'échantillonnage définie par le PC, indépendamment de sa capacité maximale interne.
Prérequis et outils de diagnostic
Pour suivre ce tutoriel et analyser les performances du système, les utilitaires suivants sont requis :
- Éditeur de texte: Pour la modification des fichiers de configuration.
- pw-top : Outil de supervision dédié à PipeWire, permettant d'inspecter en temps réel les nœuds audio, les débits et les états de flux.
- htop : Moniteur de processus interactif pour visualiser la charge individuelle de chaque cœur du processeur et identifier les goulots d'étranglement lors du traitement audio.
- Cable : permettant de modifier le quantum (taille du tampon) et d'ajuster la résolution (fréquence d'échantillonnage) du système hôte.
- Raysession Interface graphique de routage permettant de reconfigurer la topologie audio
- Ardour : Station de travail audio numérique (DAW) utilisée comme charge de travail de référence pour évaluer la stabilité du système, la latence effective et le comportement global après l'application des réglages.
Évaluation des cœurs CPU à votre disposition
Pour cela, il suffit d'installer (s'il ne l'est pas), puis d'exécuter htop dans un terminal
Copy to clipboard
sudo apt install htop # et pour l'exécution dans un terminal htop
Et vous obtenez quelque chose comme cela. Entouré de rouge la partie qui nous intéresse :
On peut observer deux choses : la première est que mon CPU dispose de 8 cœurs numéroté de 0 à 7, et que la zone 0 et 5, 6,7 sont au repos et que celles qui sont actives correspondent à mon navigateur web, gimp et kate. Comment je le sais ? Ce sont que j'utilise présentement pour écrire cet article.
Concernant Pipewire, la tentation est grande de se dire qu'il serait judicieux d'attribuer 4 cœurs à pipewire. Oui... mais non. Après plusieurs essais 1 seul cœur suffit pour ma machine. Il n'est jamais saturé.
Donc, je vais dire au chargement de mon noyau de réserver le cœur 0 que j'attribuerais par la suite à pipewire :
Copy to clipboard
sudo nano /etc/default/grub
et remplacer la ligne suivante :
Copy to clipboard
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash threadirqs"
par celle-ci
Copy to clipboard
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash threadirqs isolcpus=0 nohz_full=0 rcu_nocbs=0"
Après l'enregistrement du fichier grub, ne pas oublier de faire :
Copy to clipboard
sudo update-grub
Si vous souhaitez attribuer plus de cœurs à pipewire, disons 3, la ligne s'écrira ainsi :
Copy to clipboard
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash threadirqs isolcpus=0-2 nohz_full=0-2 rcu_nocbs=0-2"
Il est judicieux après le grub-update de redémarrer l'ordinateur. Relancez htop et vous verrez que le coeur 0 ou 0,1,2 sont inutilisés. C'est le cas pour moi avec le coeur 0 que je vais attribuer à pipewire.(voir l'image plus haut).
Après cela, on suppose que pipewire est déjà configuré comme décris dans l'article au début.
- !Liens et commentaires