Utiliser JACK avec Rosegarden – un séquenceur MIDI/Audio libre pour GNU/Linux

Rosegarden – un logiciel de composition et d’édition musicales basé sur un séquenceur MIDI avec gestion notation musicale et support de base pour l’audio numérique

À propos de Rosegarden

Rosegarden est un séquenceur MIDI et audio ainsi qu’un éditeur de partitions musicales pour faire de la MAO (musique assistée par ordinateur). Il apporte la possibilité d’utiliser un séquenceur à partir de notations musicales. Rosegarden permet d’enregistrer, arranger ou composer de la musique à partir de partitions (notation musicale), de données MIDI ou de fichiers audio, qu’ils soient importés ou enregistrés à partir d’un microphone, d’une guitare ou de n’importe quelle source audio spécifiée. Vous pouvez utiliser Rosegarden pour écrire, éditer et arranger une composition. Vous pouvez ensuite la synthétiser, lui ajouter des effets et la mixer pour la graver sur un CD ou la diffuser sur Internet. Rosegarden contient également un support d’édition musical bien conçu pour des sorties de haute qualité grâce à LilyPond.

Rosegarden est conçu pour être pris en main par des utilisateurs familiers des logiciels commerciaux. Il se veut également accessible et agréable à utiliser pour les néophytes en matière musicale.

Rosegarden offre trois voies différentes pour visualiser, éditer et saisir des événements MIDI, le tout incluant un puissant éditeur de partition dont les spécificités ne sont pas toujours disponibles dans les séquenceurs MIDI. Avec ces trois éditeurs, Rosegarden présente une notion de segments pour l’organisation des blocs de données audio et MIDI sur un canevas. Ceci apporte au monde de la musique la flexibilité d’un programme de retouche d’images basé sur la notion de calques.

Rosegarden est basé sur Qt (Qt), un framework d’applications et d’interface multi-plate-forme. Rosegarden utilise ALSA (Advanced Linux Sound Architecture) pour le support MIDI (Musical Instrument Digital Interface) -et- JACK (JACK Audio Connection Kit) pour l’Audio. Ces deux éléments limitent pour l’instant l’application aux systèmes d’exploitations GNU/Linux, mais ceci pourrait évoluer dans le futur.

L’indispensable ami JACK

Le serveur audio JACK, qui n’est pas installé par défaut sur les systèmes d’exploitations libres GNU/Linux grand-public, est obligatoire pour utiliser Rosegarden (même si des solutions de contournement existent). Alors, quand nous voulons faire de la MAO avec notre distribution préférée, sans avoir recours à des distributions spécialisées comme KXStudio ou Ubuntu Studio, et que les logiciels musicaux utilisés exigent la présence de JACK, comme le séquenceur MIDI Rosegarden, il faut trouver une solution, de préférence simple.

Dans la chaîne MIDI-USB-PC, ne jamais négliger l’interface (I/F) qui doit être de qualité et 100% conforme à la norme MIDI !

Néanmoins, gardez à l’esprit que même avec JACK installé sur votre distribution grand-public, le noyau Linux « générique » de celle-ci n’est pas tout à fait adapté à traiter en priorité l’audio numérique en « live » qui demande un faible temps de latence et une priorité système maximale. Pour le MIDI temps réel -lecture-édition-lecture- cela ne devrait pas poser de soucis avec une configuration assez puissante (CPU – RAM – GPU). Par contre, si vous traitez aussi de l’Audio temps réel avec Rosegarden et constatez des glitches (signaux transitoires non désirés), alors la seule solution sera de passer à une distribution spécialisée MAO (voir ci-dessus) intégrant un noyau Linux « temps réel » (real time).

Une méthode d’installation et d’utilisation de Rosegarden avec JACK

Cette méthode a été testée avec succès sur la distribution grand-public Linux MINT 18.3 LTS. Elle peut aussi s’appliquer à la distribution Ubuntu 16.04 LTS, ses variantes et dérivées. L’ensemble des logiciels – et de leurs dépendances si nécessaire – sera installé à partir du Gestionnaire de logiciels (Logithèque) de Linux MINT. Les versions de ces logiciels ne sont pas les plus récentes car les versions LTS des distributions GNU/Linux privilégient la stabilité du système par rapport aux nouveautés.

