4

音楽を比較する方法について、理論、アルゴリズムなどを探しています。より具体的には、ビットレートが異なるか、おそらくわずかに異なるバリエーション (ラジオとアルバムのバージョン) を持っているが、それ以外は同じように聞こえる音楽トラックを複製チェックする方法を検討しています。

これの使用例には、Grooveshark、Youtube など、多くの重複トラックを取得するサービスが含まれます。テキストの比較 (Britney Spers と Britney Spears の違いなど) にも興味がありますが、これは二次的なものであり、この分野についてはいくつかの情報源を既に持っています。

私は主に、コーデックに依存しない比較手法とアルゴリズム (「生の」ストリームを想定) に関心がありますが、コーデック固有のリソースは高く評価されています。

私は musicbrainz.org などのプロジェクトを知っていますが、それ以上調査したことはなく、そのようなプロジェクトがこの取り組みに役立つかどうかに興味があります。

4

2 に答える 2

3

名前の比較に関する限り、レーベンシュタイン距離アルゴリズムを調べてみるとよいでしょう。2 つの文字列を指定すると、重複を検出するための基礎として使用できる距離測定値が計算されます。

私は個人的に、多数の重複があるかなり大きなデータベースを持つアプリケーション用に開発したツールでそれを使用しました。これを私のドメインに関連する他のデータ比較と組み合わせて使用​​することで、ツールをアプリケーション データベースに向けることができ、重複したレコードの多くをすばやく見つけることができました。うそをつくつもりはありませんが、実際に見るのはかなりクールだと思いました。

実装も簡単です。C# バージョンは次のとおりです。

public int CalculateDistance(string s, string t) {
    int n = s.Length; //length of s
    int m = t.Length; //length of t
    int[,] d = new int[n + 1, m + 1]; // matrix
    int cost; // cost

    // Step 1
    if (n == 0) return m;
    if (m == 0) return n;

    // Step 2
    for (int i = 0; i <= n; d[i, 0] = i++) ;
    for (int j = 0; j <= m; d[0, j] = j++) ;
    // Step 3
    for (int i = 1; i <= n; i++) {
        //Step 4
        for (int j = 1; j <= m; j++) {
            // Step 5
            cost = (t.Substring(j - 1, 1) == s.Substring(i - 1, 1) ? 0 : 1);

            // Step 6
            d[i, j] = System.Math.Min(System.Math.Min(d[i - 1, j] + 1, d[i, j - 1] + 1), d[i - 1, j - 1] + cost);
        }
    }

    // Step 7
    return d[n, m];
}
于 2010-05-12T14:27:00.410 に答える
1

ここに同様の回答を書きました: Music Recognition and Signal Processing

研究コミュニティでは、2 つの信号 (ノイズ、テンポ、ピッチ、またはビットレートの軽度の変動などの環境歪みまで) 間の類似性を見つける問題は、オーディオ (または音楽) フィンガープリンティングとして知られています。このトピックは、少なくとも 10 年間、盛んに研究されてきました。Haitsma と Kalker によるこの初期の (そしてよく引用される)論文は、問題を明確に説明し、簡単な解決策を提案しています。

同じ曲の 2 つのバージョン間の音楽的類似性を見つける問題は、カバー曲の識別として知られています。この問題もよく研究されていますが、まだ未解決のままです。

おそらく、コンテンツ ベースの音楽検索で最も人気のある 2 つの商用ソリューションは、 MidomiShazamです。

これであなたの質問に答えられると思います。これらの問題に対する最近の解決策については、Google Scholar を確認してください。ISMIR議事録は、オンラインで無料で入手できます。

于 2010-05-18T17:35:14.833 に答える