Midi oder Tastaturbefehle zeitversetzt senden (alle 2 ms z.B.)

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Gonger96.

    Midi oder Tastaturbefehle zeitversetzt senden (alle 2 ms z.B.)

    Hallo,

    ich arbeite an einer Software, die Akkorde per MIDI senden kann. Es werden als z.B. 4 Töne bzw. Noten gesendet. Jetzt wurde ich gerne die Möglichkeit schaffen, diese Töne leicht zeitlich versetzt zu senden. Das soll das Anschlagen wie bei einer Gitarre simulieren. Man schlägt ja nicht alle Saiten gleichzeitig an, sondern - auch wenn in einem sehr kurzem Zeitraum - nacheinander.

    Jetzt habe ich in die Richtung gedacht, eine Liste zu erzeugen, wo die Töne vorgemerkt werden und dann ein Programmteil sie verarbeitet und den Zeitversatz erzeugt. Würde dazu gerne das Programm nach jeder Note für 2 ms anhalten (wie ich das hinbekomme, kann ich mir vorstellen). Jetzt ist mir klar, dass man das nicht einfach so macht. Deshalb würde ich gerne wissen, wie man sowas richtig macht. Also, wie man einen Programmteil im Hintergrund ausführen kann, wo es kein Problem ist, in einer Schleife 2 ms abzuwarten.

    Ich hoffe, ich konnte mich verständlich ausdrückenn Über Tipps oder Beispiele würde ich mich freuen.

    Gruß

    Tobi
    If she IsNot here then sunshine = false
    Also, ein Timer taktet die Abfrage, weil da Joystick Input ausgewertet wird. Am liebsten wäre mir ein Programmteil, der jeweils eine Schleife ausführt und eine Stopwatch überprüft. Sobald ein bestimmter Wert überschritten wird, geht es zur nächsten Note.

    Ich habe sowas schonmal mit Tastaturemulation programmiert, wo es darum ging, eine Taste eine Zeit lang zu halten. Das ging mit einem 2. Timer. weil es nicht so sehr auf genaues Timing ankam.

    Ok, vielleicht reicht der normale Timer auch hier. Aber nachher programmiere ich eine Funktionalität, bei der ich am Ende feststelle, dass es nichts war. Nicht, dass ich mich davor scheue, aber ich will erstmal gucken, was es noch für Lösungsansätze gibt.
    If she IsNot here then sunshine = false