私は、初日に録音されたオーディオ ファイルと30日後に録音された別のオーディオ ファイルを比較するツールを開発してきました。私のトレーニングは言語学であり、このツールを使用して、独自の音声録音のデータベースをカタログ化、索引付け、および比較します。MusicBrainz や EchoNest などの商用レベルの API を認識していますが、このプロジェクトでは使用できません。すべてのファイルはローカルに保存する必要があり、オンライン データベースに投稿することはできません。
現在、各ファイルのスペクトログラムと、ほぼすべてのサウンド ファイルに変換できるバッチ コンバーターがあります。スペクトル アナライザーを使用してスペクトログラムを正確に一致させ (ハッシュ マップ オーバーレイなど)、結果を 96% の精度で一致させることができます。しかし、私のプロジェクトが大きくなるにつれて、この方法ではストレージのニーズが非常に高くなりすぎます。
私の考えでは、音声ファイルを同様のフレーム速度に調整できれば、音響データをハッシュ コード化し、音声ファイル全体やスペクトログラムではなく、単純な SQL テーブルにハッシュ文字列を格納できるはずです。ファイル全体をハッシュするのではなく、マッチングのために音響のみをハッシュします。私は Python (dejavu、libmo など) を介していくつかの行き過ぎた解決策を見つけましたが、コンピューターの専門家ではなく言語学者として、初心者が音声データをハッシュするためのコードを論争できるかどうかはわかりません
来週かそこら内にハッシュ値 (または別のチェックサム) を作成する方法を探しています。