Ich kopiere mal für alle Interessierten meine E-Mail-Antwort hier hinein:
was Sie als “Versatz” bezeichnen, nennt man technisch “Latenz”, und
diese lässt sich bei der Audioverarbeitung mit dem PC nicht
hundertprozentig beseitigen, lediglich minimieren. Wie niedrig man sie
bekommt, hängt im wesentlichen von der Leistungsfähigkeit der Hardware
und der Soundkarten ab.
Bei der Verwendung von DirectSound ist der entscheidende Wert die
Einstellung “Mixer-Puffergröße” (der Encoder-Wiedergabesoundkarte), die
Sie unter “Audio-Einstellungen -> DirectSound” finden. Die steht
standardmäßig auf 100ms, was das Ohr sehr deutlich als Verzögerung
wahrnimmt. Mit einer guten Soundkarte kann man versuchen in den Bereich
10-20ms zu kommen, ohne dass es zu Aussetzern kommt. Einfach mal
ausprobieren.
Noch besser wird es wenn man sowohl für die Wiedergabe als auch für die
Aufnahme WASAPI oder ASIO verwendet. Hier sind Puffergrößen (=
Latenzzeiten) von unter 10ms möglich, was das menschliche Ohr kaum mehr
wahrnimmt. Ihre M-Audio-Karte kann doch ASIO, oder? Dann stellen Sie mal
die die Encoder-Soundkarten alle auf die entsprechenden ASIO-Einträge,
und auch unter “Audio-Einstellungen => ASIO” die Puffergröße auf einen
passenden Wert. Achtung, bei ASIO wird die nicht in Millisekunden
sondern in Samples angegeben! Man kann den Wert in mAirList auch auf 0
stehen lassen, dann wird die Einstellung aus dem M-Audio-Control-Panel
verwendet. 256 Samples (entspricht 6ms) wären schon ein sehr brauchbarer
Wert, wenn es damit ohne Ruckeln läuft.