Opened 7 years ago

Closed 6 years ago

#8 closed task (fixed)

Wise fingerprint

Reported by: jhusak Owned by: jhusak
Priority: minor Milestone: Toolset
Component: component1 Version:
Keywords: Cc:

Description (last modified by jhusak)

Należy opracować odcisk palca, który byłby podobny dla podobych plików , zawierał się dla zawierających, generalnie porównanie na nim byłoby tożsame dla porównania binarek.
Przewiduję długość takiego odcisku - 32-64 bajty.

Change History (7)

comment:1 Changed 7 years ago by jhusak

Description: modified (diff)

comment:2 Changed 7 years ago by jhusak

Milestone: Zbiór narzędzi wspomagających

comment:3 Changed 7 years ago by jhusak

Inna opcja - łatwiejsza, funkcjonalność uzyskana bez modyfikacji tagów sapów.

Podczas wrzucania utworu do repozytorium użytkownik dostanie listę utworów podobnych.

Można traktować sapa jako odcisk palca :)

Spostrzeżenia:
sapy nie są długie. Zrobienie silniczka - serwerka wyszukiwawczego po
zawartości to tzw pikuś pamięciowy. 14 MB można trzymać w pamięci
cały czas, wysyłać zapytania do tego a on będzie zwracał wyniki
wyszukiwania. Nawet 100 MB. Albo 200 MB.
A jak tam w sobie pokeszuje, porobi struktury, timestampy - to już jego sprawa.

BLACKBOX.

comment:4 Changed 7 years ago by pfusik

Rozumiem, że porównujemy, co jest grane, a nie wprost dane binarne (np. ta sama muzyczka pod innym adresem i ze zmienionym playerem). asapscan potrafi wypluć rejestry POKEYa w odstępach FASTPLAY - możnaby tego użyć do eksperymentów.

comment:5 Changed 7 years ago by jhusak

Summary: Odcisk palca sprytnyWise fingerprint

comment:6 Changed 6 years ago by jhusak

Owner: changed from somebody to jhusak
Status: newassigned

Fingerprint jest już zaimplementowany w asapscan

są dwie nowe opcje:

-l - długi fingerprint
-p - krótki fingerprint.

Reszta wyszukiwania duplikatów to proste operacje na sort, awk, perl, uniq, bash, sed, a przede wszystkim grep.

Jeśli chcecie znaleźć duplikaty (a ja wszystkie potencjalne znalazłem) to do wszystkich plików generujemy krótki fingerprint, sortujemy, wyrzucamy pojedyncze i zostają wielokrotne.

Działa to na tej samej zasadzie, co wyszukiwanie pętli.

Mianowicie patrzy, co jest wpisywane do rejestrów pokeya; jeśli wpisywane jest to samo, to tak samo będzie grać i już :)

Fingerprint jest z kolei podciągiem długiego fingerprinta (który to jest po prostu taką sygnaturą utworu, jeden bajd to zsumowane wszystkie bajty wpisywane do pokeya w jednej ramce, czyli 9 lub 18.) Podciągiem, który ma mksymalną entropię, czyli liczbę różnych wartości. W przypadku wielu takich różnych podciągów, które mają tę samą entropię, brany jest pierwszy ( i to wypisuje asapscan -p)

Brane pod uwagę jest też to, że $ax i $ex wpisywane do audc ma tę samą barwę.

Last edited 6 years ago by jhusak (previous) (diff)

comment:7 Changed 6 years ago by jhusak

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.