Chargement...
 
[Voir/Cacher menus de gauche]
[Voir/Cacher menus de droite]

Les principaux logiciels MIDI sous Linux (Dans l'antémémoire)


Comme pour presque toutes les applications MAO sous Linux, la base indispensable est le couple Jack / QjackCtl. Si vous ne connaissez pas encore ces deux là, faites un tour sur les pages correspondantes.

QjackCtl permet en effet d'établir une connexion de toutes les applications que ce soit de l'Audio ou du MIDI (connexions graphiques).

Cette page donne quelques exemples de configurations logicielles pour permettre la composition et l'enregistrement de musique en utilisant le MIDI.

Les nombreux logiciels disponibles permettent de choisir un séquenceur ou un trackeur adapté à ses besoins, et les synthétiseurs selon le style de musique.



Qjackctl - Qtractor - ZynaddSubFX - Qsynth - Hydrogen - Alsamodularsynth

Voici un montage relativement complet pour la composition qui utilise divers synthétiseurs virtuels ( ZynaddSubFX, le lecteur d'échantillon fluidsynth avec son interface graphique Qsynth, la boite à rythme avancée Hydrogen et le synthétiseur modulaire AMS). L'ensemble est relié à un contrôleur MIDI externe ainsi qu'une interface MIDI/Audio UA-25 qui se branchent sur les ports USB sans nécessiter de pilotes dédiés. Les liaisons se font dans QJackCtl, qui permet de relier les différents composants (les différents bus/clients MIDI) dans son onglet ALSA. Le séquenceur/enregistreur Qtractor enregistre les données MIDI transmises par le clavier branché sur l'UA-25 et renvoit les notes enregistrées aux synthés virtuels. Qtractor s'occupe de rétablir les connexions faites auparavant à chaque ouverture d'un projet de composition, pas besoin de retisser toute la toile à chaque fois mrgreen.

arrow certaines applications utilisent uniquement Jack pour leur interface MIDI sans passer par ALSA. Aussi, si vous avez une interface MIDI Firewire, elle n'est pas gérée par ALSA. Dans ce cas vous verrez ces composantes apparaître dans l'onglet MIDI, et vous devez vous servir de a2jmidid pour faire le pont entre les deux. Voir la page QJackCtl pour plus d'infos.

Used in presentationMIDI
Used in presentationMIDI
Used in presentationMIDI
Used in presentationMIDI
Used in presentationMIDI

Used in presentationMIDI

Qjackctl - Rosegarden - Qsynth – Hydrogen - Rezound

C'est une solution également complète et efficace pour le séquençage MIDI car elle permet d'associer la puissance de connection Midi (via QJackCtl ), l'éditon des événements MIDI (via Rosegarden), le choix fantastique d'une banque de son au format SoundFont (via Qsynth ), des sons de batterie réalistes ( Hydrogen ) et enfin l'édition complète de l'audio avec l'exportation ( Rezound )

  • Lancement
On lance successivement:
Qjackctl (démarrer jack avec Start :-), Rosegarden, Qsynth, Hydrogen et Rezound


1. Les interfaces, contrôleurs et claviers USB


arrow voir la page Surfaces de contrôle des membres.

2. La manette de jeu comme contrôleur


Aseqjoy est un petit programme qui permet de convertir sa manette de jeu en contrôleur midi.
Vous pouvez utiliser qmidiroute avec afin de personnaliser les commandes des touches.

3. Utiliser le port série comme interface MIDI (liaison "To Host")

Voici un moyen d'utiliser la liaison "to host" de certains appareils. Cela consiste à se passer d'interface MIDI dédiée en faisant transiter les données par votre bon vieux port série (COM1, 2 ...)
Cette liaison s'utilise avec des pilotes type CBX (chez yamaha) ou "SERIAL MIDI" (Roland), mais uniquement sur des systèmes d'exploitation propriétaires...frown

Voici donc comment faire sur notre cher linux

  • Tout d'abord, installer le paquet "setserial"
  • Puis libérer le port série par la commande (en root):
setserial /dev/ttyS0 uart none

  • Ensuite charger le module aproprié comme ceci (en root):
modprobe snd-serial-u16550 port=0x3f8 irq=4 speed=38400

en adaptant la vitesse de transmission à son matériel (ici 38400 bps)

Et le tour est joué!biggrin
Vous voilà avec une nouvelle entrée/sortie MIDI dans Jack appelée "Serial MIDI (UART16550A)"
Il n'y a plus qu'à connecter le port COM (Sub-D 9 broches) au port "to host" du votre matériel (mini DIN 8 broches) et à positionner le sélecteur To Host sur "PC-2" (chez Yamaha quoi qu'il en soit!).
Voir brochage ici
Un seul cable pour faire transiter les données MIDI dans les deux sens!!! cool

Remarque vous pouvez mettre ces commandes dans /etc/rc.local pour avoir le port disponible au démarrage.


4. Et si on a pas de port "to host"...

Pour ceux qui n'ont que le MIDI standard et qui aiment bricoler, voici le schéma d'une interface MIDI/port série pas très compliqué, et très peu onéreux!
schéma
schéma

5. Cartes son MIDI équipées de tables d'ondes


Ces cartes ne sont pas forcément les plus recherchées car pas mal de monde utilise de façon préférentielle des séquenceurs logiciels pilotant des synthétiseurs ou des lecteurs virtuels.

Pour chaque piste d'un séquenceur, on peut donc affecter soit un module virtuel synthétique soit un module matériel ou semi matériel basé sur des tables d'ondes.

L'avantage d'utiliser des cartes Sound Blaster par exemple est de pouvoir obtenir une très faible latence car gérée en grande partie par le matériel sans passer par le système d'exploitation (ce qui peut être appréciable avec un ancien ordinateur).

De nombreuses banques sonores peuvent être utilisées, elles sont le plus souvent au format SoundFont (.sf2). Ce format est devenue très populaires suite à la possibilité de pouvoir les créer grâce entre autre à l'éditeur Swami.

Voici quelques cartes son équipées de tables d'ondes / synthétiseurs :
  • Sound Blaster AWE32 / AWE64 (Format ISA)
  • Sound Blaster PCI512
  • Sound Blaster Live!
  • E-mu Audio Production Studio (APS)
  • Sound Blaster Audigy
  • Sound Blaster Audigy 2 (dont la version ZS PCMCIA pour ordinateurs portables)
  • Sound Blaster Extigy USB
  • Sound Blaster X-Fi (compatibilité Linux à vérifier)
  • Guillemot / Hercules Fortissimo 1,2,3,4 - Muse (Format de tables d'ondes propriétaire).

Il vous faut pour les cartes Sound Blaster installer les paquetages suivants :
  • awesfx
  • pmidi

et charger un soundfont par exemple par


Ensuite charger cette fonte par la commande

sfxload Unison.sf2



6. Les fichiers MIDI

6.1. Principe

Le fichier Midi (désigné et défini sous l'appellation MidiFile) représente des évènements (notes, vélocité, durée...), il doit être associé à un générateur sonore (échantillons) pour que l'on puisse le convertir.

Le schéma est donc le suivant :
Fichier Midifile associé à un générateur de sons, enregistrement puis exportation en audio.
Le format audio exporté peut être de type wav, ogg, mp3, flac...

Les fichiers MIDI sont courants sur le net, ils ont une extension .mid. Vous pouvez les jouer ou les écouter sur Linux à condition de disposer d'une carte son.

Les fichiers MIDI ne sont donc que des fichiers explicitant la note qui a été jouée, sa durée, son intensité et autres détails sur une ou plusieurs pistes, mais pour jouer cette note il faut que vous choisissiez l'instrument que vous mettez en face de cette note. Même si votre fichier comprend des informations sur le nom de l'instrument il faut que quelque part vous assignez à cet instrument un son avec sa tessiture, son grain etc. Cette tâche est faite par un lecteur d'échantillons ou un synthétiseur (de type matériel et / ou logiciel).

Certaines cartes sons sont équipées de table d'ondes de type PCM (Pulse Code Modulation) avec éventuellement un module de type synthétiseur, mais la plupart ne le sont pas (surtout les plus récentes, on parle dans ce cas là de carte ou d'interface audio) et il vous faudra utiliser un lecteur d'échantillon ou un synthétiseur logiciel (virtuel).

Enfin il faut savoir que la gestion du MIDI est prise en compte par la couche ALSA.

6.2. Convertir un fichier Midi en Audio ("Lire" un fichier MIDI)


6.2.1. Kmid - un lecteur de fichiers MIDI


Kmid est un lecteur MIDI qui fait également lecteur karaoké.

Image

Kmid lit des fichiers MIDI sortis de Lilypond à Rosegarden, il est compatible ALSA et Jack et il est utilisé pour le karaoké.

Kmid peut être utilisé avec Qsynth pour le choix des instruments ou avec timidity.

6.2.2. Timidity, Fluidsynth et Qsynth


Vous pouvez utiliser plusieurs solutions logicielles de lecteurs d'échantillons:



6.2.3. Qjackctl - Timidity - Time machine

Le plus simple et le plus rapide à mettre en oeuvre sans avoir le choix des sons et réglages approfondis.

Il faut tout d'abord installer Jack et son interface puis on lance QJackCtl
Dans une console (ou terminal) on lance Time Machine par la commande:
timemachine -f wav

l'option -f wav permet d'obtenir un fichier audio plus standard (le réglage par défaut est w64 (!)

  • Réglages dans Qjackctl
Onglet Audio
Relier Alsa Pcm à Time Machine

-Lancer Timidity et ouvrir un fichier MidiFile
Cliquer sur Time Machine (le bouton vert devient rouge)
Appuyer sur lecture
à la fin de lecture du fichier re-cliquer sur le bouton Time Machine (qui re-devient vert)
Le fichier est disponible dans /home/

6.2.4. Lire un fichier MIDI avec la commande pmidi dans un terminal

Enfin, la lecture peut être faite également par des commandes envoyées à partir d'un terminal. Certains se demanderont pourquoi expliciter les commandes de bas niveaux et les commandes graphiques. Ces commandes pourront être bien pratiques lorsqu'on veut par exemple enchaîner automatiquement plusieurs lectures de fichiers.

Pour obtenir une liste des ports MIDI disponibles, il faut taper:

pmidi -l

Ceci vous donne:

Port Client name Port name
64:0 External MIDI 0 MIDI 0-0
65:0 Emu10k1 WaveTable Emu10k1 Port 0
65:1 Emu10k1 WaveTable Emu10k1 Port 1
65:2 Emu10k1 WaveTable Emu10k1 Port 2
65:3 Emu10k1 WaveTable Emu10k1 Port 3

Ensuite, tapez

pmidi -p65:0 fichier.midi

pour entendre le fichier midi

Imaginez que vous ayez envie de puiser dans un fond de fichier midi sur le web, vous pouvez très bien imaginer de faire une séquence de commandes ressemblant à ceci et regroupées dans un fichier ( appelé shellscript)

#!/bin/sh
#lecture d'un fichier de la banque de son midi
wget http://unsite web $1
pmidi $1


Il est à noter que si vous utilisez Jack couplé avec Qsynth vous pouvez passer par une entrée Jack que vous routerez sur une sortie audio ou bien passer directement par une entrée MIDI.


7. Les banques d'échantillons


Un chapitre entier traite des banque de sons SoundFont

8. Edition des synthés MIDI externes

Les synthétiseurs et expandeurs (synthé sans clavier en rack) MIDI peuvent être adressés par ordinateur pour différentes tâches de gestion. La plus simple est de transférer via SYSEX (expliquer ce terme dans le lexique, et mettre un lien) des banques qu'on aurait trouvé sur le net. Une application plus fine consiste à éditer interactivement les patchs (c-à-d les programmes constituant un son dans le synthé) depuis un éditeur-bibliothéquaire MIDI. Sous Linux, il existe principalement JSynthLib pour ce rôle.

arrowMonter un exemple pour faire des transferts de banques via SYSEX avec des commandes bas niveau


Liens et commentaires

De la lecture pour les longues soirées d'hiver... cool
http://fr.wikipedia.org/wiki/Musical_Instrument_Digital_Interface
GlossaireM
http://ogloton.free.fr/midi/presentation.html
http://perso.orange.fr/getzen/norme.htm


[+]

Documentation [Afficher / Cacher]

Faire un don
[Afficher / Cacher]

Connexion
[Afficher / Cacher]


Mégaphone [Afficher / Cacher]

olinuxx, 11:48, ven. 15 mars 2024: Bonjour et bienvenue à Jerry cool
calixtus06, 18:03, mer. 13 mars 2024: Bonjour et bienvenue à tanguero :-)
olinuxx, 11:01, dim. 10 mars 2024: Bonjour et bienvenue à lolo cool
bda, 16:59, sam. 09 mars 2024: Chapeau pour l'édito. Vous êtes au top les gars :-)
allany, 07:20, jeu. 07 mars 2024: Ça ne fait jamais de mal, c'est l'éditorial ! [Lien]
olinuxx, 19:52, mer. 06 mars 2024: Bonjour et bienvenue à TrkNrk cool
calixtus06, 11:17, mar. 05 mars 2024: Bonjour et bienvenue à D752 :-)
calixtus06, 18:59, lun. 04 mars 2024: Bonjour et bienvenue à Hborsa et Adjudandouille :-)
olinuxx, 18:34, jeu. 29 Feb 2024: Bonjour et bienvenue à anto45500 cool
jujudusud, 23:38, mar. 27 Feb 2024: Venez participer à la joute numéro 17 : [Lien]
calixtus06, 18:36, jeu. 22 Feb 2024: Bonjour et bienvenue à nikartri et rckloar :-)
calixtus06, 10:15, mer. 14 Feb 2024: Bonjour et bienvenue à smonff, Alphascorpii, tadumtss et letoII :-)