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.
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.
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.
Voir en préliminaire la page Multimédia (particulièrement ce qui concerne l'édition et la compression du son).
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.
Certaines autres distributions Linux ou variantes d'Ubuntu sont plus à même de remplir vos besoins en MAO.
Distribution | Origine | Bureau | Commentaires |
---|---|---|---|
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 :
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 |
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.
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 :
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 d'échantillons 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 matérielles externes (via une interface MIDI), des logiciels indépendants (via pipewire), 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" (ou node) qui peut être relié à un autre par des liens graphiques (qui transmettent généralement des données audio ou MIDI). Il s'agit d'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, et sont dans ce cas généralement plus simple à prendre en main mais offrent des possibilités de routage moins avancées.
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 |
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 |
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 |
Dans la mesure où PipeWire et JACK permettent de relier en audio ou en midi tous les logiciels compatibles, l'ensemble du système Ubuntu (avec l'ensemble du parc logiciel) peut lui-même être considéré comme un studio virtuel modulaire. Voir par exemple la section routage avec qpwgraph, qui remplace avantageusement QJackCtl et permet de relier ensemble et dans tous les sens tous les logiciels et appareils matériels dédiés à l'audio.
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 le fichier ou le preset sur lequel on souhaite travailler. Ça peut s'avérer 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 rouvrir. Le gestionnaire de session s'occupe alors en principe de relancer les différentes applications, de les connecter, et de recharger les réglages 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 |
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.
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 |
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 |
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
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).
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 |
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.
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).
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.