Versionskontrolle für Audiodateien

712
matt wilkie

Was ist ein guter Ansatz für die Versionskontrolle von Audiodateien?

Ich habe eine 20-GB-Bibliothek mit Audio-Vorlesungen, um sie auf den neuesten Stand zu bringen und in einen Zustand zu bringen, in dem sie veröffentlicht werden können. Es ist wichtig, die Originaldateien intakt zu halten und bestimmte Meilensteine ​​während der Bearbeitung zu verfolgen (jeder Bit-Flip muss nicht beachtet werden).

Obwohl es sehr schön wäre, eine einheitliche diff-Ansicht zu haben, wie es mit Text möglich ist, weiß ich, dass dies gerade ein Traum ist. Bei der heutigen Software ist es wichtig und möglicherweise machbar, den Grund für die Änderung aufzuzeichnen und die Datei so abrufen zu können, wie sie beim Einchecken vorhanden war .

Die erwarteten Veränderungen sind:

  • Abschneiden toter Luft oder irrelevante Raumgeräusche vom Anfang und Ende der Aufnahmen
  • selektive Lautstärkeregelung (zB Lautsprecher hat sich in Minuten 12 bis 18 vom Mikrofon entfernt oder das Publikumsmitglied hat eine Frage an das Mikrofon gestellt)
  • Filter angewendet, um Bandgeräusch / Brummen zu entfernen
  • mp3-Tag hinzugefügt oder geändert - z. B. Künstlername, Aufnahmedatum, ... (dieser Teil könnte sich möglicherweise unterscheiden?)
  • usw.

Ich arbeite hauptsächlich unter Windows 7, habe aber auch Linux-Rechner. Meine Mitarbeiter sind meistens Windows und nicht technisch. Das Nachverfolgen und Zusammenführen (Zusammenführen von Verzweigungen, für die Dateien wäre das direkte Überschreiben) wäre großartig, aber nicht unbedingt erforderlich.

Die Speicherung sollte aus Änderungsdeltas bestehen, statt dummer Großhandelskopien jedes Commits. Wir haben mehr als ausreichend Speicherplatz, aber niemand möchte Hunderte von Auftritten kopieren, wenn nur 20 erforderlich sind, und es besteht die Möglichkeit, dass eine Zusammenarbeit über das Internet erfolgt

Das Projekt ist für eine sehr kleine gemeinnützige Organisation gedacht. Der Kauf von Werkzeugen kommt nicht in Frage, muss aber kostengünstig sein, obwohl natürlich frei und / oder Open Source bevorzugt wird.

1
Das Thema Audio ist zwar für fast jedes Binärformat anwendbar. Der Hauptgrund für das Audio-Tag ist, weil der MP3ID-Tag-Aspekt für gängige Quellcode-Steuerungswerkzeuge denkbar ist, z. B. beim Festschreiben eines Skripts, das die Tags extrahiert und mit vorherigen Zuständen vergleicht. matt wilkie vor 7 Jahren 0
Wähler schließen: Bitte geben Sie an, warum. Danke. matt wilkie vor 7 Jahren 0

1 Antwort auf die Frage

3
Lazy Badger
  1. Alle jetzt verwendeten VCS können Binärdateien in Repositorys für fast jede Größe speichern und verarbeiten ("Riesendateien nicht im Repo speichern" ist eine Empfehlung, keine Einschränkung). Einige VCS machen es einfach besser als andere. und einige VCS behandeln Big Data besser als andere

    Notieren Sie sich den Grund für die Änderung und die Möglichkeit, die Datei so abzurufen, wie sie beim Einchecken vorhanden war

ist der Kern von VCS und kann keine Parameter steuern

  1. Für das Ändern der binären Daten ist das Speichern einer neuen Version als nicht diff eine fast übliche Regel (mit Ausnahme der Verwendung verschiedener Tricks in verschiedenen VCS zum Reduzieren von Deltas in Speichern). Daher kann das VCS nach Ihrer Wahl und Verantwortung nur einige der neuesten Hinweise verwenden Diskussionen über große Dateien unter Versionskontrolle, an denen ich an StackOverflow teilgenommen habe (die ersten drei Antworten) und meine persönliche Meinung wiedergeben - Mercurial

Alle erwarteten Arten von Änderungen sind übliche Aufgaben für alle Daten, die in VCS gespeichert sind (Änderungen des Inhalts vornehmen, speichern) und sind für Audiodateien nicht eindeutig (Änderungen ändern sich unabhängig von den Änderungen ).

Es wäre zwar super schön, eine einheitliche Diff-Ansicht zu haben, wie es mit Text möglich ist

Sie können zumindest versuchen, es zu bekommen: Foobar2000 mit Binary Comparator Plugin (Antwort hier auf SU, sehr nützlich im allgemeinen Thema) kann (?! ... nicht probiert, nicht getestet) (in GUI ?!) zwei Dateien vergleichen unterstützt von Foobar2000-Formaten. Oder (falls es mit Win7 / altem Projekt funktioniert, das nicht von 2008 / aktualisiert wurde und für Ihre Aufgaben verwendbar ist ), siehe DYF -Dateien von Audio DiffMaker (zusätzliches Objekt zum Speichern im Repo für alle Changesets, die das Audio ändern -Daten)

Während Sie MP3-Tags mit einem beliebigen externen Tool hinzufügen / ändern können, können Sie Tags vergleichen (schnelle und fehlerhafte Suche gab mir in den ersten Zeilen einen Screenshot von Beyond Compare ): Beyond Compare kann als Standard-Diff | mergetool in Mercurial (TortoiseHG) verwendet werden., Foobar2000 kann (wahrscheinlich) als spezielles Mergetool für MP3-Dateien zugewiesen werden

Die Speicherung sollte aus Änderungsdeltas bestehen, statt dummer Großhandelskopien jedes Commits.

Es ist nicht möglich (in der Regel siehe oben S.2), aber für Git mit LFS oder Mercurial mit LargeFiles haben wir einen speziellen Fall (kann Ihre Anforderungen besser erfüllen als üblich "All in Repo"): Alle Dateien für alle In unabhängigen externen Speichern gespeicherte Changesets (vollständige Dateien), Changesets in Repos haben nur einen "Link" zu Dateien. Auf dem lokalen Arbeitsplatz haben Sie nur eine große Datei heruntergeladen (nicht die gesamte Historie in Ihrem Klon von Repos für DVCS-Fälle). ... und alle weiteren alten Versionen, die für das direkte Vergleichen erforderlich sind (denken Sie noch einmal an die Verwendung von DYF von Audio DiffMaker): Sie müssen über einen riesigen Speicher verfügen, haben jedoch etwas "lokalen Speicherplatz" im Vergleich zu "Repo-Dateien" " Fall

Vielen Dank, dass Sie sich die Zeit genommen haben, um zu antworten. Ich habe einige Arbeit zu erledigen, um die Vorschläge durchzugehen und sie vollständig zu verstehen. Audio Diffmaker _very_interessant und spricht Aspekte dieses Projekts an, die außerhalb des fraglichen Bereichs liegen. matt wilkie vor 7 Jahren 0