Forum: PC-Programmierung Audiodateien Versatz berechnen


von nocheinGast (Gast)


Lesenswert?

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 :) !

von STK500-Besitzer (Gast)


Lesenswert?

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...

von Vlad T. (vlad_tepesch)


Lesenswert?

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.

von Ton (Gast)


Lesenswert?

Kreuzkorrelation der beiden Signale gibt dir den genauen zeitlichen 
Versatz.
In Matlab gibt es da z.B. die Funktion xcorr() oder conv().

Gruß

von nocheinGast (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.