オーディオファイルのバージョン管理

オーディオファイルのバージョン管理

オーディオファイルのバージョン管理に適した方法は何ですか?

私には、リリースと共有できる状態に調整して仕上げる必要がある 20 GB のオーディオ レクチャー ライブラリがあります。元のファイルをそのまま保存し、編集中に特定のマイルストーンを追跡することが重要です (すべてのビットの反転を記録する必要はありません)。

テキストで可能なように、統一された差分ビューがあれば非常に便利ですが、それは現時点では夢物語であることはわかっています。今日のソフトウェアで重要かつおそらく実現可能なのは、変更の理由そしてできることチェックイン時に存在していたファイルを取得する

予想される変更の種類は次のとおりです。

  • 録音の最初と最後から無音部分や無関係な室内のノイズをカットする
  • 選択的な音量調整(例:スピーカーが12分から18分の間にマイクから離れたり、聴衆がマイクの外で質問したりした場合)
  • テープのヒスノイズやハムノイズを除去するフィルターを適用しました
  • アーティスト名、録音日などの mp3 タグを追加または変更しました (これはおそらく差分化できる部分です)。

私は主に Windows 7 で作業していますが、Linux マシンも持っています。私の共同作業者はほとんどが Windows ユーザーで、技術者ではありません。ブランチとマージ (ブランチのマージ。ファイルの場合は単純に上書きするだけ) を追跡できればすばらしいですが、必須ではありません。

保存するデータは、コミットごとの大量のコピーではなく、変更の差分であるべきです。十分なディスク容量がありますが、必要なのは 20 GB だけなのに、100 GB もコピーしたい人はいません。また、インターネット経由で共同作業が行われる可能性も十分にあります。

このプロジェクトは非常に小規模な非営利団体向けです。ツールの購入は不可能ではありませんが、安価なものでなければなりません。もちろん、無料またはオープンソースのものの方が望ましいです。

答え1

  1. 現在使用されているVCSのすべてできるリポジトリ内のバイナリファイルをほぼ保存して処理するどれでもサイズ(「巨大なファイルをリポジトリに保存しない」は推奨であり、制限ではありません)。一部のVCSでは、より良い、他のものより優れている。また、一部のVCSは、他のVCSよりリポジトリ内のビッグデータをより適切に処理できる。

    変更の理由を記録し、チェックイン時に存在していたファイルを取得できるようにします。

VCSのコア支配的なパラメータにはなり得ない

  1. バイナリデータを変更するには、新しいバージョンとして保存します違いはないこれはVCSのほぼ共通のルールです(ストレージのデルタを減らすために異なるVCSで異なるトリックを適用することを除く)。したがって、どのVCSを使用するかはあなたの選択と責任です。バージョン管理下の大きなファイルに関する最近の議論をいくつか挙げるだけです。StackOverflowに参加しました(上位3つの回答)を繰り返します個人的な意見 - Mercurial

予想されるあらゆる種類の変更は、VCSに保存されているあらゆるデータに共通するタスク(コンテンツの変更を実行し、保存する)であり、オーディオファイルに固有のものではありません(変更は、何が変わるのか

テキストで可能なように、統一された差分ビューがあれば非常に便利ですが、

少なくとも、それを入手しようと試みることはできます:バイナリコンパレータ付き Foobar2000プラグイン(回答が見つかりましたここSUでは、一般的なトピックで非常に便利です)Foobar2000形式でサポートされている2つのファイルを(GUIで?!)比較できます(?!...試していません、テストしていません)。または(それが仕事Win7 /古いプロジェクト、2008年から更新されていない/そしてそして使用可能タスクについては、オーディオディフメーカーDYF ファイル (オーディオ データを変更する変更セットをリポジトリに保存するための追加オブジェクト)

MP3タグは外部ツールで追加/変更できますが、できるタグを比較する(高速かつ汚い検索で最初の行に表示されたBeyond Compareのスクリーンショット): Beyond Compare は Mercurial (TortoiseHG) のデフォルトの diff|mergetool として使用できます。Foobar2000 は (おそらく) mp3 ファイルの特別な mergetool として割り当てることができます。

保存するデータは、各コミットの大量のコピーではなく、変更の差分である必要があります。

これは不可能です(一般的なケースでは、上記2ページを参照)。ただし、LFSを使用したGitやLargeFilesを使用したMercurialの場合は特別なケースがあります(通常の「リポジトリ内のすべて」よりもニーズを満たすことができます)。すべての変更セットのすべてのファイルは独立した外部ストレージに保存されます(完全なファイル)。リポジトリ内の変更セットにはファイルへの「リンク」のみがあり、ローカルの作業スペースではダウンロードしたファイルのみがあります。1つ大きなファイル(DVCS の場合、リポジトリのクローン内の完全な履歴のセット全体ではありません)...および直接比較に必要なすべての追加の古いバージョン(Audio DiffMaker の DYF の使用をもう一度検討してください):1 つの巨大なストレージが必要になりますが、「リポジトリ内のファイル」の場合と比較して、ローカル スペースがいくらか「節約」されます。

関連情報