Historique: Auto-dépannage
Aperçu de cette version: 110
note
Hé gamin ! 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.
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
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,...), que tu es sur internet (puisque tu lis cette prose édifiante) et que tes oreilles sont propres.
1er test : 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. Sinon, il est hautement probable que le problème soit soit matériel, soit au niveau du noyau linux et, en particulier, 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.
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.
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.
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 en JACK et Pulseaudio.
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.
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, travaillent. 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 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écrochages", que l'on appelle Xruns : ils se manifestent souvent par des bruits audibles sur ton fichier d'enregistrement, et c'est pas glop !
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.
Jack ne démarre pas
Le Noyau Basse latence
Nous n'en avons pas encore parlé; mais ça peut être important. Pour pouvoir faire de la musique, il vaut mieux que tout le système soit orienté vers le Temps réel (Real Time) surtout si on veux enregistrer. À 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à
note olinuxx : je pense que ce paragraphe concernant le noyau Temps-Réel devrait être décalé bien plus bas car il n'est pas nécessaire (un noyau basse-latence voire un noyau normal fonctionne) et cela dépend vraiment de ce que l'on va faire en MAO.
Dans un premier temps, tu as 3 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 :
- a commande suivante permettra de savoir quelle carte son et/ou interface MIDI est connectée :
Copy to clipboard
cat /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
Première action, tu épluches cette page qui te donnes des infos sur Qjackctl.
Regarde la FAQ jack, qui te donnera tous les détails.
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. A ce moment essayes 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/.
Evidemment, mon_utilisateur est le nom sous lequel tu te connectes !
Jack démarre, mais il n'y a pas de son
Là, on rentre dans le domaine de meterbridge.
Jack démarre, joue du son, mais il y a beaucoup de Xruns
Ton système a du mal à gérer le temps réel.
- Soit ta machine est trop vieille, dans ce cas je te renvoie à la hache de tout à l'heure. 😉
- Soit 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.
- Soit ton système est mal configuré (Temps réel, gestion des autorisations, gestion des interruptions). Je te conseille cette page.
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 utilise Cadence, le pont JACK <-> Pulseaudio est déjà inclus ( sauf si tu l'a compilé toi même )!
Problèmes MIDI
Petite mise au point importante: le MIDI ne produit pas de son par lui même, c'est un code qui permet à plusieurs instruments de musique de communiquer. Un séquenceur comme seq24 doit être interfacé avec d'autres soft producteurs de son ( par exemple qsynth ) pour que tu puisse 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 disponible, et de les modifier à la volée si besoin.
- expliquer la différence entre raw-midi et seq-midi ( si quelqu'un a compris 😀 )
- Certains programmes fonctionnent sur ALSA midi et certains sur JACK midi: or tu vas souhaiter les connecter entre eux: pour cela, il te faut un utilitaire 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 JACK.
Dans Qjackctl, tu as un moyen de le faire automatiquement au démarrage: pour cela, tapes
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.
Conclusion
Hé gamin, ç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.