Hallo zusammen, ich habe hier ein Problem und hoffe, dass ihr mir da weiterhelfen könnt. Ich habe zwei Mikrophone, die beide denselben Ton aufzeichnen. Allerdings können diese nicht zur selben Zeit eingeschaltet werden, sodass die Aufzeichnung beim einen schon zum Beispiel eine halbe Minute "weiter" sein kann als beim anderen. Die beiden Signale nehme ich am PC auf und möchte sie jetzt synchronisieren, bzw. den Versatz berechnen. Wie kann ich da grundsätzlich vorgehen? Ich brauche (hoffentlich) nur ein paar Stichwörter, mit denen ich weitersuchen kann. Danke schon mal im Voraus :) !
Die Filmleute benutzen zur Synchronisation die "Klappe", also ein kurzes prägnates Signal, das auf beiden Tonspuren zu hören ist (im Film sieht man dazu dann noch den Verschluß der "Klappe". Ansonsten Korrelation der Signale...
da es hier um Programmierung geht: - Audiodatenströme mit geeigneter Lib in Arrays einlesen - arrays mit unterschiedlichen Offsets voneinander abziehen und dann den Offset merken, an dem die Differenz minimal ist. Ich würde aber komplett anders vorgehen. wenn es für wenige male ist, von hand in einem Audioeditor synchronisieren, anonsten würde ich für einen synchronen Start der Aufnahme sorgen.
Kreuzkorrelation der beiden Signale gibt dir den genauen zeitlichen Versatz. In Matlab gibt es da z.B. die Funktion xcorr() oder conv(). Gruß
Danke für die Vorschläge. Das mit der Klappe ist leider nicht möglich, genauso wenig wie das Sychnronisieren des Starts. Ich hab das in Matlab mal probiert, das mit xcorr funktioniert einwandfrei, zumindest wenn ich künstlich vor eine Aufnahme ein Stück Stille einfüge. Wie zuverlässig ist das ganze, wenn die Aufnahmen eine stark unterschiedliche Qualität haben? Also eine z. B. mit Rauschen und Knacksern?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.