MIDI-Timing miserabel

Ich dachte, in den letzten fünf Jahren habe sich mein Timing dermaßen verschlechtert, dass ich nicht mehr in der Lage bin, einigermaßen synchron zum Click zu spielen. Das heißt, während der Aufnahme hörte es sich immer okay an, doch bei der Wiedergabe klang es furchtbar daneben. Selbst, wenn ich mich sehr konzentrierte und bewusst versuchte “laid back” zu spielen, waren die aufgenommenen Noten immer zu früh.
Ich führte das darauf zurück, dass man automatisch beim Einspielen die Systemlatenz versucht zu kompensieren, aber dann kam mir der Verdacht, dass es andere Gründe haben musste. Eine Verringerung der ASIO-Buffer-Größe auf das Minimum, bei dem noch keine Pops und Clicks auftraten, verbesserte das Timing nicht nennenswert.

Im englischen Forum habe ich einen Thread entdeckt, der zeigt, dass ich nicht allein bin:

Anscheinend hat sich das Timing-Verhalten seid Cubase 5 schleichend verschlechtert, jedenfalls kann ich mich nicht daran erinnern, es jemals so schlecht empfunden zu haben wie bei Cubase 8.
Ich mache deshalb im deutschen Forum auch einen Thread auf, damit alle, die sich im Englischen nicht so perfekt ausdrücken können (dazu zähle ich mich auch), hier Ihre Erfahrungen austauschen können.

Zunächst ein Video, das das Problem sehr überzeugend darstellt:

Der Musiker hat ein hervorragendes Timing beim Einspielen und dennoch ist die Wiedergabe grauenvoll daneben.

Ich habe auch mal einige Untersuchungen gemacht. Mein Verdacht: die tatsächliche Verzögerung zwischen MIDI und Audio in Cubase ist sehr viel größer als die ASIO-Latenz des Treibers.

  1. Ich habe ein leeres Projekt geöffnet
  2. und darin eine Instrumentenspur mit einem perkussiven Sound angelegt.
  3. Diese habe ich auf eine Gruppenspur geroutet.
  4. Dann habe ich mehrere Audiospuren angelegt mit dieser Gruppe als Eingang.
  5. Ich habe dann jeweils MIDI und Audio bei unterschiedlichen Einstellungen von Cubase aufgenommen (ASIO-Latenzausgleich an/aus, ASIO Guard an/aus).

Hier die Einstellung meines ASIO-Treibers:

Und hier das Ergebnis (oben die MIDI-Events, unten die Audiospuren):

Erste Audio-Spur: Asio-Latenzausgleich an, Asio Guard aus. Das Audio Signal ist ca. 20 ms später als das MIDI-Signal.
Zweite Audiospur: Asio-Latenzausgleich aus, Asio Guard aus. Das Audio Signal ist ca. 27 ms früher als das MIDI-Signal.
Dritte und vierte Audio-Spur: die gleichen Messungen mit ASIO Guard an. Die Zeitdifferenzen sind etwas geringer.

Ich frage mich, was Cubase da eigentlich zu kompensieren versucht: egal ob der Asio-Latenzausgleich an oder aus ist: es gibt eine erhebliche Verschiebung zwischen MIDI und Audio. Vor allem der Unterschied ist interessant. Zwischen ein und aus beträgt er gewaltige 47 ms. Was bitte hat das mit der ASIO-Latenz zu tun, denn für die Aufnahme alleine sollte doch nur die Eingangs-Latenz maßgeblich sein, oder verstehe ich das falsch?

Bitte berichtet hier doch, ob Ihr ähnliche Problem habt und versucht vielleicht auch, den Test nachzuvollziehen.

Nun erstmal müsste man wissen ob du da nicht noch Plugins im Insert hast die eine gewisse Latenz mitbringen.
Wie genau sah denn deine Aufnahmekette aus?

Midi in Cubase an Superior VST mit welchen Plugin im Insert dann über welchen Eingang aufgenomen (Loopback?)?

Eventuell spielt auch die Einstellung “Systemzeit für WindowsMidiEingänge” und “Systemzeit für DirectMusicEingänge” unter Geräte konfigurieren → MidianschlussEinstellungen eine Rolle?

