Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: identyfikacja MP3 po MD5
Forum PHP.pl > Inne > Hydepark
erix
Czy ktoś zna serwis identyfikujący MP3 po MD5? (chodzi mi o sam blok danych, bez uwzględnienia ID3/etc).
everth
Prawdopodobnie coś takiego nie istnieje. Z prostego powodu - zbyt wiele wersji tego samego utworu może istnieć i być w obiegu. Jeśli szukasz sposobu do odgadywania tagów mp3 to może poczytaj o MusicBrainz. Może ci pomoże (bo za bardzo nie wiem do czego ci ta baza miałaby służyć).
erix
No ok, ale przecież istnieją projekty a'la Napiprojekt. winksmiley.jpg

Też podobna zasada i ten sam problem. winksmiley.jpg
everth
Niby tak, ale zastanów się - napisy do filmów są przygotowywane przez amatorów (i dosyć niejasna jest ich sytuacja prawna) - poza tym występuje dosyć znaczna różnica ciężaru plików. Jeśli ktoś stworzyłby taką bazę dla plików mp3 - moim zdaniem na pewno zrobiłby to komercyjnie (dla legalnych mp3). A jeśli tak to nie miałbyś problemu z jej znalezieniem, bo zainteresowanie podobną usługą na pewno byłoby znaczne.

Nigdy nie bawiłem się MusicBrainz od strony technicznej ale np. Amarok (korzysta z niego) znakomicie otagował moje mp3 - czyli to działa.
erix
Cytat
Niby tak, ale zastanów się - napisy do filmów są przygotowywane przez amatorów (i dosyć niejasna jest ich sytuacja prawna) - poza tym występuje dosyć znaczna różnica ciężaru plików

Ale co ma piernik do wiatraka? Napiprojekt sprawdza każdy plik wysyłając MD5 pierwszych 10 MiB pliku i tyle. Co za różnica, czy to będzie 4 GiB plik, czy 3 MiB? Też MD5, ten sam problem, a jednak został on rozwiązany.

I nie chodzi tylko o napisy, MD5 dla tego bloku identyfikuje tylko film, a to, czy są doń napisy, czy nie - to już nieistotne.

MusicBrainz działa na bardzo podobnej zasadzie, tylko w inny sposób jest generowana suma kontrolna (u nich zwane PUID) - nie na podstawie danych, a wg analizy dźwięku wynikowego.
legorek
Last.fm oblicza "odcisk palca" plików mp3. Oprogramowanie jest open source, a do pobierania danych jest API. Szczegóły na blogu last.fm http://blog.last.fm/2010/07/09/fingerprint...and-app-updated
wookieb
Cytat(erix @ 1.09.2010, 21:57:38 ) *
Napiprojekt sprawdza każdy plik wysyłając MD5 pierwszych 10 MiB pliku i tyle. Co za różnica, czy to będzie 4 GiB plik, czy 3 MiB? Też MD5, ten sam problem, a jednak został on rozwiązany.

Jesteś pewien? Bo mnie się wydaje, że chodzi o framerate, wielkość pliku i rozdziałke a nie md5 (tak jest w większości serwisów z napisami).

Z mp3 nie jest to za bardzo możliwe. O ile rodzajów filmów będzie parę to mp3 jest masa różniąca się między sobą drobnymi sekundami, momentami wycięcia z mixów itd.
Tunatic dobrze rozpoznaje utwór po tym co dostaje w mikrofonie.
everth
@erix - ten argument z wielkością to rzeczywiście trochę z d*** winksmiley.jpg. Ale reszta mojej wypowiedzi jest sensowna - gdyby istniały bazy agregujące po md5 to już byś je znalazł. Co do PUID to też wiem, dlatego ci go poleciłem bo a) kod jest otwarty, cool.gif działa (przynajmniej u mnie).

Nie wiem dlaczego uczepiłeś się tego md5 - ten PUID wydaje mi się sensowniejszym rozwiązaniem w tym przypadku. Gdyby rozwiązanie bazujące na zwykłych sumach kontrolnych sprawdziłoby się to nie kombinowali by z PUID. Na swoim wiki zresztą ciekawie opisują działanie tej technologii.
erix
Cytat
Jesteś pewien? Bo mnie się wydaje, że chodzi o framerate, wielkość pliku i rozdziałke a nie md5 (tak jest w większości serwisów z napisami).

Tak, jestem w 100% pewien. OpenSubtitles robi również hasha, tylko nieco innym algorytmem. Jednak jest na podobnej zasadzie - pierwsze N MiB pliku.

Cytat
Nie wiem dlaczego uczepiłeś się tego md5 - ten PUID wydaje mi się sensowniejszym rozwiązaniem w tym przypadku.

Owszem, zdążyłem to wszystko przeczytać. Tylko jest jeden problem - kilka tysięcy rekordów, w których mam zapisany właśnie MD5 danych, a nie PUID, do którego musiałbym raczej samodzielnie pisać liba w celu analizy spektrum częstotliwościowego. winksmiley.jpg

