Vitajte, Hosť. Prosím prihláste sa alebo sa zaregistrujte.
Nedostali ste váš aktivačný email?

Prihláste sa užívateľským menom, heslom a dåžkou sedenia
Novinky: Nové smerovanie portálu  - podpora a propagácia aktivít členov fóra !!
30. November , 2024, 07:28:56
Strán: 1 [2] 3 4 ... 7 |   Dole
  Tlačiť  
Autor Téma: Ako na programovanie s MIDI - navod  (Prečítané 19082 krát)
0 užívateľov a 6 Hostí prehliada túto tému.
styrioci
inventár podniku
*******
Príspevkov: 11902



« Odpoveď #15 kedy: 08. September , 2008, 07:38:06 »

A este aby sa to dalo aj ovladat pomocou tlacitok priamo na hlave a footswitchu vyrobeneho len pre takyto zosilnovac (cize bez midi footcontrollera). Tak ako to maju bezne gitarove hlavy. Popiskujem si  ha ha ha
daj si tam prepinanie na ovladanie klasickym footswitchom a ovladanie cez midi. to prve by nemal byt problem, na to druhe sa daju vygooglit nejake veci. napriklad midi switcher, ktory vie cez midi ovladat 4 funkcie skratovanim jackov (nieco podobne robi napr axess electronic). nie je to velke a keby si to umiestnil priamo do hlavy, tak by ti odpadlo kablovanie cez jacky a stacilo by ti pouzit iba midi in. uz neviem kde presne som to nasiel (ak sa nic nepodari najst, tak mi napis PM a poslem ti to) je tam schema, navrh DPS, popis ako to funguje aj zkompilovany .hex subor pre procak.
Zaznamenané
eter
pravidelný návštevník
****
Príspevkov: 157


« Odpoveď #16 kedy: 08. September , 2008, 10:00:18 »

No praveze uz som toho popozeral dost na nete, mozno som uz aj videl to co si spominal. Nechcel som tam davat uz obvody pre klasicky footswitch, lebo uz to mam aj tak zkomplikovane ...a midi by sa to elegantnejsie vyriesilo. To skratovanie jackov, ako si spominal, by aj mohlo byt ..ale ja si potrebujem naprogramovat presne, ktore jacky v akych kombinaciach sa maju vyskratovat. A k tomu potrebujem zdrojak, nestaci .hex subor. Aj zdrojak nie je najlahsie pochopit a upravit co som pozeral...
Nasiel som aj konkretnu schemu na ovladanie 4 relatok ...ale zdrojak nie je, len .hex. A nakoniec ...aj tak by som potreboval ovladat 5 relatiek  :)
« Posledná zmena: 08. September , 2008, 10:00:38 od eter » Zaznamenané
mcmaros
stály hosť
*****
Príspevkov: 1173


Max for President!


« Odpoveď #17 kedy: 08. September , 2008, 10:07:56 »

Malo by to byt naopak, pre control change su 3 byty a pre program change 2 byty.
Nevsimol som si. Opravene.

toto som nepochopil, preco si prepisal 1100 0001  0011 1100 na 1000 0011  0011 1100 a nasledne aj tie dalsie nejako divne. Ved pridanim start a stop bitu by sa nemali menit jednotlive byty alebo sa mylim?
Napisal som tam, ze sa tie byty posielaju od najnizsieho bitu po najvyssi. Ked som k tomu isiel pridavat start a stop bity, tak som to radsej prepisal aby to nebolo chaoticke.

Celkovo si tuto temu napisal dost so zameranim na to, co sa posiela ...teda jednotlive spravy ...
To je pravda, ale ked vies co a ako sa posiela, tak to budes vediet aj prijat. Predpokladam, ze ked to niekto pouzije, tak na ovladanie hotoveho pre/ampu.

ale mna by skor zaujimalo, ako sa da naprogramovat chip, ktory bude prijimat tieto prikazy a ako tento chip (PIC) nakonfigurovat. Lebo co som videl nejake programy na MIDI ovladanie pomocou PIC, tak to nebolo take jednoduche, treba to nakonfigurovat (UART asi), nainicializovat, boli tam nejake oneskorovacie slucky atd...
Urcite to je tazsie ako vysielanie, ale ty si majster. Skus sa potrapit.

