Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[Howto]musique sous gentoo
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
Dominique_71
Veteran
Veteran


Joined: 17 Aug 2005
Posts: 1508
Location: Switzerland (Romandie)

PostPosted: Thu Aug 17, 2006 7:46 pm    Post subject: [Howto]musique sous gentoo Reply with quote

Ce Howto traite de la mao (musique assistée par ordinateur) sous gentoo.

Il est possible de transformer un pc en une station de travail multimédia grâce à linux. Seront abordées ici les quesdtions du son et de l'audio, mais certains des points traités seront également utiles à ceux qui veulent travailler professionellement de la vidéo.

1.- Introduction

Une contrainte très importante qui doit être satisfaite pour une station de travail multimédia est la possibilité de pouvoir effectuer ses tâches en temps réel. Une autre contrainte importante dans un environnement de production est la stabilité.

La préemption des kernels 2.6 est excellente pour des usages comme les serveurs ou les ordinateurs de bureau ou domestiques, mais elle est insuffisante dans un environnement de production multimédia. Il sera donc nécessaire d'installer un kernel temps réel (ou avec préemption complête).

Un soin particulier doit être apporté à la configuration matérielle de l'ordinateur afin de garantir la stabilité du système.

Dans un soucis de performance, des environnements graphiques légers comme xfce4 ou fluxbox seront préferrés à kde ou gnome.

L'overlay pro audio production applications permet de mettre rapidement en oeuvre une station de travail multimédia sous gentoo. Cet overlay a aussi un wiki et une liste d'emails. Je vais essayer ici de présenter son installation et sa mise en oeuvre.

Un excellent site en français de référence pour la mao sous linux est MAO libre. Je me concentrerais donc ici sur la MAO sous gentoo.


Remarque importante
Les ebuilds de cet overlay ne sont pas supportés par les développeurs de gentoo et vous installez ces programmes à vos risques et périls.

2.- Installation et mise à jour de l'overlay

La méthode conseillée est avec layman:
* Installation de layman
Code:
emerge -av layman

* Modification de make.conf
Code:
echo "source /usr/portage/local/layman/make.conf" >> /etc/make.conf

* Installation de l'overlay
Code:
layman -f -a pro-audio

* Mise à jour de l'overlay
Code:
layman -s pro-audio

À ce stade, nous n'avons téléchargé et installé une liste d'ebuilds dans /usr/portage/local/layman/pro-audio. Ceux-ci sont disponibles dans portage et ces programmes peuvent être installés comme d'habitude avec emerge.

3.- Installation des sources du kernel multimédia

Remarques importantes
1) Un kernel temps réel permet d'obtenir une préemption complête du système. Cette préemption doit être contrôlée par un mécanisme approprié: PAM-rlimits ou le module du kernel realtime-lsm.

Pour clarifier les choses car c'est souvent un sujet à confusion, la préemption complête (realtime preemption en anglais) est mise à disposition par un patch du kernel écrit par Ingo Molnar. Comme son nom l'indique, ce patch rend le kernel complêtement préemptible, ce qui permet d'obtenir une latence plus faible des opérations, et particulièrement des tâches audio. Un kernel patché avec ce patch est appellé un rt-kernel; cela a à voir avec le scheduling (agencement?) des opérations, mais n'a rien à voir avec les permissions utilisateurs.

Le module realtime-lsm n'est rien d'autre qu'un module de sécurité linux (LSM) qui rend possible d'accorder la permission à l'utilisateur d'utiliser les capacités temps réel du kernel linux. Il fonctionne sur n'importe quel kernel. Il va être remplacé par une version de PAM appelée PAM-rlimits laquelle utilise la fonction RLIMITS du kernel pour authoriser l'accès aux capacités temps réel d'une façon plus sure que le fait le realtime-lsm.

2) N'utilisez pas ce kernel pour obtenir une meilleure latence de kde. Non seulement ce n'est pas son but, mais vous risquez même de voir la latence de kde devenir pire en cas d'utilisation intensive du son. Par contre, vous aurez moins de xruns avec jack ainsi qu'une meilleure latence son.

3) Une station multimédia nécessite une configuration matérielle musclée pour pouvoir effectuer des tâches complexes en temps réel. Points les plus importants: beaucoup de mémoire RAM; disques durs rapides avec partitions séparées pour le système et les enregistrements; côté processeur, un duocore 64 bits sera l'arme ultime.

Lors d'utilisation de disques durs PCI, il est très important que le disque dur servant aux enregistrements soit sur un autre contrôleur (lisez câble) que le disque système. Si les PCI modernes sont rapides, ils bouchonnent au niveau du contrôleur lors d'accès simultanés sur deux partitions séparées ou deux disques séparés situés sur le même contrôleur. Voir SCSI vs. IDE vs. USB vs. FireWire.

Installation des sources

Note: Il s'agit d'un kernel expérimental


Code:
emerge -av rt-sources

Vous remarquerez dans la sortie de cette commande que l'overlay est bien installé:
Code:
$ emerge -av rt-sources
These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] sys-kernel/rt-sources-2.6.17-r8  USE="-build -fbsplash realtime-lsm -symlink -vesafb-tng" 42,114 kB [4]

