Chargement...
 
Skip to main content

Historique: Paramétrage d'une station audio-numérique professionnelle

Aperçu de cette version: 22



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 de Pipewire (déjà traités Ici - Configurer LinuxMint Zena pour la Mao) 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



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 6.15.2-1 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 :
Htop

On peut observer deux choses : la première est que mon CPU dispose de 8 cœurs numéroté de 0 à 7, et que les zones 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 les logiciels 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 Configurer LinuxMint Zena... (voir plus haut)
Éditez le fichier suivant :
Copy to clipboard
/home/synth/.config/pipewire/pipewire.conf.d/audio-low-latency.conf

et ajoutez les lignes suivantes à la fin du fichier :
  1. Configuration spécifique au thread de traitement audio
Copy to clipboard
thread.name = "audio-thread" thread.priority = 95 # Priorité temps réel élevée thread.cpu-affinity = [0] # Force l'exécution sur le ou les cœurs isolés

ou thread.cpu-affinity = 0,1,2 selon le cas un ou trois cœurs. (A nouveau, il s'avère que pour ma part un seul cœur suffit).

Maintenant, il nous faut surcharger les fichiers systemd qui concernent pipewire et wireplumber afin de forcer pipewire à utiliser le cœur que nous lui avons réservé. Créons dans le .config des dossiers spécifiques :
Copy to clipboard
mkdir -p ~/.config/systemd/user/pipewire.service.d

ensuite créons un fichier :
Copy to clipboard
nano ~/.config/systemd/user/pipewire.service.d/override.conf

dans lequel il faudra ajouter ces lignes
Copy to clipboard
[Service] CPUAffinity=0 LimitMEMLOCK=infinity LimitNPROC=infinity

Même chose pour wireplumber :
Copy to clipboard
mkdir -p ~/.config/systemd/user/wireplumber.service.d

puis
Copy to clipboard
nano ~/.config/systemd/user/wireplumber.service.d/override.conf

en collant exactement les même lignes.
On redémarre systemd et pipewire:
Copy to clipboard
systemctl --user daemon-reload systemctl --user restart pipewire wireplumber


Après cela on peut vérifier que systemd à bien pris en compte ces modifications :
Copy to clipboard
systemctl --user cat pipewire.service

idem pour wireplumber.

Et maintenant.


Selon votre machine avec Cable, prenez soin d'observer quels sont les valeurs de quantum qui vous donne le moins de latence et sans Xrun. Pour ma part c'est 64/48000 pour 1.3 ms de latence. Testez cela avec Ardour.
Mon fichier de configuration dans ./config/pipewire... est le suivant :
Copy to clipboard
context.properties = { default.clock.rate = 48000 default.clock.allowed-rates = [ 44100 48000 88200 96000 ] default.clock.quantum = 64 #par défaut default.clock.min-quantum = 32 #au minimum default.clock.max-quantum = 512 # au maximum } #Configuration spécifique au thread de traitement audio thread.name = "audio-thread" thread.priority = 95 # Priorité temps réel élevée thread.cpu-affinity = [0] # Force l'exécution sur les cœurs isolés

Ces valeurs dépendent de votre machine.

Ce n'est pas tout


Prenons l'exemple de Ardour avec 4 pistes bien cossues et des plugins en veux tu en voilà. Les performances et les Xrun vont s'aligner. Pipewire n'est pas en cause. Mais vous risquez de voir le système partir en vrille. Là c'est un système de travail qui est en cause. En monitorant ce qu'il se passait, mon cœur 4 ou des fois 5 arrivait à saturation alors que le 6 et le 7 ne travaillait pas. Pourquoi ? Aucune idée. Mais la question qui s'est posée est la suivante :
Puis-je assigner des cœurs à un logiciel spécifique. La réponse est oui.
Par exemple pour Ardour il suffit de le lancer dans le terminal ainsi :
Copy to clipboard
taskset -c 1-5 ardour

ce qui fait tourner Ardour sur 5 coeurs. Et c'est nettement mieux. Mais gardez en pour les processus systèmes. Cette procédure est valable quel que soit le logiciel utilisé.

A vous d'essayer les paramètres qui conviennent le mieux à votre matériel et votre méthode de travail


Notes :

Allez sur le web et passez un truc youtube. Après avoir lancé pw-top dans un terminal. Arrêtez la vidéo. Et lancez Ardour. Oh surprise votre quantum reste bloqué au maximum que vous avez déterminé. 1024 par défaut ou 512 dans mon cas.
Donc voilà évitez de faire deux choses en même temps ! 😉


  • !Liens et commentaires

Historique

Avancé
Information Version
17:08 bluedid29 remplacement "nano" par "votre-éditeur-de-texte-préféré" 40
Afficher
12:31 bluedid29 Ajout test sur système Mx25.1 Xfce 39
Afficher
Samedi 25 avril 2026 21:33 jujudusud Ajout fil de discussion, corrections des liens. en cours... 38
Afficher
Samedi 25 avril 2026 21:04 pierrelo 37
Afficher
Samedi 25 avril 2026 11:11 pierrelo 36
Afficher
Samedi 25 avril 2026 11:11 pierrelo 35
Afficher
Samedi 25 avril 2026 11:04 pierrelo Modification de l'introduction 34
Afficher
Samedi 25 avril 2026 11:00 pierrelo 33
Afficher
Vendredi 24 avril 2026 17:09 pierrelo 32
Afficher
Vendredi 24 avril 2026 17:08 pierrelo Réarrangement du texte 31
Afficher
Vendredi 24 avril 2026 15:49 pierrelo 30
Afficher
Vendredi 24 avril 2026 15:29 pierrelo 29
Afficher
Vendredi 24 avril 2026 15:06 pierrelo 28
Afficher
Vendredi 24 avril 2026 15:04 pierrelo 27
Afficher
Vendredi 24 avril 2026 14:35 pierrelo 26
Afficher
Vendredi 24 avril 2026 08:59 pierrelo Correction typographique 25
Afficher
Vendredi 24 avril 2026 08:45 pierrelo 24
Afficher
Vendredi 24 avril 2026 08:44 pierrelo Corrections du texte, et ajout du paragraphe Optimisation de la configuration audio : Enregistrement vs Post-production 23
Afficher
Vendredi 24 avril 2026 08:07 pierrelo 22
Afficher
Jeudi 23 avril 2026 17:24 pierrelo 21
Afficher
Jeudi 23 avril 2026 16:53 pierrelo 20
Afficher
Jeudi 23 avril 2026 16:46 pierrelo 19
Afficher
Jeudi 23 avril 2026 16:36 pierrelo 18
Afficher
Jeudi 23 avril 2026 16:35 pierrelo 17
Afficher
Jeudi 23 avril 2026 15:53 pierrelo 16
Afficher
Jeudi 23 avril 2026 15:33 pierrelo 15
Afficher
Jeudi 23 avril 2026 15:26 pierrelo 14
Afficher
Jeudi 23 avril 2026 15:19 pierrelo 13
Afficher
Jeudi 23 avril 2026 14:41 pierrelo 12
Afficher
Jeudi 23 avril 2026 14:39 pierrelo 11
Afficher
Jeudi 23 avril 2026 14:38 pierrelo 10
Afficher
Jeudi 23 avril 2026 11:51 pierrelo 9
Afficher
Jeudi 23 avril 2026 10:47 pierrelo 8
Afficher
Jeudi 23 avril 2026 10:39 pierrelo 7
Afficher
Jeudi 23 avril 2026 10:19 pierrelo 6
Afficher
Jeudi 23 avril 2026 10:17 pierrelo 5
Afficher
Jeudi 23 avril 2026 10:08 pierrelo 4
Afficher
Jeudi 23 avril 2026 08:49 pierrelo 3
Afficher
Jeudi 23 avril 2026 08:40 pierrelo 2
Afficher
Jeudi 23 avril 2026 08:20 pierrelo 1
Afficher