richtig, Voodoo, darauf würde ich zuerst mal tippen.
Infos hierzu aus der Knowledgebase:

MIDI Timing Probleme

Wenn eingehende MIDI-Daten nicht korrekt - z.B. mit einem konstanten Versatz - aufgezeichnet werden, obwohl Sie bereits den MIDI-Treiber aktualisiert haben, werden Ihnen die folgenden Hinweise helfen, das Problem zu lösen:

Wählen Sie in Cubase/Nuendo im Menü “Geräte” den Eintrag “Geräte konfigurieren…”, um das Fenster “Geräte konfigurieren” zu öffnen.
Klicken Sie im Fenster “Geräte konfigurieren” auf “MIDI > MIDI Anschlusseinstellungen”.
Im rechten Bereich des Fensters werden nun die installierten MIDI-Eingänge aufgelistet.
Aktivieren Sie die Option “Systemzeit verwenden für ‘Windows MIDI’”, die Sie unterhalb der MIDI-Port-Liste finden. Schalten Sie die Systemzeit-Option auch für ‘Windows DirectMusic’ ein, wenn Sie zur Verfügung steht. Dies hängt vom installierten MIDI-Treber ab. Wenn die Systemzeit bereits eingschaltet ist, deaktivieren Sie die Funktion. Mit anderen Worten: Ändern Sie den Status der “Systemzeit verwenden…”-Option einfach.
Klicken Sie auf OK, um die Gerätekonfiguration zu verlassen und erfreuen Sie sich an akkuratem MIDI Timing!

auch: https://www.steinberg.net/nc/de/support/knowledgebase_new/show_details/kb_show/troubleshooting-instructions-for-cubase-nuendo-and-sequel-on-windows#timing

Gruss
C.

Wie sieht es mit der Quantisierung aus? Wenn die nicht passt kommen da interessante Dinge bei raus, klingt oftmals aber nicht.

Ich weiss, dass hat jetzt nichts mit der MIDI Versatz zu tun,
aber zumindest hat es mit dem DAW Ausgleich zu tun, wenn man Audio aufnimmt.
Der Audio Versatz wird nämlich auch nicht richtig ausgeglichen, zumindest war das bei mir so. Ich musste in Cubase +15 Samples für den Audio Verzögerung einstellen, damit mein aufgenommenes Audio im Timing korrekt war. Vielleicht liegt es an Cubase, oder vielleicht (was ich glaube) an der übermittelten Zeit vom Audio Interface.

Aber probiert es doch mal selbst aus und überprüft eure Audio Verzögerung. Das geht ganz schnell.

Hier in dem Video von Musotalk wird das Problem und der Testaufbau sehr gut beschrieben. Zwar in Logic, aber das ist ja egal.
Die benötigte Single spike.wav ist unter dem Video zu finden.

Bevor ich heute nacht wegen Midi Timing nicht schlafen kann, habe ich es auch mal ausprobiert und bei mir ist alles in Ordnung :wink: .

1.Spur Addictive Drums 2 wird mit c3 die Bassdrum getriggert
2.Spur wird über RME Total Mix per Loopback der Ausgang von Cubase auf einen ADAT EIngang geroutet und dieser dann in Cubase wieder aufgenommen.
3. Spur das gleiche nur mit ASIO Guard OFF
4. Spur UAD Precision Multiband im 1.Insert auf der AD2 Drumgruppe.
5.Spur UAD Precision Maximizer auf dem Master Insert in Cubase


Genau in dem Video ganz oben ist entweder die angesprochene Einstellung im Midi falsch (Systemzeit verwenden) oder aber der Mann hat latenz erzeugende Plugins in den Inserts und hört deshalb das Backing, zu dem er spielt verzögert und im darauffolgenden abspielen des aufgenommenen Materials ist natürlich das zuvor eingespielte dadurch um genau diesen Wert verzögert.
Er hätte also besser mit der UHR IN KLAMMERN einspielen sollen.
Das ist der Verzögerungsausgleich einschränken Knopf mit dem man beim einspielen alle Latenzerzeugenden Plugins umgeht (sie werden Bypasst).
UhrMitRundenKlammern.jpg

Danke für Eure Antworten. Ich habe weiter nachgeforscht ud dabei Eure Vorschläge berücksichtigt:

Ich habe keine Plugins im Aufnahmekanal benutzt. Lediglich im Abhörkanal des Control Rooms waren ein Loudness-und ein DynamicRange-Plugin eingeschleift.
Jetzt habe ich noch einmal alle Messungen mit Timestamp (Systemzeit verwenden) gemacht. Die Plugins im Control Room waren dabei ausgeschaltet. Hier die Ergebnisse:

  1. Asio Guard aus, Asio-latenzausgleich aus: Audio ist 27 ms früher als MIDI.
  2. Asio Guard aus, Asio-latenzausgleich an: Audio ist 15 ms früher als MIDI.
  3. Asio Guard an, Asio-latenzausgleich aus: Audio ist 2 ms später als MIDI.
  4. Asio Guard an, Asio-latenzausgleich an: Audio ist 15 ms früher als MIDI.

Interessanterweise ist das Ergebnis bei mir am besten, wenn Asio Guard an und Latenzausgeich aus sind. Das ist doch sehr merkwürdig. Erwarten würde man, dass der Latenzausgleich das Timing verbessert. Tut er hier aber nicht.
Im Übrigen bin ich ja nicht der Einzige mit dem Problem.
@Backbeat: Soweit ich sehe, hast Du die Taktanzeige im Lineal eingeschaltet. Die Vergrößerung ist nicht sehr hoch. Ich weiß nicht, ob man dabei Verschiebungen von 20 ms überhaupt sehen kann. Kannst Du denn bei starker Vergrößerung und der Einstellung Sekunden mal nachschauen, wie gut das Timing ist?

Edit: Verzögerungsausgleich einschränken (Uhr in Klammern) benutze ich eigentlich beim Aufnehmen immer. Allerdings bringt das ja nur etwas bei Verwendung von Plugins. Da ich hier keine benutzt habe, schien mir das auch nicht wichtig. Ich werde die Messungen aber alle noch einmal mit der eingeklammerten Uhr machen.

Also hier noch einmal mit Einstellung Verzögerungsausgleich einschränken und keinem Plugin (nirgendwo!). Systemzeit verwenden ist eingeschaltet:

  1. Asio Guard aus, Latenzausgleich aus: MIDI und Audio auf den Punkt gleich!!!
  2. Asio Guard aus, Latenzausgleich an: Audio 13 ms früher als MIDI.
  3. Asio Guard ein, Latenzausgleich aus: Audio 12 ms früher als MIDI.
  4. Asio Guard ein, Latenzausgleich ein: Audio 37 ms früher.

Ich habe jetzt aber einen Verdacht, dem ich nachspüren werde.

Ok, ich habe herausgefunden, woran es liegt: ich hatte immer nur einen einzigen Beat aufgenommen und zwar exakt auf die Eins des Taktes. Offenbar rückt Cubase das erste Event auf die Eins, wenn es etwas früher kommt. Meine Tendenz, vor dem Beat zu spielen, um die Latenz auszugleichen, ist doch stärker als erwartet.
Ich habe nun mal wie Backbeat es gemacht hat, mehrere Schläge hintereinander aufgenommen. Das Ergebnis: Audio kommt immer ein paar Millisekunden hinter MIDI. Die negativen Verzögerungen waren alle Messfehler.

Ich muss jetzt Schluss machen, meine Frau ruft (Ihr kennt das ja :wink:). Melde mich bald wieder.

Hallöchen,

erstmal eine Frage vorweg.
Wie genau ist das “Aufnehmen” jetzt gemeint?

Beim ersten Beitrag von Roland habe ich es so verstanden:

Instrumentenspur (bei mir EZ Drummer2) auf Record geschaltet → Ausgang auf eine Gruppenspur → Audio Spur auf Record als Eingang die Gruppenspur → Aufnahme starten und mit Keyboard z.B die Kickdrum Triggern → Ergebnis: Midi Note ist nicht an der selben zeitlichen Position wie das Audio

Bei Backbeat verstehe ich es so:

Instrumenten Spur (bei mir EZ Drummer2) mit der Maus ein paar Beats einzeichnen z.B exakt auf jede virtel → per Loopback (Audio Out des Interfaces per Kabel mit Audio In verbinden Vorsicht !!!Feadback-Gefahr!!! wenn Speaker an sind!!!)
→ Audio Spur auf Record mit entsprechendem Input → Ergebnis: Audio ist an selber zeitlicher Position aufgenommen worden

