Alsa - MIDI: jak na to?

Butrus Damaskus butrus.butrus na gmail.com
Úterý Únor 24 10:32:41 CET 2009


Zdravim!

Nevite nekdo, prosim, jestli lze nejak jednoduse (tj. pomoci
existujici utilitky) "hazet" cista midi data na urcity midi "port"
(pod ALSA, napr. smerem na port, kde mi visi fluidsynth).

Delam si hardwarovy "pedalovy prevodnik" (neco jako
http://www.chd-el.cz/index.php?id=136) na bazi AVR a avrusb
(http://www.obdev.at/products/avrusb/index.html). Vzhledem k tomu, ze
avrusb umi jen lowspeed a USB MIDI class potrebuje BULK prenosy, ktere
jsou pro lowspeed zakazane (a kvuli tomu funguji jen na nekterem HW /
v nekterych jadrech linuxu), pouzivam vlastni protokol. Kvuli tomu ale
budu muset napsat vlastni driver (nebo alespon user-space utilitku,
ktera funkci driveru prevezme).

Zatim mam jen testovaci user-space prikaz; z toho mi lezou uz nejaka
konkretni testovaci data, viz:

[root na _CENSORED_ commandline]# ./lowmidi recv_raw | hexdump -C
00000000  90 2f 7f 80 2f 7f 90 2f  7f 80 2f 7f 90 2f 7f 80  |./../../../../..|
00000010  2f 7f 90 2f 7f 80 2f 7f  90 2d 7f 80 2d 7f 90 30  |/../../..-..-..0|
00000020  7f 80 30 7f 90 30 7f 80  30 7f 90 30 7f 80 30 7f  |..0..0..0..0..0.|
00000030  90 30 7f 80 30 7f 90 30  7f 80 30 7f 90 30 7f 80  |.0..0..0..0..0..|


Cili zbyva je dostat do midi systemu ALS-y. Pokud neexistuje stavajici
utilitka, do ktere bych midi data mohl cpat pres rouru, neporadil
byste nekdo, prosim, nejaky co nejjednodussi program, ktery vyuziva
alsa-lib pro komunikaci s midi subsystemem, ktery bych mohl pouzit
jako "kostru"?

Diky!
P.



Další informace o konferenci Linux