Již delší dobu uvažuji o tom, uspořádat si svou hudební sbírku, protože se v ní postupem času začínám ztrácet. CD považuji vzhledem ke kapacitě dnes již za pasé, proto veškerou hudbu skladuji na pevném disku a zde postupem času vznikl problém rozpoznat, co je co za interpreta a skladbu. Hledal jsem řešení, nenašel jsem zatím zcela mě vyhovující, ale relativně dobré.
Winamp
Tento skvělý Wokení přehrávač disponuje tzv. funkcí AutoTagging, od nějaké nedávné verze se tato funkce dá použít i hromadně (označím desítky skladeb a všechny jsou dotázány). Pro rozpoznávání používá databázi Gracenote.
MusicBrainz Picard
O pořádný kus dokonalejší software je rozhodně Picard, který mimo jiné sponzoruje nemalými příspěvky i Google. Picard používá svou vlastní databázi MusicBrainz. Tento povedený kousek softwaru je multiplatformní a open-source.
V globále zde můžeme hovořit celkem o třech důležitých poskytovatelích "audio-recognition".
Gracenote
Problém u Gracenote je rozhodně v neutuchající snaze najít cokoliv jen trochu podobného, tzn. že třeba i u českých interpretů se občas stane, že jej identifikuje jako čínského... Nepříjemná vlastnost, kterou nelze ignorovat, pokud chci svou sbírku nechat uspořádat automaticky, s minimálním lidským zásahem. Jejich algoritmy jsem nezkoumal, jen vím, že poskytují nějaké ofic. API, které se dá integrovat do vaší vlastní aplikace (přehrávače, taggeru, ...). Podle průvodního dokumentu k dodávanému SDK ta jejich databáze užívá z části i níže zmíněnou CDDB.
CDDB
Schopnost této databáze stojí a zároveň padá na rozpoznávání podle alba, jak je už z názvu patrné (Compact Disc Database). Osobně nemám vždy ve své sbírce celá alba, ale třeba jen jednu skladbu z alba, nebo občas ani ta skladba nebyla vydána v rámci alba, ale jako jediný hit. Proto je pro mě tato databáze z tohoto hlediska prakticky nepoužitelná. Nezkoušel jsem spolehlivost rozpoznávání, neznám algoritmus, ale myslím, že je mnohem jednodušší rozpoznat skladby ve vztahu k celému albu, než jednotlivě, takže by to mohlo být spolehlivé.
MusicBrainz
Vývojáři MusicBrainz používají zajímavý algoritmus tzv. PUID. Pro každý audio soubor je vygenerován na základě Open Fingerprint Architecture unikátní otisk a ten je následně odeslán do MusicDNS databáze, která vrátí unikátní PUID. Na základě této se pak dají snadno rozpoznat identické skladby s jinými ID3 tagy a názvy souborů. PUID se pak pošle do MusicBrainz databáze, kde se získají postatné informace o skladbě (titul, interpret, album, rok vydání ...). Toto řešení shledávám jako aktuálně nejlepší, protože se nesnaží za každou cenu najít cokoliv podobného, ale skutečně platí, že co rozpozná, rozpozná správně.
Jediné, co mi v Picard chybí je možnost užívání softwaru v Linuxu bez X serveru, tzn. bez GUI - přes konzoli.
Samozřejmě žádná z těch databází není dokonalá a úplná a vzhledem k rychlosti vydávání nových alb ani asi nikdy nebude (leda by se zavedla nějaká povinnost vydavatelů ohlásit to nějaké centrální databázi).
Článek může obsahovat nějaké drobné nepřesnosti týkající se popisu těch algoritmů, ale účelem článku bylo spíše poradit těm, co se snaží o podobnou organizaci své sbírky audia.