Ich habe beides mal ausprobiert.

Bei Variante 1 (Rolander) habe ich bei mehreren Versuchen immer leicht andere Ergebnisse zwischen 20 bis 25 ms Versatz der Audio Spur zur Midi Note (Audio später als Midi)

Bei Variante 2 (Backbeat) liegt das aufgenommene Audio exakt an der selben zeitlichen Position wie die Midi Noten, Aufnahmelatenz berücksichtigen angeklickt (Geräte konfigurieren->VST Audiosystem, bei mir 75 Samples Aufnahmeversatz eingestellt, zuvor mit dem Loopback Test nach “NonEric” rausgefunden)

Die beiden Varianten sind vom “Versuchsaufbau” halt grundverschieden und deshalb auch nicht vergleichbar.

@Backbeat Wäre mal interessant zu wissen wie das Ergebnis bei dir mit Variante 1 ausfällt.

Wenn ich hier totalen Quatsch geschrieben habe klärt mich bitte auf :slight_smile:

@ Gestrandeter Finne: Was ist Grundlegend verschieden zwischen 1) u. 2)?

  1. Cubase braucht nicht den Treiber “latenzausgleichen” da das Signal, Cubase nie verlässt. (und “verlatenzausgleicht” sich selbst laut Deinen Messdaten)
  2. Cubase muss den Treiber “latenzausgleichen”

stimmen wir da überein?

Das mit den “nach hinten schieben von der 1. Note” check ich nicht…


BTW: Wenn man einen Loopbacktest mit einen physikalischenMIDI-Port (die Dinger die seit 30+ Jahre im Einsatz sind) macht, sollte man, wenn man nur 3Tasten (absolut) gleichzeitg drückt (und nicht loslässt das kein NoteOff kommt), messen, dass die letzte NoteOn ca. 3ms zu spät ankommen (Bedingt durch die sehr sehr geringe Baudrate von den alt ehrwürdigen MIDI Schnittstelle). Über USB bzw VirtuelleMIDI-Ports geht es aber sau schnell…

Der große Unterschied ist, bei Variante 1 nimmst du Midi und Audio gleichzeitig auf und das Ergebnis ist, dass die beiden Ereignisse an unterschiedlichen zeitlichen Positionen in Cubase erscheinen! Bei Variante 2 ist das Midi Event schon vorhanden und du recordest nur den Ausgang der Instrumentenspur als Audio!
Der Unterschied ist doch offensichtlich!
Und natürlich verlässt das Audiosignal nicht den PC bei Variante 1, das habe ich auch nie behauptete!
Und bei Variante 2 wird auch alles schön ausgeglichen, genau wie bei dir!

Versuch doch bitte mal beide Varianten!
Ich kann auch gerne eine cpr hochladen damit du das nachvollziehen kannst.

Ja aber eigentlich müsste es doch genau umgekehrt sein, verrückt oder? (wie beim verhalten von Rolanders Messergebnissen)

Hab bemerkt, beim lesen von deinen Zitat von mir, dass ich shceiße geschrieben habe, ein “nicht” zuviel…, werd ich gleich wegeditieren :slight_smile:

Moin Gestrandeter :wink:

Du hast natürlich recht!
Version 1 wenn du live zu dem Backing Audio welches du hörst einspielst, ist es etwas anderes.
Die Version 1 ist das Problem welches man in dem Video im Startpost sieht!

Dieses Problem tritt bei mir nur auf, wenn ich entweder die UHR mit den Klammern bei der Aufnahme nicht gedrückt habe oder aber unter den Midi Einstellungen “Systemzeit verwenden” nicht angehakt ist.


Bei Version 1 kommt es natürlich auch noch auf die Person an die einspielt, wenn man immer ein wenig laid back spielt kommt man auch nicht genau auf die Eins :wink:

Version 2 habe ich gezeigt, da ist kein Problem vorhanden bei mir .

