Chargement...
 
[Voir/Cacher menus de gauche]
[Voir/Cacher menus de droite]





Cet article est le deuxième volet, vous pouvez consulter Gentoo pour le début qui se consacre aux généralités (présentation, installation)


1. Gentoo et la musique : préalables


Gentoo est une distribution qui peut paraître complexe au départ, ce qui reste inévitable compte tenu des optimisations qu'elle propose. Aussi, si votre souhait est simplement de jeter un œil rapide aux possibilités qu'offre Linux en matière de MAO, elle ne vous sera pas très adaptée.

Par contre, si vous souhaitez vous mettre sérieusement à la MAO sous Linux, elle vous permettra d'obtenir un système "aux petits oignons". D'ailleurs, il est également possible de la spécialiser pour d'autres applications (vidéo, etc.). De plus, un certain nombre d'installations réputées ardues sous d'autres distributions seront paradoxalement plus simples sous Gentoo, compte tenu de son fonctionnement basé sur la compilation. En effet, certains programmes doivent habituellement être compilés à la main, avec les difficultés qu'entraine la gestion des dépendances (Ex : Ardour 3 avec la gestion des greffons VST, ou d'autres programmes dans des versions très récentes et pas encore disponibles sous forme pré-compilée). Sous Gentoo, ces programmes s'installent comme n'importe quel autre programme via la commande emerge, le cas échéant en ayant préalablement "démasqué" dans /etc/portage/packages.keywords.

L'idéal sera alors de lui consacrer au moins une partition spécifiquement réservée sur votre disque dur. Dans ce cas, il faudra envisager un "Dual Boot" (avec par exemple 2 choix au démarrage de la machine : HomeStudio-Gentoo et Bureautique-autre-distribution) à l'aide d'un gestionnaire de démarrage (bootloader, voir la partie Éléments du système). Les plus chanceux (fortunés ?) choisiront carrément un PC spécialement dédié à la MAO.

Important :
Vérifiez avant toute chose que vous appartenez bien au groupe "audio" (gid 18 sous Gentoo).
Dans le doute, il suffit d'utiliser la commande suivante :
# gpasswd -a VOTRE_NOM_UTILISATEUR audio

Puis de se dé/re-connecter pour que la modification prenne effet.

N'oubliez pas non plus d'ajuster vos "USE FLAGS", comme précisé à la page précédente.
Voyons maintenant comment spécialiser votre Gentoo pour la MAO.


2. Pro audio production applications portage overlay


2.1. Présentation

Il s'agit d'un ensemble d'ebuilds non-officiels d'applications spécifiques à la MAO. On y retrouve les dernières versions, voire des versions CVS pour certains programmes (Ardour 3, Rosegarden, etc.), mais aussi des applications non présentes dans l'arbre officiel : kernel patché "realtime preemption" (rt-sources), ebuilds pour FST et Freebob, versions d'Ardour 3 avec le support des VST, ainsi que divers programmes utiles pour votre système MAO (rtirq, PAM, etc.).

Inutile de préciser que cet outil est indispensable pour configurer rapidement un système Gentoo-MAO. Le projet est assez dynamique, aussi il conviendra d'aller vérifier régulièrement la présence d'éventuelles mises à jour ou améliorations.

2.2. Préparation

Il conviendra de vérifier le contenu de votre /etc/portage/package.keywords, car un grand nombre de programmes fournis par cet overlay sont dans la branche "instable" ("~x86"). De plus, certains programmes n'ont été testés sur aucune plateforme (absence de "keyword") : c'est notamment le cas des versions en cours de développement (cvs/svn), ebuilds se terminant par -9999x ... Ils se démasquent à l'aide en utilisant la syntaxe "**".

Exemple :
media-sound/hydrogen ~x86
media-sound/qjackctl ~x86
media-sound/rosegarden ~x86
media-sound/aqualung **
media-sound/canorus **
etc...

De plus, vous devrez également vérifier les USE-FLAGS que vous utilisez, par exemple pour intégrer le support VST dans certains programmes (Ardour 3, etc.), en modifiant la variable USE du fichier /etc/make.conf ou le fichier /etc/portage/package.use.

Exemple :
media-sound/ardour vst


Pendant que vous y êtes, autant prendre tout de suite les bonnes habitudes. Les fichiers dans /etc/portage peuvent prendre une taille importante avec le temps, alors autant écrire les lignes de ces fichiers en suivant l'ordre alphabétique.

2.3. Quelques liens

2.4. Installation via Layman

Cet overlay est aussi disponible en utilisant Layman, présenté en bas de la page précédente. L'installation est tellement simple qu'il serait dommage de s'en passer. D'ailleurs c'est la méthode conseillée sur le wiki officiel . Voici les 3 commandes nécessaires :

Installer Layman (concerne les profils 2009 de Gentoo):
emerge layman

Installer l'overlay pro-audio :
layman -f -a pro-audio

Indiquer le chemin des ebuilds pro-audio (il faut faire cette étape après avoir installé l'overlay)
echo "source /var/lib/layman/make.conf " >> /etc/make.conf

ou
echo "source /var/lib/layman/make.conf " >> /etc/portage/make.conf

avec les versions récentes de portage. Vous pouveu vérifier le contenu du fichier de configuration de layman:
# cat /var/lib/layman/make.conf
PORTDIR_OVERLAY="
/var/lib/layman/pro-audio
$PORTDIR_OVERLAY
/var/lib/layman/test"

pro-audio y figure, et test est mon overlay personnel. Je l'ai mit en dernier, continuez à lire pour voir pourquoi.

Si vous avez plusieurs overlays, vous pouvez éditer /var/lib/layman.conf pour y changer l'ordre des overlays. Cela peut être utile si deux overlays proposent des ebuilds ayant le même nom (même révision de la même version du même programme). Comme règle, emerge donnera la préférence à la plus haute version ou à l'overlay placé en dernier. Mon overlay personnel est placé en dernier, cela me permet de l'utiliser pour déboguer des ebuilds existants sans changer leur nom, et qu'ainsi leurs mises à jour dans portage ou un overlay seront prises en compte par emerge (car alors leur révision - le -r... à la fin du nom de l'ebuild - aura été incrémentée).

C'est tout ! Vous effectuerez simplement une synchronisation régulière pour intégrer les nouveautés de l'overlay par la commande :
# layman -s pro-audio && emerge -auvND world


2.5. Installation via svn

La procédure d'installation de l'overlay est également possible en utilisant svn. Vous aurez donc besoin d'installer subversion si ce n'est déjà fait :
# emerge subversion


1) Créer (s'il n'existe pas) un répertoire PORTAGE_OVERLAY :
# mkdir /usr/local/portage/

2) Télécharger l'overlay
# cd /usr/local/portage/
# svn co svn://svn.tuxfamily.org/svnroot/proaudio/proaudio/trunk/overlays/proaudio

3) Vérifier que la variable PORTDIR_OVERLAY de votre fichier /etc/make.conf contient bien ce répertoire:
PORTDIR_OVERLAY="/usr/local/portage/proaudio"

