Historique: Auto-dépannage
Aperçu de cette version: 162
note
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
Table des matières
- 1. Introduction
- 2. Y a t'il du son ?
- 3. Il y a du son !
- 4. Hit the road, Jack
- 5. Jack ne démarre pas
- 6. Jack a démarré, mais ne démarre plus
- 7. Jack démarre, mais il n'y a pas de son
- 8. Jack démarre, joue du son, mais il y a beaucoup de désynchronisations
- 9. Jack et Pulseaudio (sont dans un bateau ! )
- 10. Le MIDI
- 11. Conclusion
- 12. Liens et commentaires
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
-
lsmodte parles des modules chargés par le noyau linux - | est un "pipe", c'est à dire une redirection.
-
grep sndrecherche 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 clipboardcat /proc/asound/cards
- la commande : liste les cartes sons disponibles pour ALSA sur ton système.Copy to clipboardaplay -l
- la commande -=lsusb+- liste les composants USB (si tu as une carte son usb) : ou lspci liste les composants PCI (si tu as une carte son PCI) :Copy to clipboardsudo lsusbCopy to clipboardlspci
- tu peux faire aussi Copy to clipboarddmesg|less
-
dmesgte donne les log de démarrage de ta machine, - | est un "pipe" qui dirige le flux vers le programme suivant, en l’occurrence "less"
-
lesste permet de naviguer plus facilement dans le flux en question.
-
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é là
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 &
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.