Alsa - MIDI: jak na to?

Butrus Damaskus butrus.butrus na gmail.com
Úterý Únor 24 18:23:54 CET 2009


2009/2/24 Butrus Damaskus <butrus.butrus na gmail.com>:
> 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"?

OK, tak jsem jako kostru použil amidimap
(http://www.cowlark.com/amidimap/index.html) a doplnil to dokumentaci
k alsa-lib (hlavne
http://www.alsa-project.org/alsa-doc/alsa-lib/group___m_i_d_i___event.html,
ktere prevadi raw midi na udalosti sekvenceru) a neco z toho uklohnil
:)



Další informace o konferenci Linux