Dlatego szukam po MD5. winksmiley.jpg
thek
Ja się obawiam, że te oprogramowanie może już działać w oparciu o transformaty. Bo to przekształca dane dźwiękowe na trochę innej płaszczyźnie, gdzie zwraca się już uwagę na trochę inne rzeczy niż tagi wewnętrzne czy inne duperele. No ale tu musiałbyś się zagłębić już mocniej w użycie choćby FFT, DFT czy falek. Potrafią analizować nawet dość zaszumione dane z mikrofonu, ale to niestety jest już matma "trochę" wyższego kalibru niż to czego człowiek się uczy w podstawówce czy liceum. Jeśli masz w miarę głowę, to poczytaj o zastosowaniu i może uda Ci się sklecić rozwiązanie.
erix
No tak, i będę całość indeksował od nowa. tongue.gif

Nie bardzo chce mi się wierzyć, że nikt nie robi md5 z danych, jakoś w przypadku napisów to zrobili...

A to jest do tylko mojego użytku, nie potrzebuję niewiadomo czego. winksmiley.jpg
everth
Cytat(erix @ 2.09.2010, 11:18:46 ) *
Owszem, zdążyłem to wszystko przeczytać. Tylko jest jeden problem - kilka tysięcy rekordów, w których mam zapisany właśnie MD5 danych, a nie PUID, do którego musiałbym raczej samodzielnie pisać liba w celu analizy spektrum częstotliwościowego. winksmiley.jpg

Czyżby?
libMusicBrainz
Cytat
The libmusicbrainz (also known as mb_client or MusicBrainz Client Library) is a development library geared towards developers who wish to add MusicBrainz lookup capabilities to their applications. If you are looking for a complete, usable program to run, please try out Picard.

LibOFA
Cytat
LibOFA (Library Open Fingerprint Architecture) is an open-source audio fingerprint created and provided by MusicIP

Jedno z drugim współpracuje (jeśli dobrze się wczytałem to libmusicbrainz nie posiada w najnowszej odsłonie możliwości tworzenia odcisku palca, co zapewnie libOFA - mogę się mylić). Obie biblioteki napisane są w C/C++, posiadają też wrappery w Pythonie. Jedyne ograniczenie które wynika z komercyjnego charakteru PUID, jest takie że nie możesz dodawać odcisków palca nowych utworów. Biorąc pod uwagę statystyki MusicBrainz jest mało prawdopodobne żebyś na taki trafił.

Amarokowi w najnowszej odsłonie skatalogowanie moich utworów zajmuje ~10min - a ich też jest dużo (i też generuje sumy kontrolne). Ewentualnie możesz skorzystać z ich narzędzia Picard - generujesz tagi dla swoich plików, później wiążesz je ze swoimi md5. Może nawet byłoby to prostsze niż pisanie zautomatyzowanego skryptu wykorzystującego gołe biblioteki.
erix
Cytat
Amarokowi w najnowszej odsłonie skatalogowanie moich utworów zajmuje ~10min - a ich też jest dużo (i też generuje sumy kontrolne). Ewentualnie możesz skorzystać z ich narzędzia Picard - generujesz tagi dla swoich plików, później wiążesz je ze swoimi md5. Może nawet byłoby to prostsze niż pisanie zautomatyzowanego skryptu wykorzystującego gołe biblioteki.

Świetnie, a będziesz mi przerzucał płytki? tongue.gif I gdyby nie to, to bym się nie ceregielił. winksmiley.jpg
everth
Aj waj, trzeba było od razu że utwory masz na różnych nośnikach. Jeśli zgrywałeś z czystych CDAudio to trochę przestrzeliłeś bo wystarczyło żebyś zakodował ID w formacie CDDB. Ale jeśli nie, to nie rozumiem jak ty tej bazy używasz? Masz nieotagowane sumy kontrolne utworów na różnych nośnikach? Jak ty je przeszukujesz?
erix
Cytat
Masz nieotagowane sumy kontrolne utworów na różnych nośnikach?

Coś w tym stylu. Zrobione hashe z wyłącznie bloku danych każdego pliku (z pominięciem bloku ID3; robię libem http://www.getid3.org). Dlatego pytam konkretnie o MD5. winksmiley.jpg
everth
Ale nie rozumiem sensu zastosowania takiego tworu - nie masz żadnych, choćby szczątkowych informacji powiązanych z tymi sumami? Chyba nie chcesz powiedzieć ż poświęciłeś czas na wygenerowanie takiej bazy, bez sprawdzenia czy istnieje usługa która pozwoli ci ją wykorzystać? Bo tak to na razie wygląda - a zazwyczaj kończy się to wyrzuceniem pracy do kosza.
erix
Mam część plików nieotagowanych. Jest to raptem kilka sztuk.
everth
@erix - więc w czym problem winksmiley.jpg - Picard i kopiuj/wklej.

@DOWN: A myślisz że dlaczego ewolucja wbudowała w ludzi mechanizm który powoduje że kończymy poszukiwania po znalezieniu pierwszego lepszego działającego rozwiązania winksmiley.jpg Pamiętaj - natura najlepszym inżynierem.
erix
Ale szukałem bardziej cywilizowanego rozwiązania. tongue.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.