Ubuntu Studio : faire de la MAO sous Linux
Transcription
Ubuntu Studio : faire de la MAO sous Linux
Ubuntu Studio : faire de la MAO sous Linux Voici un post qui vous aidera à vous lancer dans la musique assistée par ordinateur (MAO) sous Linux. Pour ma part, je suis sous Debian, l'une des distributions de Linux, depuis 2006. Auparavant, j'étais sous Fedora, puis encore avant sous Mandriva. Bref, cela fait huit ans au total que j'ai quitté le monde Microsoft, sans aucun regret. Vraiment aucun. Je n'ai plus Windows sur mes machines, depuis longtemps. Je m'en passe très bien. Pour autant, Linux n'est pas forcément aisé à maîtriser : l'apprentissage est long. Encore aujourd'hui, je me considère comme un débutant en la matière. Reste que les améliorations apportées au fil du temps par les membres des communautés du logiciel libre (surtout, ne dites pas gratuit) ont beaucoup fait progresser Linux, en le rendant de plus en plus intuitif, et surtout plus abordable pour les néophytes en informatique. Pour preuve, ce post sur la MAO, en l'occurrence sur Ubuntu Studio, une distribution dérivée de Debian, afin de vous aider, ou d'aider ceux qui souhaitent franchir le pas, à passer sous Linux. Je préviens qu'il vous faudra mettre les mains dans le cambouis... Pourquoi Ubuntu Studio Il y a plusieurs suites Linux dédiées à la MAO. Mais, à vrai dire, je n'ai pas cherché à les essayer. Car Ubuntu Studio avait deux avantages pour moi : un, c'est, dit-on, l'une des plus simples à mettre en oeuvre ; deux, elle est fondée sur Ubuntu, une déclinaison de la distribution Debian, celle que j'utilise au quotidien, avec laquelle j'écris ces lignes. Je vous incite néanmoins à découvrir les différentes suites en vous rendant sur l'excellent site francophone linuxMAO, ici : http://www.linuxmao.org/tikiwiki/tiki-index.php? page=accueil Ce site est une mine d'or, pas seulement pour la découverte. Il m'a, par exemple, été utile pour affiner la configuration du système. Une tâche particulièrement délicate. De plus, l'objectif de ce post n'est pas d'entrer dans le détail d'une distribution Linux. Hardware : les pré-requis Il faut le savoir : on ne peut faire de la MAO sur Linux qu'avec du matériel qui sera reconnu. Les choix sont donc limités et les choses pas aussi simples qu'avec Windows. Une chance : en matière de cartes audio, plusieurs marques de bonne facture fonctionnent très bien avec Linux. Figurent parmi elles RME, Echo, Terratec, Roland et MAudio. Vous pouvez vérifier la compatibilité de votre carte sur le site d'Alsa, ici : http://www.alsa-project.org/main/index.php/Matrix:Main Quant aux interfaces firewire, elles sont gérées par une autre équipe de développeurs, le projet FFADO (Free Firewire Audio Drivers), ici : http://www.ffado.org/ Je ne suis d'aucune aide pour les cartes firewire, car pour ma part, je possède une carte PCI avec rack externe M-Audio Delta 44 (4in/4out). Concernant les interfaces MIDI (Musical Instrument Digital Interface), il faut là aussi vérifier que la vôtre sera reconnue. Les Roland-Edirol comme les M-Audio Midiman fonctionnent très bien sous linux. Mais il n'y pas qu'elles. Pour ma part, je possède une Roland UM-4 (SuperMPU64) reconnue d'office, alors qu'elle ne l'est pas sous Windows Vista et Win 7. => Un lien utile : http://www.linuxmao.org/tikiwiki/tiki-index.php?page=choisir%20une %20carte%20son Installation D'abord, on se rend sur le site d'ubuntu studio pour télécharger le fichier ISO de la distribution, ici : http://cdimage.ubuntu.com/ubuntustudio/releases/10.04/release Choisir la version DVD qui convient à votre machine : i386 pour les PC à base de processeur Intel 32bits AMD64 pour les processeurs 64bits. Certains liens finissent par zsync jigdo... N'y faites pas attention, ce sont des liens pour télécharger le DVD via des utilitaires particuliers. Enfin, vous verrez en haut de la liste des fichiers md5sum ou sha1sum, ils sont destinés à vérifier l'intégrité de l'image ISO téléchargée,avant de la graver.Il faut aussi télécharger le MD5SUMS et le placer dans le même dossier que l'image ISO. => Usage sur Linux : ouvrir un terminal, taper "cd" puis le chemin/du_dossier/où_se_trouve/l'image_ISO et le fichier md5sums. Taper md5sum -c MD5SUMS (nota : si le fichier md5sum est en minuscules, le taper en minuscules) => Usage sur Windows, la commande semble être à peu près la même, mais il faut installer préalablement le soft Md5sum.exe. Une fois ce soft installé, taper dans le prompt DOS : MD5SUM -cv MD5SUMS Attendre un peu, si vous obtenez OK, c'est tout bon, vous pouvez graver le DVD. A défaut, télécharger de nouveau l'image ISO. Supposons que tout baigne, insérer le DVD Ubuntu Studio dans l'ordi, redémarrer la machine. Au lancement, presser Del ou Suppr pour accéder au bios. Dans les options, choisissez de démarrer la bécane sur le CD. Sauvegardez, redémarrez. Suivez ensuite les instructions qui s'affichent à l'écran. Ubuntu va créer une partition pour lui, qui ne détruira pas votre instal Windows si vous en avez une. Au moment de choisir le type de système de fichier, sélectionnez ext4 ou ext3. Le premier a un gros atout : il limite la fragmentation du disque dur, important en audio. Autre options importantes : installer la suite audio et sélectionnez l'option RT ou Realtime, indispensable pour réduire la latence en audio. A l'invite, choisissez un mot de passe root (root veut dire "administrateur de l'ordinateur") que vous noterez soigneusement et rangerez en lieu sûr, au cas où. Faites en sorte que ce mot de passe ne soit pas simple à trouver. Mélangez chiffres, lettres, minuscules et capitales. Quand tout est installé, redémarrez. A la relance, pressez Del ou Suppr pour accéder de nouveau au bios, afin de choisir un démarrage de l'ordi, non plus sur le CD, mais sur le disque dur. Sauvegardez, puis quittez. Redémarrage. Normalement, vous devez vous retrouver face à un bel écran de démarrage sous Ubuntu studio. Avant toute chose, direction là : https://help.ubuntu.com/community/UbuntuStudio Cela permet de découvrir le monde dans lequel vous entrez. Mon propos ne sera toutefois pas de vous apprendre les règles et commandes sous Linux : vous serez de toute façon bien obliger de vous y mettre, à votre rythme, selon vos envies et vos besoins. Sachez néanmoins que le terminal (autrement dit la console) sera souvent votre am : c'est là que vous vous familiariserez avec les fameuses commandes Linux. En outre, il vous sera plus souvent que vous le pensez amener à utiliser votre mot de passe, pour opérer des changements dans le système. Ca vous changera de Windows. Pour vous aider à découvrir comment fonctionne votre système, c'est ici : http://formationdebian.via.ecp.fr/ Le site d'Alexis de Lattre est en effet une bible pour Debian et toute distribution dérivée de Debian. Il en décortiquede manière très claire le fonctionnement. Il y a cependant quelques petites différence entre Ubuntu et Debian, mais elles sont minimes. Je vous conseille de télécharger son cours magistral en fichier pdf, que vous placerez sur le bureau. Les différence avec Windows Il y en a beaucoup, mais l'une d'elles est suffisamment pratique pour que nous l'évoquions ici : fini le temps où vous étiez obligés d'acquérir un soft pour ouvrir et travailler comme bon vous semble un fichier ISO par exemple. Sous Linux, vous trouverez tous les utilitaires nécessaires à la manipulation des fichiers. Une limitation : par défaut, les softs et formats non libres de droit ne sont pas, dans la plupart des cas, installés d'office avec votre distribution. Il est donc souvent nécessaire de télécharger les utilitaires dit non-free capables de les décoder. Les codecs Windows sont dans ce cas. Mais pas qu'eux. C'est donc pour moi le moment de vous dire comment les télécharger : en installant sur votre système tout neuf de nouveaux dépôts. Vous me direz : c'est quoi, des dépôts ? Bonne question que je vous sais gré d'avoir posée. Et c'est là que nous commencerons à entrer dans le vif du sujet. Alors, première règle : à partir d'ici, on ne parlera plus de softs, mais de paquets. Les dépôts à installer Pour updater ou upgrader votre système, vous avez le choix : soit, vous vous contentez des seules mises à jour officielles de votre distribution, soit vous souhaitez profiter des paquets mis à disposition par d'autres "packageurs". Comme nous sommes dans l'univers du libre, tout cela se configure, via dans le cas de notre distribution un fichier : le sources.list qui se trouve en suivant ce chemin : /etc/apt/sources.list Intérêt d'utiliser des dépôts tiers : on peut installer des applis et des utilitaires non libres, mais aussi de paquets souvent plus récents que ceux proposés par les dépôts officiels de sa distribution. Pour ce qui nous concerne, il est intéressant d'aller puiser dans d'autres dépôts bien fournis pour l'audio : ceux de Medibuntu, notamment. C'est le moment d'ouvrir un terminal (voir à quoi ça ressemble ci-dessus). Je vous suggère de mettre un raccourci de votre terminal sur le bureau. Allez avec la souris dans le menu Applications → Accessoires → Terminal ; clic droit sur la souris, mettre en raccourci sur le bureau. On double-clique sur l'icone du terminal, il s'ouvre. Vous pourrez du coup entamer les opérations. Voici la méthode fournies par le site Ubuntu : http://doc.ubuntufr.org/medibuntu Je la reprends ici. Donc, pour activer le dépôt Medibuntu, tapez ou copiez-collez dans le terminal ce qui suit : sudo wget http://www.medibuntu.org/sources.list.d/`lsb_release -cs`.list --output-document=/etc/apt/sources.list.d/medibuntu.list Validez. Il est probable à ce stade que le système demande votre mot de passe. Tapez le, puis validez à nouveau avec la touche Entrée. Après le chargement des nouveaux dépôts, retour à l'invite de commande. Tapez alors : wget -q http://packages.medibuntu.org/medibuntu-key.gpg -O- | sudo apt-key add - Cela charge les clés GPG des dépôts. Validez, puis : sudo apt-get -q update Fermez l'outil Gestionnaire de paquets Synaptic ainsi que le Gestionnaire de mise à jour s'ils ont étés préalablement ouverts et validez (touche Entrée), puis : sudo apt-get --yes -q --allow-unauthenticated install medibuntukeyring Validez (touche Entrée), puis : sudo apt-get -q update Validez (touche Entrée) une dernière fois, et fermez le terminal. Voilà. Vos sources pour les paquets sont mises à jour. Regardez ce que cela donne pour Medibuntu dans le programme Synaptic destiné à installer des nouveaux paquets (photo ci-dessous) Autre dépôt à intégrer : celui de tuxfamily. Toutes les explications, ici : http://tangostudio.tuxfamily.org/fr/repository. Troisième onglet du programme Synaptic : Installer un kernel lowlatency La condition pour qu'un système audio fonctionne sous linux, c'est de travailler avec un kernel lowlatency, afin d'obtenir des latences très basses. Pour ce faire, ouvrir un terminal, passez en mode root (c'est à dire administrateur), donc tapez su, puis à l'invite son mot de passe, une fois loggué en root, tapez synaptic, ce qui ouvre la fenêtre de cet utilitaire précieux, dans recherche, tapez lowlatency, vous devriez vous apparaître une série de linux-image et linux-headers en 2.6...quelque chose (selon le moment où vous lirez ce post), installez le linux-image-tel_version_lowlatency et le linux-headers de la même version. Une fois qu'ils sont installés, quittez synaptic, et pour bétonner tapez cette fois dans le terminal update-grub, pour mettre à jour le choix des kernels (ou noyaux) proposés au démarrage de l'ordinateur. Après un reboot, optez pour démarrer sur votre nouveau kernel lowlatency. Refaire alors la config de votre carte graphique, puis passez à l'étape suivante, impérative pour l'audio... Faire causer sa carte audio avec Ubuntu studio Le préalable, c'est que la carte audio doit être reconnue. On imagine, par principe ici,que vous avez choisi une carte qui causait bien avec linux. Reste qu'il vous faudra trouver le driver qui lui permettra de discuter avec votre bel OS tout neuf. Pour la Delta 44, celle que j'ai, le driver est l'ICE1712 (image ci dessous). Il est facile d'identifier le driver de votre carte audio. Ainsi,tapez en console la commande lspci et repérez la ligne concernant votre carte. Le driver y figure. Exemple pour la mienne en surligné sur l'image ci-dessous : La Delta 44 est gérée par le paquet Envy24 Control, l'interface graphique permettant de configurer les cartes à base d'ICE1712. Image : Cette interface permet de régler les volumes, lerouting des entrées/sorties, le samplerate, tout cela via ses différents onglets. Image : Cette interface permet donc de faire causer sa carte avec les programmes, via Jack, le serveur son de Linux. Image : Vous voyez sur ces différentes fenêtres ce à quoi ressemble Jack. Pour faire simple, ce serveur interface les applis de MAO : séquenceur audio, séquenceur MIDI, synthés, échantillonneur, rack d'effets... Une condition pour que Jack démarre, donc fonctionne : le kernel utilisé doit être realtime ou lowlatency. Cela étant dit, Jack est le coeur du studio. Il faut donc bien le configurer pour que tout fonctionne correctement. Configurer Jack Voici le point le plus délicat : comme sur n'importe quel OS, pour faire de la musique (ou de la vidéo), il est nécessaire d'avoir un système parfaitement configuré - et épuré - pour travailler en realtime. Jack doit être réglé aux petits oignons sous peine d'avoir des pertes de synchronisation, des XRUNS, ce qui pourrit un enregistrement et oblige à le refaire. La procédure commence par le choix de sa carte. Ca se passe dans l'onglet Interface. Souris sur la flèche menu déroulant, clic à droite, choisir sa carte qui portera une fois sélectionnée le doux nom de hw0 ou hw1. Image ci dessous : Poursuivre ensuite la configuration de jack en inscrivant chez vous ce que vous voyez s'afficher sur la capture d'écran fournie ci dessus. C'est un bon début pour démarrer. Augmentez la latence si nécessaire, jusqu'à ne plus avoir de XRUNS (image pour exemple d'un XRUN ci-dessous). Un outil permet de faciliter ce travail : le paquet jdelay, abréviation de jack_delay , qui mesure la latence d'une carte audio sous jack. N'oubliez pas d'affecter la priorité à Jack, dans mon cas 75, ce qui permet à son processus d'être... prioritaire sur beaucoup d'autres. Plus le chiffre est élevé, plus la priorité est grande. N'allez pas au-delà de 75.C'est nettement suffisant pour la plupart des cas. Vous pourrez ensuite tester votre nouvelle config avec ardour, le meilleur multipiste développé sous linux (désormais adapté à OSX et Windows). Réglez la config audio d'ardour à l'identique de celle de jack, tant en latence qu'en taux d'échantillonage. A partir d'ici vous n'avez plus qu'à vous lancer dans la MAO sous linux. En apprenant l'usage des différents outils à votre disposition. Le site de référence en la matière est, je le redis, linuxMAO, une excellente source d'infos, doublée d'un forum de discussions. Aller plus loin en compiler son noyau realtime Ubuntu Studio 10.04 tourne désormais - si vous avez suivi ce post - avec un noyau (kernel) lowlatency. Ca marche très bien. Mais, tout de même, ce n'est pas un noyau realtime. Ca vaut donc le coup d'en compiler un, histoire d'essayer d'améliorer les performances audio. Pour cela, il faut relever les manches. Et suivre une procédure bien cadrée et stricte. Ce qui s'appelle compiler un noyau à la sauce debian. Je le rappelle, Ubuntu est dérivée de debian. Il y a plusieurs manière de faire. Mais, la plus évidente est d'intégrer le patch realtime, dit rt, qui va bien. Il y en a un : celui d'Ingo Molnar, désormais téléchargeable sur le site kernel.org. => Premier point : Linus Torvalds, l'homme par qui Linux est arrivé, conseille pour compiler de créer un dossier à part avec ses sous-dossiers. Ainsi, dans son /home, c'est-à-dire dans notre propre répertoire (pour moi, il est dénommé bpier), créer un dossier compil_kernel (sans l'italique toutefois), l'ouvrir, créer dedans un dossier baptisé usr, l'ouvrir, créer dans usr un dossier src, l'ouvrir puis créer dedans un dossier modules. Voilà l'armature est en place. => Deuxième point :les pré-requis. Pour compiler un kernel, il faut installer certains paquets nécessaires à la compilation. Ouvrez donc une console et logguez vous en administrateur, en root. Puis copiez-collez (sauf la dièse) ce qui suit : # apt-get install build-essential kernel-package fakeroot Une fois l'installation terminée, tapez également ceci: # adduser votre_login src Délogguez vous de votre session et relogguez vous, votre compte est désormais aussi dans le groupe src, autrement dit le groupe source, ceci pour vous permettre de compiler. Bon, ce n'était pas forcément utile, car vous compilerez dans votre dossier /home. Mais, au moins, vous êtes désormais rattaché au groupe source. => Troisième point, téléchargez le noyau 2.6.33.7 (à l'heure où j'écris) sur kernel.org, là : http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.33.7.tar.bz2 Téléchargez ensuite le patch rt 2.6.33.7 qui se trouve dans le menu projects/rt, là : http://www.kernel.org/pub/linux/kernel/projects/rt/patch-2.6.33.7-rt29.bz2 . Placez les dans votre dossier créé exprès /home/compil_kernel/usr/src/. Décompressez-les. Retournez sur la console, delogguez vous de root pour repasser en simple utilisateur, via la commande exit sans doute à retaper une deuxième fois. Puis direction le dossier décompressé du noyau par la commande cd /home/compil_kernel/usr/src/linux-2.6.33.7 Vous voilà dans le dossier du nouveau noyau à compiler. Tapez cette fois dans la console : bzcat ../patch-2.6.33.7-rt29.bz2 | patch -p1 Ce qui installera dans le noyau le patch realtime preempt. => Quatrième point. On passe à la compilation. Toujours en console dans le dossier du noyau, tapez make xconfig. Si aucune fenêtre ne s'ouvre, que vous obtenez une erreur, vous avez probablement besoin d'installer d'autres paquets, comme pkg-config. Installez le par un apt-get install pkg-config en étant logguer en root, bien sûr. Une fois fait, delogguez vous pour quitter le statut root, puis retapez make xconfig. Une fenêtre doit s'ouvrir, celle-là (cliquez dessus pour l'agrandir) : Cochez désormais ce que j'ai surligné sur les fenêtres suivantes, d'abord le plus important l'option realtime en suivant le chamin indiqué sur la fenêtre : Puis en dessous, choisissez la quantité de mémoire acceptée, en fonction de celle que vous avez sur votre ordi. Si vous avez 4Go ou plus, cochez 64 : Enfin, l'horloge, elle doit être placée sur 1000hz : Une fois cela fait, cliquez sur la petite disquette en haut de la fenêtre pour enregistrer la configuration. Fermez la fenêtre, revenez sur la console et tapez ou copiez-collez : fakeroot make-kpkg --initrd kernel_image kernel_headers kernel_source Puis tapez entrée. Cela lance la compilation. Faites cela plutôt la nuit, il y a a pour un moment. Si tout va bien, au matin, vous aurez dans votre dossier des nouveaux fichiers .deb correspondant à votre nouveau noyau realtime. Qu'il ne vous restera plus qu'à installer via un apt-get install. Pour ma part, j'ai rajouté à la ligne de commande l'option --added_modules=nvidiacurrent-195.36.24, puisque j'ai installé des modules, dans le dossier module. Vous pouvez d'ailleurs vous aussi ajouter des modules en fonction notamment de votre carte graphique. Mais ce n'est pas l'objet de ce post. Faites un google pour celà, en tapant nvidia ubuntu pour les cartes nvidia, fglrx ubuntu pour les cartes Ati. Vous trouverez plein de FAQ utiles. Pour le fun Si vous avez un ordi puissant, de la RAM et une bonne carte graphique (une nvidia 7950GT dans mon cas), bien installée sous Linux, vous pourrez installer un bureau sympa, grâce aux paquets compiz et compiz-fusion-icon. Ils vous amènent la 3D, la transparence et - joujou - des fenêtres molles. Voici quelques captures d'écrans sur ma debian lenny : FAQ provenant du site http://www.bruynooghe.fr Toute reproduction interdite sans l'accord de l'auteur. Merci. Bpier Le 13 novembre 2010