Ale ako postupovat pri navrhu, ked to potrebujem implementovat do hlavy alebo preampu, aby to prepinalo kanaly, cize jednotlive rele tak ako ja potrebujem? A zaroven aby to aj vedelo komunikovat a reagovat na ovladanie hociakeho original midi footcontrollera (napr. znameho behringer FCB1010). A este aby sa to dalo aj ovladat pomocou tlacitok priamo na hlave a footswitchu vyrobeneho len pre takyto zosilnovac (cize bez midi footcontrollera). Tak ako to maju bezne gitarove hlavy. Popiskujem si  ha ha ha
Postupujes tak, ze si sadnes, zoberies si papier a pero a navrhujes. ha ha ha Na tom behringery sa tie posielane hodnoty daju menit, tak tam nie je problem. Ty si mozes dat tie hodnoty ake chces. Nikde nemas napisane, ze zmenenim cc# na 1 zapnes distortion. Otazne je co vsetko chces menit na hlave? Iba prepinanie kanalov alebo kompletne elektronicke potenciometre? Predpokladam, ze budes kontrolovat na inom vstupe ci sa nieco neposiela z tlacitok na hlave. Ale tie tlacidla mozes snad pripojit k inym vyvodom PIC, ak nerobis kompletne ovladanu hlavu. Ak by si chcel iba menit kanaly, tak o to lahsie. Ale potom na co MIDI?

PS: Ak bude cas, tak to este radsej prekontrolujem, lebo to bolo pisane na rychlo.
Zaznamenané

Pachotronic
nováčik
*
Príspevkov: 58


« Odpoveď #18 kedy: 08. September , 2008, 21:36:15 »

No iba teoreticky. S PIC16F877 by sa podla mna nejaky "prepinac" dal
urobit. Skusim sem nejako dostat zdrojak a schemu toho mojho "monitoru".
Tam je nastavenie celeho obvodu:
Aj ked sa podla vasich prispevkov v tejto problematike lepsie  orientujete
ako ja, podla mna je teor. "problem" len nastavit USART a potom ho len citat
 ( a vysielat) spravne prikazy. A kazde zariadenie kt. dodrzuje MIDI by malo nato spravne
reagovat. A co tam uz konkretne vyslem ? Len mi to musi rozumiet.
Zaznamenané
eter
pravidelný návštevník
****
Príspevkov: 157


« Odpoveď #19 kedy: 12. September , 2008, 01:30:11 »

Tak musel som to zobrat do vlastnych ruk a pustil som sa do toho  ?§!.. Nastudoval som trochu ten MIDI protokol aj programovanie PIC (stastie, ze sme sa ucili assembler a programovanie xx51, inak by som s tym asi nepohol  ha ha ha).
Programujem to pre procesor PIC 16F628, ktory ma implementovany USART.
Zatial mam naprogramovane riadenie cez MIDI (seriovu linku) pomocou program change. Este idem dorobit ovladanie pomocou tlacitok. Dufam, ze to bude ficat  Popiskujem si
Zaznamenané
styrioci
inventár podniku
*******
Príspevkov: 11902



« Odpoveď #20 kedy: 12. September , 2008, 07:26:47 »

Dufam, ze to bude ficat  Popiskujem si
drzim palce a pamataj na zlate pravidlo programatorov: program nikdy nerobi to, co programator chce, ale to, co programator naprogramoval.  Bavím sa skvele
Zaznamenané
mario bross
*** BACHAR ***
inventár podniku
***
Príspevkov: 8210



« Odpoveď #21 kedy: 12. September , 2008, 12:10:17 »

drzim palce a pamataj na zlate pravidlo programatorov: program nikdy nerobi to, co programator chce, ale to, co programator naprogramoval.  Bavím sa skvele

bohuzial   Bavím sa skvele
Zaznamenané

Valla
miestny štamgast
******
Príspevkov: 2227


nikki sixx a palo horvath 4ever :D :D


« Odpoveď #22 kedy: 12. September , 2008, 12:17:21 »

