Préalable

L'intérêt de ce post est de vous expliquer par le menu comment faire causer ensemble, sur Ubuntu 10.04, expandeurs, boîte à rythme, instruments virtuels, guitares et voix. Le tout grâce à Jack, le serveur son de Linux. Avec images nombreuses, configurations détaillées et tout et tout, comme d'hab. En prime,  l'installation d'une carte Echo Layla 24 qui a pris la suite de ma fidèle Delta 44, pendant la rédaction de ce post. Les softs mis en oeuvre ici sont Rosegarden, Qsynth et Linuxsampler, plus Prodatum et mQEdit. Et puisque je ne suis pas à une générosité près, je vous livre en plus quelques tuyaux utilises sur le séquenceur Rosegarden.

Le matériel que j'ai installé dans mon studio

Le studio, très classique dans sa configuration, est composé du matériel suivant :

  1. Un synthé Roland JX-10 polyphonique 12 voix avec son contrôleur PG-800. C'est le dernier gros analogique de la marque, commercialisé en 1985/1986. Il ne déroge aux anciens analos Roland que par ses DCO (oscillateurs analogiques contrôlés numériquement) utilisés en lieu et place des anciens VCO (le Juno 106 a lui aussi des DCO). Implémentation MIDI primaire (la norme fut créée en 1985). Il n'est pas multitimbral, mais bitimbral. Normal pour l'époque. J'ai toutefois mis la main sur une EPROM hackée, dotée d'une implémentation MIDI plus complète. Elle me sera utile.

  2. Un Waldorf MicroQ, début 2000, un synthé à modélisation analogique, multitimbral (16 canaux MIDI).

  3. Un expandeur E-mu Proteus 2000, multitimbral (16 ou 32 canaux MIDI, au choix).

  4. Une boîte à rythme Oberheim DX MIDI d'origine, car américaine, convertie au 220V par mes soins, datant de 1986. Là aussi, implémentation MIDI primitive (vendue depuis le 24 février 2014).

  5. Un contrôleur MIDI Kenton Control Freak Studio, qui cause en sysex et en MIDI avec les softs et les expandeurs.

  6. Deux interfaces MIDI : une Edirol UM-4 (4 in / 4 out), devenue obsolète sous Windows (mais très bien reconnue sous Linux), et une M-Audio Midisport 2x2 Anniversary. Toutes deux sont reliées au PC en USB. EDIT du 22 juin 2013 ; ne reste plus qu'une seule UM-4, les autres ont été vendues. EDIT : le set d'interfaces MIDI est désormais composé d'une Midisport 4x4, utilisée) et d'un UM-4 qui a été rangée dans sa boîte.

  7. Une M-Audio Delta 44 (qui illustre tout le post - je l'ai remplacée depuis par une Echo Layla24.

  8. Un ampli Yamaha A100.

  9. Une paire d'enceintes Tannoy Reveal passive.

  10. Un préampli compresseur à lampes mono TLAaudio 5051, sorties symétriques, utilisé pour la guitare et les micros (Shure SM57 et SM58).

  11. Une webcam Logitech Messenger Plus, reliée au PC en USB (plus aucun port USB de libre sur la machine).

  12. L'ordi est un Core 2 duo E4300 (EDIT : c'est désormais un Intel quad core Q6600), équipé de 4 Go de RAM. Un vieux machin assemblé par les soins à partir de pièces achetées d'occasion, comme une grande partie de mon matos. Plus deux disques durs (2x320Go) (EDIT : désormais trois HD interne).

  13. S'est ajoutée, en juin 2013, une Roland SH-32.
  • Attention, certaines photos s'ouvrent en très grand quand vous double-cliquez dessus. C'est un choix délibéré de ma part, pour que vous puissiez bénéficier d'une bonne définition d'image, surtout pour celles montrant les connexions et les éléments de configuration.

 DX_Oberheim.JPG

