Table des matières

, ,

MAO (Musique Assistée par Ordinateur)

Vous trouverez une excellente documentation en français sur LinuxMAO.

Il existe de nombreuses applications de musique sur GNU/Linux. De plus, le serveur de son nommé PipeWire permet d'utiliser et de router (lier ensemble) beaucoup d'entre elles en audio et/ou en MIDI.

On trouve aussi de nombreux effets et instruments virtuels en plugins de logiciel hôtes : standards LADSPA pour les effets et DSSI pour les instruments, le format LV2 se présente comme le successeur à la fois du LADSPA et du DSSI, et des VST sont aussi maintenant portés ou développés nativement pour GNU/Linux.

L'audio sous Ubuntu

Avant tout il est important de comprendre le fonctionnement du son sous GNU/Linux.

Pour résumer, les applications se connectent au driver de la carte son (généralement ALSA, anciennement OSS, FFADO pour les cartes FireWire) via un serveur de son (PulseAudio pour le multimédia, JACK pour la MAO, et désormais PipeWire qui se propose de remplacer avantageusement chacun des 2). Cela permet à plusieurs applications d'utiliser le son en même temps. ALSA dispose également de son propre serveur de son.

Dans le domaine de la MAO, JACK est un serveur de son bien plus puissant que ne l'est PulseAudio (utilisé par défaut dans ubuntu). Il était donc généralement recommandé de remplacer PulseAudio par JACK. Il est possible de continuer à utiliser PulseAudio avec JACK (et donc lire les sons d'Ubuntu, et des applications compatibles) : il faut pour cela installer pulseaudio-module-jack et choisir "jack sink" en périphérique de sortie par défaut dans Pavucontrol.

Désormais, PipeWire (installé par défaut depuis Kinetic 22.10) promet de remplacer à la fois JACK et PulseAudio, en proposant toutes les fonctionnalités dont dispose chacun de ces serveurs, ainsi que beaucoup d'autres (dont la gestion de flux vidéo), le tout avec une configuration simplifiée et la possibilité d'utiliser ensemble et simultanément n'importe lesquels de ses logiciels et appareils audio. On peut par exemple pré-écouter un flux audio sur des oreillettes bluetooth tandis qu'on en diffuse un autre sur la carte son intégrée à son ordinateur.

Pour bénéficier d'une rétro-compatibilité de PipeWire avec respectivement ALSA, PulseAudio, et JACK, installez les paquets pipewire-alsa, pipewire-pulse et pipewire-jack.

Pour jouer plusieurs sons en même temps il faut utiliser ALSA, JACK, PulseAudio ou PipeWire. Si une de vos applications utilise OSS, il faudra installer le paquet alsa-oss, et lancer votre application avec la commande aoss (par ex. aoss gtick).

Optimisation audio

La durée du calcul entre le déclenchement d'un événement (note d'un contrôleur MIDI par ex.) et la reproduction du son qui lui est associé est appelée "temps de latence". Cette durée peut être gênante pour un musicien (au delà de 30 ms environ). Heureusement, Linux intègre maintenant de base un noyau optimisé pour le temps réel, qui réduit cette durée tant que possible.

Une autre manière de réduire cette durée est de diminuer la taille du tampon audio ("buffer" en anglais) dans les réglages audio de sa config (les réglages de JACK en général). Cela se fait au détriment des ressources processeurs qui sont plus sollicitées. Si le processeur est surchargé, cela se traduit au niveau sonore par des craquements audibles appelés "Xruns".

L'utilisation d'une bonne carte son dédiée à la MAO est évidemment aussi un gros atout à ce sujet.

Pour les cartes sons USB, certaines combinaisons de framerate / buffer sont préférables à d'autres : voir sur cette page (en) les combinaisons indiquées en gras.

Multimédia

