Problem z kontrolerem MIDI

Jul 15, 2006 7 Replies

Witam,



Buduję kontroler midi, jak na razie do testów wrzuciłem do urządzenia 8 potencjometrow obrotowych. Wszystko podlaczone jest ladnie do procka, ktory wysyla szeregowo dane w formacie:


1 bajt:
1011 xxxx


2 bajt:



0yyyyyyy

gdzie xxxx, to numer kontrolera, w moim wypadku od 0 do 7, a yyyyyyy to wartosc kontrolera 0-127. Dodatkowo co ok 300ms wysylam bajt kontrolny o wartosci 254. Zaden soft na komputerze jednak nie wspolpracuje z takim urzadzeniem. Stad moje pytanie: co robie zle?



Jesli nie wyrazilem sie jasno, prosze pytac, wytlumacze dokladnie co i jak,



z gory dziekuje za pomoc,



pozdrawiam, the4dK


U¿ytkownik "the4dK" snipped-for-privacy@NOSPAMtlen.pl napisa³ w wiadomo¶ci news:e9aa91$1ah$ snipped-for-privacy@inews.gazeta.pl...

Jaki soft? i co mialy by Twoim zdaniem robic te kontrolery? skoro nic nie piszesz o NoteOn i NoteOff A po co ten bajt kontrolny?

TB napisał(a):

Soft, to cokolwiek, co przyjmuje komunikaty midi, czyli FL, Cubase etc. Kontrolery miałbyby służyć do sterowania parametrami w programie (gałki i inne filtry/efekty), żebym nie musiał robić tego myszką na ekranie, tylko pokręcić sobie potencjometrem "na żywo". NoteOn i NoteOff nie będzie, bo to nie ma być klawiatura sterująca, chodzi mi jedynie o komunikaty ControlChange. Co do bajtu kontrolnego, to wyczytałem gdzieś, że specyfikacja MIDI wymaga, aby przesłać wartość 254 co 300ms, bo inaczej urządzenia midi uznają, że nie ma połączenia.

Aha i wyslalem poprawkę, bo źle napisałem format w jakim wysyłam dane.

wpisalem zly format, moj sprzecik wysyla cos takiego:

1 011 xxxx | 00000 yyy | 0 zzzzzzz

gdzie xxxx to numer kanalu 0-16 yyy, to numer kontrolera 0-7 zzzzzzz, to wartosc kontrolera,

przepraszam za pomylke

co¶ mi siê wydaje, ¿e kontrolery maj± formê 3 bajtow±

kana³, typ kontrolera, warto¶æ

zobacz tutaj

formatting link
tam masz wszysto o midi,

Pozdr.

doczyta³em post wyzej, napisa³es o tym, shame on me... :)

witajcie,

0xFE, czyli 254: komunikat systemowy czasu rzeczywistego, aktywne polaczenie - taka funkcje przypisano tej wartosci komendy (tzn. bajtowi stanu). Pisze to na podstawie ksiazki Sound Blaster, Josha Munnik, Eric Oostendorp, SYBEX, Warszawa 1995. Dzieki tej ksiazce (m.in. rzecz jasna:)) kiedys zrobilem dokladnie taki kontroler MIDI jak opisujesz, z tym ze dodatkowo wysylajacy komunikaty SysEx itp. do syntezatora Yamaha QS-300.
formatting link
W razie problemow pomoge, prosze tylko o cierpliwosc, bo z czasem roznie bywa...

pozdr. JU

wlasciwy format dla zmiany parametru kontrolera MIDI:

0xBm | 0xnn | 0xvv

m = 0...F, nr kanalu od 1 do 16 nn = 0...7F, numer kontrolera vv = wartosc kontrolera, czasem tylko LSB badz MSB, ewentualnie 0, gdy parametr jest zbedny.

Testy: najlepiej poprzez interface karty dzwiekowej (nie USB!), w standardzie MPU-401. Mozna nagrywac (warto sprawdzic parametry filtru nagrywania!) w programie Cubase, Cakewalk, ale najlepiej napisac wlasna aplikacje debugujaca chocby w Delphi.

pzdr. JU

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required