Toto je navod pre ludi, ktorich zaujima ako sa programuje mikroprocesor pre posielanie MIDI sprav na ovladanie multiefektov alebo MIDI ampov. Zaujimalo to mario bros-a a eter-a, ale moze to posluzit dalsim, ktori si tuto temu vygooglia. Napisal som uplne polopate a strucne najzakladnejsie a zaroven vsetky potrebne veci, ktore potrebujete vediet. Nie je to tazke, len vela dokumentov to vsetko zbytocne komplikuje. Niektore publikovane veci boli naviac pomotane ludmi, ktori to snad iba opisali, zle pochopili a nikdy nepouzili.

V MIDI existuju rozne prikazy, ale nas budu zaujimat iba

B - control change 0xB0-0xBF (je to v sestnastkovom tvare) a posielaju sa 3 byty
C - program change 0xC0-0XCF kde sa posielaju 2 byty

Kazdy poslany byte ma naviac start bit a stop bit. Program change sluzi na zmenu presetu a control change na zmenu inych funkcii. Vsetky hodnoty su popisane v manuale od daneho zariadenia, ktore chcem ovladat. U PODxt je v manualy na internete updatovana aj tabulka hodnot pre MIDI oproti papierovemu manualu.

Vyslanie start bitu + bytu + stop bitu trva dokopy 320us, t.j. 1 bit za 32us co je 1/31250s. Preto sa pise, ze rychlost MIDI je 31,25kbaud (+-1%).

Hardverove zapojenie

Pouzijem jeden vystup z mikroprocesora.

                                                      gnd----[pin 2]
mikroprocesor|----(odpor 220 ohm)----[pin5     pin4]----(odpor 220 ohm)----o +5V
                                                          [pin3         pin1]

Konektor DIN5, patkolik MIDI IN na zariadeni ktore ovladam je zapojeny,  ze kontakty su v hornej polovice a v dolnej je zamok: 1 4 2 5 3. My pouzijeme druhy a stvrty v poradi, cize znacenie 4 a 5 (neparne vyvody). Vyvod 2 zapojime na zem. Konektor, ktory k nemu pripajame (nas MIDI OUT) si treba zapojit tak, aby to sedelo. Treba si to predstavit, ze je to opacne. Tak ako som to nakreslil. Nasa 5-ka je druhy vyvod a 4-ka stvrty. Na MIDI IN zariadenia je optoclen nedzi vyvodmi 4 a 5. Anoda diody je na 4 a katoda na 5. My menime stavy na tej katode. Ked nevysielam nic, tak ledka nesvieti, t.z. ze na nasom vyvode mikroprocesora je log1 +5V. Zbytocne by ledka svietila, vsak?

Preco mam dva odpory 220 ohm a nemozem pouzit jeden 470 ohm?

Jednoducho preto, ze to je ochrana proti skratu. Aj na vystupe mikroprocesora je +5V, ked sa nic nevysiela a tak isto aj druha cast obvodu je na +5V.

Chcem zmenit preset

Pouzijem program change v tvare 1100 nnnn  0ppp pppp. V prvom byte je 1100 nnnn, co je Cx v sestnastkovej sustave. To som napisal na zaciatku. Nepisem start a stop bity. Hodnoty nnnn udavaju na ktory MIDI kanal chcem posielat. Je 16 kanalov a hodnoty su 0-15, kedze mam k dispozicii iba styri bity. Cislo kanalu musim pouzit vzdy. Hodnoty ppp pppp urcuju cislo presetu 0-127 (7 bitov).

Chcem zmenit nejaku funkciu

Pouzijem control change v tvare 1011 nnnn  0ccc cccc  0vvv vvvv .

Kde nnnn je zase MIDI kanal, ccc cccc je controler number 0-127. Byva oznacovany ako ctrl# alebo cc#. A vvv vvvv je dalsia hodnota 0-127.

Predchadzajuce vysvetlim na multiefekte PODxt. PODxt ma 128 presetov 1 az 32, kde kazdy ma este ABCD, cize 1A 1B 1C a 1D, ... V podstate je to stale iba tych 128 presetov. Hodnoty ppp pppp ako som pisal vyssie su od 0-127. To je tych 128 presetov.

