Jump to content

midio als drumtrigger


hallucinogen
 Share

Recommended Posts

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

ja !!  ;D ;D ;D ;D,

suuupeeer

funk bestens aber nur mit:

CODE:

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    ;)

war wohn ne copy´n´paste fehler

danke Thorsten ! (auch für die mail ...)

hallucinogen

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...