Voir en préliminaire la page Multimédia (particulièrement ce qui concerne l'édition et la compression du son).

MIDI

La plupart des applications dédiées à la MAO implémentent la norme MIDI qui permet aux machines (virtuelles ou non) de communiquer entre elles. Pour plus d'informations, consultez la page concernant le MIDI.

Distributions orientées MAO

Certaines autres distributions Linux ou variantes d'Ubuntu sont plus à même de remplir vos besoins en MAO.

DistributionOrigineBureauCommentaires
KXStudio Ubuntu et Debian KXStudio était l'une des meilleure distribution dédiée à la MAO. Il s'agit maintenant de dépôts à ajouter à Ubuntu (ou Debian) sur lequel vous trouverez des logiciels dédiés à la MAO plus nombreux et plus récents que sur les dépôts officiels d'Ubuntu ou Ubuntu Studio.
Ubuntu Studio Ubuntu KDE Variante reconnue d'Ubuntu, Ubuntu Studio est livrée avec des logiciels pour le graphisme, la vidéo et la MAO. Pour monter un studio virtuel il faudra par contre configurer JACK manuellement et les applications dans les dépôts officiels sont généralement moins à jour que dans les dépôts KXStudio. (voir aussi : paquets audio de UbuntuStudio)
AV Linux Debian XFCE Distribution conçue pour déployer un studio audio / vidéo / graphique sur un matériel d'ancienne génération ou sur des configurations modestes.
Musix Debian KDE Musix, développée en Argentine est dédiée à la production audio, vidéo et graphique avec des logiciels exclusivement libres.
LibraZik Debian Mate Vous trouverez une excellente documentation en français sur son site officiel, et de l'aide également sur LinuxMAO.
GeekosDaw OpenSUSE GeekosDaw n'est pas une distribution, mais comme KXStudio pour Debian et Ubuntu, c'est un ensemble de dépôts qui permettent de transformer la très bonne distribution d'origine allemande OpenSUSE en station de travail audio.

Des listes plus complètes de distributions orientées audio :

Édition audio, mixage, enregistrement

Nom Description Plugins Environnement Installation
Ardour puissant studio d'enregistrement et de mixage (DAW) LADSPA LV2 VST JACK ALSA PulseAudio ardour
Audacity éditeur audio LADSPA LV2 JACK ALSA PulseAudio OSS audacity
Mhwaveedit éditeur audio LADSPA mhwaveedit
wavesurfer éditeur audio wavesurfer
ocenaudio puissant éditeur audio (propriétaire) VST JACK ALSA PulseAudio paquets deb

DJing

Ubuntu permet de mixer des morceaux de musique en temps réel, comme on le fait avec des platines vinyle et une table de mixage.

À ce sujet consulter la page dédiée concernant le DJing sous Linux.

DAWs (studios virtuels) et Séquenceurs midi

Traditionnellement les DAWs (Digital Audio Workstations) sont des logiciels qui tendent à reproduire l'environnement qu'on peut trouver dans un studio d'enregistrement physique.

Elles intègrent la plupart du temps un séquenceur, qui joue le rôle de "chef d'orchestre" et automatise les différents instruments et effets virtuels. Ces séquenceurs proposent en général d'assembler et de jouer de courtes séquences ou des boucles appelées "patterns". En fonction du séquenceur, ces patterns peuvent être édités de différentes façons : piano roll (une représentation des notes de piano sous forme de frise chronologique), tracker (édition des notes en hexadécimal au clavier texte, pas très intuitif mais extrêmement rapide, hérité de la scène démo), step sequencer (suite de boutons, plutôt pour des parties rythmiques), partitions musicales traditionnelles, etc. Le protocole utilisé pour commander les instruments et les effets est généralement le MIDI. On parlera donc généralement de séquenceurs MIDI, par opposition aux séquenceurs audio, qui permettent d'organiser dans le temps la lecture de samples audio.

Les instruments génèrent les sons (il s'agit de synthétiseurs ou de sampleurs) et les effets les modifient. Ces instruments et ces effets contrôlés en MIDI peuvent être des machines externes (via une interface MIDI), des logiciels standalone (via JACK), des extensions LADSPA, DSSI ou LV2 (voir plus bas), ou être partie intégrante de la DAW. C'est donc souvent un autre paramètre à prendre en compte dans le choix du bon logiciel.

Ces studios peuvent être modulaires, dans ce cas chaque séquenceur, instrument ou effet dans l'application est un "module" qui peut être relié à un autre par des liens graphiques (qui transmettent généralement des données audio ou MIDI). C'est une représentation virtuelle des différentes machines qu'on peut trouver dans un studio d'enregistrement, avec leurs câbles audio et MIDI. Dans le cas contraire les DAWs reproduisent généralement les fonctionnalités d'une grosse table de mixage multi-effet, donc plus simple à prendre en main mais avec des possibilités de routage un peu moins poussées.

studios virtuels orientés "live"

Nom Description Plugins Environnement Installation
LMMS Linux MultiMedia System : studio complet et intuitif, assemblage de patterns (proche de FruityLoops) LADSPA VST JACK ALSA lmms
Giada séquenceur audio et midi / loopmachine (système de clips, proche de Ableton Live). Interface soignée. VST (support du LV2 prévu) JACK ALSA paquets deb ou giada via les dépots KXStudio ou via docker
Luppp séquenceur audio / loopmachine. Samples synchronisées par time stretch. Interface soignée proche de Ableton Live. JACK luppp via les dépots KXStudio
SuperBoucle séquenceur audio / loopmachine JACK binary sources
Seq24 séquenceur midi simple basé sur des boucles JACK seq24
ossia score séquenceur de partitions interactives OSC, audio et MIDI LV2 VST JS JACK ALSA binary sources
Radium tracker modulaire, audio et midi. Intègre Pure Data (démo). LADSPA VST JACK radium via les dépots KXStudio
beast tracker modulaire (proche de Jeskola Buzz) LADSPA ALSA beast
buzztrax (ex buzztard) tracker modulaire (proche de Jeskola Buzz) LADSPA JACK ALSA sources
aldrin (abandonné) tracker modulaire (proche de Jeskola Buzz) LADSPA DSSI VST JACK sources
neil (fork de aldrin) tracker modulaire (proche de Jeskola Buzz) LADSPA DSSI VST JACK sources
Machina séquenceur midi basé sur des automates finis JACK svn
Jost (abandonné) studio modulaire / séquenceur LADSPA VST JACK ALSA binary
Bitwig Studio (payant) studio complet, séquenceur audio et midi (proche de Ableton Live) VST JACK propriétaire
energyXT2 (payant) studio modulaire complet / séquenceur audio et midi VST JACK propriétaire
renoise (payant) studio complet construit autour d'un tracker audio et midi particulièrement efficace LADSPA DSSI VST JACK propriétaire

studios virtuels orientés "composition"

Nom Description Plugins Environnement Installation
Ardour séquenceur audio et midi : depuis la version 3, Ardour intègre un séquenceur midi, ce qui en fait l'une des DAWs les plus puissantes sur linux, équivalent libre de Pro Tools, Cubase ou Logic Pro LADSPA VST LV2 JACK ALSA ardour
Qtractor séquenceur audio et midi, plus facile à prendre en main que Ardour mais très complet également LADSPA DSSI VST LV2 JACK qtractor
Zrythm séquenceur audio et midi moderne et complet LV2 VST JACK Flatpak ou compilation
Muse séquenceur audio et midi avec éditeur de partition LADSPA DSSI VST LV2 JACK muse
Rosegarden séquenceur audio et midi avec éditeur de partition LADSPA DSSI JACK rosegarden
Aria Maestosa séquenceur midi simple, édition par piano roll, step sequencer, partition et tablature JACK ALSA compilation
Jacker séquenceur midi / tracker JACK compilation
shaketracker trackers midi JACK shaketracker / cheesetracker
Wired (abandonné) séquenceur audio et midi LADSPA JACK paquet deb
Tracktion (propriétaire) séquenceur audio et midi intuitif LADSPA VST (en version payante) JACK propriétaire

hôtes simples

Nom Description Plugins Environnement Installation
Carla station hôte, supporte de nombreux formats, y compris les banques de samples GIG, SF2 et SFZ, et contrôlable via MIDI ou OSC LV2 LADSPA DSSI VST AU JACK ALSA LV2 VST OSC carla-git via les dépots KXStudio
jack-rack station multi-effets pour plugins LADSPA LADSPA JACK jack-rack
zynjacku station multi-effets (lv2rack) et synthés (zynjacku) pour plugins LV2 LV2 JACK zynjacku

Gestionnaires de session

Dans la mesure où PipeWire et JACK permettent de relier en audio ou en midi tous les logiciels compatibles, il peut être considéré lui-même (avec l'ensemble du parc logiciel) comme un studio virtuel modulaire. Le problème dans ce cas est que toutes ces applications standalone doivent être chargées indépendamment, reliées entre elles, et pour chacune de ces applications il faut charger la sauvegarde ou le preset sur lequel on souhaite travailler. Ça peut devenir très lourd logistiquement. Heureusement, on a mis en place des protocoles qui permettent de gérer tout cela automatiquement, sous forme de session qu'on peut sauvegarder et réouvrir. Le gestionnaire de session s'occupe alors en principe de relancer les différentes applications, de les connecter, et de recharger les settings correspondants.

PipeWire est généralement fourni avec le gestionnaire WirePlumber. On trouvait auparavant PipeWire Media Session, maintenant assez obsolète.1)

Pour JACK il existe malheureusement plusieurs protocoles de session différents et toutes les applications ne sont pas uniformisées. JACK session est le protocole le plus récent, et probablement définitif, mais il n'est pas implémenté partout. Et il existe du coup plusieurs gestionnaires de session différents :2)

Nom Description Protocole Installation
QJackCtl QJackCtl est une interface graphique pour le serveur de son JACK. Il permet entre autre de connecter entre elles les différentes applications compatibles JACK et de sauvegarder leurs états sous forme de sessions uniques, à condition que celles-ci implémentent le standard JACK session. JACK-session qjackctl
Gladish Interface graphique pour LADISH. Permet de router les différentes applications compatibles, et évidemment de gérer les sessions LADISH. LADISH JACK-session LASH gladish
Claudia Application issue du projet KXStudio. Proche de Gladish, elle permet de router les différentes applications compatibles JACK et fournit en plus un inventaire détaillé des applications disponibles. LADISH JACK-session LASH claudia via les dépots KXStudio
Non-DAW Non Daw reprend à son compte ce concept de jack comme studio modulaire global et propose ainsi des modules sous forme d'applications standalone : Non Timeline (enregistreur multipiste) Non Sequencer (séquenceur MIDI), Non Mixer (console de mixage), Non Session Manager (gestionnaire de session). NSM non-daw non-mixer non-sequencer non-session-manager via les dépots KXStudio
RaySession Gestionnaire de session pour JACK qui vient avec une interface graphique (la baie fonctionne aussi avec PipeWire).3) NSM compilation

Instruments

On trouve de nombreux instruments virtuels soit en standalone JACK, soit en plugin de studios virtuels (voir au dessus) au format DSSI, LV2 ou VST.

synthétiseurs

Les synthétiseurs sont des instruments qui génèrent du son à partir de fonctions mathématiques. Les premiers synthétiseurs étaient analogiques (le signal sonore était amplifié directement depuis des signaux électriques générés par des circuits électroniques simples) et en informatique beaucoup de synthétiseurs essaient encore de conserver cette approche (on parle alors de "modélisation analogique").

On peut regrouper les méthodes de synthèse en plusieurs catégories, dont voici les plus courantes :

La plupart des synthétiseurs mélangent plusieurs de ces techniques.

Nom Description Environnement Installation
VCV Rack synthétiseur modulaire, réplique du matériel Eurorack, avec une grande communauté et des milliers de modules ! Voir aussi le fork Cardinal qui améliore beaucoup l'application.4) JACK LV2 VST exécutable
calf studio gear une collection complète d'effets et instruments virtuels de qualité, entre autre 3 synthétiseurs : un orgue (synthèse additive), un synthé monophonique (synthèse soustractive à modélisation analogique), et un synthé à table d'onde. JACK LV2 calf-plugins
Ingen synthétiseur modulaire JACK LV2 OSC ingen via les dépots KXStudio
Helm synthétiseur polyphonique à l'interface soignée et aux sonorités modernes. démo JACK LV2 VST paquets deb ou helm via ces dépôts
Sorcer synthétiseur polyphonique à table d'onde. orienté dubstep / dnb. interface minimaliste et soignée. LV2 sorcer via les dépots KXStudio
Aeolus Un émulateur de grand orgue, peu vorace en ressources. JACK aeolus
amSynth synthétiseur à modélisation analogique JACK amsynth
Zynaddsubfx synthétiseur évolué JACK zynaddsubfx
bristol émulation de nombreux synthétiseurs vintages JACK bristol
freebirth synthétiseur de basse inspiré de la TB-303 (très utilisée en techno pour les sons acid) ALSA freebirth
nekobi autre émulateur de TB-303 LV2 VST nekobi via les dépots KXStudio
timidity Timidity sert aussi de synthétiseur virtuel JACK timidity
hexter synthèse FM : émulateur du Yamaha DX7 DSSI hexter
whysynth synthétiseur très complet DSSI whysynth
Xsynth synthétiseur à modélisation analogique simple DSSI xsynth-dssi

sampleurs

Les sampleurs (ou échantillonneurs) sont des instruments qui génèrent du son à partir de samples (ou échantillons), qui sont de courts enregistrements audio. Ils trouvent leur application dans beaucoup de domaines et peuvent par conséquent être de type très variés :

Nom Description Environnement Installation
LinuxSampler sampleur, éditeur de banque (gigedit), interface graphique : qsampler (qt) ou jsampler (java) JACK ALSA VST LV2 qsampler
Hydrogen boîte à rythme avancée : step sequencer et lecteur / éditeur de samples JACK hydrogen hydrogen-drumkits
FluidSynth soundfont player (interface graphique : qsynth) JACK ou DSSI fluidsynth et qsynth ou fluidsynth-dssi
calf studio gear une collection complète d'effets et instruments virtuels de qualité, entre autre un player de soundfont sf2, implémentation du FluidSynth. JACK LV2 calf-plugins
swami éditeur et player de soundfonts sf2 (implémente FluidSynth) JACK swami
Polyphone un autre éditeur et lecteur de soundfonts sf2, sf3 et sfz JACK polyphone et Flathub
freewheeling enregistrement et jeu de boucles pour le live JACK freewheeling
sooperlooper enregistrement et jeu de boucles pour le live JACK sooperlooper
Fabla lecteur de samples, orienté percussions LV2 fabla via les dépots KXStudio

Effets

On trouve beaucoup d'effets soit en standalone JACK, soit en plugin de studios virtuels (voir au dessus) au format LV2, LADSPA ou VST.

Nom Description Environnement Installation
calf studio gear une collection complète d'effets et instruments virtuels de grande qualité : traitements dynamiques (dont compresseur multibande), filtres, eqs, delays, distortions, harmonic exciter etc. LV2 (JACK via calfjackhost) calf-plugins
MDA-LV2 une collection complète d'effets (36) de très bonne qualité, port des MDA-VST en LV2 LV2 mda-lv2
Linux Studio Plugins très bonne collection d'effets, reverbs à convoltuions, compresseurs multibandes, etc. LV2 JACK VST LADSPA lsp-plugins
ArtyFX une autre collection d'effets, à l'interface soignée, plus minimalistes et orientés live LV2 artyfx via les dépots KXStudio
Guitarix Multi-effets de qualité pour guitare (copie de Guitar Rig) : simulation d'ampli et reverb à convolution, distortion, flanger, phaser, tremolo, etc. hôte LADSPA et LV2 JACK LV2 guitarix
Rakarrack Multi-effets pour guitare : distortion, flanger, phaser, tremolo, echo JACK rakarrack
IR reverb à convolution (effet de reverb basée sur des "empreintes" sonores, "impulse responses" en anglais) LV2 ir.lv2
EQ10Q suite de filtres et d'equalizers LV2 EQ10Q
freqtweak outils originaux de manipulations spectrales (FFT) : equalizer, compresseur, gate, delay, etc., tous "massivement multibandes" JACK freqtweak

Une liste considérable de VST natifs pour Linux : (en) http://linux-sound.org/linux-vst-plugins.html Et pour plus de LV2, DSSI et LADSPA : (en) http://linux-sound.org/plugins.html

Programmation

Nom Description Plugins Environnement Installation
Pure Data pure data est plus qu'un logiciel de MAO : c'est une interface de programmation graphique pour la création multimédia (au sens large) en temps réel. Sans mettre forcément les doigts dans le développement, on peut utiliser des applications de mao sous forme de patches prêts à l'emploi comme le très graphique HackTheDj! par exemple. DSSI LADSPA JACK, OSC puredata
csound langage de programmation (et compilateur) dédié a la création sonore et musicale introduction LADSPA JACK, OSC csound csound-doc
DarwinTunes les participants influent sur la musique générative et le robot apprend (intelligence artificielle). exemple

Voir aussi codelab, excellent forum d'entraide autour de la programmation multimédia temps réel (Pure Data, Processing, SuperCollider, etc).

Accessoires, outils

Nom Description Environnement Installation
scolily Convertit l'entrée microphone en MIDI (lilypond…) scolily
gtick métronome gtick
vkeybd clavier midi virtuel JACK vkeybd
ll-scope oscilloscope DSSI ll-scope
tuxguitar création, édition de tablature pour guitare
impro-visor création d'accompagnements MIDI et de solo (interface utilisateur)
JChordBox création d'accompagnements MIDI (interface utilisateur + ligne de commande)
mma création d'accompagnements MIDI (ligne de commande) mma

Éditeurs de partition

Nom Description Environnement Installation
LilyPond éditeur de partitions, orienté PAO et impression lilypond
Denemo Interface graphique GNOME pour Lilypond denemo
Frescobaldi Interface graphique KDE pour Lilypond frescobaldi
MuseScore éditeur de partitions et séquenceur. Utilise QT4, et les ressources midi de votre carte son. JACK ALSA
Noteedit éditeur de partitions simple (abandonné) noteedit
Canorus NoteEdit refondu avec de nouvelles fonctionnalités canorus
Audiveris application Java multiplate-forme qui permet d'importer un scan d'une partition par reconnaissance des caractères5) Flatpak

