périphériques MIDI sont répertoriés avec leur nom lorsque vous les accès via l'API appropriée (ALSA RawMIDI ou séquenceur):
$ amidi -l
Dir Device Name
IO hw:2,0 Xonar D2 MIDI
IO hw:6,0,0 SC-8820 Part A
IO hw:6,0,1 SC-8820 Part B
IO hw:6,0,2 SC-8820 MIDI
$ aplaymidi -l
Port Client name Port name
14:0 Midi Through Midi Through Port-0
24:0 Xonar D2 Xonar D2 MIDI
40:0 SC-8820 SC-8820 Part A
40:1 SC-8820 SC-8820 Part B
40:2 SC-8820 SC-8820 MIDI
périphériques audio USB obtenir des entrées dans /dev/snd/by-id/
, qui pointent vers le dispositif de contrôle de chaque carte:
$ ls -l /dev/snd/by-id/
lrwxrwxrwx 1 root root 12 Sep 23 12:51 usb-0582_0007-00 -> ../controlC6
lrwxrwxrwx 1 root root 12 Sep 23 12:51 usb-Roland_EDIROL_UA-1A-00 -> ../controlC5
Le nœud de périphérique MIDI correspondant a le même numéro de carte après la lettre C
:
$ ls -l /dev/snd/midiC6*
crw-rw---- 1 root audio 116, 12 Sep 23 12:51 /dev/snd/midiC6D0
Une autre façon de trouver le numéro de la carte est de rechercher dans les /proc/asound/card*/usbid
fichiers pour l'ID de votre appareil:
$ cat /proc/asound/card6/usbid
0582:0007
Alternativement, analyser le contenu de /proc/asound/cards
:
$ cat /proc/asound/cards
2 [D2 ]: AV200 - Xonar D2
Asus Virtuoso 200 at 0xe800, irq 20
5 [UA1A ]: USB-Audio - EDIROL UA-1A
Roland EDIROL UA-1A at usb-0000:00:12.2-4.2, full speed
6 [SC8820 ]: USB-Audio - SC-8820
Roland SC-8820 at usb-0000:00:12.0-3, full speed
^
card number
Bon indice, il apparaît en effet avec un nom reconnaissable. Cependant il pointe (lien) vers/dev/snd/controlC1 et non vers ../midiC0D1. Je vais essayer avec Control1, mais pourquoi y a-t-il plusieurs périphériques pour le midi et vont-ils réagir de la même manière à une opération de lecture/écriture? – Arjen
Il y a une différence apparemment. Un simple fopen()/fwrite()/fread() fonctionne avec/dev/snd/midiC0D0, mais pas avec ../ controlC1 ....Donc, la question d'origine reste ouverte à moins qu'il y ait un lien entre control1 <--> midiC0D0? Peut-être que control1 est un canal audio? Mon appareil est à la fois un midi en tant que périphérique audio. – Arjen
Apparemment, ces appareils sont différents. Je n'ai pas d'appareils midi, mais j'ajouterai une autre approche que j'ai trouvée à la réponse. – c11o