Het handboek van Kid3

Urs Fleisch

Softwareontwikkeling 
Freek de Kruijf

3.8.4

Samenvatting

Kid3 is een toepassing om de ID3v1 en ID3v2 tags in MP3 bestanden op een efficiënte manier te bewerken. Ook tags in Ogg/Vorbis, Opus, DSF, FLAC, MPC, APE, MP4/AAC, MP2, Speex, TrueAudio, WavPack, WMA, WAV, AIFF bestanden en trackermodules (MOD, S3M, IT, XM) worden ondersteund. Het is gemakkelijk om tags van meerdere bestanden in te stellen op dezelfde waarden (e.g. album, artiest, jaar en genre in alle bestanden van hetzelfde album) en de tags te genereren uit de bestandsnaam of vice versa.


Inhoudsopgave

Samenvatting
Opties
kid3
kid3-qt
kid3-cli
1. Inleiding
2. Kid3 gebruiken
Functies van Kid3
Voorbeeld van gebruik
3. Overzicht van de opdrachten
De GUI-elementen
Bestandslijst
Afspeellijst bewerken
Mappenlijst
Bestand
Tag 1
Tag 2
Tag 3
Framelijst
Gesynchroniseerde liedtekst en tijdcodes van gebeurtenissen
Het menu Bestand
Het menu Bewerken
Het menu Hulpmiddelen
Het menu Instellingen
Het menu Help
4. kid3-cli
Commando's
Help
Tijdslimiet
Toepassing afsluiten
Map wijzigen
Toon de bestandsnaam van de huidige map.
Mappenlijst
De gewijzigde bestanden opslaan
Bestand selecteren
Tag selecteren
Tagframe ophalen
Tagframe instellen
Ongedaan maken
Uit bestand importeren
Automatisch importeren
Hoesillustratie van album downloaden
Naar bestand exporteren
Afspeellijst aanmaken
Bestandsnaamformaat toepassen
Tagformaat toepassen
Tekst-codering toepassen
Hernoem map
Aantal tracks
Filter
ID3v2.3 naar ID3v2.4 converteren
ID3v2.4 naar ID3v2.3 converteren
Bestandsnaam uit tag
Tag uit bestandsnaam
Tag naar andere tag
Kopiëren
Plakken
Verwijderen
Kid3 configureren
Voorbeelden
JSON-formaat
5. Dankbetuigingen en licentie
A. Installatie
Hoe Kid3 te verkrijgen
Vereisten
Compilatie en installatie
Configuratie
B. D-Bus-interface
Voorbeelden met D-Bus
D-Bus API
Bestand of map openen
Ontlaad de tags van alle bestanden die niet zijn gewijzigd of geselecteerd
Alle gewijzigde bestanden opslaan
Krijgt een gedetaileerde foutmelding geleverd door sommige methoden
Draait wijzigingen in de geselecteerde bestanden terug
Start een automatische bulkimport
Tags importeren uit een bestand
Tags importeren uit andere tags
Tags importeren uit andere tags uit geselecteerde bestanden
Hoesillustratie van album downloaden
Tags exporteren naar een bestand
Een afspeellijst aanmaken
Items uit een afspeellijst halen
Items van een afspeellijst instellen
Sluit de toepassing
Alle bestanden selecteren
Selectie van alle bestanden ongedaan maken
Het eerste bestand als het huidige bestand instellen
Het vorige bestand als het huidige bestand instellen
Het volgende bestand als het huidige bestand instellen
Het eerste bestand selecteren
Het vorige bestand selecteren
Het volgende bestand selecteren
De huidige bestand selecteren
Het huidige bestandsitem uit- of invouwen als het een map is
Het bestandsnaamformaat toepassen
Het tagformaat toepassen
Tekst-codering toepassen
Mapnaam uit de tags instellen
Opvolgende tracknummers instellen in de geselecteerde bestanden
De bestanden filteren
ID3v2.3 tags naar ID3v2.4 converteren
ID3v2.4 tags naar ID3v2.3 converteren
Pad van map ophalen
Naam van huidig bestand ophalen
Naam van geselecteerd bestand instellen
Te gebruiken formaat instellen bij instellen van de bestandsnaam uit de tags
De bestandsnamen van de geselecteerde bestanden instellen uit de tags
Waarde van frame ophalen
Stelt waarde van frame in
Alle frames van een tag ophalen
Technische informatie over bestand ophalen
Tag uit bestandsnaam instellen
Tag instellen uit andere tag
Tag kopiëren
Tag plakken
Tag verwijderen
De configuratie opnieuw inlezen
Speelt de geselecteerde bestanden
C. QML-interface
QML-voorbeelden
QML API
Kid3Script
Functies voor scripts
Context van toepassing
Configuratieobjecten

