Jak správně implementovat Program Change

Vše co se týka MIDI (mimo keyboardů)
Uživatelský avatar
Pytkin
Moderátor
Příspěvky: 21269
Registrován: 23 kvě 2002 16:23

Re: Jak správně implementovat Program Change

Příspěvek od Pytkin » 03 srp 2017 15:41

aj mne pride posledne BS naprosto presny a exaktny pojem ..

PMC
Příspěvky: 75
Registrován: 28 bře 2017 18:03

Re: Jak správně implementovat Program Change

Příspěvek od PMC » 03 srp 2017 15:42

Už jsem ti říkal, že se na to díváš pořád jako na realtime stream, nikoliv jako na zaznam v souboru. V souboru jako poslední BS může být vyhodnoceno i něco jiného. Když je něco poslední, tak co je předposlední? To co se nachází před ním pézicí v souboru, v čase, nebo použitím? Á když mám několik BS eventů v souboru za sebou a změním ten první, je ten první zároveň i poslední? Asi jo, to je zvláštní, že? Označení původní a nový při modifikaci nikoho nenechá na pochybách, který myslím.

Uživatelský avatar
pavlii
Moderátor
Příspěvky: 3010
Registrován: 05 čer 2002 19:23

Re: Jak správně implementovat Program Change

Příspěvek od pavlii » 03 srp 2017 15:45

Tak jsem se definitivně ztratil v tom, o co ti jde. Pytkine - jsi v tom sám 8) :-D

P.

Uživatelský avatar
Pytkin
Moderátor
Příspěvky: 21269
Registrován: 23 kvě 2002 16:23

Re: Jak správně implementovat Program Change

Příspěvek od Pytkin » 03 srp 2017 15:50

Pavlii : Tak v tom to som sa stratil aj ja ..

PMC : tomuto teda nerozumiem .. Ci je to realtime stream alevo zaznam v subore je predsa uplne irelevantne .. Je to predsa to iste .. Ked je nieco posledne , je to posledne .. predposledne je predposledne .. atd .. Ako je to fyzicky zapisane v subore je predsa uplne jedno .. Vo finale sa stale jedna o to iste .. v danom case sa ma zahrat dany midi event ..

Uživatelský avatar
Pytkin
Moderátor
Příspěvky: 21269
Registrován: 23 kvě 2002 16:23

Re: Jak správně implementovat Program Change

Příspěvek od Pytkin » 03 srp 2017 15:57

A software by mal hrat co je v subore .. teda ked je tam , ze sa ma poslat v danom momente BS , tak by sa mal poslat BS .. ak sa ma posla PC , mal by sa poslat PC .. A soft by nemal svojvolne nic pridavat ani vynechavat .. To je predsa na mne , ked si ukladam midi eventy za sebou , tako si ich poukladam .. kedy poslem BS a kedy PC .. Podla toho co sa tu napisalo , tak rozne nastroje to interpretuju inak .. Takze ten kto programuje dany subor , ho programuje pre dane nastroje .. ked to bude hrat na inych nastrojoch , tak to nemusi byt korektne .. ale ak software to bude menit , tak to opat nemusi byt korektne ..

PMC
Příspěvky: 75
Registrován: 28 bře 2017 18:03

Re: Jak správně implementovat Program Change

Příspěvek od PMC » 03 srp 2017 16:54

Neni to to same, v zaznamu muzes menit minulost. V realtime streamu zijes pritomnosti, co se stalo uz nemuze zmenit, pritomnost je pevne dana. U zaznamu toto neplat, z pohledu pozdejsich eventu se minulost muze menit. Je to jako bys hral na poskozeny nastroj, kde se muze nahodne zmenit obsah registru pro BS, takze nikdy nevis jaky je. Modifikace zaznamu proste neni to same, jako realtime hrani nastroje.

