Skip to main content

Historique: Auto-dépannage

Aperçu de cette version: 162



1. Introduction


Hé toi, joyeux assujetti social ! Le jour est venu ! Tu es sur le point de créer la musique de l'avenir avec ton ordinateur surpuissant, ta carte son zéro latence, et tu es gonflé à bloc. Tu viens d'installer la dernière version de ta distribution GNU-Linux préférée et la musique que tu t’apprêtes à livrer à la postérité va faire ressembler les Dafts Punk à Patrice et Mario chantant "Étoile des neiges" (à moins que ce ne soit le contraire !).

Sauf que, pour l'instant, malgré tes efforts répétés, rien ne sort des tes enceintes qui t'ont coûté un bras, et ça t'énerves !.

Avant de sacrifier à la hache ton matériel si chèrement acquis (mais si, mais si, tu y as pensé, avoues le !), pas de panique, LinuxMao est là pour t'aider à t'en sortir.


 attention
Page en cours d'écriture





2. Y a t'il du son ?


Il y a de nombreuses raisons pour lesquelles le son peut être absent. C'est pourquoi, tu dois procéder par ordre. Nous partons du principe que ton ordinateur fonctionne, que les différents périphériques fonctionnent (carte son interne, enceintes, casques,connecteurs,...), que tu es sur internet (puisque tu lis cette prose édifiante) et que tes oreilles sont propres.