Avant toute chose

Avant de se lancer dans l'installation de son home studio, il est impératif de configurer correctement Jack, pour qu'à chaque démarrage il appelle correctement chaque périphérique audio (carte son, interface MIDI...) et ne modifie plus, de manière aléatoire, leur montage dans le serveur son. Sur Linux, ou en tout cas sur Ubuntu, le MAOiste peut en effet rencontrer un problème : une carte audio non reconnue, si d'aventure on plugge une webcam dans un des ports USB de la machine avant de démarrer l'ordi. Ce désagrément m'est arrivé ; j'ai cherché un bon moment avant de comprendre que ma Delta 44 n'était carrément plus présente dans Jack Audio Connection Kit, en raison d'une modification dans l'ordre de montage des périph audio ; conséquence : je n'avais plus de son ; la carte avait été remplacée en 1 par l'interface MIDI UM-4 ! Pour éviter un tel souci, il existe une petite manip tirée du site de Tango Studio. Elle est très simple, que nous allons mettre en oeuvre et qui fixe définitivement l'ordre de placement des périph. Avantage : votre carte audio maîtresse est montée en premier, dans mon cas elle est en tête, marquée "hw:0".

Un, ouvrez un terminal, tapez la commande "cat /proc/asound/cards" (tapez sans les guillemets). Le résultat vous donnera la liste des périph audio reconnus par votre système, avec leur nom, comme ceci :

cat__proc_asound_cards.png

Repérez ici le nom assigné à chacun des périph audio de votre ordi. Dans mon cas, c'est ICE1712 pour la Delta 44, HDA-intel pour la puce audio de ma carte-mère, USB-Audio pour les interfaces MIDI et la webcam.

Reste plus qu'à modifier le fichier alsa-base.conf, situé dans le répertoire /etc/modprobe.d/. Vous vous y rendrez via la commande "cd  /etc/modprobe.d/". Passez en root (administrateur) dans un terminal. Une fois fait(sudo -s/enter/mot de passe/enter), tapez alors dans la console "gedit alsa-base.conf". Cela ouvre le fichier. On va à tout à la fin. Doit apparaître à peu près ce que vous voyez sur l'image ci-dessous, à la différence près qu'aucune des lignes démarrant par le mot "options" n'est précédée d'un signe dièse (#). Vous rajoutez ce dièse devant toutes les lignes, jusqu'en bas du fichier. Puis vous rajoutez votre propre config, en vous inspirant de la mienne, baptisée Ma Config. Ne la recopiez pas : elle ne correspond sûrement pas à votre matériel ; le vôtre est sans doute différente. L'index=0 signifie que la carte audio destinée à la MAO sera vue en premier par Jack, et ainsi de suite... Placez les périph USB à la fin, sans vous soucier de reporter le nom de chacun. Ils seront tous présentés sous le doux nom de snd-usb-audio :

etc_modprobe.d_alsa-base.conf.png

Pour voir ce que ça donne dans Jack  (ALC888 correspond à HDA-Intel) après un redémarrage de la machine :

Capture.png

Et voilà ! Vos cartes ne bougeront plus. Elles seront toujours ainsi placées, la carte pour la MAO étant toujours devant. Passons à l'étape suivante.