Lijst van tabellen

3.1. Mapping van geünificeerde frametypes naar verschillende formaten
3.2. Item in waarderingstabel

Samenvatting

kid3 [ --help | --author | --version | --license | --desktopfile BESTAND ] [BESTAND...]

kid3-qt [--portable] [Qt-options] [BESTAND...]

kid3-cli [--portable] [--dbus] [ -h | --help ] [-c COMMANDO1] [-c COMMANDO2...] [BESTAND...]

Opties

Inhoudsopgave

kid3
kid3-qt
kid3-cli
--portable

Configuratie opslaan in bestand kid3.ini in de map van de toepassing.

BESTAND

Als BESTAND het pad is naar een map, zal het geopend worden. Als een of meer bestandspaden zijn gegeven, zal hun gemeenschappelijke map worden geopend en de bestanden zijn geselecteerd.

kid3

--help

Hulp over de opties tonen.

--author

Auteurinformatie tonen.

--version

Versie-informatie tonen

--license

Licentie-informatie tonen.

--desktopfile BESTAND

De basis bestandsnaam van het desktop-item voor deze toepassing.

kid3-qt

Qt-opties

Zie qt5options(7).

kid3-cli

--dbus

Het D-Bus-interface activeren.

-c

Voer een commando uit. Meerdere opties -c zijn mogelijk, ze worden opeenvolgend uitgevoerd. Zie de sectie over kid3-cli voor een beschrijving van de beschikbare commando's.

-h|--help

Hulp over de opties en commando's tonen.

Hoofdstuk 1. Inleiding

Kid3 is een toepassing om de ID3v1 en ID3v2 tags in MP3-bestanden te bewerken op een efficiënte manier. Deze tags kunnen bewerkt worden door de meeste MP3-spelers, maar niet op een erg comfortabele en efficiënte manier. Bovendien wordendhe tags in Ogg/Vorbis, Opus, DSF, FLAC, MPC, APE, MP4/AAC, MP2, Speex, TrueAudio, WavPack, WMA, WAV, AIFF bestanden en trackermodules (MOD, S3M, IT, XM) ook ondersteund.

Kid3 pakt of codeert geen MP3-bestanden, maar is gericht op het bewerken van de ID3 tags van alle bestanden van een album op een efficiënte manier, i.e. met zo weinig muisklikken en toetsaanslagen als mogelijk. Waar de meeste andere programma's ofwel ID3v1 of ID3v2 tags kunnen bewerken,heeft Kid3 volledige controle over beide versies, kan tags converteren tussen de twee formaten en heeft toegang tot alle ID3v2 tags. Tags van meerdere bestanden kunnen ingesteld worden op dezelfde waarde, e.g. de artiest, album, jaar en genre van alle bestanden van een album hebben typisch dezelfde waarden en kunnen samen ingesteld worden. Als de informatie voor de tags in de bestandsnaam zit, kunnen de tags automatisch ingesteld worden uit de bestandsnaam. Het is ook mogelijk om de bestandsnaam in te stellen volgens de tags gevonden in het bestand in willekeurige formaten.

