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