Avant toute chose, je te propose de chercher Dogmazic ou Soundcloud (ou n'importe quoi qui fait du bruit sur la toile !) sur ton navigateur avec la carte son interne, pour évaluer si ton système gère le son correctement. Si tu passes ce test avec succès, tu es sûr que tout est en place et tu peux passer au chapitre suivant. Sinon, il est hautement probable que le problème soit soit matériel, soit au niveau du noyau linux et, en particulier, d'ALSA.

ALSA
ALSA est, comme c'est indiqué dans cette page une collection de pilotes de cartes sons PCI, USB et autres, ainsi qu'un serveur son/couche multimédia. Mais ALSA ne fait pas tout : en particulier, il ne gère pas suffisamment pour nous, utilisateurs "MAO", les relations entre différents logiciels.


2.1. La carte son


Malheureusement, toutes les cartes sons ne marchent pas sous linux. Le geste qui sauve est de taper sur ton navigateur le nom de ta carte son et linux, et tu auras rapidement une réponse.
Le problème est quelquefois lié à la cohabitation de plusieurs cartes son: la carte interne, souvent limitée et une carte en plus plus orientée MAO. La cohabitation des 2 est quelquefois problématique, en particulier leur ordre de préséance doit quelquefois être fixé.

2.2. La connexion


De nombreuses connexions existent (PCI, USB, Firewire, Thunderbolt,PC Card...) , malheureusement elle ne sont pas toujours supportées par linux ( Thunderbolt par exemple) , et là encore, toutes les cartes ne marchent pas forcément. Rappelle toi qu' internet est ton ami.

Note importante: si tu as une carte son Firewire (port IEEE 1394), il te faudra utiliser FFADO à la place d'ALSA. Je te conseille de lire cette page.

2.3. Le démon ALSA


Une commande intéressante, quand ça ne marche pas, et de voir si les modules associés au démon ALSA sont chargés. La commande est
Copy to clipboard
lsmod|grep snd

  • lsmod te parles des modules chargés par le noyau linux
  • | est un "pipe", c'est à dire une redirection.
  • grep snd recherche tout les éléments de texte dans lesquels on retrouve le mot "snd"

2.4. En pratique


On récapitule : pas de son. Il est possible de lever le doute sur ton matériel en essayant une distribution "live" sur un CD ou une clé USB (ubuntustudio, Kxstudio,LibraZik, ou une autre distrib' live généraliste).

En effet, si, avec une distribution live, en essayant le navigateur et dogmazic (par exemple) tu n'as toujours pas de son, alors c'est, à priori, un problème matériel physique, ou bien de reconnaissance d'un matériel (au niveau noyau, pilote ALSA, ...). Tu peux aiguiser la hache ! 😀

Dans le cas contraire, tu as du son, c'est ta configuration qui plante. Un conseil est de réinstaller le tout, après avoir sauvegardé ce qui est important évidemment, parce que, réparer une config se finit souvent en prise de tête, et tu auras plus vite fait de réinstaller.

Mettons que tu ne veux/peux pas réinstaller, alors, il faut chercher ALSAMixer, parce qu'il est possible que ta carte son interne soit muette. Je te laisse lire la page ALSAMixer correspondante pour dénouer ton problème. Sinon, tu as aussi une page dédiée au dépannage d'ALSA.

Enfin, tu as le forum qui te permettra d'avancer dans les problèmes d'ALSA non abordés ici.



3. Il y a du son !


Ok, on sait que le système marche. Il ne reste plus qu'à faire de la musique. Pour cela, tu as grandement intérêt à utiliser JACK.


JACK
JACK est un serveur de son temps-réel pensé pour la basse-latence. Il nous intéresse particulièrement pour la production musicale, mais la plupart des utilisateurs de GNU-linux ne fabriquant pas de musique, Pulseaudio (ou autre) leur est bien plus utile.


Pulseaudio
Pulseaudio est un serveur de son généraliste. Son domaine de compétence est de gérer le son, gérer une partie des périphériques et les programmes pour écouter simplement ta musique préférée, produire les sons système,...etc



En gros, si tu veux écouter dogmazic sur ton laptop, Pulseaudio est suffisant, mais si tu veux faire de la musique, JACK est très conseillé. Nous verrons plus tard qu'il existe des passerelles entre JACK et Pulseaudio.



4. Hit the road, Jack


Donc, tu veux faire fonctionner jack. Sauf que tu es légitimement inquiet quand on t'explique qu'il y a 2 Jack (Jack1 et Jack2), et qu'il y a plein d'interfaces disponibles (Qjackctl, Catia, Claudia, Patchage, Gladish,...). C'est normal, c'est le libre, l'émulation est encouragée, et plusieurs projets peuvent être similaires.

4.1. Latence et désynchronisations


Pour enregistrer de la musique, tu auras besoin d'une latence convenablement faible. Plus la latence est faible, plus l'ordinateur, en particulier le processeur principal, travaille. Une latence supérieure à 10 ms renvoie un décalage audible entre le son enregistré et le son joué, ce qui n'est pas envisageable pour être à l'aise lors de la phase d'enregistrement. Mais une latence trop faible t'occasionnera des désynchronisations (Xruns). Chaque élément de ton ordinateur (mémoire vive, disque dur, carte graphique, processeur, interruptions,...) influe sur la latence.


Les Xruns
Lorsque ton système est trop sollicité, il risque des désynchronisations (en anglais, Xruns) qui se manifestent souvent par des bruits audibles sur ton fichier d'enregistrement, et c'est pas glop. Tu peux voir les Xruns en rouge sur l'écran principal de Qjackctl.  !



Tu sais, lorsque tu regardes une vidéo quelconque sur la toile, périodiquement une pub qui s’intercale et prends la main. Quand c'est un streaming, c'est juste odieux, mais quand tu enregistres "Get Lucky", ça te flingue ta cession. Pour éviter ça, la plupart des logiciels de MAO sont conçus pour ne pas être interrompus: on appelle ça la gestion du temps réel. Ça ne marche pas toujours aussi bien qu'on le voudrait, alors il y a apparition de désynchronisations.


4.2. On y va !


Tu as donc installé JACK, et ses dépendances. Peu importe que tu aies installé JACK1 ou JACK2, les différences ne sont pas très importantes à ce niveau. Pour l'interface, on va se focaliser sur Qjackctl, il sera facile de passer à une autre interface, si tu le souhaites.

Le cœur plein d'espoir et la larme à l’œil, après avoir récité dix fois la page jack premier lancement, tu t’apprêtes à appuyer sur le bouton "Démarrer" de QjackCtl.



5. Jack ne démarre pas



Dans un premier temps, tu as quelques commandes sur un terminal qui te donneront des informations. C'est important car, si tu poses des questions sur le forum, on te demandera les résultats de ces commandes :


5.1. La ligne de commandes


Sous linux, tu n'échappes pas longtemps à la ligne de commande dans un terminal 😉

  • la commande suivante permettra de savoir quelle carte son et/ou interface MIDI est connectée :
    Copy to clipboard
    cat /proc/asound/cards
  • la commande :
    Copy to clipboard
    aplay -l
    liste les cartes sons disponibles pour ALSA sur ton système.
  • la commande -=lsusb+- liste les composants USB (si tu as une carte son usb) :
    Copy to clipboard
    sudo lsusb
    ou lspci liste les composants PCI (si tu as une carte son PCI) :
    Copy to clipboard
    lspci
  • tu peux faire aussi
    Copy to clipboard
    dmesg|less
    • dmesg te donne les log de démarrage de ta machine,
    • | est un "pipe" qui dirige le flux vers le programme suivant, en l’occurrence "less"
    • less te permet de naviguer plus facilement dans le flux en question.
Essaye de voir si ALSA ou ta carte son apparaît dans les messages.

5.2. Les autres aides


Tu peux aussi éplucher cette page qui te donnes des infos sur Qjackctl.

Regarde la FAQ jack, qui te donnera tous les détails.

Enfin, jack te parle peut aussi te donner des indications.



6. Jack a démarré, mais ne démarre plus


Pour des raisons inconnues, il arrive que le fichier config de Qjackctl soit corrompu et ne permette plus de démarrer. À ce moment, essaye de le renommer (l'effacer peut être dommageable si le problème est ailleurs). Il doit se trouver dans : /home/mon_utilisateur/.config/rncbc.org/.

Évidemment, mon_utilisateur est le nom sous lequel tu te connectes !



7. Jack démarre, mais il n'y a pas de son


Si JACK démarre, le son passe. Maintenant il te faut le retrouver dans les tuyaux: là, on rentre dans le domaine de meterbridge.



8. Jack démarre, joue du son, mais il y a beaucoup de désynchronisations



Il faut avoir le moins possible de désynchronisations, voire par du tout. Dans le cas contraire, il y a quelques mesures à prendre.

Le noyau basse-latence
Nous n'en avons pas encore parlé, mais ça peut être important. Pour faire de la musique, surtout si on veut enregistrer, cela t'aide à favoriser le "temps réel" (Real Time). À ce moment là, c'est préférable quand le noyau est prévu pour, et qu'un certain nombre de dispositions sont prises. C'est expliqué



8.1. Configuration du système


Soit ton système est mal configuré (Temps réel, gestion des autorisations, gestion des interruptions). Je te conseille cette page.

8.2. Trop de travail


Si ton système est trop gourmand (Gnome3, KDE, nombreux services comme l'impression, le wifi, un serveur internet, une appli qui fait le café,....). Tu as intérêt à éliminer tout programme qui ne te sert à rien. En premier lieu, il vaut mieux prendre un gestionnaire de fenêtres peu gourmand en ressources (XFCE, LXDE,..). Ensuite, il faut desactiver les services inutiles dont tu n'as pas l'usage. Les utilisateurs d'Ubuntu peuvent mettre à profit cette page.

8.3. C'est l'age


Si ta machine est vieille, n'a pas beaucoup de ressources ( mémoire vive, disque dur, swap,...). Une des plus grandes forces de Linux est de ne pas tomber dans l'obsolescence programmée. Tu peux faire tourner des machines de 15 ans d'age avec les logiciels les plus récents. Des distributions de type minilinux sont prévues pour ce genre de machine. Mais tu ne pourras jamais battre des records avec une caisse à savon 😊. Tu peux envisager d'utiliser un soft peu gourmand en ressource comme ecasound . Une autre option est d'utiliser cet ordinateur comme expandeur dans une configuration plus large, par exemple sur un réseau. Cela diminue la charge du plus gros ordinateur et le petit ordinateur garde une utilité.


9. Jack et Pulseaudio (sont dans un bateau ! )


Qu'est ce qui se passe si tu veux faire tourner JACK pour créer cette symphonie que le monde attend, et écouter dogmazic sur Firefox (qui préfère Pulseaudio) en même temps ? Bonne nouvelle ! Tu peux faire cohabiter JACK et Pulseaudio ! Tout est expliqué dans cet article.

Si tu utilises Cadence, le pont "JACK <-> Pulseaudio" est déjà inclus (sauf si tu l'as compilé toi même) !



10. Le MIDI



Petite mise au point importante : le MIDI ne produit pas de son par lui même, c'est un code qui permet à plusieurs machines et/ou logiciels de communiquer des informations liées à du son. Un séquenceur comme seq24 doit être interfacé avec d'autres logiciels produisant du son (par exemple qsynth sur lequel tu auras préalablement chargé une banque de son) pour que tu puisses entendre quelque chose.

Le débogage des informations MIDI est grandement facilité par des utilitaires comme Qmidiroute.
Ce dernier permet d'afficher les informations MIDI disponibles, et de les modifier à la volée si besoin.

Certains programmes fonctionnent sur ALSA-midi et certains sur JACK-midi: or tu souhaiteras certainement les connecter entre eux : pour cela, il te faut lancer un démon en ligne de commande : a2jmidid.

Après avoir lancé Jack, tu tapes sur un terminal :

Copy to clipboard
a2jmidid -e

ou
Copy to clipboard
a2j -e

et miracle, tu pourras les connecter ensemble par l'entremise de Qjackctl ou autres.

Dans Qjackctl, tu as un moyen de le faire automatiquement au démarrage : pour cela, tape
Copy to clipboard
a2jmidid -e &
dans la ligne "after start-up" dans la partie "Setup > Options de QJackCtl", comme ça, il démarre automatiquement quand JACK démarre.



11. Conclusion


Ça y est, ton système est opérationnel. Si, malgré nos conseils, ton système ne fonctionne pas, il ne te reste que 2 options :
  • soit tu t'immoles par le feu, mais quelqu'un devra nettoyer et c'est moche !
  • soit tu poses ta question sur le forum, en essayant d'être précis (quelle distribution, quel matos, quel soft, quel problème,...?) et la communauté se fera un plaisir de tenter d'y répondre.



12. Liens et commentaires


Historique

Information Version
Thu 25 Jun 2020 13:52 olinuxx suppression bandeau "en cours d'écriture" 207
Afficher
Thu 25 Jun 2020 13:43 olinuxx 206
Afficher
Thu 25 Jun 2020 10:43 tenryu Rajouté le script realtimeconfigquickscan du forum anglophone Linux Musician 205
Afficher
Thu 07 Sep 2017 23:47 olinuxx 204
Afficher
Thu 07 Sep 2017 23:06 olinuxx page intégrée + pose d'un alias + mise en page/cohérence wiki 203
Afficher
Mon 29 mai 2017 13:20 olinuxx angliscismes + ponctuations 202
Afficher
Sun 28 mai 2017 17:59 tenryu 201
Afficher
Sun 28 mai 2017 17:58 tenryu 200
Afficher
Sun 28 mai 2017 17:56 tenryu 199
Afficher
Sun 28 mai 2017 17:55 tenryu 198
Afficher
Tue 21 Mar 2017 18:56 tenryu 197
Afficher
Tue 21 Mar 2017 16:59 tenryu 196
Afficher
Tue 21 Mar 2017 16:58 tenryu 195
Afficher
Tue 21 Mar 2017 16:58 tenryu 194
Afficher
Tue 21 Mar 2017 16:57 tenryu 193
Afficher
Tue 14 Mar 2017 12:17 tenryu 192
Afficher
Tue 14 Mar 2017 12:16 tenryu 191
Afficher
Tue 14 Mar 2017 12:15 tenryu 190
Afficher
Tue 14 Mar 2017 12:13 tenryu 189
Afficher
Tue 14 Mar 2017 12:01 olinuxx 188
Afficher
Tue 14 Mar 2017 12:00 olinuxx + corrections + mise en page 187
Afficher
Tue 14 Mar 2017 11:52 tenryu 186
Afficher
Tue 14 Mar 2017 11:39 tenryu 185
Afficher
Tue 14 Mar 2017 11:38 tenryu 184
Afficher
Tue 14 Mar 2017 11:34 tenryu 183
Afficher
Tue 14 Mar 2017 11:32 tenryu 182
Afficher
Tue 14 Mar 2017 11:31 tenryu 181
Afficher
Tue 14 Mar 2017 11:29 tenryu 180
Afficher
Tue 14 Mar 2017 11:26 tenryu 179
Afficher
Tue 14 Mar 2017 11:24 tenryu 178
Afficher
Tue 14 Mar 2017 11:23 tenryu 177
Afficher
Tue 14 Mar 2017 10:39 tenryu 176
Afficher
Tue 14 Mar 2017 10:39 tenryu 175
Afficher
Tue 14 Mar 2017 10:37 tenryu 174
Afficher
Tue 14 Mar 2017 10:37 tenryu 173
Afficher
Tue 14 Mar 2017 10:33 tenryu 172
Afficher
Tue 14 Mar 2017 10:33 tenryu 171
Afficher
Tue 14 Mar 2017 10:31 tenryu 170
Afficher
Mon 13 Mar 2017 13:55 olinuxx 169
Afficher
Mon 13 Mar 2017 13:16 olinuxx 168
Afficher
Mon 13 Mar 2017 13:15 olinuxx 167
Afficher
Mon 13 Mar 2017 13:15 olinuxx mise en page 166
Afficher
Mon 13 Mar 2017 13:12 olinuxx correction + rédaction + mise en page 165
Afficher
Mon 13 Mar 2017 00:27 tenryu rajouter de vitesse 164
Afficher
Sun 12 Mar 2017 18:16 tenryu 163
Afficher
Sun 12 Mar 2017 18:16 tenryu 162
Afficher
Sun 12 Mar 2017 18:13 tenryu 161
Afficher
Sun 12 Mar 2017 18:12 tenryu 160
Afficher
Sun 12 Mar 2017 18:12 tenryu 159
Afficher
Sun 12 Mar 2017 18:05 tenryu 158
Afficher