De taak voor bewerking wordt verder ondersteund door automatisch vervangen van tekens of tekenreeeksen, bijvoorbeeld om illegale tekens uit bestandsnamen te verwijderen. Automatische controle van hoofd en kleine letters maakt het gemakkelijk om een consistent naamschema in alle tags te gebruiken.

De taginformatie voor volledige albums kan genomen worden uit gnudb.org, TrackType.org, MusicBrainz, Discogs, Amazon of andere bronnen met tracklijsten. Het importformaat is vrij te configureren door reguliere expressies.

Gaarne problemen of verzoeken om meer mogelijkheden rapporteren aan de auteur.

Hoofdstuk 2. Kid3 gebruiken

Functies van Kid3

  • ID3v1.1 tags bewerken

  • Alle ID3v2.3 en ID3v2.4 frames bewerken

  • Tags van meerdere bestanden bewerken

  • Tussen ID3v1 en ID3v2 tags converteren

  • MP3, Ogg/Vorbis, Opus, DSF, FLAC, MPC, APE, MP4/AAC, MP2, Speex, TrueAudio, WavPack, WMA, WAV en AIFF tags bewerken

  • Tags uit bestandsnaam genereren

  • Tags uit de inhoud van tagvelden genereren

  • Bestandsnaam uit tags genereren

  • Mapnamen uit tags genereren en wijzigen

  • Afspeellijstbestand genereren

  • Automatische conversie van hoofd- kleine letters en vertaling van tekenreeksen

  • Uit gnudb.org, TrackType.org, MusicBrainz, Discogs, Amazon en andere gegevensbronnen importeren

  • Als CSV, HTML, afspeellijst, Kover XML en andere formaten exporteren. Geëxporteerde CSV-bestanden kunnen opnieuw geïmporteerd worden.

Voorbeeld van gebruik

Deze sectie beschrijft een typische sessie met Kid3. We hebben een map met MP3-bestanden met de tracks uit het album "Let's Tag" van de band "One Hit Wonder". De map is genaamd in het formaat "artist - album", in ons geval One Hit Wonder - Let's Tag. De map bevat de tracks in het formaat "track title.mp3", wat denk ik bruikbaar is omdat de bestandsnamen een korte (belangrijk bij gebruik van mobiele MP3-spelers met kleine schermen) en in de juiste volgorde bij alfabetisch ordening (belangrijk bij gebruik van hardware MP3-spelers die de tracks in alfabetische volgorde afspelen of in de volgorde waarin ze op een CD zijn gebrand en die volgorde is alfabetisch bij gebruik van mkisofs). Daarnaast is de informatie over artiest en album al in de mapnaam en hoeft niet herhaald te worden in de bestandsnaam. Maar terug naar ons voorbeeld, de lijst van de map ziet er uit als:

01 Intro.mp3

02 We hebben alleen deze.mp3

03 Outro.mp3

