Jak správně implementovat Program Change
Re: Jak správně implementovat Program Change
ve vší skromnosti si myslím že jsem mu pomohl vic než dost. Protože neteoretizuji ale předkládám praktická řešení.
Psát teorie o tom "co si asi nástroj myslí, když je víc nebo míň chytrý" je - s prominutím - skoro mlácení prázdné slámy. Uvědomte si, že tímhle zabijíte většinu dotazů...
Ale mě to může být koneckonců fuk jen když se kouknu, jak dlouho se tenhle dotaz řeší, tak je to príma ukázka ztraceného času. Ale asi ho máte dost já jdu organizovat soutěž dětem na táboře. Doufám, že se trochu pochlapíte a že se večer dočtu řešení - a ne zase rozbor, jak jsem impertinentní
P.
Edit: MDudas smazal svojí reakci (předpokladám), takže většina mého příspěvku nemá pak vazbu. Ale to neva - prakticky jsem reagoval na námitku ohledně kvality mé odpovědi z předchozí strany.
Psát teorie o tom "co si asi nástroj myslí, když je víc nebo míň chytrý" je - s prominutím - skoro mlácení prázdné slámy. Uvědomte si, že tímhle zabijíte většinu dotazů...
Ale mě to může být koneckonců fuk jen když se kouknu, jak dlouho se tenhle dotaz řeší, tak je to príma ukázka ztraceného času. Ale asi ho máte dost já jdu organizovat soutěž dětem na táboře. Doufám, že se trochu pochlapíte a že se večer dočtu řešení - a ne zase rozbor, jak jsem impertinentní
P.
Edit: MDudas smazal svojí reakci (předpokladám), takže většina mého příspěvku nemá pak vazbu. Ale to neva - prakticky jsem reagoval na námitku ohledně kvality mé odpovědi z předchozí strany.
Re: Jak správně implementovat Program Change
Jo, prave preto som to zmazal - SORRY ! Idem na to prakticky.
Checkol som, ako to robi moj Kurzweil (Kurzweile sa celkom slusne drzia standardov)
a/ Standard mod - ak pred PC nedostane BS, zvoli default banku 0. Inak samozrejme voli uvedenu banku.
On sam pri nahravani vzdy zapisuje spolu BS+PC.
b/ GM mod - ak pred PC nedostane BS, zvoli default GM banku.
Ak dostane BS s inym (nezmyselnym) cislom banky, aj tak voli default GM banku.
Pri nahravani pre istotu vzdy zapisuje BS+PC. (BS zostava furt rovnake)
Na kanale 10 - dtto, ale bicie.
Takze ano, mal si pravdu. A PMC tiez isiel spravnym smerom.
Checkol som, ako to robi moj Kurzweil (Kurzweile sa celkom slusne drzia standardov)
a/ Standard mod - ak pred PC nedostane BS, zvoli default banku 0. Inak samozrejme voli uvedenu banku.
On sam pri nahravani vzdy zapisuje spolu BS+PC.
b/ GM mod - ak pred PC nedostane BS, zvoli default GM banku.
Ak dostane BS s inym (nezmyselnym) cislom banky, aj tak voli default GM banku.
Pri nahravani pre istotu vzdy zapisuje BS+PC. (BS zostava furt rovnake)
Na kanale 10 - dtto, ale bicie.
Takze ano, mal si pravdu. A PMC tiez isiel spravnym smerom.
Re: Jak správně implementovat Program Change
No vida - však já vím, že vy šikovní být
P.
P.
Re: Jak správně implementovat Program Change
Diky ze se tomu venujete. Vysledny midi soubor nebo stream muze bezet na cemkoliv, takze to potrebuju mit spravne. Ja to muzu vyzkouset jen na jednom starsim stroji a ma letita programatorska zkusenost rika, ze to, co mi bezi doma bez problemu u zakaznika urcite fungovat nebude. Davam prednost se drzet standardu nez se snazit chovani odpozorovat a doufat, ze jsem pomyslel na a postihl vsechny okolnosti. To uz se mi mockrat vymstilo. Ale muzu pripravit nejaky mid a nechat vas to otestovat na ruznych strojich.
Re: Jak správně implementovat Program Change
MDudas: rozumim dobre tomu, ze se tedy u tebe to BS nepamatuje? Tj. kdyz se ve streamu objevi BS a PC a pozdeji samotne PC bez BS, tak se to prvni BS nepouzije a jede se GM banka?
Re: Jak správně implementovat Program Change
Ale to znamena, ze pri zmene jednoho nastroje musim upravit vsechny nasledujici a to se mi zda jako chybny pristup, ktery neni v souladu se standardem.
Re: Jak správně implementovat Program Change
No když je vágní standard........ ale léta jsem si MIDI normu nečetl. Pokud to tam ale jasně není uvedeno, tak se nedá říci, že to je "chybný přístup v nesouladu se standardem". A to, že si někteří výrobci některé věci implementují malinko jinak je pravda a i s tím se prostě musí počítat.
P.
P.
Re: Jak správně implementovat Program Change
Samozrejme to neni vylucene .. S tym ale nic nenarobime ..MDudas píše:pytkin, ono je ale mozne, ze niektori vyrobcovia si MIDI vysvetluju po svojom...
Re: Jak správně implementovat Program Change
a je spravnePMC píše: 4) Spustim prehravani, nejprve hraje nastroj MSB 121 LSB 3 PC 1 a potom ma hrat co?
a) MSB 121 LSB 3 PC 60
Re: Jak správně implementovat Program Change
Mdudas : To je zvlastne chovanie .. natiska sa otazka , aky cas pred PC musi prist BS , aby ju akceptoval ???
Re: Jak správně implementovat Program Change
Tohle by mělo být, pokud se pamatuju, buď popsáno v MIDI normě, nebo spíš v MIDI implementaci nástroje (kolik času potřebuje ke zpracování té které MIDI informace).
P.
P.
Re: Jak správně implementovat Program Change
pavli : Mne preslo rukami veeelmi vela navodov , ale taketo informacie sa tam nikdy nepisali .. Ak nejaky nastroj ignoruje poslanu banku (aj ked davno) , tak to podla mna neni v poriadku .. a zaujimalo by ma , aky cas pred PC musi byt ta banka poslana , aby ju este akceptoval ..
Re: Jak správně implementovat Program Change
No... dodnes som si myslel, ze je to tak, ako pise pytkin. Dokonca by som nato vsadil krk, pretoze som to uz pred rokmi studoval a aj som to tak pouzival. T.j. BS nastavi banku a ta ostane zapamatana az do dalsieho BS.PMC píše:MDudas: rozumim dobre tomu, ze se tedy u tebe to BS nepamatuje? Tj. kdyz se ve streamu objevi BS a PC a pozdeji samotne PC bez BS, tak se to prvni BS nepouzije a jede se GM banka?
Ale dnes mi to chodilo nejako inak.
Idem to este prestudovat.
Re: Jak správně implementovat Program Change
ono syntaky su proste jednoduchy pocitac .. niede v pamati je cast ktora je ziva (casto sa oznacuje temporary) .. kazda bunka obsahuje nejake udaje .. v jednej bunke je banka .. teda v dvoch , ked by sme to chceli ratat na 8bitov .. niekde je cislo zvuku .. niekde je volume .. niekde je pan .. kazda bunka ma adresu .. cez sysex sa tam vacsinou rovno daju poslat data .. no a proste ked pride control change tak sa dane data zapisu do danej bunky .. a v tej bunke to ostane (casto len do vypnutia nastroja) ..
Keby sa to malo v nejakom GM2 mode chovat inak , tak by to mohol procesor nejak procesovat .. ze ked nepride pred PC nejaky BS , tak sa zoberie trebars nejaka default 0 banka .. Ale otazka je ako by to rozlisoval .. Casovo ? ze musi BS prist pred PC trebars 200msec ? alebo ze tam nebudu ziadne ine data na tom kanale ? to by ale bolo dost blbe , lebo rozumne DAW a SEQUENCERY sami upravuju poradie midi eventov , pripadne vypustaju zbytocne midi eventy atd ..
Keby sa to malo v nejakom GM2 mode chovat inak , tak by to mohol procesor nejak procesovat .. ze ked nepride pred PC nejaky BS , tak sa zoberie trebars nejaka default 0 banka .. Ale otazka je ako by to rozlisoval .. Casovo ? ze musi BS prist pred PC trebars 200msec ? alebo ze tam nebudu ziadne ine data na tom kanale ? to by ale bolo dost blbe , lebo rozumne DAW a SEQUENCERY sami upravuju poradie midi eventov , pripadne vypustaju zbytocne midi eventy atd ..