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



Cette page explique comment utiliser un périphérique Série en MIDI, par exemple pour l'utilisation d'un contrôleur fait maison à base par exemple d'Arduino Uno ou Nano, qui ne supportent pas le protocole USB-MIDI nativement mais utilise Serial midi (contrairement à d'autres boards comme le Pro Micro ou les Teensy.

Avertissementattention
Page en cours d'écriture



Introduction


  • Construction d'un contrôleur MIDI basé sur Arduino
  • Support USB des différentes boards Arduino et chips ne supportant pas nativement l'USB
  • input en Série
  • convertir le Série en MIDI avec Hairless ou TTYMidi
  • Règle UDEV à la connexion d'un périphérique ttyUSB:
# /etc/udev/rules.d/99-serial-usb.rules
#
# Un test avec l'action "bind":
# ACTION=="bind", SUBSYSTEM=="usb-serial", DRIVER=="ch341-uart", TAG+="systemd", RUN+="/bin/sh -c 'echo == >> /home/zig/Software/udev-env.txt; env >> /home/zig/Software/udev-env.txt; echo attr: >> /home/zig/Software/udev-env.txt; echo $env{DEVNAME} >> /home/zig/Software/udev-env.txt'"

# Un autre test avec l'action "add", qui permet d'accéder plus facilement à la propriété DEVNAME:
#ACTION=="add", SUBSYSTEM=="tty", ENV{DEVNAME}=="/dev/ttyUSB[0-9]", TAG+="systemd", RUN+="/bin/sh -c 'echo == >> /home/zig/Software/udev-env.txt; env >> /home/zig/Software/udev-env.txt; echo attr: >> /home/zig/Software/udev-env.txt; echo $env{DEVNAME} >> /home/zig/Software/udev-env.txt'"
# La vraie règle à utiliser:
ACTION=="add", SUBSYSTEM=="tty", ENV{DEVNAME}=="/dev/ttyUSB[0-9]", TAG+="systemd", ENV{SYSTEMD_WANTS}+="ttymidi@$env{DEVNAME}.service"

# Un test à la déconnexion:
#ACTION=="unbind", SUBSYSTEM=="usb-serial", RUN+="/bin/sh -c 'echo == >> /home/zig/Software/udev-env.txt; env >> /home/zig/Software/udev-env.txt'"
# La vraie règle pour la déconnextion:
ACTION=="unbind", SUBSYSTEM=="usb-serial", RUN+="/bin/systemctl --no-block stop ttymidi@*.service"


  • Service Systemd pour démarrer et stopper ttymidi à la connexion/déconnexion du périphérique
[Unit] 
Description=TTYmidi to convert Serial to MIDI

[Service] 
ExecStart=ttymidi -b 115200 -n ArduinoPedal -s %I

Le paramètre %I est passé par la règle UDEV après le @ de ttymidi@.service.

Liens et commentaires



Collaborateur(s) de cette page : olinuxx et zigmhount .
Page dernièrement modifiée le Mercredi 07 avril 2021 13:27:34 par olinuxx.
Le contenu de cette page est licencié sous les termes licence.

Documentation [Afficher / Cacher]