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

La gestion du MIDI par JACK
Imprimer


L'un des problèmes du MIDI sous Linux c'est le fait que deux normes existent :

Les deux normes sont à peu près également utilisées, ce qui vous oblige parfois à créer un pont entre les deux pour connecter un matériel à un logiciel, ou un logiciel à un autre (avec par exemple a2jmidid).



Pourquoi avoir créé une implémentation MIDI par JACK alors qu'il y en avait déjà par ALSA ?


JACK MIDI a été créé entre autre parce que l'implémentation d'ALSA n'est plus développée depuis environ 10 ans, et c'est pour cela qu'on appelle ALSA parfois legacy. Du point de vue des développeurs de JACK, un défaut d'ALSA réside dans le fait qu'il est implémenté dans l'espace noyau. En effet, vous l'avez remarqué, la couche ALSA vient sous formes de modules du noyau. Mais il y a sûrement d'autres raisons.
L'implémentation d'un transport de données autres qu'audio dans JACK est une alternative à ALSA qui a certains avantages et des inconvénients (du moins pour l'instant).


Avantages de JACK MIDI


  • une implémentation entièrement dans l'espace utilisateur de la mémoire,
  • une implémentation plus légère et une interface logicielle moins lourde pour le développeur,
  • une liaison très directe du timing des flux de MIDI aux flux audio passant par JACK, donc la possibilité d'associer des événements MIDI et ondes audio générés par des synthés avec une grande précision. C'est la fameuse histoire du "timing précis à l'échantillon près" ("sample accurate timing" Image ), qui est pourtant soumise à beaucoup de conditionnels dans le monde réel, d'où parfois quelques désaccords entre les développeurs,
  • JACK MIDI est pour l'instant la seule possibilité de gérer le MIDI des cartes son firewire à travers FFADO.


Inconvénients


  • Pour les développeurs : contrairement à ALSA, JACK MIDI ne possède pas de séquenceur intégré. En effet, ALSA décharge les logiciels clients de s'occuper du timing effectif des notes envoyées ou reçues par un mécanisme de pré-stockage d'événements MIDI dans une "queue", et c'est le module ALSA lui même qui jouera l'événement avec le timing souhaité par le logiciel. Ceci est fait avec une énorme précision. Dans JACK, comme pour l'audio, le logiciel doit lui-même réagir en envoyant des données "quand c'est le bon moment", c'est à dire quand JACK demande le prochain bloc de données, elles doivent être accessibles et correctes. En réalité, ceci n'est pas extrêmement compliqué non plus pour le développeur, mais nécessite quelques précautions.
  • Quand on envoie du MIDI à l'extérieur par USB, le timing du MIDI dans JACK est aussi bon que la latence de JACK, et les flux sont interrompus de la même façon que les flux audio quand il y a des "xruns".
  • JACK MIDI ne gère actuellement pas d'événements SYSEX permettant une communication de données avancées aux instruments réels (synthés et boites MIDI externes), comme par exemple l'échange et la sauvegarde de patches.

Dans l'ensemble les deux implémentations sont très performantes, avec une plus grande facilité pour les développeurs avec ALSA quand il s'agit de séquenceurs (grâce à la présence d'une queue de stockage) et une plus grande facilité avec JACK quand il s'agit de synthés et processeurs de données MIDI.

Pour l'instant, on a les deux à gérer sous Linux, selon les choix des développeurs. Heureusement il existe un pont entre les deux systèmes : a2jmidid qui permet d'accéder aux clients à partir des deux côtés et de faire fonctionner les logiciels ALSA MIDI et JACK MIDI entre eux.



Gestionnaires de connexions


Les principaux gestionnaires de connexions permettent de voir et connecter les deux types d'entrées et sorties MIDI :
  • QjackCtl possède deux onglets :
    • l'onglet "MIDI" qui correspond au MIDI de JACK
    • l'onglet "ALSA" qui correspond au MIDI d'ALSA
  • Patchage affiche deux couleurs :
    • vert pour le MIDI d'ALSA
    • rouge pour le MIDI de JACK
  • Catia et Claudia affichent deux couleurs :
    • rouge pour le MIDI de JACK
    • marron pour le MIDI d'ALSA
  • LADISH, on ne voit pas le MIDI d'ALSA sauf quand on lance a2j en tant qu'application



Liens





[+]

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 :-)