a2jmidid est un adaptateur qui convertit les entrées et sorties
ALSA MIDI en
Jack-MIDI.
Il permet en particulier d'utiliser dans
Jack les applications
MIDI qui ne sont prévues que pour
ALSA.
Site web officiel :
http://home.gna.org/a2jmidid/.
Version actuelle :
9 2019 09 24.
Compatible
JACK,
MIDI et
LASH (à vérifier pour ce dernier).
Développeur :
Nedko Dmitry S. Baikov,
Paul Davis et
Torben Hohn.
Contributeurs : Juuso Alasuutari.
Licence :
GNU GPL v2.
Description
Derrière ce nom quelque peu barbare se trouve un petit utilitaire indispensable dans certains cas. Il s'agit d'
un pont (bridge) entre Alsa et Jack (a2jmidid <=> Alsa to Jack MIDI Daemon).
L'entrée MIDI de votre carte son, si vous utilisez
QJackCtl, apparaitra dans l'onglet MIDI, et sera routée par
Jack. Vous constaterez que les entrées et sorties MIDI de la plupart de vos applications, comme
Ardour 3 2.x ou
PureData, seront listées dans
Alsa : en effet, plusieurs d'entre elles n'implémentent pas encore Jack-MIDI, et passent donc par le serveur Alsa-MIDI (la version 3 d'
Ardour 3 devrait supporter Jack-MIDI). Il faut pour cela établir un pont entre les deux, et c'est là que
a2jmidid intervient.
Exemples
Sans
a2j :
Il est donc impossible de les connecter.
Maintenant on lance
a2j, ici avec la commande :
On voit alors qu'ils sont tous affichés dans l'onglet
MIDI.
Patchage sans
a2j, puis avec (les entrées et sorties ALSA vertes apparaissent alors aussi en rouge, donc JACK) :
Catia sans
a2j, puis avec (les entrées et sorties ALSA apparaissent en marron) :
Installation
[+]
a2jmidid est le plus souvent dans les dépôts, voir même installé et initialisé avec le démarrage de
Jack par
QJackCtl. Si c'est le cas, passez directement à la section utilisation.
S'il ne se trouve pas dans vos dépôts, il faudra le compiler. Rassurez-vous, ça n'est pas trop compliqué.
Commencez par télécharger l'archive des sources sur le site du projet:
http://download.gna.org/a2jmidid/.
(
Ici la version 6, adaptez les lignes qui suivent si ça ne correspond pas)
Ouvrez un terminal et allez dans le répertoire où se trouve l'archive, décompressez-la et entrez dans le répertoire ainsi obtenu:
Copy to clipboard
cd /le/répertoire/
tar -xvf a2jmidid-6.tar.bz
cd a2jmidid-6
Vous y trouverez un fichier
INSTALL qui vous renseignera sur la compilation, il vous dira, grosso-modo, ce qui suit.
Inutile d'installer un compilateur,
WAF est embarqué, et si python est bien présent sur votre système, ce qui devrait être le cas, vous n'aurez pas de problème.
Configurez: il vaut mieux changer le répertoire d'installation, ou
prefix (/usr/local par défaut), car dbus se trouve probablement dans /usr et WAF vous retournera un message d'erreur.
Copy to clipboard
./waf configure --prefix=/usr
Compilez:
Installez, en mode
super utilisateur :
Copy to clipboard
./waf install
Et voilà...
Erreurs à la configuration:
Il est possible qu'il manque certaines bibliothèques sur votre système pour mener à bien la compilation, voici la liste des paquets (distribution
ubuntu) à installer en fonction du message d'erreur :
- Checking for package alsa, tapez
Copy to clipboard
sudo apt-get install libasound2-dev
{SPLIT(colsize=300|300)}
- Checking for package jack >= 0.109.0, tapez
Copy to clipboard
sudo apt-get install libjack-dev
{SPLIT(colsize=300|300)}
- Checking for package dbus-1, tapez
Copy to clipboard
sudo apt-get install libdbus-1-dev
Utilisation
[+]
Il y a 2 façons d'utiliser les applications Alsa-Midi dans un système Jack-Midi :
- La première approche est d'utiliser un pontage automatique:
Pour chaque port Alsa-Midi vous obtenez le port équivalent en Jack-Midi, pour ce faire, c'est on ne peut plus simple, on utilise la commande a2j_control.
Pour connaitre toutes les options:
Copy to clipboard
a2j_control
Pour démarrer et arrêter:
Copy to clipboard
a2j_control start
a2j_control stop
Vous voyez à présent dans l'onglet MIDI de
QJackCtl une section
a2j, qui contient tous vos ports déjà présents dans Alsa-MIDI... Il ne vous reste plus qu'à tirer des lignes!
Évidemment, vous ne voudrez plus vous en occuper à présent: il vous suffira de mettre ces deux dernières commandes dans l'onglet
Options des réglages de
QJackCtl, sur les lignes
Exécuter un script après le démarrage et ...à l'extinction.
N.B.:cette approche est sensiblement équivalente au fait de sélectionner le "MIDI Driver" "seq" dans l'onglet "Settings" de la fenêtre "Setup" de qjackctl
- La deuxième approche est d'utiliser des ponts statiques:
Vous créez un (ou plusieurs) port(s) de pontage Alsa-Midi -> Jack-Midi OU Jack-Midi -> Alsa-Midi
Cette approche est nécessaire, lorsqu'une application Alsa-Midi ne crée pas de port et/ou demande un port Alsa-Midi existant afin de pouvoir y capturer ou y jouer. (ex: dans un séquenceur qui demande vers quel port envoyer les notes d'une piste midi)
Dans ce cas il faut utiliser la commande
Copy to clipboard
a2jmidi_bridge
cette commande prend un argument optionnel, qui permet de nommer le port à sa convenance
ex:
Copy to clipboard
a2jmidi_bridge "mon pont"
cette commande créera un port de playback Alsa-Midi et un port de capture Jack-Midi, tous deux nommés "mon pont"; ainsi dans votre séquenceur vous pourrez rediriger votre piste vers le port de playback Alsa-Midi "mon pont"; vos applications Jack-Midi auront accès à ce que le séquenceur inscrit sur cette piste via le port de capture Jack-Midi "mon pont".
Pour faire le même type de pontage statique dans l'autre sens utiliser la commande
Copy to clipboard
j2amidi_bridge
le principe est le même, sauf qu'ici vous aurez un port de capture Alsa-Midi et un port de playback Jack-Midi de créé.
Problèmes
Si au lancement de
a2j vous obtenez le message suivant, c'est que
JACK n'est pas démarré :
Copy to clipboard
--- start
DBus exception: org.gna.home.a2jmidid.error.generic: a2j_start() failed.
Changelog
[+]
Les nouveautés dans les dernières versions :
version 7 du 16 janvier 2011
nom de code "'Paisius of Hilendar''"
- améliorations des manipulations MIDI
- utilise la limite définie par jack pour la taille maximum des noms de ports
- mise au norme de certaines distributions pour les bibliothèques partagées
- le support D-Bus est maintenant optionnel (à désactiver à la compilation)
- correction de bugs de compilation sur certaines plateformes exotiques
- ajout d'une page de manuel (de Debian)
- ré-ouverture du fichier de log lors de sa suppression/remplacement
Liens