Comment connecter tout ça ensemble

  • Sur le plan matériel

    La partie MIDI

    L'UM-4 accueille sur son in/out 1 le Roland JX-10, qui joue le rôle de clavier maître pour lui-même certes, mais aussi pour le compte des expandeurs, synthés et instruments virtuels. Aussi, ses deux canaux sont placés, dans la configuration MIDI interne de ce synthé, sur Local off (au lieu de Local on). 

    L'in/out 2 de l'UM-4 accueille le Micro Q, la 3 le Proteus, la 4 le Control Freak.

    La Midisport accueille sur l'In/out 1 l'Oberheim DX. Pourquoi ? Parce qu'elle a son propre clavier maître : ses boutons pressoirs momentanés. Je la dissocie donc du reste du matos MIDI. Et place son canal Midi global sur 2. De plus, la Midisport Anniversary possède un bouton MIDI Thru / USB Merge que je peux mettre sur MIDI Thru pour que la DX cesse d'envoyer des messages aux autres machines et de les perturber en leur faisant jouer des notes indésirables...

    La partie audio

    C'est simple : sur l'Echo, cela se passera ainsi :

    -In_1 réservé à la guitare via le preamp.

    -In_2 et in_3 le JX-10.

    -In_4 et in_5 le MicroQ.

    -In_6 et in_7 le Proteus.

    -In_8 la DX en mono (dommage, mais pas d'entrées supplémentaires.

    Set_Midi_Delta44_PG800.JPG

  • Sur le plan logiciel

    C'est là que ça se complique. Car il faut désormais faire le connexions dans Jack. Mais, avant toute chose, il faut respecter un ordre rigoureux de lancement. Un, ouvrez Jack Audio Connection Kit, sans démarrer son moteur audio. Puis, lancez Linuxsampler, puis son interface selon la procédure que j'ai déjà décrite dans le post consacré à cet échantillonneur. Lancez ensuite Qsynth, puis Rosegarden. Vous pouvez évidemment monter votre studio en utilisant d'autres softs. Dans jack, voilà ce que ça donne :

    Connexions_Rosegarden_Audio_Jack.png

     

    JACK_Alsa_fonctionne_bien.png

    Arrivé ici, les connexions MIDI étant faites dans Jack (image ci-dessus), il faut désormais  configurer le studio dans Rosegarden, afin que le séquenceur puisse reconnaître l'ensemble des machines et des instruments virtuels qu'il pilotera via Jack.

    Ca se passe dans l'onglet "Studio" de Rosegarden. Image :

    Capture-Gestion_des_peripheriques_MIDI.png

    Vous le voyez, le principe est simple : vous créez un nouveau périphérique dans la fenêtre située en haut à gauche "Périphérique d'exécution Midi", vous lui donnez le nom de la machine qui doit être interfacée, puis dans la fenêtre de droite en haut, vous lui attribuez un port MIDI (celui qui lui revient sur l'interface MIDI) en cliquant juste sur le port en question. Cela crée la liaison avec le port choisi de l'interface MIDI s'il s'agit d'une machine ; s'il s'agit d'un instrument virtuel comme Qsynth ou Linuxsampler, cela crée la liaison virtuelle avec lui. Pour les instruments virtuels reconnus par Jack, il existe en effet des ports dédiés, baptisés du nom du soft virtuel qu'ils sont chargés de relier. Donc Linuxsampler pour Linuxsampler, par exemple.

    => La fenêtre en bas à gauche, dont on n'a pas encore parlé jusqu'à présent, concerne le clavier maître, qui dans mon cas est le JX-10, placé en Midi_in_1 de l'UM-4. J'ai ajouté la DX, puisqu'elle a ses propres touches de commande.

    Retournez maintenant dans l'onglet Alsa de Jack . Vérifiez que l'UM-4 midi 1 fenêtre de gauche (donc Midi out) est bien connectée à la prise "record_0" de Rosegarden. C'est a priori nécessaire.

    Maintenant, entrons un peu plus dans les possibilités qu'offre Rosegarden. Plutôt que de créer de toutes pièces le périphérique d'exécution de votre instrument, vous pouvez l'importer depuis la liste d'expandeurs déjà inclus dans Rosegarden. Le Proteus 2000 y figure. Ainsi, dans la fenêtre Périphériques d'exécution MIDI, cliquez sur "Banques". Apparaît une fenêtre "Gestion des programmes et des banques MIDI". Là, cliquez sur "Importer", s'ouvre la liste des expandeurs, double-cliquez sur celui qui vous intéresse. Il apparaîtra en conséquence dans votre studio et vous lui attribuerez le port Midi qui lui revient sur l'Interface hardware. Image :

    Banques_Rosegarden.png

    A présent, refermez la fenêtre Studio, revenez sur le menu déroulant "Studio", puis allez tout en bas, cliquez sur "Enregistrez le studio par défaut". Revenez sur la fenêtre principale (celle des pistes) de Rosegarden. Cette fois, tapez la lettre p sur votre clavier, apparaissent alors les paramètres spéciaux à gauche des pistes, bien utiles pour sélectionner les banques, les presets par la suite des banques que vous avez importé du répertoire des expandeurs. Puis, enregistrez cette configuration, pour en faire le séquenceur qui s'ouvrira par défaut, lorsque vous lancerez Rosegarden.

    Retournez maintenant dans Jack et faites les connexions des instruments qui n'auraient pas été branchés automatiquement. Normalement, vous n'avez rien à faire. Mais on ne sait jamais. A savoir : cliquez sur l'un des périphériques reconnus dans Jack , apparaîtront en bleu les connexions qui le relient à d'autres périphériques, soft ou hardware. Vous pouvez ainsi vérifier s'il manque des connexions. Image :

Connexions_Rosegarden_Audio_Jack.png

Et voilà ! Normalement, vos appareils et softs doivent causer ensemble.

Studio.png

Le résultat

Rassurez-vous. Vous n'avez pas lu ce post pour rien : ce que j'ai écrit, je l'ai mis en oeuvre sur ma bécane et je l'assure : tout marche bien. 

Mes premières impressions sont vraiment bonnes. Surtout en matière de qualité sonore. Si le design des softs n'est pas toujours au top sur Linux, l'essentiel est là : ça sonne. A l'époque où mon ordi était sous Windows, je n'avais jamais ressenti tel plaisir. Je possédais pourtant un système coûteux, acheté chez Creamware (Pulsar 2, Powersampler + convertisseur 16 analog in/out), associé à Cubase que j'avais acheté assez cher, ainsi que Wavelab. D'ailleurs, je dois encore être enregistré chez Steinberg au titre de ces deux softs. Bref, vous le comprenez : je suis très fort satisfait de mon installation. Très bon petit home studio, qui tourne sur un OS particulièrement stable. Ca change d'autres systèmes...

=>Lors du lancement des logiciels, vous risquez de voir apparaître des XRUNS (cauchemar des MAOistes sous Linux). Ne vous inquiétez pas : c'est normal. Si votre PC n'est pas surpuissant ou survitaminé en RAM, le système est alors très sollicité au démarrage de softs comme Linuxsampler par exemple. Une fois les logiciels chargés, vous ne devriez cependant plus être embêtés avec ces XRUNS, à moins que vous stressiez très fortement le système avec une latence très basse dans Jack, qui pousserait le PC à ses limites. 

Ce que ça donne uniquement en audio

Petit fichier où ma strat JV sort de mon Princeton clone fait maison, repiqué par un Shure SM57 sur l'Echo Layla 24, via mon preampli TLAudio, le tout enregistré sur le séquenceur audio Ardour en 44100, sans aucun traitement audio, même pas de normalisation :

Fichier audio intégré

Rosegarden et les matériels hardware, conseils

Rosegarden resete les contrôles MIDI pour les remettre à leurs valeurs initiales à chaque fois qu'un morceau démarre ou redémarre. Cela découle de l'option "Emettre tous les contrôleurs Midi au début de chaque exécution" qui se trouve dans Editer/préférences/MIDI/configuration MIDI/Général. N'oubliez donc à chaque fois que vous créez un morceau de fixer le volume à la hauteur désirée de chacun de vos instruments représentés dans Rosegarden, puis d'enregistrer le fichier. Le reset de démarrage (sorte de retour chariot) ramènera ainsi leur valeur de volume à ce qu'il était en début de morceau. A défault de faire cette manip, Rosegarden resete les volumes à 0 à chaque fois que vous le remettez le morceau au début via la barre de transport.

EDIT : il peut y avoir plus simple. J'ai constaté que rosegarden charge à chaque lancement un fichier autoload.rg, comme Logic Audio 5 le faisait sous Windows, à l'époque avec son propre fichier autoload. Créez en conséquence le fichier.rg dédié à votre studio, avec pour chaque piste les sons des instruments et expandeurs que vous souhaitez avoir par défaut. Puis enregistrz ce fichier sous le nom d'autoload.rg et mettez le à la place du fichier autoload d'origine, là :

Rosegarden_autoload.png

D'autre part, si vous ne souhaitez pas que Rosegarden déclenche un séquenceur externe, du type d'une boîte à rythme externe, à chaque fois que vous lancez la lecture d'un morceau, décochez 'horloge MIDI sur "Envoie les messages Start and Stop".

Un peu de chance ne fait pas de mal

Parfois, on a du bol. C'est mon cas. Mon synthé MicroQ et mon Proteus 2000 peuvent tous deux être pilotés sur Linux grâce à des interfaces logicielles écrites toutes deux en java. Le MicroQ a a sa disposition mQEdit, un programme qui fonctionne très bien, le Proteus le Prodatum. Image de chacun de ces softs écrits en java :

mQEdit.png

Prodatum_Proteus.png

controllers_expanders.png

Les possesseurs d'autres synthés doivent se référer à la documentation de  Jsynthlib, ici : http://sourceforge.net/projects/jsynthlib/

Piloter votre système avec un contrôleur MIDI externe

EDIT du 11 octobre : Rosegarden crashe, semble-t-il, assez facilement quand un contrôleur MIDI est connecté à ses ports external controller. A tester plus avant. Mais, pour le moment, rien de très probant....

La carte Echo Layla 24 reconnue d'office

Voilà la carte qui a remplacé ma Delta 44. Dès lors que vous installez le paquet alsa-firmware, tirée du dépôt Medibuntu (voir post sur la MAO sous Linux), l'Echo Layla 24 est reconnue d'office. Images :

Echo_Layla.png

Layla24_module_kernels.png

Rajoutez dans le fichier alsa-base.conf (lire plus haut où il se trouve), cette ligne pour la Layla 24 : options snd-layla24 index=0. Image :

Layla24-alsa-base.conf.png

Vous disposez alors, une fois qu'elle est installée, de l'Echomixer qui vous permet de la régler finement.

attention.jpgPour que la carte soit reconnu d'office, il faut néanmoins allumer son rack avant de démarrer l'ordinateur.

Sachez, enfin, que cette carte peut être chaînée (synchronisée) avec d'autres cartes Echo de la série 24, à commencer par d'autres Layla 24, de manière à former un gros enregistreur 16 ou 24 pistes audio. La synchro se fait via la fiche World Clock, selon une procédure à respecter à la lettre.

Si vous avez des questions...

N'ayant hélas pas la science infuse, je compte sur vous pour m'apporter vos commentaires, interrogations, précisions et compléments d'information. Bref, réagissez si vous le souhaitez. Il ne faut pas s'en priver. D'autant que moi aussi, j'ai quelques questions en suspend : notamment, comment Rosegarden gère-t-il le MIDI ?

Evolution

Depuis l'écriture de ce post, j'ai abandonné Ubuntu, pour passer mon studio sous deux distributions Linux principales : Gentoo et Archlinux, qui font l'objet de post sur ce blog.

Documentation et utilitaires

http://www.rosegardenmusic.com/wiki/doc:manual-fr#parametres_d_instrument

http://synth.stromeko.net/mQEdit/mQEdit1.15.jar

http://prodatum.sourceforge.net/

Tutoriels Rosegarden :

http://willow75.free.fr/article07/index.html