Grip op FreeDB


In dit artikel geef ik aan hoe je met een Linux systeem grip krijgt op freeDB, een populaire openbare database van cd-metadata op het internet. Onder Linux bestaan niet zoveel programma's die freeDB kunnen voeden. Dit stukje beschrijft er een van. Grip.



De aanleiding

Een jaar of zes, zeven geleden was ik druk doende mijn toenmalige cd-verzameling te rippen. Twee pc's gebruikte ik daarvoor, met een stuk of 4 cd-rom spelers, en het proces van rippen, coderen en wegschrijven naar mijn NAS was zo goed als geautomatiseerd.

Het resultaat van die maanden noeste arbeid was... een berg onbruikbaar materiaal. Via freeDB was een hoop onzin op mijn NAS neergedaald, en zelfs een begin van een poging daar orde in te scheppen bleek vruchteloos.

 

Bij mijn tweede poging had ik lering getrokken uit dit debacle, en verloor ik een cd niet uit het oog, eer hij mooi gerubriceerd was. Dus stuk voor stuk, en niet haasje-repje. Ook stapte ik af van het OGG-formaat, en ging over in FLAC, want als je het serieus aanpakt wil je natuurlijk niet al bij de eerste stap muziek-data verliezen als dat niet nodig is. De NAS werd als te klein ook aan de kant geschoven, en ervoor in de plaats kwam een alles-in-een muziekstreamer, de Olive 4. Past mooi in het rek. Geen houtje-touwtje oplossing voor mij meer.

Ik ben een klassiekliefhebber, en freeDB die geraadpleegd wordt door de Olive is daar niet voor bedacht. Achteraf editten van de metadata is dus een noodzaak, maar gelukkig vond en vindt ik daarin ook veel genoegen. Af en toe kwam er een cd'tje langs, waarover nog niets in de freeDB stond, en dan moest ik alles aanpassen, wat ik ook jaren gedaan heb.

Maar tenslotte ging dat een beetje wringen. Ik had zoveel lol van wat wél uit de freeDB kwam, dat ik besloot de onbekende cd's niet langer op de Olive te rippen, maar eerst te beschijven met de ripsoftware op mijn pc, en het resultaat dan zowel naar de Olive als naar freeDB te sturen. Kaudiocreator die ik indertijd veel gebruikte, had daar zo te zien wel instellingen voor.

FreeDB perikelen

Ik vond mezelf al een hele Piet dat ik zowaar wat aan freeDB bijdroeg, dat ik niet de moeite nam om te zien of mijn zendingen wel aankwamen. Om kort te gaan: dat kwamen ze niet. Als ik een enkele keer eens checkte of een onbekende cd nu wel bekend was geworden, dan bleek dat nooit zo te zijn. Maar onderzoeken wáárom vond ik te lastig, tot een jaar of wat geleden.

Op mijn pc draait Linux. Niks anders. Open Source, gemeenschap, vrije software, dat werk. En als mijn ripper gegevens van freeDB kan ophalen, dan is het niet meer dan logisch dat ook het bijdragen aan de gemeenschappelijke cd-database op-en-top geregeld is. Maar nee hoor...

Onder Linux gebruik ik de KDE-gebruikersinterface, en alle rippers of cd-spelers die ik tegenkwam, beginnen hun naam daarom met een K. Kaudiocreator, K3B, Kaffeine, KsCD. Geen van die programma's komen voor in de lijst die freeDB erop nahoudt: http://www.freedb.org/en/applications__freedb_aware_applications.9.html

Duik je wat dieper in de documentatie, dan vind je aanwijzingen dat het uploaden naar freeDB nog niet werkt, ook al zijn alle instellingen ervoor al aanwezig.

Ze kijken de codering bij elkaar af, en dat verklaart dat er nog geen een is die dit kan. Grom.

Van Grom naar (be)Grip

De lijst van freeDB bevat maar weinig Linux-applicaties, en die ben ik afgegaan om er een te vinden die wel geschikt is. Ik ben gestuit op Grip, met de G van Gnome, een alternatief voor KDE.

Grip kon ik installeren en heeft een grafische interface, kan rippen én is wel geschikt voor het voeden van de freeDB. Maar er zitten wat haken en ogen aan, die ik graag belicht.

Je zult je misschien afvragen, waarom ik bv niet het Windows-programma ExactAudioCopy gebruik. Wel, vroeger heeft dat gewerkt op mijn pc, maar sinds de beveiliging er flink op vooruit is gegaan, heeft EAC geen leesrechten meer op de cd-rom, en dat heb ik maar zo gelaten. Ik gebruik toch al liever echte Linux-programma's.

Juist toen ik Grip goed en wel ontdekt had, lag freeDB eruit. Een en ander kreeg zijn beslag in het topic Post hier je computerproblemen, zie http://forum.audiofreaks.nl/index.php?topic=16110.2640 en laat ik verder in het midden.

Toen freeDB weer up-and-running was, begon het feest. Dacht ik. Nu beschreef ik onbekende cd's eerst in Grip, en stuurde ze op. Na een tijdje kwamen ze wel terecht in freeDB, en van een enkele bijdrage kon ik dat ook nagaan. Gek genoeg was de oogst toch vrij mager, want meer niet dan wèl kon ik mijn bijdragen terugvinden. Alweer een onderzoekmomentje voor deze arme sloeber.

