hallucinogen Posted May 2, 2004 Report Share Posted May 2, 2004 hallo !ich benutze den midio um ein analog drummodul zu triggern ...die frage ist jetzt :kann man den midio so einstellen das er bei jeder empfangenen note nur einen ganz kurzen impuls ausgiebt ?? so ~1ms wäre gut denn sonst startet der eigentliche drum sound erst am note off :-/und so kurze midi noten sind nicht immer möglich -> midibox seq min 2-3ms bei normalem tempo kann wer helfen ??hallucinogen Quote Link to comment Share on other sites More sharing options...
chriss Posted May 3, 2004 Report Share Posted May 3, 2004 Ich würde Dir ein 2 Input and Gate empfehlen, Google mal danach.So bist du unabhängig von der Notenlänge. Ich habe mal eine 909 Bassdrum nachgebaut und die ist sehr abhängig von der länge des triggerimpulses, und mit einem 2 Input and Gate kann man sehr gut mit dem Kondensatoren die richtige Länge einstellen. Vielleicht ist das aber auch digital zu lösen. chriss Quote Link to comment Share on other sites More sharing options...
TK. Posted May 4, 2004 Report Share Posted May 4, 2004 Ich wuerde es digital loesen, doch das erfordert natuerlich ein paar kleinere Modifikationen an der MIDIO128.Am einfachsten waere es, wenn Du USER_SR_Service_Finish alle DOUT Pins zuruecksetzt, die an das Drummodul angeschlossen sind. Bspw. mit MIOS_DOUT_SRSet (setzt alle 8 Ausgaenge eines Shiftregisters)Um die ersten drei Shiftregister zurueckzusetzen, muesstest Du die Funktion (in main.asm) wie folgt erweitern:USER_SR_Service_Finish clrf MIOS_PARAMETER1 movlw 0x00 call MIOS_DOUT_SRSet movlw 0x01 call MIOS_DOUT_SRSet movlw 0x02 call MIOS_DOUT_SRSet return[/code]Das waere dann auch schon alles ;-)Und so funktioniert es: eine Note On Meldung setzt das DOUT Register auf "1", der Wert wird mit dem naechsten SRIO Update Cycle (default periode: 1 mS) an die Shift Register uebertragen. Nachdem das geschehen ist, setzt die kleine Erweiterung in USER_SR_Service_Finish den Wert wieder auf 0 zurueck, und dieser wird beim naechsten Update Cycle uebertragen. Daraus folgt dann eine Pulslaenge von 1 mS.Gruss, Thorsten./Edit: schreibfehler im programm gefixed Quote Link to comment Share on other sites More sharing options...
hallucinogen Posted May 4, 2004 Author Report Share Posted May 4, 2004 ja !!  ;D ;D ;D ;D,suuupeeerfunk bestens aber nur mit:CODE:USER_SR_Service_Finishclrf   MIOS_PARAMETER1    movlw  0x00   call   MIOS_DOUT_SRSet   movlw  0x01   call   MIOS_DOUT_SRSet   movlw  0x02   call   MIOS_DOUT_SRSet   return  ;)war wohn ne copy´n´paste fehlerdanke Thorsten ! (auch für die mail ...)hallucinogen Quote Link to comment Share on other sites More sharing options...
TK. Posted May 4, 2004 Report Share Posted May 4, 2004 Fein! :)(habe gestern wohl zuviel mit meinem KS0108 Display herumexperiemtiert ;-)Gruss, Thorsten. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.