Installation des logiciels depuis le Gestionnaire de logiciels

  • Rosegarden – Music editor and MIDI/audio sequencer – v.15.12.1
    Le séquenceur MIDI que nous voulons tester. Pour mémoire, celui n’intègre aucune fonte de sons. Il faudra en installer au moins une (voir ci-dessous) pour convertir les données MIDI en sons.
  • Jackd2 – JACK Audio Connection Kit (server and example clients) – v.1.9.10 (le « d » à la fin de Jackd veut dire « daemon »)
    Le serveur audio temps réel qui est nécessaire pour que Rosegarden puisse se faire entendre. Jackd sera lancé automatiquement en tâche de fond (/usr/bin/jackd -T -ndefault -T -d alsa) par Qsynth après configuration de ce dernier.
  • Qsynth – Fluidsynth MIDI sound synthesiser front-end – v.0.4.0
    Le front-end graphique de gestion des fontes de sons FluidSynth, et aussi de configuration simple d’ALSA et de JACK. Qsynth permet de s’affranchir de Qjackctl, un front-end graphique du daemon serveur audio JACK, dont l’utilisation n’est pas toujours évidente pour des non-habitués.
  • Fluid-soundfont-gm (voir aussi SoundFont et FluidSynth) – Fluid (R3) General MIDI SoundFont (GM) – v.3.1 qui sera installé automatiquement dans le dossier système /usr/share/sounds/sf2 (FluidR3_GM.sf2) pour ~ 148 Mo
    C’est la fonte de sons de référence à la norme GM qui sera utilisée par Qsynth / Rosegarden. D’autres fontes de sons .SF2 toujours de qualité et gratuites peuvent être installées par la suite et sont disponibles sur la toile comme mes préférées du moment :

    • Don Allen’s Timbres Of Heaven GM_GS_XG_SFX V 3.4 Final.sf2 à la norme combinée GM + GS + XG pour ~ 395 Mo décompressé
    • Soundfonts 4U dont SGM-v2.01-Sal-Guit-Bass-V1.1 à la norme GM pour ~ 544 Mo décompressé
    • Nota bene : Sur votre ordinateur, stockez toutes vos SoundFonts décompressées dans le même dossier afin de pouvoir les retrouver et y accéder facilement.
  • Patchage – Modular patch bay for JACK Audio et ALSA Midi – v.1.0
    Non nécessaire, mais application très pratique et utile pour connecter graphiquement les entrées/sorties (I/O) JACK/MIDI entre-elles. Elle permet aussi de faire facilement du débogage d’une manière visuelle quand on cherche désespérément pourquoi sa configuration MAO ne fonctionne pas comme elle le devrait.

Configuration des logiciels de MAO

  • Qsynth => Bouton Configuration…
    – Onglet Soundfonts -> Ouvrir -> /usr/share/sounds/sf2/FluidR3_GM.sf2 -> OK.
    – Onglet MIDI -> x Activer l’entrée MIDI, Pilote MIDI: alsa_seq, Canaux MIDI: 16, Mode MIDI de sélection de banque: gm, Nom ID du client MIDI: QS_FluidR3_GM le nom que vous avez défini précédemment, x Afficher les événements du routeur MIDI -> OK.
    – Onglet Audio -> Pilote audio: jack, Format d’échantillonnage: 44100, Dimension du buffer: 64, Nombre de buffer: 2, Canaux audio (stéréos): 3, Groupe audio: 1, Polyphonie: 256, Nom d’identifiant du client JACK: Qsynth_QS_FluidR3_GM, x Connecté automatiquement les sorties JACK ! => OK.
    => Bouton X Quitter.
  • Rosegarden => Menu Éditer -> Configuration…
    – Pour une utilisation simple, on peut garder la configuration de base.
  • Patchage => Rien de particulier à faire. Cela dépendra de l’utilisation de chacun.

Qsynth : Configuration MIDI ALSA, Audio JACK et SoundFonts .SF2

Lancement et arrêt des logiciels de MAO

Pour être certain que les systèmes et connexions MIDI/AUDIO s’initialisent et se ferment correctement, il y a un ordre à respecter.

Ordre de Lancement
  1. Qsynth lance le daemon serveur audio Jackd et fournit la gestion de la SoundFont (notes MIDI en sons Audio) au séquenceur Rosegarden.
  2. Rosegarden pour lire, éditer et/ou enregistrer sa musique MIDI.
  3. Patchage -si besoin- pour la visualisation – modification du mappage Audio/Midi.

ROSEGARDEN en action avec Qsynth (I/F FluidSynth, config. ALSA et JACK) et Patchage (mappage des I/O Midi/Audio)

Boom Boom – une chanson culte de John Lee Hooker sortie en 1962

Remix instrumental MIDI de Boom Boom -> Rosegarden -> Qsynth/FluidSynth -> SoundFount « FluidR3_GM.sf2 » -> Audacity -> John Lee Hooker – Boom Boom Boom – FluidR3.ogg (~ 3,1 Mo)

Ordre d’Arrêt
  1. Patchage
  2. Rosegarden
  3. Qsynth ferme (kill) le daemon Jackd et remet le système Audio dans son état précédent.

Un aperçu des possibilités de Rosegarden

L’utilisation de logiciels avec un grand nombre de fonctionnalités et de fenêtres, comme ici Rosegarden, ne peut pas se faire confortablement sur un seul écran. Si l’on possède un seul moniteur, ce qui est mon cas, la solution est de répartir les différentes fenêtres sur plusieurs bureaux avec lesquels il faudra jongler.

Un exemple d’application ci-dessous où le Bureau 1 de Linux MINT 18.3 LTS est utilisé pour le séquenceur Rosegarden.

ROSEGARDEN en action (bureau 1) : Éditeur Pistes, Éditeur Partition continue, Éditeur Piano roll (matriciel), et Fenêtres Transport et Mélangeur MIDI. Deux autres éditeurs sont disponibles : l’éditeur de percussion matriciel (drums) et l’éditeur liste des événements (MIDI).

Et le Bureau 2 est utilisé pour les autres logiciels. VMPK (Virtual MIDI Piano Keybord) sert à afficher en temps réel les notes jouées sur la piste MIDI sélectionnée dans Rosegarden.
Le nombre de Bureaux n’est pas limité et la répartition des logiciels de MAO et de leurs fenêtres se fait au gré des besoins et des habitudes de chacun.

ROSEGARDEN en action (bureau 2) : Qsynth avec ses fenêtres Principale – Canaux – Messages MIDI, Patchage (mappage des I/O MIDI/Audio) et VMPK (clavier virtuel MIDI affichant les notes jouées sur la piste sélectionnée)

Séquenceur MIDI Rosegarden – Documentation