Argumentace kdyz je neco posledni, je to posledni je definice kruhem. Je to pravda, ale nerika to nic o tom, co je to to posledni. A poslední BS v souboru neni to same jako poslední BS v case ani posledni zmeneny . Takze ja vazne netusim, co myslis tim poslednim BS. A pokud mas pocit, ze to tak neni a vsichni to chapou stejne, tak potom to vsichni chapou jako ja a odpovidam ze nikoliv, posledni BS nema smysl kopirovat do dalsich samotnych PC, tim bys ten midi rozbil i kdyby nahodou mel proti tomu rozbiti ochrany, ktere tu nejsou ani potvrzeny ani vyvraceny, to zustalo otevrene.

Ze ruzne nastroje BS interpretuji jinak tu opet nebylo potvrzeno. Ani obecne, natoz v ramci GM2 standardu. Cilem GM2 je, aby ten soubor ruzne nastroje neinterpretovaly ruzne. Takze me bude stacit, kdyz ten modifikovany midi bude kompatibilni s GM2. Jako programator nerad zasahuju do souboru jinde, nez kde provadim chtenou zmenu. Je mi to proti srsti a je to zbytecne komplikovane. Ale jevi se mi to jako nezbytne, protoze midi standard je navrzen spatne a sam pripousti moznost chyby v interpretaci, tedy vytvoreni midi douboru, ktery se uzivateli bude zdat poskozeny. Ale vzhledem k tomu, ze dovedu tuto chybu obejit, proc bych to neudelal? Sice udelam neco navic oproti standardu, ale nic v rozporu s nim.

Ad software by mel hrat ... ja ale nedelam prehravac, neresim prehravani a realtime stream, resim modifikaci midi souboru, bez prehravani, bez casu, natoz realtime.
Naposledy upravil(a) PMC dne 03 srp 2017 17:01, celkem upraveno 2 x.

PMC
Příspěvky: 75
Registrován: 28 bře 2017 18:03

Re: Jak správně implementovat Program Change

Příspěvek od PMC » 03 srp 2017 16:58

Pokud mas pocit, ze prenesenim puvodniho BS k dalsim samostatnym PC neco poskodim, tak uved prosim mechanismus toho poskozeni, protoze ja ho nevidim.

Uživatelský avatar
pavlii
Moderátor
Příspěvky: 3010
Registrován: 05 čer 2002 19:23

Re: Jak správně implementovat Program Change

Příspěvek od pavlii » 03 srp 2017 17:29

Takže prosím konkrétní příklad aplikace MIDI dat, třeba pak pochopíme, oč tu běží.

P.

PMC
Příspěvky: 75
Registrován: 28 bře 2017 18:03

Re: Jak správně implementovat Program Change

Příspěvek od PMC » 03 srp 2017 19:14

Mas zaznam: PC3 NT NT NT PC8 NT NT NT...
Prehravac hraje Nastroj PC3 z banky 121/0 a potom z PC8 z banky 121/0.

Druhy nastroj je ok, ale prvni se mu nelibi, takze se ho rozhodne upravit v pavliiho programu za alternativni nastroj z banky 121/3.

Po uprave zaznam: BS121/3 PC3 NT NT NT PC8 NT NT NT...
Prehravac hraje chteny nastroj PC3 z banky 121/3 a potom, co to, necekane i jiny nastroj PC8 z banky 121/3.

Uzivatel je nastvany, ze mu pavlliho program vymenil i druhy nastroj, ale nastesti ma zalohu puvodnino souboru a pouzije PMC program, ktery kopiruje puvodni BS.

Po uprave zaznam: BS121/3 PC3 NT NT NT BS121/0 PC8 NT NT NT...
Prehravac hraje Nastroj PC3 z banky 121/3 a potom PC8 z banky 121/0. Tj. zmenil se nastroj tam kdeho uzivatel menil a zustal zachovany tam, kdeho nemenil, coz je prirozene ocekavana reakce, uzivatel je spokojen.

Tak, a jeste mi muzete rict, ktery z tech BS je posledni, asi tim poslednim myslite paradoxne ten prvni, ze?