Total size of downloads: 42,114 kB
Portage overlays:
 [1] /usr/portage/local/layman/test
 [2] /usr/portage/local/layman/science
 [3] /usr/portage/local/layman/kpex-media
 [4] /usr/portage/local/layman/pro-audio

Would you like to merge these packages? [Yes/No]

Le [4] renvoie bien à l'overlay pro-audio. Les [2] et [3] sont deux autres overlays mis à dispositions par layman, et [1] est mon overlay personnel pour tester mes ebuilds.

Les USE flags particuliés à ce kernel sont les suivants:
fbsplash: possibilité de boot splash avec gensplash, non recommendé pour un usage en production.
realtime-lsm: installe le module realtime-lsm dans les sources du kernel.
vesa-tng: installe le nouveau vesa-tng framebuffer, non recommandé pour un usage en production.

4.- Configuration du kernel multimédia

Copier la configuration du kernel actuel
Si vous avez le support pour l'accès à la configuration via /proc/config.gz:
Code:
zcat /proc/config.gz > .config

Autrement:
Code:
cp /usr/src/linux-`uname -r`/.config .config

Ensuite:
Code:
make oldconfig

Ce pas va vous fournir un tas de question, si vous n'êtes pas sur, vous pouvez généralement répondre non à toutes ou accepter la valeur par défaut.

Modification de configurations importantes
Cet exemple est pour un kernel 2.6.16
Code:
make menuconfig

* Activer la préemption complête:
Code:
Processor type and features --->
 Preemption Mode (Complete Preemption (Real-Time)) --->
  ( ) No Forced Preemption (Server)
  ( ) Voluntary Kernel Preemption (Desktop)
  ( ) Preemptible Kernel (Low-Latency Desktop)
  (X) Complete Preemption (Real-Time)

* Réglage de la fréquence de l'horloge interne:
Code:
Processor type and features  --->
 Timer frequency (1000 HZ)  --->
  (X) 1000 HZ

* Support pour l'horloge temps réel (RTC):
Code:
Device drivers --->
 Character devices  --->
  <*> Enhanced Real Time Clock Support

* Support de la RTC dans ALSA:
Code:
Device drivers --->
 Sound  --->
  Advanced Linux Sound Architecture  --->
   <*>   RTC Timer support
   [*]     Use RTC as default sequencer timer

* Soyez sur de ne pas avoir d'options de débogage:
(Note: Regarder dans le fichier .config du rt-kernel pour une liste complête.)
Code:
Kernel hacking  --->
 [*] Magic SysRq key #that one is always good to have ;)
 [ ] Kernel debugging

* Activez le realtime-lsm:
Note: cette option est disponible seulement si le use flag realtime-lsm était activé lors de l'installation des sources. Si ce n'était pas le cas, sélectionner seulement "Default Linux Capabilities". Vous pourrez toujours installer le module après installation du kernel avec "emerge realtime-lsm".
Code:
Security options  --->
 [*] Enable different security models
  <M>   Default Linux Capabilities
  <M>   Realtime Capabilities

Quittez et sauvez la configuration.

5.- Compilation et installation du kernel multimédia

Compilation:
Code:
make && make modules_install

Installation:
Code:
cp arch/i386/boot/bzImage /boot/kernel-2.6.16-rt22
cp System.map /boot/System.map-2.6.16-rt22

Si vous n'avez pas le support de votre chipset et du système de fichiers dans le kernel mais comme modules, vous aurez besoin d'une initrd:
Code:
cd /boot
mkinitrd -k kernel-2.6.16-rt22 -i initrd-2.6.16-rt22

Configuration du chargeur de démarrage:
Code:
nano -w /boot/grub/grub.conf

Copiez les entrées de votre ancien kernel et modifiez les noms pour qu'ils correspondent au kernel actuel.
Et enfin nous y sommes: redémarrez!


6.- Configuration et test du temps réel

Avec le realtime-lsm
Après le redémarrage:
* Si le module realtime-lsm n'a pas été compilé avec le kernel (voir ci-dessus point 5.-)
Le lien symbolique /usr/src/linux doit pointer sur les sources du rt-kernel.
Code:
emerge -av realtime-lsm

* Déterminez le gid du groupe audio:
Code:
id <username>

L'important dans la sortie de cette commande est le gid du groupe audio (normalement 18 sous gentoo).
Code:
$ id dom
uid=1000(dom) gid=100(users) groupes=100(users),7(lp),10(wheel),11(floppy),18(audio),19(cdrom),27(video),35(games),80(cdrw),85(usb),440(plugdev),444(kdemouse),445(freenet)

* Si l'utilisateur n'est pas dans le groupe audio:
Code:
gpasswd -a <username> audio

et arrêtez et redémarrez la session de l'utilisateur.
* Chargez le module realtime-lsm:
Code:
modprobe commoncap
modprobe realtime gid=18

* Pour être sur qu'il sera chargé automatiquement lors d'un redémarrage:
Code:
echo "realtime" /etc/modules.autoload.d/kernel-2.6
echo "options realtime gid=18" >> /etc/modules.d/realtime
modules-update