Chcem zmenit preset na 16A (60) a poslat na MIDI kanal c.1

To bude bez start a stop bitov zatial takto: 1100 0001  0011 1100.

Chcem zapnut ladicku

Z manualu od PODxt zistim, ze cc# pre zapnutie/vypnutie ladicky je cc#=69. To su tie moje hodnoty ccc cccc. Hodnoty vvv vvvv byvaju bud 0-127 ked menim napr. mieru nejakeho efektu alebo 0-63=off a 64-127=on, ked potrebujem zapinat a vypinat funkcie (wah, modulacia, echo, reverb, ...). Cize mozem poslat lubovolne cislo 0-63 pre vypnutie a 64-127 pre zapnutie. Aby som v tom nemal bordel, mozem pouzivat iba 0 a 127.

Takze zasa, ked chcem poslat na MIDI kanal c.1 spravu, ze chcem zapnut ladicku, poslem 1011 0001  0100 0101  0111 1111.

Ako to poslem so start a stop bitami?

Byty ktore som zatial pisal boli bez start a stop bitov. Start bit je vzdy 0 a stop bit je vzdy 1. Start bit je logicky 0, pretoze musim zacat komunikaciu, kedze leddioda v optoclene na MIDI IN ovladaneho zariadenia ma na anode aj katode +5V. Byty posielam od najnizsieho bitu po najvyssi.

V mojom pripade so zmenou presetu by som posielal nie 1100 0001  0011 1100 ale 1000 0011  0011 1100. Teraz k tomu treba pridat este start a stop bity, takze to bude v tvare 0|10000011|1|0|00111100|1. Ciarkami som opticky oddelil start a stop bity, aby to bolo vidiet.

Zhrnutie prikladov

Napisem ich v tvare, v akom to posielam na vyvod mikroprocesora.

0|10000011|1|0|00111100|1 - zmena presetu na 16A (60) cez MIDI kanal c.1  - trva to celkom 640us
0|10001101|1|0|10100010|1|0|11111110|1 - zapnutie ladicky - trva to 960us

Posielam to samozrejme tymto smerom ---->. Tak ako je to napisane.


No a toto je cela veda. Nic viac, nic menej. Dufam, ze som nic nepoplietol. Ak nahodou neviem niektore hodnoty na ovladanie, tak mozem "pocuvat" vystup MIDI OUT na zariadeni. PODxt takto posiela na vystup vsetky MIDI spravy, ako menim rozne hodnoty, ked tocim potenciometrami a prepinacmi.

Ako nastavim PODxt tak aby som ho mohol ovladat?

Stlacim Tune System a najdem si obrazovku MIDI. Mozem tam nastavit na ktorom kanaly ma pocuvat 1-16 alebo na vsetkych (omni). Potom musim nastavit PGM ON, aby prikazy vykonaval. A je tam aj output, ktorym sa zapne posielanie prikazov na vystup podom, ak ich chcem odpocuvat a studovat alebo posielat dalej. Treba si to nastudovat v manualy.
jezis maria ?§!. chlapci beriem hand made ale toto ?§!.
Zaznamenané

Milujem Marshall Si píš!!!
piesok a strk to je marshalla popici zvuk :D
Chcem žiť, jak viem, v objatí náhod,
Veď celý svet mi leží pri nohách
ja nečakám na žiadny návod
mám svojich síl za celý národ.
 Skončím to trápenie s tou mojou výchovou,
nikdo si nevšimol, čo sa robí so mnou!!!!
mario bross
*** BACHAR ***
inventár podniku
***
Príspevkov: 8210



« Odpoveď #23 kedy: 12. September , 2008, 12:20:52 »

toto co ? mikroprocesory su parada a da sa s tym elegantne porobit a navyse je to zaujmave. neni vsetko len Marshall Žmurk
Zaznamenané

eter
pravidelný návštevník
****
Príspevkov: 157


« Odpoveď #24 kedy: 12. September , 2008, 12:29:19 »

