04sept. 2011
Utiliser Linuxsampler sur Linux Ubuntu
22:16 - Par bpier - Debian MAO - 4 commentaires
Linuxsampler, voilà un autre soft intéressant pour la MAO sous Linux. Il complète les excellents sequenceurs, déjà présent dans le monde du libre, comme Ardour et Rosegarden. Linuxsampler amène la possibilité d'utiliser un sampler capable de lire des échantillons directement sur disque dur, car au format gig. Comment l'installer pour qu'il puisse bien fonctionner sur Ubuntu et ses déclinaisons ? Comment l'utiliser et le synchroniser avec d'autres softs ? Ce post a l'ambition de répondre à ces questions et d'être assez complet, afin que vous puissiez, vous aussi, vous amuser avec. Sachez-le : une fois que vous l'aurez installé et configuré, vous ne pourrez plus vous en passer, tant il sonne et a la pêche.
- Ce post complète ceux que j'ai déjà écrits sur ce blog, concernant la MAO sous Linux. Il présuppose donc que votre ordinateur soit déjà optimisé pour l'audio. Si ce n'est pas le cas, direction ici https://www.bruynooghe.fr/post/2010/10/07/Ubuntu-Studio-%3A-faire-de-la-MAO-sous-Linux Bonne lecture.
Post mis à jour le 5 avril 2012.
EDIT août 2014 : n'étant plus sur Linux, je ne maintiens plus ce post.
D'abord, le résultat
Vous pouvez voir comment Linuxsampler fonctionne. allez sur Youtube. Le screencast que j'ai mis en ligne n'est pas du grand art. Il n'a qu'un but : montrer une partie de ce que je détaille ici, tout en vous démontrant que ça marche. Bref, cliquez à droite et ouvrez dans une nouvelle fenêtre : https://youtu.be/E2piEBsSf70 puis, cette vidéo plus complète https://youtu.be/4Y1G46I1pYM
- NOTE : Je préfère déporter les vidéos sur Youtube, pour éviter que la page mette trop de temps à se charger.
Un sampler très classe grâce à Fantasia
L'interface graphique la plus agréable avec LS est celle de Fantasia, tirée du paquet Java JSampler. Outre d'être agréable à l'oeil, elle est très complète en terme de fonctions. Ce qui est son principal intérêt. Son esthétique, en revanche, apporte quelques lourdeurs graphiques. Nous ferons néanmoins avec. Fantasia ne peut pas être installée comme un classique paquet .deb (l'équivalent du .exe sous Windows). Vous ne trouverez pas JSampler sur le dépôt unstable de TS. Il faut s'y prendre autrement. Un, certains paquets supplémentaires devront être récupérés pour mettre en oeuvre cette interface graphique. Ainsi, installez via Synaptic les paquets ant et peut-être subversion, ce dernier correspondant à la commande que nous utiliserons plus loin, c'est-à-dire svn, s'il n'est pas déjà installé sur TS. Une fois fait, allez dans votre /home/votre_login, créez un dossier nommé "JSampler" (sans les guillemets), ouvrez un terminal (console), rendez-vous dans le dossier JSampler, via la commande $ cd /home/votre_login/JSampler/, puis lancez la commande suivante, proposée sur le site de Linuxsampler, en faisant un copier-coller de la ligne d'instruction ci-dessous :
svn co https://svn.linuxsampler.org/svn/jsampler/trunk jsampler
Cela permettra de récupérer dans le dossier le paquet JSampler.
A priori, vous n'aurez pas à configurer la variable d'environnement Java. Vérifiez tout de même s'il est configuré, en tapant "java -version" (sans les guillemets). Cela devrait donner, en guise de résultat, le paquet et la version Java installée sur votre système. Vous pourrez alors taper dans la console la commande :
ant build-fantasia
Cela construira le paquet Fantasia-x.x.jar (à l'heure où j'écris la version est Fantasia-0.9.jar) que vous trouverez dans le sous-dossier "dist" du dossier JSampler où vous devez vous trouvez.
Le site linuxMAO a fait une FAQ qui peut en intéresser plus d'un, visant à franciser JSampler et donc Fantasia. Si cela vous tente, il vous faudra faire une manip, en mergeant des fichiers, avant de lancer la commande ant build-fantasia. Voilà le lien : https://www.linuxmao.org/tikiwiki/tiki-view_forum_thread.php?comments_parentId=19213&forumId=31
Voilà, tout est prêt.
Lancement de Linuxsampler
Il y a un ordre à respecter. Déjà, lancez jack via l'îcone jack control. Puis, dans un terminal, lancez cette fois la commande "linuxsampler" ; enfin, lancez la commande "java -jar /dossier/où_se_trouve/Fantasia-x.x.jar" (à adapter selon l'emplacement où se trouve Fantasia). C'est pourquoi je ne la propose pas en version copier-coller. En principe, comme je le disais plus haut, la variable d'environnement java est configurée, donc la commande "java -jar" doit lancer l'interface graphique. Si tout va bien, Linuxsampler (que nous appellerons désormais LS) se lance. Pour les prochains lancements de LS, vous rajouterez un argument, dont je vous parlerez plus loin.
Configuration et connexions
-
La base d'instruments
L'installation de LS crée par défaut l'instruments-db, la base qui permet de charger les instruments que l'on souhaite utiliser dans le sampler, dans /var/lib/linuxsampler. Pas terrible, car dans cette arborescence de l'OS on ne dispose d'aucun droit en écriture. Il faut donc, plutôt que de déplacer cette database, en créer une nouvelle dans son dossier /home, pour la manipuler en disposant de tous les droits : lecture./écriture... Pour ce faire, copiez la commande suivante, que vous collerez dans un terminal :
linuxsampler --create-instruments-db /home/votre_login/instruments.db
Cela étant fait, collez cette fois la commande:
linuxsampler --instruments-db-location /home/votre_login/instruments.db
Désormais, vous pourrez manipuler comme bon vous l'entendez cette database. C'est mieux, non ? Retenez néanmoins que vous devrez à partir de là lancer LS en utilisant cette même commande, si vous voulez voir réapparaître et manipuler vos banques de sons dans la database que vous avez créée dans votre /home, donc commande à lancer systématiquement : linuxsampler --instruments-db-location /home/votre_login/instruments.d
Astuce : vous pouvez, en outre, créé un lanceur selon la même procédure que celle décrite pour Fantasia, en rentrant notre commande avec son argument. Je ne le conseille pas forcément. Motif ; un c'est bien de voir dans un terminal comment se lance LS ; deux, le terminal permet aussi d'arrêter LS plus simplement ; trois, grâce au terminal, vous pourrez suivre le comportement de LS, lors de son fonctionnement. Bref, privilégiez un lancement via le terminal.
Quant à l'interface Fantasia, ça vaut le coup de créer un lanceur habillé d'un bel icône. Comment ? En cliquant droit n'importeoù sur le Bureau, puis sélectionner Créer un lanceur. Vous lui donnerez le nom de Fantasia, la commande sera : java -jar /home/où_se/trouve/Fantasia.x.x.jar, puis vous lui donnerez comme icône le fichier .png sélectionné dans l'image ci-dessous :
Voilà, vous avez désormais un lanceur Fantasia sur le bureau. Poursuivons.
-
Jack et Alsa
Maintenant, passons à la configuration audio et Midi. Pour l'audio, choissisez Jack, dans le menu devices/audio devices/driver de Fantasia. Puis vous cliquez sur create. Déplier le menu déroulant, ce qui vous permettra de choisir dans la boîte channels le nombre de pistes audio que vous utiliserez. Pour le Midi, même type de procédure. Dans devices/Midi devices/driver, choisir Alsa, puis create, puis channels. Allez ensuite dans jack_audio_connexion, connectez dans l'onglet audio les ports de sortie linuxsampler, soit à ce que vous souhaitez : directement aux ports d'entrée playback, ou à ceux du logiciel que vous utiliserez pour enregistrer l'audio sortant de LS. Dans l'onglet Alsa, connectez les ports de sortie de votre clavier maître ou de votre interface Midi aux ports d'entrée Midi de LS. Encore une bonne chose de faite. Désormais, vous êtes prêt à jouer avec LS.
Vous ne voyez pas apparaître les ports UM-4 dans votre jack_audio_connexions ? Pas d'inquiétude : il s'agit des ports de mon interface Midi Edirol UM-4. Sachez qu'elle n'est plus reconnue par les dernières versions de Windows. Motif : ses pilotes ne sont plus maintenus. Quel gâchis ! Car c'est une très bonne interface Midi. Vous comprenez donc que Linux permet de recycler de bonnes machines que les groupes commerciaux vous obligent à jeter, faute de pouvoir les faire fonctionner...
Charger des banques sons
Deux banques sont immédiatement à votre disposition : la banque GM de chez Crisis et le Maestro grand piano de Mats Helgesson. Téléchargez-les là en faisant un clic droit, "enregistrer sous" :
Adresse réactualisée le 27 avril 2012 : https://www.dropbox.com/s/3wfudpmu7xe9bva/CGM4LS-Bank1.gig?dl=0
Si vous rencontrez un problème pour la télécharger, dites le moi.
Et là pour le Maestro grand piano :
https://sonimusicae.free.fr/Host/Maestro-Concert-Grandv2.rar
Une banque de 440 Mo au format SFZ, la Sonatina Symphonic Orchestra (chez moi, je ne peux que la charger depuis l'entreée "Select instrument from file" dans la boîte de dialogue Choose Instrument, et encore tous les instruments ne chargent pas !) : https://sso.mattiaswestlund.net/
Puis là, un orgue en soundfont : https://www.virtualorgan.com/Default.asp?Page=19
Et celui-là pour un Mellotron : https://www.leisureland.us/audio/MellotronSamples/MellotronSamples.htm
N'oubliez pas qu'il existe un tas de banques sons au format .gig. D'autres part, vous pouvez toujours convertir vos banques en .gig, via un convertisseur de formats. Il n'en existe pas sous Linux, mais vous pouvez utiliser Wine pour faire tourner sur votre PC un soft comme Extreme Sample Converter.
Utiliser la base d'instruments
LS peut lire des instruments au format gig, mais aussi des sf2. Chez moi, les instruments gig peuvent être stockés dans la database, de manière à les manipuler à loisir dans LS. Les instruments au format sf2 ne peuvent, en revanche, pas être enregistrés par la database. Pour autant, LS les lit dès lors qu'on les charge directement depuis l'interface via la fonction Load instrument. Il faut préalablement mettre le canal choisi sur SF2 Engine. C'est impératif. Sinon, rien ne se charge.
Et sans passer par la base d'instruments
Vous pouvez aussi vous passer d'instruments.db, et charger directement vos instruments aux formats gig et sf2 dans le sampler, en passant par l'option select instrument from file.
Synchroniser LS et Rosegarden
Tout d'abord, dans jack-control kit, allez dans l'onglet Audio : reliez les sorties audio LS à record in de votre choix de Rosegarden. Puis connectez les master out de Rosegarden sur playback 1 & 2. Dans l'onglet Alsa (image ci-dessus), connectez sync out de Rosenagden sur LS, puis general Midi out de Rosegarden avec port 0 de LS. Chaque port créé dans LS possède 16 canaux.
A ce stade, créez deux pistes audio dans Rosegarden, que vous reliez aux sorties audio de LS. A présent, créez ou chargez un fichier Midifile dans Rosegarden. Puis, placez dans LS tous les instruments nécessaires à l'écoute du fichie MidiFile, en les mettant sur leur bon canal MIDI. Enfin, lancez le tout.
ASTUCE : jack2, s'il est installé sur votre machine, permet de sauvegarder votre session. Ce qui vous permet de la charger à chaque fois avant de lancer Rosegarden et LS. Ca évite de devoir refaire systématiquement toutes les connexions (certaines doivent quend même être faites à la main, car la session n'enregistre apparemment jamais tout en ce qui cocerne LS).
Vidéo sur Youtube, ici, d'un test beaucoup moins ambitieux : https://youtu.be/qBeAc9Pze9o
Créer des orchestras
Il est fastidieux de devoir, à chaque fois que vous chargez le mêm fichier MidiFile de devoir sélectionner de nouveau tous les instruments que vous souhaitez utiliser. Pour éviter cela, vous pouvez aussi créerz un orchestra par MidiFile, en lui attribuant son nom par exemple. Vous gagnerez un peu de temps, car les instruments utilisés par ce MidiFile dans Rosegarden sont rassemblés dans le même orchestra. Ca facilite la vie (Préférez tout de même la sauvegarde par session, si vous êtes sous jack2).
Donc, si vous êtes sous jack1, allez dans l'onglet Orchestras, cliquez sur l'icone add/edit an orchestra, donnez lui un nom, puis dans l'onglet database, cliquez droit sur les instruments de votre choix afin de les charger dans l'orchestre, dont vous venez de créer.
Méfi ! Quand vous lancez la lecture d'un fichier MID que vous n'avez pas créé vous-même, si aucun son ne sort, jetez un oeil sur la map de l'instrument. Il se peut qu'elle ne couvre pas la plage du clavier utilisée par votre piste MIDI. Du coup, pas de son.
Pour créer un midi map utile pour Rosegarden : https://bb.linuxsampler.org/viewtopic.php?f=7&t=66
Les fichiers .GSI et .GSP que connaissent bien les utilisateurs de Gigastudio ne sont pas reconnus par LS. Voir https://bb.linuxsampler.org/viewtopic.php?f=7&t=444
Créer soi-même des instruments
LS peut être utilisé pour créer ses propres instruments, comme un sampler est capable de le faire. Je n'ai pas encore creusé cette fonction. N'oubliez pas que le paquet gigedit est à votre disposition, en cliquant sur le bouton edit. Image :
La documentation pour utiliser gigedit : https://download.linuxsampler.org/doc/gigedit/quickstart/gigedit_quickstart.html
Comment recharger les instruments nécessaires à l'exécution d'un morceau
Rien de plus énervant que de devoir rappeler un à un les instruments que l'on a utilisés dans un morceau, comme nous venons de le dire. LS vous permet de sauvegarder votre session, mais aussi de la relancer. Allez dans l'onglet Window, puis LS Console/Actions/Run scripts, une boîte de dialogue s'ouvre vous permettant de sélectionner la session créée pour votre morceau, puis lancez la session qui correspond à votre morceau, les instruments initialement utilisés seront rechargés dans leurs bons canaux respectifs, plus les devices Jack et Alsa.
Un sampler qui n'est pas si gourmand
LS n'est pas très gourmand. Mais, en plus, on peut économiser de la puissance processeur, en refermant l'interface graphique Fantasia, et la rouvrir au besoin pour charger des instruments, manipuler des échantillons, etc. Gigasampler n'offrait pas de cette possibilité, pas plus que d'autres sampleurs commerciaux sous Windows. LS est donc pleinement, à ce niveau, dans la philosophie de Linux, un OS qui peut fonctionner sans interface graphique, les deux étant dissociés.
Comment arrêter Linuxsampler
Pour stopper LS : fermer d'abord Fantasia, puis, arrêter LS en faisant un simple crtl + c dans le terminal, comme on fait habituellement pour tout soft que l'on a lancé via une console. Image :
Pourquoi pas un disque dur dédié
Si LS vous plaît, il ne sera pas inutile d'envisager de lui dédier un disque dur rapide, car le format .gig fait beaucoup appel aux accès disque. Dans ce cas, pensez à utiliser ce disque avec l'option noatime, entre autres. Tout est expliqué dans ce post en anglais sur le forum LS : https://bb.linuxsampler.org/viewtopic.php?f=7&t=61&p=3440&hilit=noatime&sid=682457e0b0163a97b538cd7a111c3fcb#p3440
Vous pouvez donc installer vos banques de sons sur ce disque dédié (celui de votre choix), ainsi que votre base d'instruments (l'instruments.db), puis entrer dans le fichier /etc/fstab le montage automatique de ce disque qu'utilisera LS. Image de mon fichier fstab avec l'ensemble des options de montage, sachant que la partition utilisée s'appelle debian_home et qu'elle est formatée en ext3 :
Documentation
La documentation est encore un peu juste sur LS. Un projet de guide au format .pdf est en cours. Vous trouverez ses premières pages sur le site de LS, ici : https://bb.linuxsampler.org/viewtopic.php?f=6&t=626&sid=589b71a1da94628a36836ad1ab286f10 Sur le même site, vous trouverez également la doc technique qui permet de faire le tour de ce qu'est capable de faire LS.
Dernière précision : les formats soundfonts et SFZ sont toujours en cours d'implémentation. Car LS est toujours en plein développement.
Enfin, vous pouvez me corriger en cas d'erreur dans ce topic. Je le fais pour aider les autres, n'oubliez pas. Toute contribution est donc acceptée avec plaisir.
4 commentaires
Salut, merci pour ce tuto bien écrit et la mise en avant de ma distrib ;)
Jof
Merci Jof. Je ne m'attendais pas à tel compliment. Je viendrai sur le forum de Tango Studio pour apporter ma contribution, mais aussi pour poser un tas de questions. Pierre
j'ai mis ton blog en lien sur ma page principale, cela ramèneras quelques visiteurs de plus ;)
Bon weekend,
Jof
Je viens de voir ça, Jof. Le tien est en lien sur le mien via le logo. J'espère que je t'envoie aussi quelques visites. Par ailleurs, ton commentaire m'a poussé à corroger quelques fautes d'orthographe et coquilles sur le post. J Pierre