4) Mettre à jour l'overlay Pro-audio
# cd /usr/local/portage/proaudio
# svn up

5) Mettre à jour votre système :
# emerge -auv world


3. Autres overlays


Il existe de la même manière un overlay spécial pour PureData avec toutes les bibliothèques externes (zexy/gem/etc..) : http://pd-overlay.sourceforge.net

Overlay de ladish (ladish, jackdbus, ardour) : http://repo.or.cz/w/ladi-overlay.git Celui-ci n'est plus nécessaire, il a été incorporé dans pro-audio au début de 2013.

voir aussi : https://github.com/nightmorph/overnight/tree/master/


4. Le noyau (kernel)


Le cœur de votre pingouin ... celui qui vous permettra de tirer le meilleur de votre installation avec une latence exceptionnelle ... mais aussi la partie que les nouveaux venus redoutent le plus frown. Néanmoins, si votre Gentoo est opérationnelle, c'est que vous maîtrisez déjà l'essentiel ! Il vous faudra également consulter les autres pages de ce site, en particulier celles concernant la Latence et la compilation d'un noyau 2.6.

Le patch originel "rt" d'Ingo Molnar est aujourd'hui intégré à la version officielle du noyau (vanilla-sources ou gentoo-sources par exemple), il doit cependant être activé dans le menu "preemtion mode" > "preemptible kernel (Low-latency desktop)"
On peut donc utiliser un noyau "standard" pour faire de la MAO sans problème, avec une latence basse.

Cependant, les recherches et améliorations sur le temps-réel continuent, de nouveaux patchs sont créés tous les mois, et rapidement intégrés à la version rt-sources du noyau fourni par l'overlay pro-audio. Si vous souhaitez obtenir une latence tres basse, installez ce noyau et sélectionnez "preemtion mode" > "complete preemption (real-time)"
La dernière version stable des rt-sources est conseillée, ceci pour éviter des problèmes d'incompatibilité avec les pilotes de cartes graphiques (ecrans noirs, affichage hazardeux...). A ce jour (mars 2010), la dernière version stable des rt-sources est 2.6.31.12-rt21.

Quel que soit votre choix de noyau, vous devrez configurer ensuite correctement le fichier /etc/security/limits.conf, la manipulation à suivre est décrite dans la page PAM.

comparaison de latence entre un noyau generique et rt
A titre de comparaison, des tests effectués chez moi sur une machine à processeur simple coeur (intel 2Ghz) donnent les temps de latence minimum (sans x-runs) suivants pour la version 2.6.31 du noyau :
*noyau "gentoo-sources" (generic) :
+2x512 échantillons par période soit 21,3 ms de latence
*noyau "rt-sources" (real-time) :
+2x64 échantillons par période soit 2,67 ms de latence


4.1. Installation du noyau rt-sources


Pour l'exemple, nous allons choisir un noyau rt-sources, de l'overlay pro-audio, sans rentrer trop dans les détails de l'installation et de la compilation d'un noyau sous Gentoo (le manuel et ce guide sur le site de gentoo sont là pour ça).

Une fois l'overlay pro audio production applications installé (voir le paragraphe ci-dessus), installer le noyau rt-sources :
# emerge -av rt-sources

Par rapport à un noyau classique, ce noyau possède les "USE-FLAGS" supplémentaires suivants :
  • fbsplash : support pour le framebuffer
  • vesafb-tng : meilleur driver pour le framebuffer permet, en conjonction avec "fbsplash", d'avoir des "bootsplash" agréables au démarrage de votre système. Voir ici
  • realtime-lsm (pour les sources rt-sources-2.6.16-r29 uniquement) : rajoute le module (obsolète) realtime-lsm. Ce "USE-FLAG" a été retiré des versions plus récentes des rt-sources car il est désormais automatiquement intégré au noyau. Attention, le fait qu'il soit intégré aux sources n'indique pas qu'il sera automatiquement compilé, vous devrez l'activer lors de la configuration du noyau si vous souhaitez l'utiliser.