De uitkomst daarvan was, dat het plaatsje al bezet bleek, als ik een cd niet terugvond. Dan stond er een of ander waardeloos rot-cdtje op de plek waar mijn Christmas Night of the Choir of Merton College Oxford had moeten staan. Godbetert nog wel onder het genre 'misc'. Niet 'mis' dus. Of juist wèl mis.

De paar cd's die wel een plaatsje onder de freeDB-zon hadden weten te bemachtigen, bleken ook van genre 'misc' te zijn voorzien.

Maar dat is gek! Altijd, nou ja, bijna altijd, kies ik als genre Classical, en met dat genre stuur ik de gegevens weg.

Ik stuurde eens wat van die cd's naar mezelf, om te zien wat Grip ervan maakte, en jawel hoor, Grip vindt het al lang mooi als het freeDB-genre misc wordt gebruikt, welk genre je er zelf ook aan geeft. Oorzaak gevonden.

FreeDB genres zijn placeholders

Nu moet ik even kort uitweiden over de genres die freeDB hanteert. Dat zijn er zegge en schrijven elf. Classical is er één van, Rock ook, en zo nog 9, waaronder misc. Een programma als Grip laat je evenwel kiezen uit een lange lijst van misschien wel 50 genres.

Een CD heeft geen uniek kenmerk, maar om toch cd's te kunnen identificeren in de freeDB wordt een berekening uitgevoerd op de tracks en de tracklengte, waardoor een hexadecimaal getal ontstaat wat - zij het niet uniek - de identificatie van de cd uitmaakt. Zo krijgen cd's sleutelwaardes als ed0dbe13, fd0f3b12, die je kunt opzoeken in de freeDB bij http://www.freedb.org/freedb_discid_check.php

Doe je dat met de sleutel cf103f10, dan zie je vijf cd's beschreven, allemaal met een ander genre: classical, folk, rock, misc en de laatste heeft genre blues. Het Disc-ID daarvan luidt voluit 'blues / cf103f10'. Klik je erop, dan krijg je de gegevens te zien van de inzending. Hier een stukje daaruit:


# Revision: 1

# Processed by: cddbd v1.5.2PL0 Copyright (c) Steve Scherf et al.

# Submitted via: Grip 3.3.1

#

DISCID=cf103f10

DTITLE=Jascha Heifetz / Jascha Heifetz plays Great Violin Sonatas (CD1)

DYEAR=2013

DGENRE=Classical

TTITLE0=I. Adagio - Sonata for Solo Violin No.1 in G minor BWV 1001 (Bach

TTITLE0=)


De 'grap' is nu, dat bij DGENRE Classical staat, en niet blues. Die DGENRE wordt door de streamer (de mijne tenminste) gezien als het genre, en kennelijk niet het kopje blues waaronder de cd gerubriceerd is. In FreeDB is het genre waaronder de cd valt dus eigenlijk niets anders dan een betekenisloze placeholder, en bepaalt de string achter DGENRE= het genre dat je binnenkrijgt.


Het programma Grip gaat hier wat merkwaardig mee om. Als ik uit de lange lijst die Grip aanbiedt kies voor Classical, dan vult Grip het veld DGENRE met “misc”, en dat doet hij bij elke andere keuze óók. Bij het versturen komt de cd dan terecht bij de placeholder misc.

Maar als ik voor het opsturen de string achter DGENRE= aanpas, en er Classical van maak, dán vraagt Grip voor het opsturen voor welk genre het bedoeld is, en laat je kiezen uit de lijst met de 11 bekende freeDB-genres. Kijk, dat schiet op.


Grip in de praktijk
Het recept is voor mij dan:

– zoek de cd op in freeDB

– bestaat de cd al onder de beoogde placeholder, in mijn geval meestal 'Classical' dus, kies dan een andere. 'Blues' ligt dan voor de hand.

– rip en beschrijf de cd met Grip, en sla op. Het bestand komt terecht in de home-directory onder subdirectory '.ccdb'. Dat is een zgn. hidden directory, maar onder Linux blijft nooit iets 'hidden', en het is hoe dan ook een optie in de filemanager om de hidden mappen te laten zien. In '.ccdb' vind je het bestand met het cd-id als naam, dus bijvoorbeeld cf103f10.

– Sluit Grip even af.

– Edit het bestand met een teksteditor. Wijzig de string DGENRE=misc in Classical (zei de gek) of elk ander genre dat je toepasselijk vindt.

– Start Grip weer, en verstuur de data. Nu zal Grip vragen onder welk genre, lees placeholder, de gegevens moeten terechtkomen, en ik kies dan Classical als die ruimte nog niet bezet is, en anders Blues (mits vrij).


Klaar. Na een paar uur staat de cd in de freeDB, onder het genre/ de placeholder dat / die je hebt gekozen, en met DGENRE correct gevuld. Mijn Olive neemt daaruit het genre over, en ik neem aan dat andere streamers en rippers dat ook zo doen.

Hoe het zo'n apparaat lukt om de correcte beschrijving boven tafel te halen, als er meer dan één cd met hetzelfde id in freeDB staat, weet ik niet precies. Waarschijnlijk zijn de tijdsduren van de tracks dan onderscheidend. Hoe dan ook kan geen enkele streamer of ripper aan een cd ruiken in welk genre die valt. Het zijn maar stomme dingen, die pas tot leven komen in een cd-speler, of, in mijn geval, getransformeerd tot herkenbare muziek in mijn Olive.

Marc



Dit artikel is geplaatst door: mumsoft

Home