jezis maria ?§!. chlapci beriem hand made ale toto ?§!.
Neviem preco to tolko dramatizujes ...tvaris sa, akoby ten mikroprocesor mal robit gitarove skreslenie  ha ha ha
Ved ak chces mat viackanalovy amp spolu s nejakym efektovym procesorom a ovladat to sucasne ...tak nie je lepsie riesenie, ako pouzit MIDI  :)
Len dufam, ze to pojde ...lebo to poleti z okna  Bavím sa skvele
Zaznamenané
eter
pravidelný návštevník
****
Príspevkov: 157


« Odpoveď #25 kedy: 12. September , 2008, 23:33:04 »

Taaaak, po dvoch dnoch uporneho programovania to uz mam skoro hotove  Nechajte ma vydýchať  Tlacitka pre kanaly a efektovu slucku som dorobil dnes. V simulatore to bezi uz ako ma. Reaguje aj na prikazy program change cez MIDI aj na tlacitka.
Uz len dorobit zapametanie si posledneho zopnuteho kanalu a nejake finticky  Som za vodou kámo

to mcmaros:
taka otazocka ma teraz este napadla, pri pouziti program change: 1100 xxxx 0nnn nnnn ... si mozem dat to "nnn nnnn" podla seba, ze? Pri programovatelnom MIDI pedale by som to tam mal vediet nastavit na vselijake cislo, tak ako potrebujem, nie?  :)
Zaznamenané
mcmaros
stály hosť
*****
Príspevkov: 1173


Max for President!


« Odpoveď #26 kedy: 14. September , 2008, 10:26:40 »

to mcmaros:
taka otazocka ma teraz este napadla, pri pouziti program change: 1100 xxxx 0nnn nnnn ... si mozem dat to "nnn nnnn" podla seba, ze? Pri programovatelnom MIDI pedale by som to tam mal vediet nastavit na vselijake cislo, tak ako potrebujem, nie?  :)
Hej, to uz zalezi od kazdeho zariadenia kolko bude mat presetov. Limitovany si iba rozsahom 0-127. A MIDI pedal nastavis, aby ti vysielal to co chces. Mozes mat styri switche vedla seba a kazde nastavis na aky chces preset, napr. 11, 3, 50, 24. To je fuk. Aj kanal si mozes vybrat aky chces.

PS: Skontroloval som aj hradverove zapojenie a suhlasi to s tym co som napisal, tak by to malo byt vsetko v texte ok.
« Posledná zmena: 14. September , 2008, 10:29:39 od mcmaros » Zaznamenané

styrioci
inventár podniku
*******
Príspevkov: 11902



« Odpoveď #27 kedy: 23. Január , 2009, 13:55:22 »

vygooglil som takyto projekt homemade midi controllera, vyzera to celkom zaujimavo:
http://www.petrucciforum.com/forums/showthread.php?t=45918
Zaznamenané
lenivy
pravidelný návštevník
****
Príspevkov: 516

lenivy cvicit


« Odpoveď #28 kedy: 23. Január , 2009, 14:12:58 »

Tam ani tak nie je problem s tou elektronikou (obzvlast ked je to ciste midi a nie midi cez usb), ako s tou mechanikou - kde zoberes pedal? Z coho urobis krabicu? (aspon pre mna je to dost prekazka)
Zaznamenané

Hi Bender! Hi Fender!
styrioci
inventár podniku
*******
Príspevkov: 11902



« Odpoveď #29 kedy: 23. Január , 2009, 14:28:58 »

aj som to chcel zmazat, lebo som si to nestihol poriadne pozriet, ze tam nic konkretne okrem nejakeho funkcionalneho navrhu nie je...

lenivy, k tvojej otazke: myslim, ze nejake krabice sa daju kupit, pripadne za palenku dat urobit niekde, zrecyklovat nieco...

edit: zrejme som nasiel stranku toho typka, ze pisal ten navrh do toho fora. tam je o tom blizsi pokec:
http://bittwiddlers.org/e-minor/index.shtml
« Posledná zmena: 23. Január , 2009, 14:36:20 od styrioci » Zaznamenané
Strán: 1 [2] 3 4 ... 7 |   Hore
  Tlačiť  
 
Skočiť na:  

Stránka vytvorená za 0.055 sekund, 22 otázok.