Ich schildere noch einmal das Problem aus einem anderen Blickwinkel: ich (wie auch viele andere - zumindest im englischen Forum) habe das Problem, dass ich es nicht schaffe, MIDI-Events exakt einzuspielen. Sie sind fast immer zu früh, egal wie viel Mühe ich mir gebe, synchron zum Click zu spielen. Beim Einspielen hört es sich synchron an (zumindest die Soundausgabe des VST-Instruments), allerdings ist zwischen dem Klacken der Keyboard-Tastatur oder meines Korg PadKontrols, mit dem ich die Drums einspiele, und dem Instrumentenklang eine kurze Verzögerung zu hören. Es klingt als mehr nach einem Flam (physischer Anschlag und Ton). Deshalb habe ich mir wohl unbewusst angewöhnt, etwas früher zu spielen, damit der Klang synchron zum Click ertönt.
Mein gedankliches Problem war, dass ich den Unterschied viel größer empfand als die 7 ms Latenz, die im Treiber eingestellt sind, und dass die Verkürzung der Latenz durch kleineren Buffer das Ergebnis nicht verbesserte.
Deshalb habe ich die obigen Messungen durchgeführt, um die “wirkliche” Latenz herauszufinden. Ich habe dabei den Fehler gemacht, nur auf der Eins des Aufnahmebereichs aufzunehmen. Dieses MIDI-Event wird offenbar von Cubase immer auf den Start des Aufnahmebereichs verschoben, wenn es zu früh kommt. Damit war die Messung von mir fehlerhaft.
Ich werde deshalb alle Messungen noch einmal durchführen und dann hier posten. Wahrscheinlich aber erst in einigen Tagen.
Ich kann jetzt schon sagen, dass es durch die Optimierung (Systemzeit verwenden) etwas besser geworden aber längst nicht verschwunden ist.

Bei deinem geschilderten Problem ist es so das du beim Einspielen keine Ungenauigkeit hörst ja?
Du hast ja sehr wohl noch Plugins drin:
–>Lediglich im Abhörkanal des Control Rooms waren ein Loudness-und ein DynamicRange-Plugin eingeschleift.
Damit hast du eine Verzögerung der Soundausgabe des Backings zu dem du einspielst.
→ Dein aufgenommenes Midi sollte also genau um die Pluginlatenz (Loudness und Dynamic Range Plugin latenz) nach hinten verschoben aufgenommen werden.

Man kann bei jeder MIDI und Instrumentenspur den Latenzausgleich separat einstellen. Ich denke das hat den Grund um auf verschiedene Instrumente und keyboards einzugehen.
Das ist im obersten Reiter im Inspektor unter Lautstärke und PanPot.
Wenn der Unterschied Midi und Sound gleichmäßig sind sehe ich da kein Problem.

Um die Verzögerung und auch jitter der MIDI Signale eines Keyboards grob zu ermitteln kann man folgenden messaufbau machen.
Audio Spur für Mikrofon.
Midi Spur für das Keyboard.
Das Mikrofon auf eine Taste, am besten ein Pad, richten und dann beides aufnehmen.
Anhand des aufgenommen Tasten klappern kann man sehen wie sehr das Midi und Audio Signal (tastenklappern) verschoben ist.
Auch das jittern der MIDI Signale kann man daran erkennen.

Der hier beschriebene Test von Musiotalk ist geeignet um den Audio Latenz Ausgleich einzustellen. Für Midi unbrauchbar.

  • 1

Da Cubase die MIDI Noten verschiebt (latenzkompensation), kann man leider nicht wirklich was davon ableiten. (vl. wenn man den Latenzausgleich ausschaltet…)


Naja, wenn Alles richtig ablaufen würde, müsste es ziemlich sample-genau sein, aber da wir ja von einen VSTi sprechen kann man sich gleich den Loopback schenken, weil man ja gleich über eine Gruppe aufnehmen kann. Die Ironie ist halt, dass es scheinbar über einen Loopback (über den Treiber bzw physiklaisch) die Latenzen richtig kompensiert werden, wenn man aber Cubase nicht einmal verlässt (wo ja nach normalen Hausverstand [der wahrscheinlich hier nicht anzuwenden ist] keine latenzkompensation nötig ist) nicht richtig kompensiert wird, analog dazu verhält sich die ASIO-Guard u. Latenzausgleich Einstellungen anders herum als man es erwarten würde…