Deze bestanden hebben nog geen tags en we willen ze genereren met Kid3. We gebruiken BestandOpenen (menu-item (of knop van de werkbalk) en selecteren een van de bestanden in deze map. Alle bestanden zullen worden getoond in het vak met bestanden. Lui als we zijn, we willen de informatie in de map en bestandsnamen gebruiken om tags te genereren. Daarom selecteren we alle bestanden, daarna een klik op de knop Naar: Tag 1 in de sectie Bestand. Dit zal de titel, artiest, album en trackwaarden in alle bestanden. Om de jaar en genre waarden van alle bestanden in te stellen, houden we alle bestanden geselecteerd en typen "2002" in voor de Datum en selecteren "Pop" uit de keuzelijst Genre. Om alleen deze twee waarden in te stellen, zijn hun keuzelijsten automatisch geactiveerd en alle andere keuzelijsten zijn niet geactiveerd gelaten. Nu wijzigen we de selectie door alleen het eerste bestand te selecteren en we zien dat alle tags de juiste waarden bevatten. De tags van de andere bestanden kunnen ook geverifieerd worden door ze een voor een te selecteren. Wanneer we tevreden zijn met de tags, gebruiken we BestandOpslaan menu-item (of knop op werkbalk). Met selecteren van BestandAfspeellijst aanmaken menu-item (of knop op werkbalk). zullen we een bestand One Hit Wonder - Let's Tag.m3u genereren in de map.

Hoofdstuk 3. Overzicht van de opdrachten

De GUI-elementen

De GUI van Kid3 is gescheiden in zes secties: Links zijn de vakken met lijsten van bestanden en mappen, de rechter kant bevat de secties bestand, Tag 1, Tag 2 en Tag 3 .

Om tussen de verschillende secties te navigeren met het toetsenbord worden verschillende sneltoetsen ondersteund. In de tagsecties zijn de sneltoetsen actief tijdens het niet bewerken van tekst of bij zijn in de eerste kolom.

  • Alt+Links: Ga naar vorige sectie (Commando+[ op macOS®)

  • Alt+Right: Ga naar volgende sectie (Commando+] op macOS®)

  • Ctrl+Shift+V: Uit andere tag

  • Ctrl+C: Kopiëren

  • Ctrl+V: Plakken

  • Shift+Delete: Verwijderen

  • F2: Bewerken

  • Insert: Toevoegen

  • Delete: Verwijderen

Bestandslijst

De lijst met bestanden bevat de namen van alle bestanden in de geopende map die overeenkomt met het geselecteerde filter voor bestandsnamen (typisch *.mp3 *.ogg *.opus *.dsf *.flac *.mpc *.aac *.m4a *.m4b *.m4p *.mp4 *.mp2 *.spx *.tta *.wv *.wma *.wav *.aiff *.ape). Een enkele of meerdere bestanden kunnen geselecteerd worden. Om geen bestand te selecteren, klik in het lege gebied na de items in het vak met de lijst. De selectie bepaalt de bestanden die worden beïnvloed door de bewerkingen die beschikbaar zijn door de onderstaand beschreven knoppen te gebruiken.

Naast Naam kunnen ook andere kolommen Grootte, Type, Datum gewijzigd met details van de bestanden worden getoond. Kolommen kunnen verborgen worden door hun naam te deactiveren in het contextmenu van de kop van de lijst. De volgorde van de kolommen kan gewijzigd worden door slepen en loslaten. De sorteervolgorde kan omgeschakeld worden door op de kolomkop te klikken.

Links van de namen kan een pictogram worden getoond: Een schijf om te tonen dat het bestand is gewijzigd of informatie over welke tags aanwezig zijn (V1, V2, V1V2 of GEEN TAG, er wordt geen pictogram getoond als het bestand nog niet is gelezen).

Mappen worden getoond met een pictogram van een map. Als een map geopend is, worden zijn bestanden getoond in een hiërarchische boomstructuur. Door bestanden te selecteren uit submappen, kunnen bewerkingen uitgevoerd worden op bestanden in andere mappen, wat zinvol is als de muziekverzameling georganiseerd is met een map voor elke artiest met mappen voor albums van deze artiest.

Met de right muisknop klikken in de bestandenlijst opent een contextmenu met de volgende commando's:

  • Alle uitvouwen: vouwt alle mappenbomen uit (alleen de huidige boomstructuur als de toets Shift is ingedrukt)

  • Alles invouwen: vouwt alle mappenbomen in

  • Hernoemen: wijzigt de naam van een bestand

  • Naar prullenbak verplaatsen: verplaatst een bestand naar de prullenbak

  • Afspelen: speelt een bestand af, zie Afspelen. Als het geselecteerde bestand een afspeellijst is, worden de bestanden in de afspeellijst afgespeeld.

  • Bewerken: bewerk een afspeellijst, zie Afspeellijst bewerken.

  • De volgende items zijn gebruikerscommando's, die gedefinieerd kunnen worden in het tabblad Gebruikersacties van Kid3 configureren. Het afspelen bij dubbelklikken kan ook daar geactiveerd worden.

Afspeellijst bewerken

Een afspeellijst kan leeg worden aangemaakt of de tracks van een map bevatten, zie Afspeellijst aanmaken. Het op deze manier aangemaakte afspeellijstbestand kan bewerkt worden door dubbelklikken of gebruik van Bewerken uit het contextmenu ven de bestandenlijst. Een dialoog met de items van de afspeellijst wordt getoond. Het is mogelijk om meerdere afspeellijsten tegelijk te openen.

Nieuwe items kunnen toegevoegd worden door slepen en loslaten uit de bestandenlijst, een bestandenbeheerder of een andere afspeellijst. Als een item versleept wordt uit een andere afspeellijst, zal het verplaatst of gekopieerd worden afhankelijk van het systeem. Om respectievelijk de andere actie uit te voeren, moet de toets Shift, Ctrl of Alt (om te kopiëren in plaats van verplaatsen onder macOS®) worden ingedrukt. Items opnieuw ordenen in de afspeellijst is ook mogelijk via slepen en loslaten. Als alternatief kunnen items verplaatst worden met de sneltoetsen Ctrl+Shift+Up en Ctrl+Shift+Down (op macOS® moet Command worden ingedrukt in plaats van Ctrl). Een item kan verwijderd worden met de toets Delete.

Merk het volgende op: om items te verslepen uit de bestandenlijst, moeten ze gehouden worden aaan de linker kant (bij de pictogrammen), hetzelfde gebaar aan de rechter kant zal een selectie van meerdere doen, zo'n actie is hierdoor nog steeds gemakkelijk mogelijk.

Wanneer een afspeellijst gewijzigd is, kunnen de wijzigingen opgeslagen worden met Opslaan of verworpen met Annuleren. Wanneer het venster wordt gesloten, wordt een vraag om bevestiging getoond als er niet opgeslagen wijzigingen zijn.

Geselecteerde tracks in een afspeellijst zullen automatisch geselecteerd worden in de bestandenlijst, waarbij het mogelijk wordt gemaakt om hun tags te bewerken.

Om acties in een afspeellijst uit te voeren moet zijn bestand geselecteerd zijn in de bestandenlijst. Bewerken uit het contextmenu zal naar de dialoog beschreven in deze sectie leiden en Afspelen zal de mediaspeler starten met de tracks uit de afspeellijst. Gebruikeracties kunnen acteren op afspeellijsten, voor een voorbeeld Afspeellijstmap exporteren, die de bestanden uit een afspeellijst kopieert in een map.

Mappenlijst

De mappenlijst bevat de namen van de mappen in de geopende map, evenals de huidige (.) en de bovenliggende map (..). Het biedt om snel van map te wisselen zonder het commando Open... te gebruiken of slepen en loslaten.

Zichtbaarheid van kolom, volgorde en sortering kunnen geconfigureerd worden zoals beschreven in de sectie over de bestandenlist.

Bestand

Toont informatie over de codering (MP3, Ogg, Opus, DSF, FLAC, MPC, APE, MP2, MP4, AAC, Speex, TrueAudio, WavPack, WMA, WAV, AIFF), bitsnelheid, samplesnelheid, kanalen en de lengte van het bestand.

De regelbewerking Naam bevat de naam van het bestand (als alleen een enkel bestand is geselecteerd). Als deze naam is gewijzigd zal het bestand worden hernoemd wanneer het commando Opslaan wordt gebruikt.

De keuzelijst Formaat en regelbewerken bevat het te gebruiken formaat wanneer de bestandsnaam wordt gegenereerd uit de eerste of de tweede tag. De bestandsnaam kan willekeurige tekens bevatten, zelfs een mapgedeelte gescheiden door een slash uit de bestandsnaam, maar die map moet al bestaan om het hernoemen te laten slagen. De volgende speciale codes worden gebruikt om tagwaarden in de bestandsnaam in te voegen:

  • %s %{title} Titel (Song)

  • %a %{artist} Artiest

  • %l %{album} Album

  • %c %{comment} Opmerking

  • %y %{year} Jaar

  • %t %{track} Track (e.g. 01)

  • %t %{track.n} Track met veldbreedte n (e.g. 001 for %{track.3})

  • %T %{tracknumber} Track (zonder voorloopnullen, e.g. 1)

  • %g %{genre} Genre

  • %{ignore} Genegeerd bij genereren van tags uit de bestandsnaam

De formaatcodes zijn niet beperkt tot de boven gegeven voorbeelden. Elke framenaam kan gebruikt worden, bijvoorbeeld geünificeerde framenamen zoals %{albumartist}, %{discnumber.1}, %{bpm} of formaatspecifieke namen zoals %{popm}.

Het is mogelijk om tekenreeksen als vooraan en achteraan aan de vervanging voor een formaatcode te voegen door ze in aanhalingstekens binnen de accolades van een formaatcode toe te voegen. Deze tekenreeksen zullen alleen in de resulterende tekenreeks gepllatst worden als de formaatcode een niet-lege waarde bevat. Als bijvoorbeeld de bestandsnaam zowel de titel en de ondertitel zou moeten bevatten, zou men %{title} [%{subtitle}] in de formaattekenreeks kunnen gebruiken. Maar dit zou resulteren in een tekenreeks die eindigt met [] als er geen ondertitelframe bestaat voor een bestand. Om de rechte haken weg te laten als er geen subtitel aanwezig is, zal in plaats daarvan %{title}%{" ["subtitle"]"} moeten worden gebruikt. Dit zullen de rechte haken, de voorloopspatie en de subtitel weggelaten worden als deze laatste niet bestaat.

De lijst met beschikbare formaten kan bewerkt worden in de dialoog die verschijnt wanneer er geklikt wordt op de knop Bestandsnaam uit tag in het tabblad Bestand van de instellingen.

Een tweede keuzelijst Formaat (met pijl omlaag) wordt gebruikt om de tags uit de bestandsnaam te genereren. Als het formaat van de bestandsnaam niet met dit patroon overeenkomt, worden een paar andere algemeen gebruikte formaten geprobeerd.

Sommige algemeen gebruikte bestandsnaamformaten zijn al beschikbaar in de keuzelijst, maar het is ook mogelijk om een speciaal formaat in de regelbewerking in te typen.

De lijst met beschikbare formaten kan bewerkt worden in de dialoog die verschijnt wanneer er geklikt wordt op de knop Tag uit bestandsnaam in het tabblad Bestand van de instellingen.

Intern is een reguliere expressie opgebouwd uit de formaatcodes. Als geavanceerde reguliere expressies vereist zijn kan het formaat om de tags te genereren uit de bestandsnamen gegeven worden als een complete reguliere expressie met vangsten die voorafgegaan worden door de formaatcodes, Om bijvoorbeeld de tracknummers te extraheren zonder verwijderen van voorloopnullen, zou een formaat zoals "/%{track}(\d+) %{title}(.*)" worden gebruikt.

Van: Tag 1, Tag 2: Stelt de bestandsnaam in met het geselecteerde formaat en respectievelijk de eerste tag of de tweede tag.

Naar: Tag 1, Tag 2: De tags worden ingesteld uit de bestandsnaam. Eerst wordt het formaat gespecificeerd in Formaat gebruikt. Als de bestaande bestandsnaam niet overeenkomst met dit formaat, dan worden de volgende formaten geprobeerd:

  • Artiest - Album/track Song

  • Album/track - Artiest - Song

  • /Artiest - Album - Track - Song

  • Album/Artiest - Track - Song

  • Album/artiest - Song

  • Artiest/Album/Track Song

Als een enkel bestand is geselecteerd worden de besturingen van de GUI gevuld met de waard