L'utilisateur peut maintenant lancer des programmes audio avec le privilège temps réel.
Code:
$ lsmod|grep realtime
realtime                5384  0
commoncap               7168  1 realtime



Avec RLIMITS et PAM

* Assurez-vous que vous avez la dernière version de pam de l'overlay:
Code:
emerge -av pam

Voir remarque ci-dessus dans [3.-] pour savoir comment remarquer si vous avez déjà la bonne version.
Note: Si vous ne voyez pas l'overlay pro-audio dans la sortie de cette commande, cela signifie que vous utilisez une version ~arch de pam. Supprimez cette référence dans /etc/portage/package.keywords pour pouvoir installer pam-rlimits de l'overlay. La plupart des ebuilds de l'overlay sont en arch. Certains programmes ont des versions cvs et svn, lesquelles sont, conformément à gentoo, en -*.)

* Modifiez /etc/security/limits.conf pour y rajouter
Code:
# rtprio
@audio - rtprio 90
@audio - nice -5
@audio - memlock 500000

Cela règle la priorité temps réel à 90 pour tous les utilisateurs du groupe audio, les tâches temps réel ont une valeur nice de -5, et un memlock d'environ 500MB leur est accordé.


Avec RLIMITS et sans PAM
Code:
emerge set_rlimits

Un exemple de fichier de configuration set_rlimits.conf est:
Code:
@audio  /usr/bin/jackd          nice=-1 rtprio=85
@audio  /usr/bin/qjackctl       nice=-1 rtprio=84
@audio  /usr/bin/ardour         nice=-1 rtprio=83
@audio  /usr/bin/hydrogen       nice=-1 rtprio=82
@audio  /usr/bin/jackeq         nice=-1 rtprio=81
@audio  /usr/bin/jack-rack      nice=-1 rtprio=80
@audio  /usr/bin/jamin          nice=-1 rtprio=79
@audio  /usr/bin/qsynth         nice=-1 rtprio=78
@audio  /usr/bin/rosegarden     nice=-1 rtprio=77
@audio  /usr/bin/seq24          nice=-1 rtprio=76
@audio  /usr/bin/specimen       nice=-1 rtprio=75
@audio  /usr/bin/vkeybd         nice=-1 rtprio=74
@audio  /usr/bin/zynaddsubfx    nice=-1 rtprio=73
@audio   /usr/bin/ams      nice=-1   rtprio=72
@audio   /usr/bin/amsynth   nice=-1   rtprio=71



rtirq
c'est un script de dénattage qui fixe les priorités du matériel. Il assigne différentes priorités aux IRQ, pour donner la priorité la plus importante à la RTC, suivie des cartes sons, de l'usb et de l'i8042. Pour l'installer:
Code:
emerge rtirq
rc-update add rtirq default

Il est possible de le redémarrer, par exemple après un modprobe:
Code:
/etc/init.d/rtirq restart

Pour connaître l'état de rtirq:
Code:
/etc/init.d/rtirq status

Cette dernière commande vous donnera aussi les priorités et d'autres renseignements.


Test de l'audio temps réel

* Démarrez qjackctl et faites votre cofiguration
* Cliquez sur Start -> et JACK doit démarrer.
* Démarrez zynaddsubfx
* Ouvrez Connect dans qjackctl
* et connectez zynadd à la sortie de la carte son
* jouez avec zynadd

Vous devriez entendre zynaddsubfx dans toute sa gloire.


7.- Configuration des IRQs
Il est recommandé de regler la priorité des interruptions matérielles de l'ordinateur comme indiqué ci-dessus avec rtirq.

Je ne saurait trop vous recommander de lire le Linux hardware stability guide, Part 2 de Daniel Robbins . Il est particulièrement important de ne pas avoir d'IRQ partagées avec la carte son. La raison en est que rtirq va assigner la même priorité à tout périphérique qui partagerait la même IRQ que celle de la carte son. Cela provoquerait immanquablement des plantées et des blocages du système.

Il est indispensable pour la stabilité du système que la sortie de "cat /proc/interrupts" ne montre pas d'IRQ partagée:
Code:
 $ cat /proc/interrupts
           CPU0       
  0:   85850747  XT-PIC         [........N/  0]  pit
  1:      65574  XT-PIC         [........./ 20]  i8042
  2:          0  XT-PIC         [........N/  0]  cascade
  3:          0  XT-PIC         [........./  0]  ohci_hcd:usb2
  4:     730029  XT-PIC         [........./  0]  ohci_hcd:usb1
  5:         16  XT-PIC         [........./  0]  ohci_hcd:usb3
  6:     533038  XT-PIC         [........./  0]  ehci_hcd:usb4
  7:          1  XT-PIC         [........./  0]  parport0
  8:     318973  XT-PIC         [........./  0]  rtc
  9:          0  XT-PIC         [........./  0]  acpi
 10:     373340  XT-PIC         [........./  0]  EMU10K1
 11:    1635098  XT-PIC         [........./  0]  ohci1394, eth0
 12:          0  XT-PIC         [........./  0]  bttv0
 14:    1343881  XT-PIC         [........./  0]  ide0
 15:       1351  XT-PIC         [........./  0]  ide1