Vous constaterez la présence de plusieurs versions des rt-sources dans l'overlay, les plus récentes étant en général masquées (~x86). Le patch d'Ingo est susceptible d'entrainer des problèmes de fonctionnement avec certains modules (drivers de cartes graphiques par exemple), aussi, vous pourrez toujours utiliser une version moins récente (donc plus éprouvée) des rt-sources en cas de problème.

Configurez et activez les options souhaitées, en vous inspirant de la page Tuto Compiler un noyau Temps-Réel.
# make oldconfig

(récupère les options de votre noyau actuel)
ou
# make xconfig

(si vous préférez l'interface graphique)
Outre les options classiques (support de votre matériel et de votre carte son en particulier), ce sera sûrement l'occasion de retirer les modules/options inutiles (temps de compilation plus court et allègement du noyau), et de le spécialiser pour votre architecture, en retirant les options "génériques" (section Processor family).
pour tous les types de noyaux, Vous porterez également une attention particulière aux options rajoutées par le patch d'((Ingo Molnar|Ingo] (notamment "Processor type and features" => "Preemption Model" => "Complete Preemption (Real-Time)", etc.)

La compilation et l'installation du noyau se font de manière classique :
# make && make modules_install

etc.
Mettez à jour votre gestionnaire de démarrage (grub ou lilo), redémarrez sur votre nouveau noyau et vérifiez que tout fonctionne bien. Certains modules (drivers propriétaires Nvidia par exemple) peuvent nécessiter une réinstallation. N'oubliez pas de vérifier que le lien symbolique /usr/src/linux pointe sur les bonnes sources avant de procéder car portage utilise ce lien pour déterminer quel noyau sera utilisé lors de l'installation des modules externes.

4.2. Note importante


Gentoo compile tout à l'installation. Cela présente des avantages (en autre la rapidité, la cohérence et la stabilité du système) mais aussi des inconvénients. Un de ces inconvénients est lié au choix du noyau. La compilation de certains programmes est une opération qui peut mettre à très rude épreuve la machine; il m'est arrivé (très rarement) de relever des pointes de plusieurs dizaines de secondes de 100% d'usage des 4 processeurs de ma machine, avec en simultané un usage de la mémoire vive de 2 Go.

Un tel usage de la machine avec un noyau temps réel, et/ou des optimisations trop agressives, peut conduire soit à une plantée de gcc, donc à un échec de l'installation, soit à une installation réussie mais avec un code résultant faux, donc des bogues très difficile à tracer. Pour les détails, voir ici .

La solution est simple. Pour les optimisations, choisir les CFLAGS et CXXFLAGS flags recommandés dans le handbook (vous aurez été avertis !...). Pour le noyau, installez en deux, le rt-sources de l'overlay pour le travail de tous les jours et le gentoo-sources (ou le vanilla) pour le travail avec portage. Il faut encore dire à grub que vous avez deux noyau. Vous aurez ainsi un double boot Gentoo-audio et Gentoo-portage.

Quand vous voulez installer de nouveaux programmes ou mettre à jour le système, il suffit alors de redémarrez la machine sur le noyau gentoo-sources et vous serez tranquille.

Dans la pratique, il est tout à fait possible d'utiliser un système gentoo avec le noyau temps réel pour tout faire, que ce soit de l'audio, de la bureautique, de la simulation en électronique, de la 3D, etc., mais il faut se rappeler que pour utiliser portage (et donc emerge), il vaut mieux utiliser un noyau "standard".

4.3. Les CGroups

Les cgroups sont une solution élégante à ce problème. Ils sont inclus dans le kernel standard et ils permettent d'obtenir une latence presque aussi faible qu'avec un noyau temps réel, de pouvoir tout faire avec (pour du partage de fichiers, ou toute autre sorte de serveur, ce sera même bien meilleur qu'un noyau temps réel optimisé pour l'audio, ceci sans perturber l'audio), et surtout sans risquer de perturber les compilations de portage.

En résumé, je dirais que si vous projeter de ne faire que de la MAO, un noyau temps-réel sera préférable, mais qu'autrement, les gentoo-sources avec les CGroups configurés feront très bien l'affaire. Pour un tel noyau et la MAO, voir CGroup.

...page... Wiki Pagination has not been enabled on this site.


5. Configuration de l'accès au temps-réel


Que vous utilisiez un noyau temps réel ou pas, pour profiter pleinement des capacités de jack et de son mode temp-réel, il faut que les utilisateurs "non-root" (ie les utilisateurs du groupe audio - gid:18) puissent accéder facilement aux ressources du noyau.

Plusieurs moyens sont à votre disposition, mais la méthode habituellement utilisée sous gentoo est P.A.M. qui se trouve déjà sur votre système. (sys-libs/pam)

La manipulation à effectuer et les réglages possibles sont détaillés sur la page accès temps-réel pour les applications, en voici un résumé :

en root :
éditer le fichier de configuration de PAM
~~blue:#~~ nano /etc/security/limits.conf

ajouter l'autorisation d'accès RT pour le groupe audio
@audio - rtprio 90
@audio - memlock unlimited

ajouter mon_utilisateur au groupe audio
~~blue:#~~ gpasswd -a mon_utilisateur audio

puis avec mon_utilisateur :
déconnecter mon_utilisateur
~~blue:#~~ logout




6. Optimisation des accès disques


Note : ces remarques sont à adapter le cas échéant si vous avez passé votre noyau en "libata" (pas de DMA, remplacement des hdx par sdx, etc.). Voir http://forums.gentoo.org/viewtopic-p-4046871.html par exemple.

Par défaut Gentoo optimise bien les accès disques. Le paramètre DMA est positionné dans le fichier /etc/conf.d/hdparm avec la valeur all_args="-d1"

On peut améliorer la vitesse des disques en faisant divers essais puis en affinant ces valeurs et en remplaçant le paramètre précédent qui couvrait tous les disques, par des paramètres propres à chaque disque :
 hdc_args="-d1 -c3 -m16 -A1"
 hda_args="-d1 -c3 -m16 -A1"

Outre les paramètres classiques (dma, etc.) il peut être intéressant de modifier aussi le paramètre "Acoustic Management" si votre disque dur est compatible avec cette fonction ("hdparm -I /dev/hdx" pour vérifier)
Ce paramètre -M prend une valeur entre 0 (silencieux mais plus lent) et 254 (plus rapide mais plus bruyant)

L'explication de ces paramètres est donné dans la page Optimiser ses disques durs.



7. Autres optimisations


L'overlay "Pro-audio" présenté ci-dessus vous apportera tous les outils pour peaufiner vos optimisations (rtirq, notamment). Consultez la page Portail Système.



8. Installation des programmes pour la MAO


D’une façon générale, l’installation des programmes spécifiques pour la MAO ne pose pas de problème, tout se faisant grâce à la commande emerge.
L'overlay "Pro-audio" vous permettra d'installer la plupart des applications audio, certaines étant même disponibles en plusieurs versions, stable et développement (jack, Ardour 3, etc.). Il conviendra donc de veiller à modifier /etc/portage/package.keywords et /etc/portage/package.mask de façon à installer les versions souhaitées, et de vérifier avant d'installer un programme les "USE-FLAGS" activés.

L'overlay "Pro-audio" respecte les conventions de gentoo pour les versions et les keywords des programmes. La plupart des programmes qu'ils proposent ont les keywords "~x86" et "~amd64". Pour les installer, il faut donc entrer ces keywords dans /etc/portage/package.keywords. Une solution alternative est de définir un de ces keywords dans /etc/make.conf, toute la distribution passera alors en "~arch".

Cet overlay propose également de nombreux ebuilds live, ce qui correspond à la version courante du dépôt de code source du programme. La version de l'ebuild correspondant est -9999 et son keyword est vide: "". Il faut mettre "**" dans /etc/portage/package.keywords.

8.1. profil

L'overlay pro-aidop contient deux profils (profiles en anglais) optimisés pour la MAO: proaudio et proaudio-kde. Ils correspondent respectivement aux profils desktop et desktop-kde de portage. Ils apportent les changements suivants par rapport aux profils de portage:

  • incorporations des USE flags utiles pour la MAO
  • négation des USE flags qui ne servent à rien pour la MAO et qui rajoutent des surcouches dans le système (*kit et associés)
  • négation des flags semantic-desktop et virtuoso avec le profil proaudio-kde

Le résultat en plus de faciliter l'installation des programmes audio, est de supprimer l'ensemble de Gnome (qui dépend de console-kit) et d'accélérer kde.

Malheureusement, l'USE semantic-desktop va être supprimé avec kde-4.11. La seule solution sera alors de le mettre en veille dans les préférences de kde. Cela devrait encore changer avec kde-5, mais nous n'en sommes pas encore là.

Ces deux profiles permettent d'installer un système léger qui convient particulièrement bien pour des bureaux comme Fluxbox, ROX, Enlightenment ou FVWM-Crystal.

Sans policy-kit, pour pouvoir monter les périphériques amovibles en tant qu'utilisateur, vous pouvez utiliser pmount (USB, Firewire), optionnellement pmount-gui. Pour les monter automatiquement, uam et autofs sont là pour ça (USB, Firewire, CD/DVD et plus). Ils s'installent avec emerge comme d'hab.

Et oui, vous avez bien lu, ces deux profils vont enlever complètement Gnome du système, y compris ses dépendances comme pulseaudio. Celui qui a développé ces profils ne veut pas de policy-kit dans son système, et l'enlever signifie se passer de Gnome et de pulseaudio.

Le profil de gentoo se définit en changeant le lien symbolique /etc/make.profile. Après avoir installé l'overlay:

rm /etc/make.profile
ln -s /var/lib/layman/pro-audio/profiles/default/linux/amd64/13.0/desktop/proaudio /etc/make.profile

ou
rm /etc/make.profile
ln -s /var/lib/layman/pro-audio/profiles/default/linux/amd64/13.0/desktop/proaudio-kde /etc/make.profile


Pour vérifier que le profil est bien installé:
# ls -l make.profile
lrwxrwxrwx 1 root root 78 Feb 20 20:39 make.profile -> ../var/lib/layman/pro-audio/profiles/default/linux/amd64/13.0/desktop/proaudio


Maintenant, vous pouvez mettre à jour le système avec ces nouveaux USE flags:
emerge --newuse --deep --update --with-bdeps y -a world


Si vous avez installé Gnome ou kde, il va y avoir des blocages. Il fait les enlever avec "emerge -C noms des programmes". Il sera toujours possible de réinstaller la plupart de kde par la suite. Une bonne alternative à kmail est claws-mail.


8.2. Jack

Attention : Ne pas confondre :

  • media-sound/jack
Rippeur de CD et encodeur mp3. Ben oui, z'ont pris le nom les premiers ! Voir ici .

  • media-sound/jack-audio-connection-kit
Le serveur audio basse latence qui nous intéresse !

L'installation de l’interface graphique de Jack suffira puisqu'elle installera aussi le serveur en dépendance  :
# emerge -av qjackctl

Par contre, si vous ne souhaitez pas utiliser l'interface graphique, vous n'installerez que le serveur :
# emerge -av jack-audio-connection-kit


Pour installer jack2 (dit aussi jackdmp) avec l'overlay pro-audio, rien de plus simple :
note : Les versions 2 de jack sont celles dont le nom commence par 1, par exemple 1.9.4
  • démasquez les dernières version de jack grace au "keyword" correspondant à votre architecture
    démasquer jack2 pour ~x86
    echo "media-sound/jack-audio-connection-kit ~x86" >> /etc/portage/package.keywords
  • installez jack à votre habitude, en vérifiant qu'il s'agit bien d'une version "2"
    compiler jack
    emerge -av jack-audio-connection-kit

Contrairement à la plupart des distributions, si vous passez de jack1 à jack2, inutile de faire le ménage à la main ! installer jack2 avec l'outil emerge suffit, portage se charge de supprimer la version précédente

jackdmp peut être compilé avec un support dbus, qui est le protocole de communication utilisé entre jack et l'application utilisée pour faire les réglages. A ce jour, seuls ladish et les versions de QJackCtl supérieures à 0.3.6 utilisent dbus. Si vous souhaitez utiliser un de ces deux programmes, ajoutez le useflag dbus avant la compilation de jack :
support dbus pour jackdmp
echo "media-sound/jack-audio-connection-kit dbus" >> /etc/portage/package.use

attention ! Jack compilé avec le support dbus ne se démarre plus avec la commande "jackd" mais avec "jackdbus"
Si vous n'utilisez ni ladish, ni une version de QJackCtl récente, assurez-vous que le flag dbus est désactivé avant la compilation de jack, sinon vous ne trouverez pas jackd dans vos applications !
echo "media-sound/jack-audio-connection-kit -dbus" >> /etc/portage/package.use


Pour lancer des applications non-compatibles avec Jack par le biais de la commande jacklaunch, vous devrez aussi installer jacklaunch :
emerge libjackasyn


Notes :
  • L'overlay "Pro-audio" fourni plusieurs version de jack-audio-connection-kit, dont la version développement masquée par "**" (jack-audio-connection-kit-9999)
  • Gentoo possède un "USE FLAG" jack quasiment indispensable qui active le support Jack dans de nombreuses applications (lecteurs type mplayer, vlc, etc.), et qui provoque donc l'installation de Jack en tant que dépendance.


8.3. Ardour

L'installation est classique :
# emerge -av ardour

L'overlay "Pro-audio" vous permettra cependant de choisir différentes versions d'Ardour 3, selon vos options de (dé)masquage dans /etc/portage/keywords :
  • La version 1, stable qui est la version ardour-0.99.3. Notez la présence de l'ebuild ardour-99991 (masqué "**") qui correspond à la version de développement d'ardour 1.
  • La version 2, instable (masquée "~x86") qui est la version ardour-2.0.2. L'ebuild ardour-99992 (masqué "**") correspond à la version de développement d'ardour 2.

Notes :
  • la branche "media-sound/ardour2" de l'overlay "Pro-Audio" est obsolète et ne doit plus être utilisée.
  • Pensez à activer le "USE_FLAG" vst avant "d'emerger" Ardour 3 si vous souhaitez utiliser le support VST. Pour des raisons de licence, il vous sera demandé de confirmer que vous installez bien Ardour 3 pour votre usage personnel (il n'est pas permis de distribuer des versions précompilées d'Ardour 3 intégrant le support VST). Voir le paragraphe "VST(I) / FST sous Gentoo" ci-dessous pour installer préalablement le paquet "media-libs/vst-sdk".
  • Il est tout à fait possible d'installer simultanément les versions 1 et 2 d'Ardour 3, car elles s'installeront sur des slots différents (voir la page concernant portage  sur la doc officielle). Il suffit d'utiliser une commande du type :
# ACCEPT_KEYWORDS="~x86" emerge -av =ardour-0.99.3 =ardour-2.0.2


8.4. Timidity

Si votre carte ne possède pas de synthétiseur Midi matériel, vous pouvez utiliser à la place le synthétiseur virtuel Timidity. Gentoo propose 2 fichiers de "police de son" (SoundFont) pour Timidity: eawpatches et shompatches. On installe le tout en une seule commande :
# emerge timidity++ timidity-eawpatches timidity-shompatches

Pour choisir un fichier de "police de son" :
#timidity-update -g -s eawpatches

Gentoo installe automatique un script de démarrage pour Timidity.
Pour le démarrer :
# /etc/init.d/timidity start

Pour l'arrêter :
# /etc/init.d/timidity stop

Pour activer le lancement automatique au démarrage de la machine :
# rc-update add timidity default

La configuration de ce script de démarrage se fait en modifiant le fichier /etc/conf.d/timidity.
Vous pouvez sélectionner le SoundFont de Timidity avec eselect.
Pour voir les alternatives:
# eselect timidity list

Pour sélectionner le SoundFont numéro n:
# eselect timidity set n

Pour voir la sélection:
# eselect timidity show


Timidity est aussi capable d'utiliser les fontes sonores au format sf2.
Pour cela, il faut éditez le fichier de configuration de Timidity /etc/timidity.cfg'. Par exemple, pour utiliser la fonte sonore Crisis, rajoutez une ligne à la fin de ce fichier:
soundfont /home/dom/Audio/SoundFonts/Crisis_v3/CrisisGeneralMidi3.01.sf2

Et voilà! Timidity est même capable d'utiliser une aussi grosse fonte sonore que celle-ci.
Pour voir toutes les options de configuration:
$ man timidity.cfg


Si vous constatez des problèmes de latence avec le couple "timidity + jack", préférez alors au script de démarrage automatique une commande manuelle du type (pour lancer timidity en mode "Jack") :
$ timidity -iA -Oj -B2,8 -EFreverb=0 -j


Vous pouvez incorporez cette commande dans qjackctl. Dans les préférences, onglet Options, cochez Execute script after startup et mettez dans la case correspondante:
if [ ! `pidof timidity` ]; then timidity -iA -B2,8 -Oj -EFreverb=0 -s %r 2>&1 1> /dev/null; fi

Cette commande teste si Timidity est lancé, si oui, elle ne fait rien, si non, elle lance le programme comme dans la commande précédente et avec le taux d'échantillonnage de jackd (le %r). Les messages d'erreurs du programme sont redirigées sur la sortie standard (2>&1) et le tout est redirigé sur /dev/null, cela permet de supprimer les bavardages de Timidity dans le fichier de log de votre gestionnaire de fenêtre.

...page... Wiki Pagination has not been enabled on this site.

8.5. Muse

Attention : Ne pas confondre :

  • app-emacs/muse
Extension pour l’éditeur de texte emacs, rien à voir donc avec la MAO !

  • media-sound/muse
Muse (Multiple Streaming Engine) http://muse.dyne.org/
Qu’on installe avec la commande :
# emerge -av media-sound/muse


  • media-sound/museseq
MusE (le sequencer MIDI/Audio) http://www.muse-sequencer.org/
Qu’on installe avec la commande :
# emerge -av media-sound/museseq

MusE-sequencer est disponible en plusieurs versions :
    • Les versions ne possédant pas le "USE-FLAG" vst, dont la dernière version stable au 12/06/07 (museseq-0.9_pre2)
    • Les versions possédant le "USE-FLAG" vst : museseq-1.0_pre1 (masquée "~x86") et la version de développement museseq-9999 (masquée "**").
Il est tout à fait possible d'installer simultanément une version possédant et une version ne possédant pas le "USE-FLAG" vst, car elles s'installeront sur des slots différents (voir la page concernant portage sur la doc officielle).


8.6. VST(I) / FST sous Gentoo

Consulter d'abord la page Wine - FST biggrin. L'utilisation des VSTI avec FST est simple sous Gentoo, la prise en charge des compilations simplifiant (encore une fois ?) les choses. L'overlay "Pro-audio" (voir plus haut) est évidemment de la partie.

Intégrez le USE FLAG "vst" dans votre fichier "/etc/make.conf", puis mettez à jour votre système :
# emerge -avuD --newuse world


Cette commande installera/mettra à jour automatiquement :
  • vst-sdk. La licence de ce paquet ne permettant pas de l'intégrer dans une distribution, il vous faudra au préalable vous rendre ici pour télécharger le paquet "VST-SDK" (version 2.3) et surtout en accepter la licence. Décompressez ensuite l'archive téléchargée et placez le fichier "vstsdk2.3.zip" dans le répertoire "/usr/portage/distfiles". L'installation peut ensuite se faire normalement ("emerge vst-sdk").
  • les programmes compatibles (Ardour 3 & Ardour 3 2, museseq? ...)

Pour installer fst, même combat :
# emerge -av fst

L'utilisation est ensuite simple, il suffit de lancer Jack, puis le VSTI précédé de la commande "fst", par exemple :
# fst Crystal.dll


Notes :
  • Certains instruments VSTI (ex : Impulse_synth) nécessitent également "Wine" pour pouvoir être installés.
  • Il est possible d'utiliser la version 2.4 de VST-SDK (même adresse) à condition de modifier préalablement la ligne 39 du fichier "vstsdk2.4/pluginterfaces/vst2.x/aeffect.h", consulter : http://ardour.org/node/816#comment-2884
  • L'overlay "Pro-audio" propose également différents ebuilds qui contiennent un ou une collection d'instruments VST(I), dont notamment les ebuilds suivants (attention, l'utilisation de Jost est nécessaire pour ces derniers):

media-plugins/vst_plugins-ZR3
media-plugins/vst_plugins-cern
media-plugins/vst_plugins-mda
media-plugins/vst_plugins-destroyfx
media-plugins/vst_plugins-eqinox
media-plugins/vst_plugins-freeverb
media-plugins/vst_plugins-synth4
media-plugins/vst_plugins-soulforce


9. Freebob


L'installation est plus simple qu'on l'imagine. Par contre, l'overlay "Pro-audio" sera là encore indispensable, car FFADO n'est pas encore intégré dans l'arbre officiel.

Il faut commencer par activer le support du firewire dans le noyau (si ce n'est déjà fait) :
Device Drivers =>
	IEEE 1394 (FireWire) support =>
		<M> IEEE 1394 (FireWire) support
		<M>   OHCI-1394 support
		<M>   Raw IEEE1394 I/O support

Puis recompiler le noyau le cas échéant. Vous pouvez alors charger le module raw1394, et activer son chargement automatique au démarrage du système. Si vous avez compilé ces modules "en dur" ("*" au lieu de "M"), cette étape ne sera pas nécessaire, par contre, vous devrez redémarrer votre ordinateur :
# modprobe raw1394
# modprobe ohci1394
# echo "raw1394" >> /etc/modules.autoload.d/kernel-2.6

Puis rajouter le "USE-Flag" freebob dans /etc/make.conf. Une seule commande suffira dès lors pour :
  • installer libfreebob et ses dépendances (libraw1394, libavc1394 et libiec61883),
  • re-compiler jack-audio-connection-kit avec le support FFADO :
# emerge -avuDN world


C'est tout !

Notes :
  • Par défaut, les droits de /dev/raw1394 sont attribués au groupe "video". Vérifiez que vous faites effectivement partie de ce groupe, et rectifiez le cas échéant cette situation avec la commande "gpasswd -a VOTRE_NOM_UTILISATEUR video" suivie d'une dé/re-connexion.
  • Pour ma part (Trinine), j'ai dû augmenter la valeur de latency_timer du firewire pour stopper des décrochages presque immédiats de la carte, en utilisant la méthode présentée sur la page Portail Système
  • N'oubliez pas non plus de consulter la page FFADO !

10. Pulseaudio

Pulseaudio ne sert à rien pour la MAO et il est très facile de s'en débarasser sous gentoo.biggrin

Pulseaudio ne sert à rien et ce programme est même néfaste pour différentes raisons, la plus importante étant que sa latence n'est ni garantie ni constante, et qu'en cas de Xrun dans pulseaudio, elle augmente pour ne plus diminuer jusqu'au prochain redémarrage de ce programme.

Ancienne méthode
Pour cela, ajouter "-pulseaudio" dans les USE flags de /etc/make.conf et commencez un update système comme d'habitude:
emerge --update --deep --newuse -a world
emerge --depclean -a

A ce stade, assurez-vous que pulseaudio a bien été enlevé:
emerge -Ca pulseaudio

et terminez la mise à jour:
revdep-rebuild


Pour faire fonctionner les applications ALSA avec JACK, suivez le tuteur Rediriger les flux d'ALSA vers jack.

Et voilà, vous avez maintenant un système gentoo dont le son fonctionne entièrement et complêtement avec JACK et ALSA.santa Enfin, vous aviez car cela ne fonctionne plus. Voir la partie suivante:

Nouvelle méthode
Désactivation de pulseaudio
Gnome-settings-daemon et gdm se sont mis à dépendre de pulseaudio. Cette décision a été prise par le team de Gnome... Cela touche donc toutes les distributions.

Il faut donc désinstaller complètement gnome et gdm avant de procéder comme ci-dessus. Mais si vous avez ces programmes, je suppose que vous en avez besoin...

Nous allons donc désactiver pulseaudio. Pour cela, désactivez l'autospawn dans /etc/pulse/client.conf :
autospawn = no


Vous pouvez alors suivre le tuteur Rediriger les flux d'ALSA vers jack.

Enlever pulseaudio
Dire que gnome et gdm dépendent de pulseaudio n'est qu'une partie du problème. Policykit et consolekit ont été rendus mandataire dans les 3 profiles desktop, desktop-gnome et dekstop-kde. Ces deux programmes sont interdépendants et ce sont typiquement le genre de programme qui ne servent pas à grand-chose, voir à rien, dans ume machine consacrée à l'audio pro. Policykit est un gestionnaire d'autorisations qui supervise toutes les opérations du genre "monter automatiquement une clé USB" et d'autres choses bien plus complexes. Pour cela, il contrôle udev (gestion des périphériques) et les groupes utilisateurs (gestion de sudo). C'est donc une surcouche pas forcément nécessaire et qui de plus peut outrepasser dans un sens ou dans l'autre les règles définies par udev et par visudo. Donc, c'est le grand bordel evil.

De plus, policykit est utile surtout dans les environnements complexes des grandes entreprises. Enfin, il tourne comme un daemon, il utilise donc des ressources système même quand il ne fait rien, et sa configuration est tellement opaque et compliquée que son développeur a inclus un interpréteur javascript dans ce programme, une décision pour le moins sujette à caution.

En résumé, c'est un truc qui rend des choses simples horriblement compliquées et qui consome des ressources. Des trucs tout simple comme "rajouter l'utilisateur lambda dans le groupe lpadmin pour lui permettre de rajouter et configurer des imprimantes sans avoir à taper le mot de passe root" ne fonctionnent plus (ceci a rendu Linus Torvald totalement hors de lui eek), alors que ceci peut s'avérer très utile avec un portable. Cela fait même que pour lancer un bureau comme fvwm-crystal (thèmes pour fvwm) sans que X se plante au démarrage, et alors que fvwm ignore tout de ces deux programmes, il faut le lancer avec consolekit, donc avec polkit. Et cela m'a rendu fou twisted.

C'est aussi un truc dont pas mal de choses peuvent dépendre, directement ou indirectement. Pulseaudio en dépend, gonme et gdm en dépendent, X en dépend conditionnellement. Heureusement, aucun programme utilisé pour l'audio pro n'en dépend. Il est possible de désinstaller *kit assez facilement, ce qui va du même coup désinstaller gnome et pulseaudio. Pour cela, il faut d'abord rajouter les USE flags suivants dans /etc/make.conf:
-consolekit -polkit -pulseaudio

et lancer la commande habituelle pour mettre à jour le système:
emerge --update --newuse --deep --with-bdeps y -a world

Celle-ci va planter en indiquant les changements d'USE flags appropriés et les programmes qui bloquent. Faire ces changements et relancer la commande jusqu'à ce qu'elle ne plante plus. Supprimez à la main si besoin est les programmes qui bloquent:
emerge -Ca programme_qui_bloque

Vous pourrez toujours essayer de les ré-installer plus tard.
Après, c'est comme avec les autres mises à jour:
emerge --depclean -a
revdep-rebuild


Et voilà, maintenant il ne vous reste plus qu'à utiliser un bureau comme kde (qui ne dépend que conditionnellement de *kit), ROX, les *box dont fluxbox, Razor, Fvwm-Crystal, Xfce, afterstep, enlightment, ou windowmaker. (liste non exhaustive)

11. Problèmes avec le compilateur gcc 4.1


Certains programmes peuvent présenter quelques problèmes avec gcc-4.1 (le compilateur par défaut de Gentoo 2007.0), mais fonctionnent parfaitement lorsqu'ils sont compilés avec la version gcc-3.4.
Quelques exemples vécus :
  • Tap-plugins : compilation et installation se font correctement, mais les égaliseurs restent muets (dans Jack-Rack comme dans Ardour 3). Le problème n'est pas présent avec (l'excellent) "tap-reverbed".
  • FreqTweak : compilation et installation semblent se passer correctement, mais "Erreur de segmentation" au lancement du programme.


11.1. Mise en garde

Attention : Jongler avec différentes versions ne devrait être réservé qu'aux "petites" applications qui posent vraiment problème avec gcc 4.1. Vous risquez en effet de déstabiliser votre système si vous compilez des éléments "vitaux" avec des versions de gcc différentes. Consulter également cette page .

11.2. Préparation

Pour installer ces programmes avec gcc-3.4, la première chose à faire est de vérifier les profils de gcc disponibles :
# gcc-config -l
 [1] i686-pc-linux-gnu-3.4.6
 [2] i686-pc-linux-gnu-3.4.6-hardened
 [3] i686-pc-linux-gnu-3.4.6-hardenednopie
 [4] i686-pc-linux-gnu-3.4.6-hardenednopiessp
 [5] i686-pc-linux-gnu-3.4.6-hardenednossp
 [6] i686-pc-linux-gnu-4.1.2 *


L'astérisque * précise le profil activé (ici celui avec gcc 4.1). Le résultat varie selon votre processeur/architecture et les versions de gcc installées.

Si gcc 3.4 n'est pas disponible, il faut commencer par l'installer :
# emerge -av =gcc-3.4.6


11.3. Passage en gcc 3.4

On bascule sur le profil gcc 3.4.6 :
# gcc-config i686-pc-linux-gnu-3.4
# source /etc/profile

Note : adaptez "i686-pc-linux-gnu-3.4.6" à votre processeur/architecture et votre version de gcc 3.4 !

On recompile le paquet libtool afin de s'assurer que la chaîne de compilation est en parfait état :
emerge --oneshot -av libtool


11.4. Installation des programmes

On installe les programmes qui coincent avec gcc 4.1 :
# emerge tap-plugins freqtweak


11.5. Retour en gcc 4.1

N'oubliez surtout pas cette étape !
On bascule sur le profil gcc 4.1 :
# gcc-config i686-pc-linux-gnu-4.1
# source /etc/profile

On recompile le paquet libtool afin de s'assurer que la chaîne de compilation est en parfait état :
# emerge --oneshot -av libtool

Il ne vous reste plus qu'à vérifier de temps en temps la sortie d'une éventuelle mise à jour du programme corrigeant le problème. Il peut être aussi utile et intéressant de signaler le problème constaté au(x) développeur(s) du programme concerné !

Penchez vous sur Gentoo Studio

Si vous êtes arrivés jusque là, c'est que vous avez vraiment envie de passer un moment avec Gentoo pour faire de la MAO.
Avec un peu de chance,vous allez cliquer sur le lien suivant qui va vous emmener vers une version plus simple à installer de Gentoo et spécialisée pour la MAO.
Gentoo Studio


Documentation [Afficher / Cacher]

Connexion
[Afficher / Cacher]


Mégaphone [Afficher / Cacher]

olinuxx, 14:55, mer. 19 Sep 2018: Bonjour et bienvenue à Gmanclub cool
sub26nico, 10:13, mer. 19 Sep 2018: Salut et bienvenue à thibaux :-)
jipeL, 08:34, mer. 19 Sep 2018: Bonjour à tous les musicien(nes)
olinuxx, 14:33, mar. 18 Sep 2018: Bonjour et bienvenue à Captain Holy Roger cool
sri_raoul, 15:53, lun. 17 Sep 2018: Soirée de lancement Lab Art le 9 octobre [Lien]
olinuxx, 14:15, lun. 17 Sep 2018: Bonjour et bienvenue à lbaldi ! (cool)
jipeL, 18:12, dim. 16 Sep 2018: Un nouveau morceau à écouter : [Lien]
sub26nico, 12:21, dim. 16 Sep 2018: Salut et bienvenue à diaz :-)
sub26nico, 09:50, dim. 16 Sep 2018: Salut et bienvenue à evgolk :-)
eazymaogeek, 04:03, dim. 16 Sep 2018: Bonjour à tous, un panel de fichiers .mid de batterie [Lien]
Penzignosis, 00:07, ven. 14 Sep 2018: Merci ^^ J'ai écrit un pavé en guise de présentation je crois (pavé César)
sub26nico, 23:32, jeu. 13 Sep 2018: Salut et bienvenue à Penzignosis :-)