Porządkowanie plików muzycznych.
Pliki niewiadomego pochodzenia, owoce różnych grzechów przeszłości często mają fatalne nazwy, tagi w 4 różnych formatach, albo w ogóle ich nie mają. Jeśli chcemy zapanować nad sytuacją, uporządkować naszą kolekcję [np. w celu archiwizacji na płycie DVD czy CD] należy z plikami muzycznymi zrobić porządek.
Zanim przystąpię do opisu konkretnych metod, warto poznać trochę teorii. Często wymieniane przeze mnie 'tagi' to nic więcej tylko dodatkowe informacje o danym utworze doklejone do pliku muzycznego. Istnieje wiele formatów, swego czasu każdy nowo powstający wydawał się mieć ambicje przeforsowania swojego standardu. Efektem jest wielki bałagan, zwłaszcza, że dany plik może mieć tagi w kilku formatach na raz. Same tagi to kawałki informacji doklejone na początku lub końcu pliku muzycznego, z założenia nie integrujące się z samą treścią pliku [są wyjątki, jednak można w ogólności pominąć]. Taki układ daje nam możliwość łatwej edycji tagów - nie niszczymy przecież materiału muzycznego, nie jest wymagana rekompresja - oszczędzamy więc czas, o jakości nie wspominając. Warto wiedzieć, że problem wielości tagów dotyczy tylko plików MP3, pozostałe mają własne rozwiązania - choć ostatnio daje się zaobserwować dążenie do unifikacji - wzorem do naśladowania stają się tagi w formacie APEv2 [tak, te same co w plikach .APE programu Monkey's Audio].
Problem tagów najlepiej widać kiedy odpalimy na naszym odtwarzaczu [naturalnie jeśli potrafi czytać tagi] płytę audio w plikach skompresowanych niewiadomego pochodzenia, która teoretycznie jest jednością - a zobaczymy, że prawie każda ścieżka ma swój własny 'styl' nazewnictwa. To jest efekt kompletowania albumów z różnych źródeł, i różnego poziomu kompetencji osób, które dany plik wyprodukowały.
Problem był poważny już kilka lat temu, teraz, przy mnogości sieci p2p, a także narzędzi to zrzucania własnych płyt w celu odsłuchania w urządzeniach przenośnych staje się momentami nie do zniesienia. Na przestrzeni czasu powstało wiele narzędzi do poprawy, edycji, czy czasem nawet kasowania tagów. Nie będę prezentował tu żadnego z nich. Nie warto. Pokażę jak wykonać porządek z praktycznie każdym zbiorem plików muzycznych używając programu Foobar, oraz FreeDB Easy Navigator, z czego ten drugi nie jest wcale niezbędny.
W generalnym przypadku zakładam, że jeden album [lub coś co udaje album] znajduje się w osobnym katalogu i jeśli posiada nazwy plików to te nazwy są prawdziwe. Przypadek inny - tzn. pomyłka przy nazywaniu plików, i brak tagów naturalnie jest do rozwiązania - wymaga jednak znajomości twórczości zespołu, bowiem choć część plików trzeba dopasować na słuch.
Programy, których będziemy potrzebować:
Foobar2000 - wersja Special - http://www.foobar2000.org
FreeDB Easy Navigator - http://www.klaimsoft.com/salvoravida/
Program FreeDB Easy Navigator jest darmowym narzędziem, które ja nazywam frontendem na freedb. A freedb jest darmowym odpowiednikiem bazy CDDB [CD Data Base], wielkiej, internetowej bazy danych, zawierającej informacje o zawartości setek tysięcy płyt muzycznych. Niestety, firma Gracenote, właściciel CDDB zagalopowała się troche w pazerności i utrudniała dostęp do swoich zasobów, wymagając wykupienia licencji. Efekt? Wszystkie programy, których używam korzystają z freedb. A ponieważ zawartość bazy budują sami jej użytkownicy to nie trudno zgadnąć, która jest większa/lepsza/ładniejsza.... Wracając do tematu. FreeDB Easy Navigator [FEN] pozwala w łatwy i wygodny sposób przeglądać zawartość bazy freedb. Teoretycznie to samo umie Foobar, jednak w tym akurat wypadku jest on po prostu bardzo niewygodny.
Wszystkie opcje związane z operacjami na tagach dostępne są w menu kontekstowym [pod prawym przyciskiem myszy] po zaznaczeniu interesujących nas plików na playliście.
W skład standardowego zestawu tagów, zestawu poprawnie rozpoznawanego przez odtwarzacze przenośne wchodzą następujące pola:
TITLE
ARTIST
ALBUM
TRACKNUMBER
GENRE
YEAR
COMPOSER
COMMENT
Dodatkowo pola w tagach tworzone mogą być wg. własnego uznania. Istnieją pewne ograniczenia, jednak nie chcę się w to zbytnio zagłębiać - sam o takie ograniczenie się nie otarłem i niewiele o nich wiem.
Każda wprowadzona do freedb informacja ma postać 'płyty'. Płyta jest bowiem najmniejszą logiczną jednostką tej bazy. Konkretny album może znaleźć się w bazie w wielu postaciach, nieznacznie się od siebie różniących, i pomimo takiej samej nazwy, będą to kompletnie różne wpisy bazy freedb. Każdy wpis oznaczony jest ośmioznakowym indywidualnym numerem ['discID'], oraz nazwą kategorii ['genre'] do której należy [rock, pop, soundtrack, misc...]. Ta para informacji jednoznacznie identyfikuje konkretny wpis. Będziemy z tego korzystać w przyszłości.
Konfiguracja Foobara
Część ta dotyczy TYLKO aspektów związanych z tym artykułem, pozostałe kwestie może odważę się poruszyć w innym terminie.
Będziemy potrzebowali odblokować możliwość dokonywania zmian w tagach [jeśli jakimś dziwnym przypadkiem jest zablokowana].
Potrzebujemy również włączyć wyświetlanie czasu całkowitego zaznaczonych utworów.
Oraz ustawić opcje freedb w taki sposób, aby program nic nie robił bez pytania. CZASAMI wygodniej jest zezwolić na trochę automatyki, ale nie w przypadku porządkowania chaosu w tagach.
Ręczne tagowanie plików przy pomocy Foobara. Zaznaczamy interesujący nas utwór [lub utwory], Prawy przycisk, i 'Properties'. 'Add New' i już możemy podać nazwę wybranego przez nas taga, lub wybrać jeden ze standardowych z listy. Potem pozostaje wprowadzenie wartości, i można przejść do następnego pliku. Ta operacja przyda nam się jedynie do poprawek. Większość pracy wykona za nas moduł freedb, lub...
MassTager. Jest to kolejny element foobara, który pomimo tego, że jest tylko dodatkiem, to przerasta 99% innych rozwiązań tego typu, tak ilością opcji, jak i niestety złożonością obsługi. My będziemy tego modułu używać do zmian nazw plików. Jednak warto wiedzieć, że przeznaczony jest on głównie do operacji na tagach. Ponieważ nasze zadanie wymaga dużego nakładu czynnika ludzkiego, oferowane przez Masstagera usługi niewiele nam pomogą. Są jednak niezastąpione do operowania na tagach plików już uporządkowanych. Sądzę, że obsługa MassTagera nie będzie nastręczać większych kłopotów komuś kto już zdecyduje się na jego użycie.
Przypadek najprostszy.
Dodajemy interesujący nas katalog, przeciągając go na pustą playlistę, zaznaczamy wszystkie pliki,
klikamy 'freedb/get tags' z menu kontekstowego
pojawia się nam okienko, w którym widzimy dane płyty jakich się spodziewaliśmy.
Wybieramy najbardziej nam odpowiadający zestaw tagów [warto przejrzeć [opcja PREVIEW] kilka zestawów, niektórzy autorzy niezbyt dobrze znają ortografię]. Zaznaczę jednak, że wszelkie wpadki w pisowni są do poprawienia [także drogą pobrania innego zestawu tagów] później - najważniejsze jest to, żeby poprawnie wypełnić pola TRACKUMBER.
Efekt? Piękna płyta...
Chcielibyśmy aby wszystkie albumy tak wyglądały i tak prosto dawały się uporządkować. Nic z tego jednak...
Komplikacje
W katalogu znajduje się za dużo plików. Wiemy jaki to jest album a pliki mają dobrą numerację. Mimo to baza freedb nie widzi naszego albumu.
Może to oznaczać: że w naszej wersji albumu jest niestandardowa ilość ścieżek, że jeden [lub więcej] plików ma długość znacznie odbiegającą od przewidywanej lub nazwy nie są jednak poprawne. W takiej sytuacji należy użyć opcji Szukajczyli: 'freedb'->'search'.
W opcjach wyszukiwania wpisujemy [na ogół już jest wpisane] nazwy artysty i albumu, w dolnych polach wpisujemy to samo - zawężając obszar poszukiwań [można tego nie robić, jednak wtedy ilość wyników może nas zaskoczyć].
'Search'.
Otrzymujemy listę płyt spełniających kryteria [czyli nazwy]. Oglądamy wyniki. Może się okazać, że: posiadana przez nas płyta ma dodane dodatkowe pliki, które zaburzają pracę freedb; posiadana płyta ma wszystko tam gdzie trzeba, tylko jeden lub kilka plików ma zmienioną długość, a ponieważ freedb do wyszukiwania używa długości utworów i ich kolejność to nic dziwnego, że sobie nie poradziła.
W pierwszym przypadku zapamiętujemy ile utworów ma prawdziwy album, wychodzimy z wyszukiwarki, na playliście zaznaczamy odpowiednią ilość utworów i postępujemy tak jak w standardowym przpadku ['freedb'->'search']. Jeśli i w tym przypadku jest problem, przechodzimy elegancko do drugiego przypadku, czyli wymuszenia tagowania.
Ponownie wyszukujemy we freedb płytę, którą uważamy za najbliższą do ideału, i spisujemy jej discID. Aby to zrobić należy dać 'preview' naszej wybranej płyty, odnaleźć linię 'discID', kliknąć dwukrotnie i skopiować wartość do schowka. Dodatkowo zapamiętujemy 'genre' naszej płyty.
Uwaga: Tu ujawnia się jeden z nielicznych błędów Foobara. Na obrazku, co łatwo zauważyć, pojawiło się 'Heavy Metal' jako genre. Jest to błędna informacja. Dlaczego? Dlatego, że takiej 'genre' nie pozwoli nam później wybrać moduł 'manual querry'. Warto więc zapamiętać jakie 'genre' są dopuszczalne i jeśli zobaczymy inną niż standardowe, posiłkować się FEN'em, który tego błędu nie posiada.
Następnie zaznaczamy te utwory, które chcemy otagować - powinna zgadzać się ich liczba [zakładam, że kolejność jest prawidłowa]. Wymuszone tagowanie obywa się poprzez 'freedb'->'manual querry'.
Pojawia się nam okienko gdzie wklejamy 'discID' oraz wybieramy 'genre'.
Ekran wynikowy jest efektem bezpośredniego zapytania do bazy freedb. Robimy podgląd aby upewnić się czy wszystko gra i jeśli tak, klikamy 'tag files'.
Pozostałe nam pliki, te które do danego albumu należeć nie powinny, możemy otagować ręcznie, lub też jeśli jesteśmy purystami - skasować.
Sen Na Jawie
Płyta ma tylko nazwy utworów. Nie zachowała się żadna numeracja, nie ma też playlisty. Nie wiemy czy ilość ścieżek się zgadza. Znamy tytuł płyty i wykonawce.
Wyszukujemy w foobarze albo FEN'ie taką płytę. Następnie przesuwamy poprzez zaznaczenie danego utworu [jeden klik] a potem przeciągnięcie [drugi klik] utwory żeby odpowiadały kolejności z wybranej przez nas wersji płyty. Ewentualne zbędne utwory ustawiamy na końcu. Próbujemy klasyczną metodą, jeśli nie zadziała, wymuszamy tagowanie [dane o DiscID oraz genre FEN umieszcza tutaj:
Bezsenność
To samo, tylko nie znamy tytułu płyty. Wybieramy utwór z najdziwniej brzmiącą nazwą [na pewno nie jest to "I love you"] i wyszukujemy [limitując wyniki do danego artysty]. Patrzymy na listę znalezionych płyt. Zapamiętujemy. Operację powtarzamy dla innych utworów aż do znalezienia tej jednej jedynej. Wtedy - patrz wyżej.
Lub, tak jak wyżej, z tym, że znamy tytuł, nie znamy artysty. Podobnie, tylko wyniki wyszukiwań dla pojedyńczego utworu limitujemy tytułem płyty a nie wykonawcą.
Koszmar
Zupełny hardcore. Nie znamy nazw. Wiemy tylko czyja to płyta i jaka to płyta.
Metoda ta jest bardzo żmudna, BARDZO pomocna jest przy niej znajomość twórczości danego artysty. Każdy dopasowany na słuch utwór to wielki krok do przodu. Odpalamy FEN, wpisujemy do wyszukiwarki tytuł i autora płyty, zaznaczamy prośbę o czas całkowity płyty. Jeśli płyta miała wiele wpisów [np. Britnej Spirs czy inny pop'ularny wykonawca] oczekiwanie na wyniki może być długie [nawet kilka minut!]. Oglądamy zaproponowaną listę, staramy się znaleźć płytę z jak największą ilością utworów [oraz czasem całkowitym]. Teraz uruchamiamy foobara, ładujemy nasz album, zaznaczamy, odczytujemy czas całkowity. Zapamiętujemy. Teraz trzeba znów spojrzeć do FEN'a i sprawdzić, czy wielkim przypadkiem jedna z płyt nie ma PODOBNEGO czasu całkowitego i identycznej ilości utworów. Takie cuda się zdarzają i warto na nich polegać.
Jednak, jeśli to nie tym razem, należy odnaleźć naszą wybraną wcześniej najdłuższą wersję płyty i postarać się ułożyć utwory na podstawie czasów trwania. One prawie nigdy nie zgadzają się co do sekundy, ale proporcje na ogół tak. Jest to proces żmudny i niewdzięczny, na dodatek bez choćby podstawowej znajomości materiału danego artysty można ułozyć zupełnie nową płytę. Pewnym ratunkiem może być odsłuchanie utworów [na pewno już dobrze podpisanych] na stronach sklepu typu Amazon, czy AllMusic.
[na obrazku poniżej użyłem innego zapytania - zrobiłem to tylko dla własnej wygody wygenerowania obrazka - ściąganie czasów 500+ albumów na Neostradzie z IP 83.*.*.* nie jest przyjemne i trwa i trwa... Naturalnie istota przepisu nie uległa zmianie]
Trauma
Nie znamy nazw, znamy tylko artystę/tytuł płyty.
Metoda podobna do opisanej wyżej. Jeśli płyta ma charakterystyczny tytuł to jesteśmy prawie w domu, opisana przed chwilą metoda może nam szybko sprawę rozwiązać. Gorzej, jeśli znamy tylko wykonawcę, zwłaszcza jeśli jest on artystycznie czynny i jego dyskografia ma 200 pozycji. W takich przypadkach przydaje się każdy punkt zaczepienia, łącznie z wychwytywaniem tekstów i dopasowywaniem do tytułów. Generalnie sprawa jest prawie beznadziejna i bez znajomości twórczości twórcy niewiele poza zgadywaniem [z niewielką szansą sukcesu] można zrobić.
Mission Impossible?
Nie znamy tytułów, wykonawcy i tytułu płyty, lub mamy pojedyncze utwory.
Niestety, jasnowidz złożył wymówienie i nie jesteśmy na chwilę obecną w stanie pomóc. Pomimo dużego zapotrzebowania, nie istnieje na razie system podobny do CDDB, czy freeDB pozwalający na identyfikację pojedyńczych utworów. System zastosowany w CDDB polega na zależnościach pomiędzy długościami utworów liczonymi w ramkach oraz ich liczbą i kolejnością.
Łatwo sobie uzmysłowić, że taki system nie sprawdzi się przy pojedyńczych utworach, zwłaszcza jeśli weźmiemy pod uwagę, że większość obecnie 'produkowanych' utworów ma długość około czterech minut. Dodatkowo powstaje wiele wersji regionalnych danej płyty różniących się nie tylko ilością utworów, ale często także ich długościami.
Trwają obecnie prace nad wdrożeniem systemu rozpoznawania plików muzycznych na podstawie zawartości muzycznej. Jednak na razie projekt ma służyć łapaniu piratów, a nie pomocy użytkownikom. Pomijając już to, że obecnie znajduje się w dość wczesnej fazie i do praktycznej aplikacji jeszcze mu daleko [Update: Audible Magic, bo o nim mowa, doczekał się praktycznej implementacji w systemie sprzedawanym uczelniom w celu wytępienia piractwa z sieci akademickich. Na razie jako składnik pomocniczy, po udoskonaleniu przejmie całość obowiązków. Czy Audible Magic, lub jego publiczna wersja ujrzy światło dzienne i pomoże rozwiązywać problemy jakim poświęciłem cały ten artykuł? Może...]
Zmiana nazw
I tutaj artykuł mógłby się skończyć, jednak wydaje mi się, że warto, jeśli kosztuje to niewiele wysiłku utrzymywać porządek, nawet jeśli pliki, które tagujemy zrzuciliśmy przed chwilą i skasujemy za pare dni. Zbyt często zrzucając płyty, żeby nagrać je w mp3 na nośnik RW do mojego przenośnego odtwarzacza zostawiałem je na dysku, a potem budziłem się z zapchanym dyskiem. Nie warto.
Kiedy już nasze pliki zostały poprawnie otagowane, warto pójść za ciosem, i poprawnie je nazwać. Tagi mogą nam zniknąc przy okazji testowania nowych opcji playera czy zestawu narzędzi do obróbki plików muzycznych. Warto, żeby zostały choć nazwy, wtedy odtworzymy to co zniknęło bez najmniejszych problemów. Pozatym, niektóre odtwarzacze przenośne [w tym niestety mój, najtańszy możliwy] nie odczytują tagów, i utwory odtwarzają w kolejności alfabetycznej. Ja więc musiałem zadbać o poprawną numerację, bo bez tego przyjemność ze słuchania była znacznie mniejsza.
Posłużymy się tutaj, jak zwykle, Foobarem. Jeśli czytaliście poprzednie artykuły z serii 'Audio' zamieszczone na tym portalu, pamiętacie pewnie jaki format nazywania plików polecałem. Ułatwiał on późniejsze nagranie utworów na płytę z wykorzystaniem CD-TEXTu. Format ten to: Artist - TrackNumber. TrackName. Aby nakłonić naszego Foobara do przezwania w taki sposób naszych plików, musimy zapoznać się z tym, czego większość zdrowych i normalnych użytkowników tego programu nawet nie próbuje zrozumieć. My też nie będziemy, spokojnie. Chodzi o język skryptowy opisu playlisty zastosowany w Foobarze. Ten sam język użyty jest w module do masowej zmiany tagów [oraz nazw plików] zwanym MassTager.
Każdy z użytkowników Foobara, ma w katalogu gdzie go zainstalował plik titleformat_help.html. Znajdziemy w nim kompletną składnię wspomnianego języka skryptowego. Dotyczy to tylko bardzo zdesperowanych userów. Zrozumienie tego jest trudne, a jeśli nie posiadamy np. 20 tysięcy plików muzycznych, a dodatkowo jakiś bardzo udziwnionych wymagań co do wyglądu playlisty, to jest to kompletnie zbędne.
Żeby nie przedłużać. Zaznaczamy nasze pliki [może to być wiele albumów na raz, lub kompletnie dowolne pliki], prawy klawisz mysz, 'Masstager' -> 'Rename Files'. W 'Output Filename' wpisujemy [aby uzyskać sugerowany przeze mnie format nazwy pliku] %artist% - $num(%tracknumber%,2). %title% Tak poinstruowany moduł odczyta z tagów wszystkich plików pola: ARTIST, TRACKNUMBER oraz TITLE, i na ich podstawie wygeneruje nazwy plików.
Jeśli mamy zamiar tak nazwane pliki nagrać np. na płytę CD, warto pamiętać, że nie wszystkie znaczki występujące w nazwach plików są akceptowane przez system plików używany na płytach CD. Dotyczy to m.in. polskich znaków. Polecam ich eliminację.
I na tym koniec.Wszelkiego typu uwagi, korekty, pytania prosze bez skrępowania zamieszczać pod artykułem. Wszsytkie zostaną przeczytane i dzięki Waszej pomocy artykuł może stać się jeszcze lepszy.


LinkBack URL
About LinkBacks



















Odpowiedź z Cytatem
