install midi - Orabig/piano-assistant GitHub Wiki
Le programme ttymidi ( http://www.varal.org/ttymidi/ ) est utilisé pour fournir au système un composant MIDI standard à partie des données reçues et envoyées sur le port série UART.
Installation
sudo apt-get install libasound2-dev
git clone https://github.com/Orabig/ttymidi
cd ttymidi/
make
sudo make install
Test
$ ttymidi -s /dev/ttyAMA0 -b 31250 -v # Permet de visualiser les events MIDI reçus sur l'UART en temps réel
Serial 0x90 Note on 000 057 000
Serial 0x90 Note on 000 045 029
Serial 0x90 Note on 000 045 000
Serial 0xb0 Controller change 000 000 000
Serial 0xb0 Controller change 000 032 112
Serial 0xc0 Program change 000 000
Serial 0xb0 Controller change 000 091 019
0xf0 Unknown MIDI cmd 000 067 016
0xf0 Unknown MIDI cmd 000 076 002
0xf0 Unknown MIDI cmd 000 001 000
0xf0 Unknown MIDI cmd 000 001 016
0xf0 Unknown MIDI cmd 000 067 016
0xf0 Unknown MIDI cmd 000 076 002
...
$ ttymidi -s /dev/ttyAMA0 -b 31250 -p # Permet d'afficher les données brutes recues sur l'UART
f8 f8 fe f8 f8 f8 f8 f8 f8 f8 f8 f8 fe f8 f8 f8 f8 f8 f8 f8 f8
f8 90 69 30 f8 f8 f8 f8 f8 90 69 0 f8 f8 f8 fe f8 f8 f8 f8 f8
f8 f8 fe f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 fe f8 f8 f8 f8 f8 f8 f8
...
$ ttymidi -s /dev/ttyAMA0 -b 31250 --name=MY_MIDI_DEVICE & # Crée un device MIDI standard
[1] 2208
$ aconnect -iol # Affiche la liste des devices MIDI connus
client 0: 'System' [type=kernel]
0 'Timer '
1 'Announce '
client 14: 'Midi Through' [type=kernel]
0 'Midi Through Port-0'
client 128: 'MY_MIDI_DEVICE ' [type=user,pid=2208]
0 'MIDI out '
1 'MIDI in '
Les utilitaires ALSA peuvent ensuite être utilisés sur le device, par exemple :
arecordmidi --port 128:0 my_file.mid # Enregistre le morceau joué dans un fichier midi