Certains séquenceurs MIDI, comme Rosegarden permettent aussi d'éditer les notes sous forme de partition.

Logiciels Windows

Certains logiciels développés pour Windows fonctionnent correctement sur Linux via Wine. C'est le cas par ex. de FruityLoops (studio virtuel) et de Wavosaur (éditeur audio). Cette solution n'est cependant pas recommandée, principalement parce qu'elle offre une faible intégration dans l'environnement Linux : pas de support ou support limité pour JACK, le matériel audio (interfaces audio, contrôleurs, machines externes), pas de support pour des plugins LADSPA, DSSI ou LV2 etc.

Carla (avec carla-bridge-win32) et FeSTige permettent aussi d'utiliser la plupart des VST compilés pour Windows (au format DLL) dans Linux (grâce à FST).

Liens externes

Ressources

Applications

Samples

MIDI Files

MAO en ligne

Instruments libres de droit

La philosophie du logiciel libre fait parfois des émules dans d'autres secteurs, en particulier dans celui de l'électronique et du hardware (matériel physique). Dans le contexte de la MAO, de nombreux instruments électroniques ont été développés en suivant le concept de matériel libre.

Informations, Documentation, Tutoriels

Voir aussi


Contributeurs : krodelabestiole, adam0509

1)
voir en anglais la documentation officielle des gestionnaires de session pour PipeWire
2)
Un comparatif plus détaillé des protocoles de session : (en) https://www.linuxmusicians.com/viewtopic.php?p=39846#p39846
4)
Voir le sujet VCV Rack sur le forum