Uživatelský avatar
Pytkin
Moderátor
Příspěvky: 21269
Registrován: 23 kvě 2002 16:23

Re: Jak správně implementovat Program Change

Příspěvek od Pytkin » 03 srp 2017 19:27

no ten posledny uz predsa neni prvy

Uživatelský avatar
Pytkin
Moderátor
Příspěvky: 21269
Registrován: 23 kvě 2002 16:23

Re: Jak správně implementovat Program Change

Příspěvek od Pytkin » 03 srp 2017 19:29

PMC píše:Pokud mas pocit, ze prenesenim puvodniho BS k dalsim samostatnym PC neco poskodim, tak uved prosim mechanismus toho poskozeni, protoze ja ho nevidim.
no ak existuju nastroje , ktore bez BS davaju defaultnu banku , tak pridanim BS sa spravi to ze bude hrat iny zvuk .. Ja fakt nevidim zmysel pridavania bank ..

Uživatelský avatar
Pytkin
Moderátor
Příspěvky: 21269
Registrován: 23 kvě 2002 16:23

Re: Jak správně implementovat Program Change

Příspěvek od Pytkin » 03 srp 2017 19:30

PMC píše: Po uprave zaznam: BS121/3 PC3 NT NT NT PC8 NT NT NT...
Prehravac hraje chteny nastroj PC3 z banky 121/3 a potom, co to, necekane i jiny nastroj PC8 z banky 121/3.

Uzivatel je nastvany, ze mu pavlliho program vymenil i druhy nastroj, ale nastesti ma zalohu puvodnino souboru a pouzije PMC program, ktery kopiruje puvodni BS.
To je ale blbost .. ked uzivatel zmeni v prvej casti banku na inu , tak sam vie ze musi zmenit banku v druhej casti ..

Uživatelský avatar
Pytkin
Moderátor
Příspěvky: 21269
Registrován: 23 kvě 2002 16:23

Re: Jak správně implementovat Program Change

Příspěvek od Pytkin » 03 srp 2017 19:31

Fakt tu riesime blbosti .. TO ze nejaky nastroj pouziva defaultne banky sa nepotvrdilo .. Cize funguje to ze sa hra posledne navolena banka .. cize proste staci normalne posielat data ako su .. ziadne banky nepridavat .. a nechat to na uzivatelovi , nech si edituje data ako chce ..

Uživatelský avatar
pavlii
Moderátor
Příspěvky: 3010
Registrován: 05 čer 2002 19:23

Re: Jak správně implementovat Program Change

Příspěvek od pavlii » 03 srp 2017 19:40

Já si začínám vyloženě libovat v tom, jak můj nick je frekventovaný :-) ale pohoda.

PMC: obavám se, že to není moc dobrý příklad. Aby nástroj střídal různé zvuky v jenom MIDI kanále....no budiž, není to nic proti ničemu. Jinak platí to, jak zareagoval Pytkin. Pokud změníš v jenom místě banku zvuků a v rámci jednoho MIDI kanálu chceš od jiného místa hrát zvuk z jiné banky, tak je nasnadě, že BS kontrolery musíš vložit na dvě místa.
Ale jinak pavliiho program by pracoval buď přesně takto, jak jsem popsal, ale spíše by využíval multitimbralitu nástroje, pracoval ve více MIDI kanálech a nezabýval se pak ptákovinama 8)

Ale jinak dobrý popis! ;-)

P.

PMC
Příspěvky: 75
Registrován: 28 bře 2017 18:03

Re: Jak správně implementovat Program Change

Příspěvek od PMC » 03 srp 2017 20:18

Pytkin píše:
PMC píše: To je ale blbost .. ked uzivatel zmeni v prvej casti banku na inu , tak sam vie ze musi zmenit banku v druhej casti ..
Ne, to rozhodne nevi. To by musel poctive zkoumat cely midi soubor, treba 500 000 eventu, kde to jsou jehly v kupce sena. A tech nasledujicich PC muze byt treba 50, ktere by pak musel rucne jeden po druhem upravovat.

Odpovědět