NMI:          0
LOC:    5804087
ERR:          0
MIS:          0

et ceci même dans le cas d'un systême APIC. Les périphériques qui ne doivent absolument pas avoir d'IRQ partagée sont ceux listés dans /etc/default/rtirq:
Code:
RTIRQ_NAME_LIST="rtc snd usb i8042"


En cas d'IRQ partagées, le seul moyen de résoudre cela est de modifier l'assignement des IRQs dans le BIOS et/ou de déplacer les cartes de slot en slot. Voir la doc de votre carte mère pour cela, elle décrit généralement les options du bios ainsi que la façon dont les slots se partagent ou non les IRQs. (Ces docs peuvent contenir des fautes, donc en cas de doute, c'est le Bios et /proc/interrupts qui font foi.)

Il est aussi bien que la priorité des IRQs dans le kernel corresponde autant que possible à celle dans la carte mère. L'ordre des IRQs dans une machine non APIC est le suivant:
Code:
0, 1, 8, 9, 10, 11, 12, 13, 14, 15, 2, 3, 4, 5, 6, 7
 
 0 : priorité la plus forte
 7 : priorité la plus faible


En comparant cette table avec les données de /proc/interrupts, nous voyons que nous pouvons mettre de l'ordre dans cette machine. L'IRQ 9 est la meilleure IRQ possible pour une carte son, le problème ici est que le kernel veut lui attribuer l'ACPI même quand il est désactivé dans le BIOS. Le paramètre de démarrage "acpi=off" permet de le désactiver et de gagner l'IRQ 9. Il faut encore aller dans le bios et réassigner l'IRQ du connecteur correspondant à l'EMU10k1. Nous nous retrouverons alors avec l'IRQ 10 libre, laquelle pourra être utilisée, par exemple, pour une carte son supplémentaire. Il suffit de rajouter acpi=off dans /boot/grub/menu.lst à la fin de ligne correspondant au rt-kernel pour rendre ce changement permanent.

8.- Divers

USB et jackd
Les cartes son USB ne permettent pas de réaliser des latences aussi faibles que les cartes son PCI mais elles sont très populaires. La période d'interruption d'un bus USB est d'environ 1 msec. Pour que jackd fonctionne aussi bien que possible, il est nécessaire qu'il soit réglé sur un multiple de cette période, par exemple 48 kHz 3 periods, dans qjackctl. De plus, le chargement de snd-usb-audio avec le paramètre "nrpacks=1" améliore aussi beaucoup la latence (CONFIG_USB_BANDWIDTH et CONFIG_USB_DYNAMIC_MINORS ne doivent pas être sélectionnés dans la configuration du kernel).

EMU10K1 et fontes sonores
D'autres cartes son populaires sont les Live et Audigy qui possèdent un synthétiseur capable d'utiliser les fontes sonores sf2. La configuration par défaut du module du kernel ne permet pas de charger des fontes sonores d'une taille totale supérieure à 128MB.

Pour agrandir cette taille, éditez /etc/modules.d/alsa et rajoutez:
Code:
options snd-emu10k1 max_buffer_size=size_in_MB

et lancez:
Code:
# modules-update

La taille maximum est de 1 ou 2 GB, je ne suis pas sur. Si quelqu'un le sait, laissez un mot. Indiquer une taille supérieure à ce que la carte peut faire n'entraîne aucune autre conséquence que le chargement des fontes sonores sera interrompu dés que la limite sera atteinte.

Vous chargez les fontes sonores comme d'habitude avec asfxload. Pour tester que tout fonctionne bien:
Code:
#  cat /proc/asound/card0/wavetableD1


Il est aussi recommandé de charger les fontes sonores lors du démarrage car le kernel ne sera pas forcément capable d'assigner la mémoire nécessaire au chargement de grosses fontes sonores dans un système en fonctionnement. Il va sans dire qu'il faut avoir suffisament de mémoire RAM pour charger des grosses fontes sonores et avoir un système utilisable. Pour automatiser le chargement, il suffit d'ajouter la commande
Code:
asfxload votre_soundfont
dans /etc/conf.d/local.start

Cartes Firewire
Le firewire est un bus série à haute vitesse. Son standard est l'IEE1394.
Alsa ne supporte pas ce protocole mais il existe deux solutions pour linux:
IEEE 1394 for Linux
FreeBob project

Avant d'acheter une telle carte, consulter ces sites pour savoir si votre matériel fonctionnera avec linux. Le problème est que si certains fabriquants collaborent avec linux, d'autres ne le font pas, et que pour une carte son il n'y a pas seulement le protocole de communication IEEE1394 à gérer, mais aussi le hardware de la carte. Si votre carte son n'est pas reconnue, adressez une plainte-requête polie mais ferme à son fabricant.

Il n'y a pas à ce jour d'ebuild gentoo pour freebob (à ma connaissance), mais il y en a un pour l'IEEE1394: sys-libs/libavc1394 ainsi qu'un module kernel. N'ayant jamais testé ce type de cartes, je ne peux pas vous en dire plus.
_________________
[[[ To any NSA and FBI agents reading that text: please consider ]]]
[[[ whether defending the US Constitution against all enemies, ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]


Last edited by Dominique_71 on Mon Aug 28, 2006 5:03 pm; edited 10 times in total
Back to top
View user's profile Send private message
Dominique_71
Veteran
Veteran


Joined: 17 Aug 2005
Posts: 1508
Location: Switzerland (Romandie)

PostPosted: Thu Aug 17, 2006 7:47 pm    Post subject: Reply with quote

MAO - Musique assistée par ordinateur

Cette deuxième partie est une traduction du wiki DAW Digital Audio Workstation
Voir aussi http://forums.gentoo.org/viewtopic-t-462677.html Les parties déjà traitées ci-dessus ne sont pas réabordées et certaines précisions ont été aportées.

C'est un survol des possibilités offertes par linux et particulièrement gentoo pour réaliser une station de travail audio d'enregistrement multipistes et de mastering.

Il n'y a aucun programme linux comparable aux suites combinées logiciel-matériel pour Mac ou windows, mais il y a un ensemble d'applications qui peuvent être combinées sur n'importe quel hardware pour donner un système aux possibilités limitées uniquement par le hardware et l'imagination de l'utilisateur. Notre manchot est déjà capable de nous permettre de produire des productions audio de qualité.

Avertissement: Beaucoup des logiciels décrit ici sont au stade béta voir alpha. Ils peuvent planter voir même planter le système. Il est donc important de bien les tester avant de les utiliser en production ou en live.

Notre station de travail comprendra au moins les éléments suivants:

* un serveur son professionel (Jack),
* un séquenceur (Rosegarden) et une boite à rythme (Hydrogen),
* un éditeur/enregistreur multipistes (Ardour),
* des effts multiples DSP (plugins LADSPA et VSTi/VST avec Rosegarden et Ardour),
* un éditeur audio (Rezound),
* un logiciel de mastering (Jamin)

Vous devez avoir installé l'overlay proaudio d'Evermind, un kernel multimédia fonctionel et avoir des drivers alsa fonctionels pour votre carte son.


Installation de jack

Jack est un serveur son qui réuni les deux qualités nécessaires pour une utilisation sérieuse du son avec un ordinateur: faible latence et exécution synchrône de toutes les tâches de ses clients.

De plus, plusieurs interfaces graphiques sont à disposition pour jack. Certains comme qjackctl sont indépendant et permettent un contrôle de tous les paramètres de jack, d'autres sont incorporés dans les applications. Ces interfaces permettent de router (interconnecter) les programmes audio avec la souris exactement comme nous le ferions dans un studio ou sur une scène, mais sans avoir à nous soucier d'avoir le bon raccord ou d'adapter les impédances. Il permet aussi de synchroniser les flux audio et MIDI. Jack est donc le coeur du système.

* Assurez-vous que vous avez au moins les USE flags suivants dans /etc/make.conf:
Code:
USE="alsa jack mmx sse"

Note: mmx et sse sont des optimisations en fonction du CPU qui ont du être ajoutées lors de l'installation de Gentoo. Votre processeur peut aussi supporter d'autres optimisations comme mmx2 et sse2. Pour obtenir la liste de ce que votre CPU supporte:
Code:
grep -i Flags /proc/cpuinfo


* Nous avons besoin de certains flags USE pour jack:
Code:
echo "media-sound/jack-audio-connection-kit jack-tmpfs jackmidi" >> /etc/portage/package.use

Si vous voulez le support réseau de jack, lancez à la place:
Code:
echo "media-sound/jack-audio-connection-kit jack-tmpfs jackmidi netjack" >> /etc/portage/package.use


* Installation de jack et de ses dépendences:
Code:
emerge --oneshot alsa-lib alsa-jack jack-audio-connection-kit

L'auteur de ce howto conseille d'utiliser les versions ~arch... à vous de choisir. Pour jack-audio-connection-kit, j'ai même installé la version cvs (-*).

* Editez /etc/fstab pour y rajouter:
Code:
none       /dev/shm     tmpfs    nodev,nosuid,noexec        0       0

Il n'est pas nécessaire d'en faire plus avec les kernels récents.

Pour les détails voir le FAQ de jack. (Vieux et pas mis à jour.)

À ce stade, vous devrez peut-être redémarrer.

* Maintenant, nous pouvons essayer jack:
Code:
jackd -R -d alsa &


Il est possible d'utiliser jack à la ligne de commande (par exemple pour le lancer lors du démarrage. Lisez donc soigneusement:
Code:
man jackd


Il est plus facile d'utliser qjackctl:
Code:
emerge -av qjackctl

NOTE: Soyez sur d'utiliser jack avant de lancer les applications audio, autrement elles pourront ne pas fonctionner, et même si elles démarrent, elles ne l'utiliseront pas.

Soyez aussi attentif au fait que pour pouvoir réaliser des opérations temps réel, le processeur ne dispose que du temps correspondant à la latence de Jack. Plus la latence de jack sera faible, plus il faudra une machine musclée pour réaliser des tâches complexes. Les logiciels de synthèses sonores logicielles ainsi que certains filtres peuvent être particulièrement gourmands en temps processeur.

Installation des autres programmes

Nous allons installer les programmes les plus importants de l'overlay.

Support VST

VST est un format de plugin utilisé par la plupart des applications audio windows et mac. Vous pouvet les utiliser à l'intérieur d'autres programmes (appelés hôtes). Ils comportent des effets temps réel, des synthétyseurs et d'autres choses. Pour plus de renseignements, regardez ici: KVR: VST Plugins pour voir la tonne de plugins libres qui existent. Et certains ont vraiment un bon son!

Une excellente référence en français est MAO Linux:Synthés virtuels

Il y a au moins deux systèmes pour utiliser les plugins VST sous linux:

Divers
Fvwm-crystal
Fvwm est un gestionnaire de fenêtre léger et rapide. Son principal défaut est qu'il prend beacoup de temps à configurer, mais il offre une flexibilité qu'aucun autre wm n'offre. J'ai réalisé une recette (= thème sous fvwm) qui incorpore dans le menu la plupart des programmes de cet overlay ainsi qu'un menu de contrôle d'alsaplayer avec réglage de volume en db et réglage de vitesse. Le réglage de vitesse permet entre autre de changer la vitesse par pas de 1 comma dans le premier demi ton autour de la vitesse normale. Cela est très utile, par exemple pour un guitariste qui veut jouer un même temps qu'il écoute un morceau. Il n'a ainsi pas besoin de se réacorder pour sonner juste.

Cette configuration lance qjackctl et gkrrml (s'ils sont présents dans le système) au démarrage de fvwm.

Un autre avantage de Fvwm est qu'il utilise encore moins de ressources système que fluxbox ou xfce.

Pour installer ce thème, il faut d'abord installer fvwm et fvwm-crystal:
Code:
emerge fvwm-crystal

Et ensuite téléchargez ma configuration à Fvwm et gensplash et l'installer dans ~/.

fvwm-crystal-config-current.tar.bz2 contient la configuration, la recette et le menu. Une fois installé, vous avez dans le menu sous Fvwm-crystal -> préférences -> Recettes utilisées -> Utilisateur, une nouvelle recette appellée Thin Dock. Le menu des applications fonctionnera avec toutes les recettes. Le menu de contrôle d'alsaplayer (dans le menu sous Fvwm-crystal -> préférences -> lecteur de musique -> alsaplayer et mixer audio -> alsaplayer) sera disponible avec toutes les recettes, mais toutes ses fonctionalités ne seront présente qu'avec Thin Dock.

Cette recette utilise des coins arrondis pour les fenètres. Si vous les voulez, il faut installer la version cvs patchée de Fvwm avec l'ebuild de pierreg à FVWM CVS. Cette version est hyper stable, même avec un kernel temps réel et les drivers nvidia. Donc pas de soucis, fvwm est souvent cité comme exemple de programmation réussie.

fvwm-crystal-config-images-current.tar.bz2 contient des icones pour le menu des applications ainsi que quelques papiers peints. Il est lui aussi à installer dans ~/.
Vous devez vous retrouver avec tous les fichiers dans ~/.fvwm-crystal

Pour pouvoir lancer fvwm avec xdm, gdm ou kdm, vous devez rajouter une entrée dans /etc/X11/Sessions:
Code:
echo '#!/bin/sh' > /etc/X11/Sessions/fvwm-crystal
echo /usr/bin/fvwm2 >> /etc/X11/Sessions/fvwm-crystal


EDIT: En fait, il suffit de copier le fichier addons/fvwm-crystal.desktop livré avec FVWM_Crystal dans /usr/share/xsessions (si je me rapelle bien, portage le fait lors du merge de fvwm-crystal). Cet emplacement est utilisé par gdm (et sans doute aussi kdm) pour savoir quels wm sont disponibles.
endedit

Il y a aussi deux fichiers pour les locales en français du menu, ils sont à metrre dans /usr/share/fvwm-crystal/fvwm/locale/fr_vos_locales/.

Tout commentaire au sujet de cette recette ou rapport de bugs sont les bienvenus. De même que des nouvelles icones ou fonctionalités.
09/10/2006: j'ai updaté la config. Corrigé un bug récursif dans le menu de l'alsaplayer que j'ai divisé en quatre. Rajouté un bouton dans le bouton audio de Thin Dock pour avoir de meilleurs bindings.

EDIT Je suis en train de merger avec Marcej, le développeur de FVWM-Crystal, les fonctions de Crystal-Audio dans Fvwm-Crystal.
Endedit

Suite un autre jour.
_________________
[[[ To any NSA and FBI agents reading that text: please consider ]]]
[[[ whether defending the US Constitution against all enemies, ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]


Last edited by Dominique_71 on Mon Apr 23, 2007 10:14 am; edited 8 times in total
Back to top
View user's profile Send private message
yuk159
Veteran
Veteran


Joined: 18 Apr 2003
Posts: 1801
Location: noumea ,nouvelle-caledonie

PostPosted: Thu Aug 17, 2006 8:48 pm    Post subject: Reply with quote

Merci pour ce beau how-to, il me servira certainement :)

@+
_________________
The box said: "Requires Windows 98/2000/XP/NT, or better."
So, I installed LINUX!
un blog de plus :)
Back to top
View user's profile Send private message
xaviermiller
Administrator
Administrator


Joined: 23 Jul 2004
Posts: 5612
Location: ~Brussels - Belgique

PostPosted: Mon Aug 21, 2006 2:24 pm    Post subject: Reply with quote

Merci pour le résumé et la traduction en français ;)
_________________
Kind regards,
Xavier Miller
Back to top
View user's profile Send private message
guitoo
Tux's lil' helper
Tux's lil' helper


Joined: 04 Jun 2004
Posts: 132

PostPosted: Fri Sep 08, 2006 2:43 am    Post subject: Reply with quote

Est ce qu'il est possible d'utiliser conjoitement plusieurs noyaux? En l'occurence un rt-kernel et un gentoo-kernel. En particulier est ce que ça risque de poser des problèmes sur les modules, Notemment pour les modules comme ndiswrapper ou nvidia-drivers.
Back to top
View user's profile Send private message
Olivier HUMBERT
n00b
n00b


Joined: 08 May 2006
Posts: 23

PostPosted: Fri Sep 08, 2006 9:49 am    Post subject: Reply with quote

guitoo wrote:
Est ce qu'il est possible d'utiliser conjoitement plusieurs noyaux? En l'occurence un rt-kernel et un gentoo-kernel. En particulier est ce que ça risque de poser des problèmes sur les modules, Notemment pour les modules comme ndiswrapper ou nvidia-drivers.

non je ne pense pas car chaque kernel possède sont propre arbre de modules dans /lib/modules, un petit ls te le montrera qi tu as plusieurs kernel.

En passant, super tuto !
entre celui ci et celui là
ça commence à devenir plus qu'intéressant ...

les homestudios et studio associatifs vont basculer d'ici peu !
Back to top
View user's profile Send private message
Dominique_71
Veteran
Veteran


Joined: 17 Aug 2005
Posts: 1508
Location: Switzerland (Romandie)

PostPosted: Fri Sep 08, 2006 1:35 pm    Post subject: Reply with quote

Olivier HUMBERT wrote:
guitoo wrote:
Est ce qu'il est possible d'utiliser conjoitement plusieurs noyaux? En l'occurence un rt-kernel et un gentoo-kernel. En particulier est ce que ça risque de poser des problèmes sur les modules, Notemment pour les modules comme ndiswrapper ou nvidia-drivers.

non je ne pense pas car chaque kernel possède sont propre arbre de modules dans /lib/modules, un petit ls te le montrera qi tu as plusieurs kernel.

Non, il n'y a pas de problème. Il est même possible de faire plusieurs kernels avec les mêmes sources. Pour cela, commencer par faire un "make mrproper". Cela va remettre les compteurs à zéro. Même le .config sera effacé donc il est bon d'en faire une sauvegarde. Personellement, je copie toujours le .config dans /boot et je le renomme en config-'uname -r' pour m'y retrouver.

Après, c'est comme d'habitude, mais dans la config générale, il faut mettre une extra string qui viendra se rajouter à la fin du nom du kernel. Cela permet d'avoir aussi des répertoires de modules différents dans /lib/modules. J'ai même réussi à faire un kernel pour le driver nv 2D et le nvidia 3D. J'en ait fait un tips dans le wiki: Swithing between the nv free driver and the 3D nVidia driver car cela necessite plus que simplement deux kernels.

A propos de kernel, évitez le 2.6.17-rt8 dans l'overlay (en ~arch) et choisissez le 2.6.16-rt29. Le 2.6.17-rt8 est buggé et comme c'est les vacances aussi pour Ingo... il faut utiliser le 2.6.16-rt29 qui est ultra stable.
EDIT: C'est seulement le 2.6.17-rt8 qui est buggé, pas les autres 2.6.17.

Quote:
En passant, super tuto !
entre celui ci et celui là
ça commence à devenir plus qu'intéressant ...

les homestudios et studio associatifs vont basculer d'ici peu !

C'est sur. Et beaucoup de gens commencent à en parler en dehors de la communauté linux. Près de chez moi, un magasin de musique vend les Mediastations. Plus de gens en parlerons, plus il y aura d'émules.

Côté linux, il se passe aussi beaucoup de choses.
Suse a le jacklab qui permet d'incorporer à suse les mêmes fonctionalités que cet overlay.
Chez Debian, Musix a un développement rapide, la nouvelle version de DeMuDi devrait sortir en même temps que la nouvelle version de Debian et le développement, suite à l'arrêt des subventions européennes, se fait de manière conjointe avec Debian.
Il y a aussi planet CCMRA et Studio64.
EDIT: Et j'oubliait dyne:bolic.
_________________
[[[ To any NSA and FBI agents reading that text: please consider ]]]
[[[ whether defending the US Constitution against all enemies, ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]
Back to top
View user's profile Send private message
Coltie
Guru
Guru


Joined: 22 Apr 2005
Posts: 305
Location: N 46° 7' 26.7" E 7° 6' 11.2"

PostPosted: Tue Nov 07, 2006 9:57 pm    Post subject: Reply with quote

Hello!

Un grand merci pour ce tuto!

Juste dommage pour moi... le seul hic:
Code:
modprobe commoncap
FATAL: Error inserting commoncap (/lib/modules/2.6.16-rt29/kernel/security/commoncap.ko): Invalid module format
Dommage...

Je vais voir ce que je peux faire...

NB: .. et on est au moins deux romands dans l'histoire de la MAO sous linux!
_________________
Unreleased Kollektiv
"If by noise you mean uncomfortable sound, then pop music is noise to me."
Masami Akita
Back to top
View user's profile Send private message
jotake
Tux's lil' helper
Tux's lil' helper


Joined: 23 Jan 2005
Posts: 91

PostPosted: Mon Apr 23, 2007 1:07 am    Post subject: Reply with quote

Bonjour tous d'abord merci pour ce beau tuto.

Ma question est la suivante, existe t'il sous linux un logiciel comparable à "Sam Broadcaster" (windows).
C'est un logiciel permettant de diffuser des flux audio (mp3, ogg) sur des serveurs shoutcast, icecast.
Il est utilisé par exemple pour faire des webradio : diffusion de musiques, diffusion avec un micro etc....

Pour le moment le seul que j'ai trouvé si rapprochant est "Internet DJ Console http://www.onlymeok.nildram.co.uk/.
Il marche pas trop mal, mais si quelqu'un connait quelques choses d'autres je suis partant :)

ps: lien pour sam ---> http://www.spacialaudio.com/products/sam2/
Back to top
View user's profile Send private message
Dominique_71
Veteran
Veteran


Joined: 17 Aug 2005
Posts: 1508
Location: Switzerland (Romandie)

PostPosted: Mon Apr 23, 2007 9:56 am    Post subject: Reply with quote

Il n'y a aucun logiciel linux correspondant à Sam. Il doit par contre être possible de combiner plusieurs programmes pour obtenir des fonctions similaires.

J'ai oublié de mentionner le lien de MAO Libre, excellent site sur la MAO sous linux. Il contient une page sur le broadcasting. Je n'ai jamais essayé, mais la meilleure solution me semble d'utiliser un serveur qui soit compatible avec jack. Une chose à se rapeller avec le broadcasting est qu'il ne faut pas abuser d'effets sonores car cela rend vite le son mauvais à l'autre bout de la chaine (Il y a eu une discussion là-dessus au mois de mars sur la liste de diffusion http://lists.linuxaudio.org/mailman/listinfo.cgi/linux-audio-dev). Pour ce que je me rappelle, la compatibilité mono du flux stéréo est essentielle pour du broadcast.
_________________
[[[ To any NSA and FBI agents reading that text: please consider ]]]
[[[ whether defending the US Constitution against all enemies, ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]
Back to top
View user's profile Send private message
xaviermiller
Administrator
Administrator


Joined: 23 Jul 2004
Posts: 5612
Location: ~Brussels - Belgique

PostPosted: Tue May 08, 2007 6:03 pm    Post subject: Reply with quote

tiens-quelqu'un est-il en amd64 et a-t-il réussi à installer fst ? j'y arrive pas, à moins de passer en chroot 32 bits :cry:
_________________
Kind regards,
Xavier Miller
Back to top
View user's profile Send private message
Dominique_71
Veteran
Veteran


Joined: 17 Aug 2005
Posts: 1508
Location: Switzerland (Romandie)

PostPosted: Wed Jul 22, 2009 8:01 pm    Post subject: Reply with quote

Je ne contribue plus au forum en français car je me suis fais menacer de bannissement par certains modos qui interprètent le règlement de manière restrictive et qui n'apprécient pas que j'ouvre ma grande gueule sur des sujets politiques. Je n'ai jamais été partisan de la pensée unique, j'ai toujours aimé dire ce que je pense, et ce n'est pas à mon âge que je vais changer. De plus, je n'aime pas perdre mon temps, ce surtout pas avec des fachos. Je n'ai donc rien à faire sur cette partie du forum.

Je vais cependant faire une exception pour ce sujet car il me tient à coeur. Mais ce sera bien le seul sujet auquel je contribuerai !

fst est complètement obsolète. De plus, il ne compile pas sous amd64. Il y a un tout nouveau live ebuild dans l'overlay, mais je ne l'ai pas testé. D'après un rapport sur la liste d'emails de l'overlay, il compile dans un chroot, mais zombifie certains VSTs.

Il faut utiliser dssi-vst à la place, lequel est très facile à router avec qjackctl. Ainsi, le support vst intégré dans Ardour et MusE n'est pas nécessaire.
_________________
[[[ To any NSA and FBI agents reading that text: please consider ]]]
[[[ whether defending the US Constitution against all enemies, ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum