--portable
BESTAND
--help
--author
--version
--license
--desktopfile BESTAND
Qt-opties
--dbus
-c
-h|--help
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 m[blue]gnudb.orgm[][1], m[blue]TrackType.orgm[][2], m[blue]MusicBrainzm[][3], m[blue]Discogsm[][4], m[blue]Amazonm[][5] 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.
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 Bestand → Openen (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 Bestand → Opslaan menu-item (of knop op werkbalk). Met selecteren van Bestand → Afspeellijst aanmaken menu-item (of knop op werkbalk). zullen we een bestand One Hit Wonder - Let's Tag.m3u genereren in de map.
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.
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:
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.
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.
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:
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:
Als een enkel bestand is geselecteerd worden de besturingen van de
GUI
gevuld met de waarden gehaald uit de bestandsnaam. Als meerdere bestanden zijn geselecteerd worden de tags van de bestanden direct ingesteld volgens de bestandsnamen.
De widgets voor bewerking van regels voor
Titel,
Artiest,
Album,
Commentaar,
Datum,
Tracknummer
en
Genre
worden gebruikt om de overeenkomstige waarde in de eerste tag van de geselecteerde bestanden te bewerken. De waarde zal gewijzigd worden wanneer de bestandsselectie is gewijzigd of voor acties zoals
Opslaan
en
Afsluiten
en wanneer het overeenkomstige keuzevakje links van de veldnaam is geactiveerd. Dit is nuttig om alleen sommige waarden te wijzigen en de andere waarden ongewijzigd te laten.
Als een enkel bestand is geselecteerd, alle keuzevakjes zijn geactiveerd en widgets voor regelbewerking de waarden bevatten gevonden in de tags van dit bestand. Als een tag niet is gevonden in het bestand zal de overeenkomstige lege waarde worden getoond, wat een lege tekenreeks voor de regelbewerking
Titel,
Artiest,
Album
en
Commentaar, 0 voor de numerieke bewerkingen
Datum
en
Tracknummer
en en lege geselecteerde waarde voor de keuzelijst
Genre. De waarden kunnen gewijzigd worden en als het overeenkomstige keuzevakje is geactiveerd, zullen ze ingesteld worden voor het geselecteerde bestand nadat de selectie is gewijzigd. Het bestand is dan gemarkeerd als gemodificeerd door een schijfsymbool in de bestandenlijst maar blijft ongewijzigd totdat het commando
Opslaan
is gebruikt.
Als meerdere bestanden zijn geselecteerd worden alleen de waarden die identiek zijn in alle geselecteerde bestanden getoond. In alle andere besturingen worden de lege waarden getoond zoals boven beschreven. Alle keuzevakjes zijn niet geactiveerd om ongewenste wijzigingen te vermijden. Als een waarde ingesteld moet worden voor alle geselecteerde bestanden, kan deze worden bewerkt en het keuzevakje moet worden geactiveerd. De waarden zullen voor alle geselecteerde bestanden worden ingesteld wanneer de selectie is gewijzigd en kan worden opgeslagen met het commando
Opslaan.
De keuzevakjes besturen ook de bewerking van de meeste commando's met invloed op de tags, zoals kopiëren, plakken en overdracht tussen tags 1 en 2. Om het gemakkelijk te maken om dit met meerdere bestanden te gebruiken waar alle keuzevakjes niet geactiveerd zijn, gedragen deze commando's zich op dezelfde manier als wanneer alle keuzevakjes zijn geactiveerd en wanneer alle keuzevakjes niet zijn geactiveerd.
Uit tag 2: De velden voor tag 1 zijn ingesteld uit de overeenkomstige waarden in tag 2. Als een enkel bestand is geselecteerd worden de besturingen van de
GUI
gevuld met de waarden gehaald uit tag 2. Als meerdere bestanden zijn geselecteerd worden de tags van de bestanden direct ingesteld.
Kopiëren: de kopieerbuffer is gevuld met de waarden van Tag 1. Alleen waarden met geactiveerd keuzevakje zullen gebruikt worden in volgende plakken-commando's.
Plakken: Plakt de waarden uit de kipieerbuffer in de
GUI-besturing.
Verwijderen: Dit zal alle
GUI-besturingen instellen op hun lege waarden die resulteren in verwijderen van alle waarden. Het opgeslagen bestand zal dan geen tag 1 bevatten.
De
GUI- bestuurt de functie op dezelfde manier als beschreven voor de sectie
Tag 1, maar de grootte van de tekenreeksen is niet beperkt.
Voor
Genre
van tag 2 kunt u ook uw eigen namen gebruiken naast de genres getoond in de keuzelijst, typ de naam in de regel voor bewerking.
Tag 2 kan niet alleen dezelfde waarden bevatten als tag 1, het formaat is ingebouwd op een flexibele manier uit verschillende frames die zelf bestaan uit verschillende velden. De tabel voor tag 2 toont alle frames die beschikbaar zijn in het geselecteerde bestand.
Bewerken: dit zal een venster openen die u biedt het bewerken van alle velden van het geselecteerde frame. Als meerdere bestanden zijn geselecteerd worden de bewerkte velden toegepast op alle geselecteerde bestanden die zo'n frame bevatten.
Add: Een verzoeker om het frametype te selecteren dat zal verschijnen en een frame van het geselecteerde type kan bewerkt worden en toegevoegd aan het bestand. Dit werkt ook om een frame toe te voegen aan meerdere geselecteerde bestanden.
Verwijderen: verwijdert het geselecteerde frame in de geselecteerde bestanden.
Albumillustraties hier slepen
wordt getoond als het geen ingebedde hoesillustratie bevat. Er kan een afbeelding worden toegevoegd met slepen en loslaten uit een browser of bestandsbeheerder en zal hier getoond worden. Afbeeldingsframes kunnen bewerkt worden of toegevoegd door dubbel te klikken op deze besturing.
Sommige bestanden kunnen meer dan twe tags hebben en een derde tagsectie is zichtbaar. De volgende bestandstypes kunnen zo'n
Tag 3
sectie hebben:
De
GUI-besturing werkt op dezelfde manier als in de sectie
Tag 2.
Voor informatie gesynchroniseerd met de geluidsgegevens is een specifieke bewerker beschikbaar. Deze frames worden ondersteund voor ID3v2.3.0 en ID3v2.4.0 tags. Om zo'n frame toe te voegen moet de specifieke framenaam worden geselecteerd in de lijst die verschijnt wanneer op de knop
Toevoegen
wordt geklikt - respectievelijk
Gesynchroniseerde liedteksten
of
Tijdcodes van gebeurtenissen. De bewerker is hetzelfde voor beide typen, allen voor de tijdcodes van gebeurtenissen is een voorgedefinieerde set van gebeurtenissen beschikbaar terwijl voor de gesynchroniseerde liedteksten, er tekst moet worden ingevoerd. In het volgende wordt gesynchroniseerde liedteksten uitgelegd.
Een bestand met een ID3v2 tag is geselecteerd, de bewerker van liedteksten is gestart met
Toevoegen
en
Gesynchroniseerde liedteksten
is geselecteerd. Voor een bestaand frame gesynchroniseerde liedtekst wordt het geselecteerd wanneer op
Bewerken
wordt geklikt. De afspeler is automatisch geopend met het huidige bestand zodat het bestand afgespeeld en gepauzeerd kan worden om liedtekst te synchroniseren.
De instellingen bovenaan de SYLT bewerker hoeven normaal niet te worden gewijzigd. Als de liedtekst tekens bevat die niet aanwezig zijn in de tekenset Latin 1, is het wijzigen van de tekstcodering naar UTF16 (of UTF8 voor ID3v2.4.0) te adviseren. Voor Engelse liedtekst en maximale compatibiliteit zou ISO-8859-1 moeten worden gebruikt.
De sectie
Liedtekst
heeft bovenaan vijf knoppen.
Toevoegen
zal een nieuw tijdstip in de tabel toevoegen. De tijd wordt genomen van de positie van de afspeler, dus een item toevoegen tijdens afspelen van de track zal een regel voor de huidige positie van afspelen toevoegen. De tijdstippen in de tabel moeten chronologisch geordend zijn, de rij zal overeenkomstig ingevoegd worden. Items met een ongeldige tijd worden op een speciale maniet behandeld: Als de nu geselecteerde rij een ongeldige tijd bevat zal zijn tijdstip vervangen worden door de huidige tijd in plaats van het toevoegen van een nieuwe rij. Als de huidige tijd niet geldig is zal de eerst rij met een ongeldige tijd worden gebruikt als aanwezig. Dit gedrag zou toevoegen van tijdstippen moeten faciliteren als de liedtekst al in de tabel is maar de tijdstippen ontbreken (wat het geval is bij importeren van niet gesynchroniseerde liedtekst). merk op dat de ongeldige tijd wordt gerepresenteerd as 00:00.00,
d.w.z.
hetzelfde als de tijd aan het absolute begin van de track, die niet ongeldig is. Om een tijd ongeldig te maken, druk op de toets
Delete
of gebruik
Wissen
uit het contextmenu. Nieuwe rijen invoegen met
Rij invoegen
uit het contextmenu of aangemaakt bij importeren van niet gesynchroniseerde liedtekst met
Uit klembord
of
Importeren
bevatten ook ongeldige tijdstippen. Rijen in de tabel kunnen verwijderd worden door te klikken op de knop
Verwijderen
of door
Rijen verwijderen
te gebruiken uit het contextmenu.
Gesynchroniseerde liedtekst kan geïmporteerd worden uit een bestand met
Importeren. Het verwachte formaat is eenvoudig of verbeterde LRC. Als het geselecteerde bestand geen vierkant haakje in de eerste regel bevat, wordt er verondesteld dat het een eenvoudig tekstbestand is met niet gesynchroniseerde liedtekst. De regels uit zo'n bestand worden dan geïmporteerd met ongeldige tijdstippen. De tijdinformatie kan toegevoegd worden met de knop
Toevoegen
of door handmatig invoeren. Het is ook mogelijk liedtekst te importeren via kopiëren-plakken met
Uit klembord. Gesynchroniseerde liedtekst kan geschreven worden naar LRC-bestanden met
Exporteren. Merk op dat alleen items met geldige tijdstippen geëxporteerd zullen worden en dat de items gesorteerd zullen zijn op tijden. Items met een ongeldige tijd zullen ook niet opgeslagen worden in het SYLT-frame, ga dus na dat alle tijdinformatie is ingevoegd alvorens de dialoog te verlaten.
De
m[blue]ID3-specificatiem[]
Terwijl de track wordt afgespeeld wordt de rij behorende bij de nu spelende positie geaccentueerd, zodat de juistheid van de synchronisatie-informatie geverifieerd kan worden. Als een offset toegevoegd moet worden aan een of meer tijdstempels, dan kan dat gedaan worden met het contextmenu
Offset toevoegen. Negatieve waarden kunnen gebruikt worden om de tijd te verminderen. Met
Naar positie spoelen
in het contextmenu is het mogelijk om de afspeelpositie op de tijd van de geselecteerde rij in te stellen.
Aanbevolen procedure om nieuwe gesynchroniseerde liedtekst toe te voegen
Bestandslijst
[6]
suggereert een tijdstempel voor elke lettergreep. De meeste spelers ondersteunen echter de opsplitsing in een regel of zin. Om beide soorten van gebruik te ondersteunen volgt
Kid3
dezelfde conventies als de
m[blue]SYLT-bewerkerm[][7]. Van tekst die is ingevoerd in de tabel wordt aangenomen te beginnen op een nieuwe regel tenzij dit begint met een spatie of a minteken. Uitzonderingen op deze regel zijn mogelijk door een regel te beginnen met een underscore ('_') om voortzetting af te dwingen of een hekje-teken ('#') om een nieuwe regel af te dwingen. Deze escape-tekens worden niet opgeslagen binnen het SYLT-frame. Binnen het SYLT-frame beginnen nieuwe regels met een teken line-feed (hex 0A) terwijl voortzettingen dat niet doen. Bij lezen van SYLT-frames controleert
Kid3
of het eerste item begint met een line-feed. Als dat niet het geval is wordt aangenomen dat alle items nieuwe regels zijn en dat geen lettergreepvoortzettingen worden gebruikt.
Bestand → Openen... (Ctrl+O)
Bestand → Recent geopend
Bestand → Map openen... (Ctrl+D)
Bestand → Herladen (F5)
Bestand → Opslaan (Ctrl+S)
Bestand → Ongedaan maken
Bestand → Importeren...
Importeren van een freedb.org server is mogelijk met een dialoog die verschijnt wanneer Uit server: gnudb.org of TrackType.org wordt geselecteerd. De te zoeken artiest en albumnaam kan ingevoerd worden in de twee bovenste velden, de albums die overeenkomen met de zoekopdracht zullen getoond worden wanneer op Zoeken is geklikt en de resultaten uit m[blue]www.gnudb.orgm[][8] zijn ontvangen. De trackgegevens importeren voor een album wordt gedaan door te dubbelklikken op het album in de lijst. De freedb.org server om uit te importeren kan geselecteerd worden evenals het CGI-pad. De geïmporteerde gegevens worden getoond in de voorbeeldtabel van de importdialoog. Wanneer u tevreden bent met de getoonde tracks, kunnen ze geïmporteerd worden door de importdialoog te beëindigen met OK.
Zoek op de Discogs-server kan gedaan worden met Discogs. Zoals in de dialoog gnudb.org kunt u artiest en album invoeren en daarna kiezen uit een lijst met uitgaven. Als Standaard tags is geactiveerd, zal de standaard informatie worden geïmporteerd, bijv. artiest, album en titel. Als Additionele tags is geactiveerd, zal meer informatie worden geïmporteerd indien beschikbaar, bijv. uitvoerders, arrangeurs of de uitgever. Als Hoesillustratie is geactiveerd zal de hoesillustratie worden gedownload indien beschikbaar.
Zoek op Amazon kan gedaan worden met Amazon. Zoals in de dialoog gnudborg kunt u artiest en album invoeren en daarna kiezen uit een lijst met uitgaven. Als Additionele tags is geactiveerd, zal meer informatie worden geïmporteerd indien beschikbaar, bijv. uitvoerders, arrangeurs of de uitgever. Als Hoesillustratie is geactiveerd zal de hoesillustratie worden gedownload indien beschikbaar.
U kunt op dezelfde manier in de uitgavedatabase van MusicBrainz zoeken met Uit MusicBrainz-uitgaven. De wijze van werken is hetzelfde als beschreven voor Uit gnudb.org.
Importeren uit een MusicBrainz server is mogelijk met de dialoog die verschijnt wanneer Uit MusicBrainz Fingerprint wordt geselecteerd. De server kan geselecteerd worden zoals in de freedb importdialog. Onderstaand wordt een tabel getoond met de geïmporteerde trackgegevens. De rechter kolom toont de status van de vraag aan MusicBrainz, die begint met "Pending" wanneer de dialoog wordt geopend. Daarna wordt de fingerprint opgezocht en als het geen resultaat oplevert, wordt een andere zoekopdracht met de tags in het bestand geprobeerd. Het kan dus helpen voor een succesrijke zoekopdracht van MusicBrainz om bekende informatie (bijv. artiest en album) in de tags op te slaan voor het importeren. Als een resultaat is gevonden eindigt het zoeken in de status "Herkend", anders was er niets gevonden of meerdere meervoudige resultaten en een van hen moet geselecteerd worden door de gebruiker. OK en Toepassen gebruiken de geïmporteerde gegevens, Annuleren sluit de dialoog. Het sluiten kan even duren omdat de gehele MusicBrainz machinery afgesloten moet worden.
Voor het importeren van tekstuele gegevens, Uit bestand/klembord opent een subdialoog, waar verschillende vooraf geconfigureerde importformaten beschikbaar zijn. De eerste twee, "CSV unquoted" en "CSV quoted" kunnen gebruikt worden om gegevens te importeren die zijn geëxporteerd door de dialoog Exporteren. De CSV gegevens kunnen bewerkt worden met een spreadsheet en moeten weggeschreven worden mat tabs als scheidingstekens. Importeren zou dan mogelijk moeten zijn met "CSV quoted", wat flexibeler is dan "CSV unquoted". De velden mogen geen enkel aanhalingsteken bevatten. Als u alleen exporteert vanuit Kid3 en later importeert, kan "CSV unquoted" gebruikt worden als een eenvoudig formaat voor dit doel. Merk op dat er ook comamndo's "Exporteer CSV" en "Importeer CSV" zijn in het contextmenu van de bestandenlijst, die scripts gebruiken om CSV gegevens te exporteren en te importeren in een meer volledige, krachtige en flexibele manier.
Het volgende formaat, "freedb HTML tekst", kan gebruikt worden om informatie te kopiëren uit een HTML pagina van m[blue]freedb.orgm[][9]. Zoek naar een album in freedb en als de gewenste informatie wordt getoond in de webbrowser, kopieer de inhoud naar het klembord. Klik daarna op de knop Uit klembord en de geïmporteerde tracks zullen getoond worden in de voorbeeldtabel bovenaan de dialoog. Als u tevreden bent met de geïmporteerde gegevens, beëindig dan de dialoog met OK, die de gegevens in zal voegen in de tags van de huidige map. De bestemming (Tag 1, Tag 2 of Tag 1 en Tag 2) kan geselecteerd worden met een keuzelijst. De bestanden in de huidige map zouden in de juiste trackvolgorde moeten zijn om hun tags toegekend te krijgen. Dit is het geval als ze genummerd zijn.
Het volgende vooraf geconfigureerde importformaat, "freedb HTML source", kan gebruikt worden als de gegevens beschikbaar zijn als een HTML document. Importeren is mogelijk met de knop Uit bestand, die een bestandskeuze opent of zijn inhoud uit een bewerker kopieert en dan importeert uit het klembord. Dit formaat kan nuttig zijn voor offline importeren, hoewel het HTML document ook geopend kan worden in een browser en daarna geïmporteerd in het eerste formaat via het klembord.
Meer vooraf geconfigureerde formaten, bijv. "Track Title Time", zijn beschikbaar. Een leeg aangepast formaat kan aangemaakt worden met Toevoegen om ingesteld te worden door de gebruiker. Twee regels onder de naam van het formaat kan met een reguliere expressie ingesteld worden om de velden te vangen uit de geïmporteerde tekst. De eerste reguliere expressie zal eenmaal ontleed worden per document om per-album gegevens zoals artiest, album, jaar en genre te verzamelen. Met de tweede regel wordt geprobeerd om van het begin van het document tot het eind trackgegevens te verkrijgen, gewoonlijk nummer en titel. De reguliere expressies bevatten alle mogelijkheden geboden door Qt(TM), wat het meeste is van wat Perl biedt. Constructies met haakjes "(..)" vangen buffers voor de te importeren velden en worden vooraf gegaan door specifieke codes Kid3 van Kid3 om te specificeren welke velden te vangen. De codes zijn hetzelfde als gebruikt voor het bestandsnaamformaat, naast de codes onderstaand weergegeven, elke framenaam is mogelijk:
Bijvoorbeeld, een track reguliere expressie (tweede regel) om te importeren uit een .m3u afspeellijst zou kunnen zijn "%{track}(\d+)\s+%{title}(\S[^\r\n]*)\.mp3[\r\n]". Alle formaten kunnen gewijzigd worden door de reguliere expressies en de naam te bewerken en dan op Instellingen opslaan te klikken. Ze zullen opgeslagen worden in het bestand kid3rc in de configuratiemap. Dit bestand kan direct bewerkt worden om meer importformaten te bevatten of het kan verwijderd worden om de standaard formaten te herstellen. Formaten kunnen verwijderd worden met Verwijderen.
Nauwkeurigheid toont een schatting van hoe goed de geïmporteerde informatie overeenkomt met de gegeven tracks. Het gebruikt duur van de track of bestandsnamen om het niveau van gelijkheid in procenten te berekenen. Hoesillustratie toont de URL van de albumhoesafbeelding die gedownload zal worden.
Om te controleren of de geïmporteerde tracks overeenkomen met de huidige set bestanden, kan de duur van de geïmporteerde tracks vergeleken worden met de duur van de bestanden. Deze optie kan ingeschakeld worden met het keuzevak Maximaal toegestane tijdsverschil (sec) controleren: en het maximaal toegestane verschil in tijd kan ingesteld worden in seconden. Als er een verschil in lengte wordt gedetecteerd, zal de lengte getoond worden met een rode achtergrond in de voorbeeldtabel.
Als de bestanden anders geordend zijn dan de geïmporteerde tracks, moeten hun toegekende tracks gewijzigd worden. Dezse taak kan gedaan worden met de optie Overeenkomen met met de knoppen Lengte, Track en Titel, die de tracks opnieuw zullen ordenen volgens het overeenkomstige veld. Om de toekenningen handmatig te corrigeren, kan een track versleept worden met de linker muisknop en ingedrukt houden van de toets Ctrl en losgelaten op de nieuwe locatie.
Wanneer de importdialoog is geopend, bevat deze de actuele inhoud van de tags. Het type tag (Tag 1, Tag 2, Tag 1 en Tag 2) kan geselecteerd worden met de keuzelijst Bestemming. De knop rechts van deze keuzelijst kan gebruikt worden om de tabel terug te draaien naar de huidige inhoud van de tags. De keuzevakjes in de eerste kolom van de tabel kan gebruikt worden om de geïmporteerde tracks te selecteren. Dit kan nuttig zijn als een map de tracks van beide CDs van een dubbel CD bevat en alleen de tracks van de tweede CD geïmporteerd moeten worden.
Om de tracks die zijn geïmporteerd te identificeren is het mogelijk de bestandsnamen te tonen of de volledige paden naar de bestanden met het contextmenu van de kop van de tabel. De waarden in de importtabel kunnen bewerkt worden. De terugdraai-knop rechts van de keuzelijst Bestemming kan gebruikt worden om de inhoud van de tags te herstellen, wat ook nuttig kan zijn na wijzigen van de Bestemming.
Bijna alle dialoogfuncties hebben een knop Instellingen opslaan, die gebruikt kan worden om de instellingen specifiek voor de dialoog en de venstergrootte blijvend opslaan.
Uit tags leidt tot een subdialoog om tagframes in te stellen uit de inhoud van andere tagframes. Dit kan gebruikt worden om eenvoudig informatie tussen tags te kopiëren of een deel te halen uit een frame en in te voegen in een ander.
Zoals in de dialoog uit bestand/klembord importeren zijn er vrij te configureren formaten om verschillende bewerkingen uit te voeren. Reeds voorgeconfigureerd zijn formaten om de albumwaarde naar albumartiest, -componist of -dirigent te kopiëren en om het tracknummer uit titelvelden met een getal te halen. Er is ook een formaat om een ondertitel uit een titelveld te halen.
Het volgende voorbeeld legt uit hoe een aangepast formaat toe te voegen, die de informatie uit het ondertitelveld ook in het commentaarveld zet. Maak een nieuw formaat met knop Toevoegen aan en stel een nieuwe naam in, bijv. "Ondertitel naar commentaar". Voer daarna "%{subtitle}" in in Bron en "%{comment}(.*)" voor Extractie en klik op Instellingen opslaan.
De expressie in Bron kan formaatcodes bevatten voor willekeurige tagframes, meerdere codes kunnen gebruikt worden om de inhoud van verschillende frames te combineren. Voor elke track wordt een tekst gegenereerd uit zijn tags met het Bron-formaat en de reguliere expressie uit Extractie wordt toegepast op deze tekst om nieuwe waarden voor de tags in te stellen. Formaatcodes worden gebruikt voor de vanghaakjes om het tagframe te specificeren waar de gevangen tekst opgeslagen zal worden. Het werkt op dezelfde manier als voor de uit bestand/klembord importeren.
Uit tags importeren... is ook direct beschikbaar vanuit het menu Bestand. Het verschil tussen deze twee functies is dat de importdialoogsubdialoog werkt op alle bestanden van de huidige map terwijl de menufunctie werkt op de geselecteerde bestanden (die in verschillende mappen kunnen zitten). De menufunctie ondersteunt een extra code "%{__return}" om de geëxtraheerde waarde terug te geven, die nuttig kan zijn met de CLI en QML-interfaces.
Bestand → Uit gnudb.org importeren...
Bestand → Uit TrackType.org importeren...
Bestand → Uit Discogs importeren...
Bestand → Uit Amazon importeren...
Bestand → Uit MusicBrainz Release importeren...
Bestand → Uit MusicBrainz Fingerprint importeren...
Bestand → Uit tags importeren...
bestand → Automatisch importeren...
Het type tag (Tag 1, Tag 2, Tag 1 en Tag 2) kan geselecteerd worden met de keuzelijst Bestemming.
Profielen bepalen met welke servers contact gemaakt word om albuminformatie op te halen. Sommige profielen zijn voorgedefinieerd (All, MusicBrainz, Discogs, Cover Art), aangepaste profielen kunnen toegevoegd worden met de knop Toevoegen rechts van de keuzelijst Profiel.
De ondersteunde tabel toont de servers die gebruikt zullen worden bij het importeren van albuminformatie met het geselecteerde profiel. Het importproces voor een album is beëindigd als alle vereiste informatie is gevonden, de volgorde van de rijen in de tabel is belangrijk. Deze kan gewijzigd worden met de knoppen Omhoog verplaatsen en Omlaag verplaatsen. Bewerken kan gebruikt worden om een bestaand item te wijzigen. De selectie van Server biedt dezelfde servers als gebruikt kan worden in de importeerfuncties. Standaard tags, EXtra tags, Hoesillustraties bepalen de informatie die opgehaals zou moeten worden van de server. Nauwkeurigheid, tenslotte, is de minimale nauwkeurigheid die bereikt moet worden om de geïmporteerde gegeven te accepteren. Als de nauwkeurigheid onvoldoende is, zal de volgende server in the lijst worden geprobeerd. Dezelfde dialoog met de servereigenschappen verschijnt wanneer op Toevoegen wordt geklikt om een nieuwe server toe te voegen. Bestaande items kunnen verwijderd worden met Verwijderen.
Om een automatische bulkimport te starten met het geselecteerde profiel, klik op Start. Details over de gaande import worden getoond bovenaan de dialoog. Het proces kan afgebroken worden met de knop Afbreken.
Bestand → Bladeren in hoesillustraties...
Omdat niet alle browsers slepen en laten vallen van afbeeldingen ondersteunen en de afbeeldingen op websites vaak een URL hebben zal in zulke gevallen Kid3 de URL ontvangen en niet de afbeelding. Als de URL naar een afbeelding wijst zal het gedownload worden. Als de URL echter verwijst naar een andere webbron, zal het vertaald worden naar de overeenkomstige afbeelding. Zulke koppelingen zijn gedefinieerd in de tabel URL-extractie. De linker kolom Overeenkomst bevat een reguliere expressie die vergeleken zal worden met de URL. Als deze overeenkomt zullen de gevangen expressies in haakjes ingevoegd worden in het patroon in de rechter kolom URL van afbeelding (op de posities gemarkeerd met \1 etc.). De vervangen reguliere expressie bevat de URL van de afbeelding. Op deze manier kunnen hoesillustraties deïmporteerd worden uit Amazon, Google Images, etc. met slepen en laten vallen. Het is ook mogelijk om uw eigen koppelingen te definiëren.
Bestand → Exporteren...
De formaatinstellingen zijn gelijk aan die in de importdialoog: Het bovenste veld bevat de titel (bijv. "CSV unquoted"), gevolgd door de kop, die gegenereerd zal worden aan het begin van het bestand. De trackgegevens volgen; het wordt voor elke track gebruikt. De trailer kan, tenslotte, gebruikt worden om enige afsluitende tekst te genereren.
De formaatvelden bevatten geen reguliere expressies zoals in de importdialoog, maar alleen uitvoerformaatexpressies met speciale %-expressies, die vervangen zullen worden door waarden uit de tags. Het geheel werkt zoals het bestandsnaamformaat en dezelfde codes worden gebruikt plus enige extra codes. Niet alleen de codes uit de onderstaande lijst maar alle tagframenamen kunnen gebruikt worden.
Een paar formaten zijn voorgedefinieerd. "CSV unquoted" scheidt de velden met tabs. Gegevens in dit formaat kunnen opnieuw geïmporteerd worden in Kid3 met het importformaat met dezelfde naam. "CSV quoted" omsluit de velden bovendien door aanhalingstekens, die het importeren in rekenbladen vergemakkelijken. De velden mogen geen enkel aanhalingsteken bevatten wanneer dit formaat wordt gebruikt. "UItgebreide M3U" en "Uitgebreide PLS" genereren afspeellijsten met uitgebreide attributen en absolute padnamen. "HTML" kan gebruikt worden om een HTML pagina te genereren met hyperlinks naar de tracks. "Kover XML" maakt een bestand aan die geïmporteerd kan worden door het programma Kover voor afdrukken van hoezen. "Technische details" biedt informatie over bitsnelheid, samplesnelheid, kanalen, etc. "Aangepast formaat", tenslotte is leeg gelaten voor definitie van een aangepast formaat. U kunt meer eigen formaten definiëren door regels in het bestand kid3rc in de configuratiemap toe te voegen. De andere formaten kunnen aan uw behoeften worden aangepast.
De Bron van de tags om de exportgegevens te genereren, (Tag 1 of Tag 2) kunnen geselecteerd worden met een keuzelijst. Wegzetten Naar bestand of Naar klembord slaat de gegevens op in een bestand of in het klembord. OK en Annuleren sluiten de dialoog, waar OK accepteert de huidige dialooginstellingen.
Bestand → Afspeellijst aanmaken...
De naam van de afspeellijst kan zijn Hetzelfde als de mapnaam of een Formaat gebruiken met waarden uit de tags, bijv. "%{artist} - %{album}" om de artiest en albumnaam in de naam van de afspeellijst te hebben. De formaatcodes zijn hetzelfde als voor Exporteren. Nieuwe lege afspeellijst aanmaken zal een lege afspeellijst aanmaken met de gegeven naam. De extensie hangt af van het afspeellijstformaat.
De locatie van de gegenereerde afspeellijst wordt bepaald door de selectie uit het keuzelijst Aanmaken in.
Huidige map
Elke map
Hoogste niveau map
Het Formaat van de afspeellijst kan zijn M3U, PLS of XSPF.
Als Alleen de geselecteerde bestanden is geactiveerd, zullen alleen de geselecteerde bestanden meegenomen worden in de afspeellijst. Als een map is geselecteerd, zullen alle bestanden erin worden geselecteerd. Als dit keuzevak niet is geactiveerd worden alle geluidsbestanden ingevoegd in de afspeellijst.
Op bestandsnaam sorteren selecteert het gebruikelijke geval waar de bestanden geordend zijn op bestandsnaam. Met Op tagveld sorteren is het mogelijk om te sorteren op een formaattekenreeks met waarden uit tagvelden. Bijvoorbeeld, "%{track.3}" kan gebruikt worden om te sorteren op tracknummer (".3" wordt gebruikt om drie cijfers met voorloopnullen te krijgen omdat tekenreeksen gebruikt worden voor sorteren). Het is ook mogelijk meerdere velden te gebruiken, bijv. "%{genre}%{year}" om te sorteren met een tekenreeks bestaande uit genre en jaar.
De afspeellijstitems zullen relatieve of absolute bestandspaden hebben afhankelijk van of Relatief pad voor bestanden in afspeellijst gebruiken of Volledig pad voor bestanden in afspeellijst gebruiken is ingesteld.
Wanneer Alleen lijst van bestanden schrijven is ingesteld, zal de afspeellijst alleen de paden naar de bestanden bevatten. Om een uitgebreide afspeellijst met extra informatie te genereren, kan een formaattekenreeks worden ingesteld met de besturing Informatie schrijven met.
Bestand → Afsluiten (Ctrl+Q)
Bewerken → Alles selecteren (Alt+A)
Bewerken → Selecteren ongedaan maken (Ctrl+Shift+A)
Bewerken → Alles in map selecteren
Bewerken → Vorig bestand (Alt+Up)
Bewerken → Volgend bestand (Alt+Down)
Bewerken → Zoeken... (Ctrl+F)
Bewerken → Vervangen... (Ctrl+R)
Afhankelijk van het aantal bestanden kan het zoeken enige tijd duren, daarom kan het afgebroken worden door de dialoog te sluiten.
Hulpmiddelen → Bestandsnaamformaat
Hulpmiddelen → Tagformaat toepassen
Hulpmiddelen → Tekst-codering toepassen
Hulpmiddelen → Map hernoemen...
Als een scheidingsteken voor mappen "/" wordt gevonden in het formaat, worden meerdere mappen aangemaakt. Als u een nieuwe map wilt aanmaken in plaats van de huidige map te hernoemen, selecteer dan in het keuzevakje Actie Map aanmaken in plaats van Map hernoemen. De Bron van de taginformatie kan gekozen worden tussen Tag 1 en Tag 2, Tag 1 en Tag 2. Een voorbeeld voor de hernoembewerking uitgevoerd op het eerste bestand is te zien in de secties Van en Naar van de dialoog.
Meerdere mappen kunnen hernoemd worden door ze te selecteren.
hulpmiddelen → Tracks nummeren...
Wanneer Totaal aantal tracks is geactiveerd zal het aantal tracks ook ingesteld worden in de tags.
Het is mogelijk de tracks over meerdere mappen te nummeren. De mappen moeten uitgevouwen worden en geselecteerd.
Als Teller resetten voor elke map is geactiveerd, wordt de nummering van tracks herstart met het gegeven nummer voor elke map wanneer meerdere mappen zijn geselecteerd.
De dialoog aantal tracks kan ook gebruikt worden om bestaande tracknummers te formatteren zonder de waarden te wijzigen wanneer het keuzevakje Startnummer is gedeactiveerd. Het totaal aantal tracks zal toegevoegd worden als het bijbehorende keuzevakje actief is, die gebruikt kan worden om het totaal voor alle geselecteerde tracks in te stellen. Als alleen formattering van de bestaande nummers is gewenst, kan dit keuzevakje ook gedeactiveerd worden.
`Hulpmiddelen → Filter...
Deze codes worden vervangen door de waarden voor het bestand en de resulterende tekenreeksen kunnen vergeleken worden met de volgende bewerkingen:
Expressies die waar zijn worden vervangen door 1, onwaar door 0. Waarden waar worden gerepresenteerd door 1, true, on en yes, onwaar waarden door 0, false, off en no. Boolean-operaties zijn niet, en, of (in deze volgorde van voorrang) en kunnen gegroepeerd worden door ronde haakjes.
Sommige filterregels zijn voorgedefinieerd en kunnen dienen als voorbeelden voor uw eigen expressies:
Alles
Bestandsnaamtag verschilt
Tests of het bestandspad overeenkomt met het bestandsnaamformaat. Deze regel wordt automatisch aangepast als het bestandsnaamformaat wijzigt.
Geen tag 1
Toont alleen bestanden die geen tag 1 hebben.
Geen tag 2
Toont alleen bestanden die geen tag 2 hebben.
ID3v2.3.0 Tag
Toont alleen bestanden die een ID3v2.3.0 tag hebben.
ID3v2.4.0 Tag
Toont alleen bestanden die een ID3v2.4.0 tag hebben.
Tag 1 != Tag 2
Toont bestanden met verschillen tussen tag 1 en tag2.
Tag 1 == Tag 2
Toont bestanden met identieke tag 1 en tag 2.
Onvolledig
Toont bestanden met lege waarden in de standaard tags (titel, artiest, album, datum, tracknummer, genre).
Geen afbeelding
Toont alleen bestanden die geen afbeelding hebben.
Gemarkeerd
Toont alleen bestanden die zijn gemarkeerd omdat ze niet voldoen aan de ID3 standaard, zijn afgekapt of de afbeelding te groot is.
Eigen filter
%{artist} matches "The.*"
Klik daarna op Instellingen opslaan. Klik op Toepassen om de bestanden te filteren. Alle bewerkte bestanden worden getoond in de tekstweergave, met een "+" voor diegenen die overeenkomen met het filter en een "-" voor de anderen. Na beëindiging zullen alleen de bestanden met een artiest die begint met "The" getoond worden en de venstertitel is gemarkeerd met "[gefilterd]".
Hulpmiddelen → ID3v2.3 naar ID3v2.4 converteren
Hulpmiddelen → ID3v2.4 naar ID3v2.3 converteren
Hulpmiddelen → Afspelen
Instellingen → Werkbalk tonen
Instellingen → Statusbalk tonen
Instellingen → Afbeelding tonen
Instellingen → Automatisch tags verbergen
Instellingen → Sneltoetsen instellen...
Instellingen → Kid3 configureren...
Specifieke opties voor tags zijn te vinden op de pagina Tags, die zelf gescheiden zijn in vier tabbladen voor Tag 1, Tag 2, Tag 3 en Alle tags.
Als Ingekorte velden markeren is geactiveerd, zullen ingekorte ID3v1.1 velden rood worden gemarkeerd. De tekstvelden van ID3v1.1 tags kunnen slechts 30 tekens hebben, het commentaar slechts 28 tekens. Ook het genre en de tracknummers zijn beperkt, zodat velden ingekort kunnen worden bij importeren of overgezet uit ID3v2. Ingekorte velden ed het bestand zullen rood gemarkeerd worden en de markering zal verwijder worden nadat het veld is bewerkt.
Bij Tekstcodering voor ID3v1 is het mogelijk om de tekenset gebruikt in ID3v1 tags in te stellen. Deze codering wordt verondersteld ISO-8859-1 te zijn, het is dus aanbevolen om deze standaard waarde te behouden. Er zijn tags in gebruik met een verschillende codering, het kan dus hier ingesteld worden en de ID3v1 tags kunnen dan gekopieerd worden naar ID3v2 die Unicode ondersteunt.
Het keuzevakje Track/totaal aantal tracks-formaat bestuurt of het veld tracknummer van ID3v2 tags eenvoudig het tracknummer bevat of extra het totaal aantal tracks in de map.
Wanneer Genre als tekst in plaats van numerieke tekenreeks is geactiveerd, zullen alle ID3v2 genres opgeslagen worden als een teksttekenreeks zelfs als er een overeenkomende code is voor ID3v1-genres. Als deze optie niet is ingesteld, worden genres waarvoor een ID3v1-code bestaat opgeslagen als het nummer van de genrecode (in haakjes voor ID3v2.3). Dus het genre Metal wordt opgeslagen als "Metal" of "(9)" afhankelijk van deze optie. Genres die niet in de lijst met ID3v1 genres staan worden altijd opgeslagen als een teksttekenreeks. Het doel van deze optie is verbeterde compatibiliteit met apparaten die niet juist genrecodes interpreteren.
Wanneer WAV-bestanden met kleine letters id3-chunk is geactiveerd, zullen de RIFF-chunk, gebruikt om ID3v2 tags in WAV-bestanden op te slaan, "id3 " worden genoemd in plaats van "ID3 ". Kid3 en andere toepassingen, die TagLib gebruiken, accepteren zowel de kleine letters als de hoofdletter variant bij lezen van WAV-bestanden, maar ze gebruiken "ID3 " bij schrijven van ID3v2 tags naar WAV-bestanden. Omdat er andere toepassingen zijn die alleen "id3 " accepteren (bijv. JRiver Media Center en foobar2000), deze optie kan gebruikt worden om tags aan te maken die gelezen kunnen worden door zulke toepassingen.
Wanneer Standaard schending markeren is geactiveerd, ID3v2-velden, die de standaard schenden zullen in rood gemarkeerd worden. Details over de schending worden getoond in een tekstballon:
De ID3 standaarddocumenten zijn online beschikbaar:
Tekstcodering definieert de standaard codering gebruikt voor ID3v2 frames en kan ingesteld worden op ISO-8859-1, UTF16 of UTF8. UTF8 is niet geldig voor ID3v2.3.0 frames; indien het is ingesteld zal in plaats daarvan UTF16 worden gebruikt. Voor ID3v2.4.0 frames zijn alle drie coderingen mogelijk.
Versie gebruikt voor nieuwe tags bepaalt of nieuwe ID3v2 tags aangemaakt worden als versie 2.3.0 or 2.4.0.
Tracknummercijfers is het aantal cijfers in velden voor tracknummers. Voorloopnullen worden gebruikt voor opvulling. Met een waarde 2 zal het tracknummer 5 ingesteld worden als "05".
De keuzelijst Naam commentaarveld is alleen relevant voor Ogg/Vorbis en FLAC bestanden en stelt de naam van het veld gebruikt voor commentaar in. Verschillende toepassingen schijnen verschillende namen te gebruiken, "COMMENT" wordt gebruikt door XMMS, terwijl Amarok "DESCRIPTION" gebruikt.
Het formaat van afbeeldingen in Ogg/Vorbis bestanden wordt bepaald door Naam afbeeldingsveld, die "METADATA_BLOCK_PICTURE" of "COVERART" kan zijn. De eerste is de officiële standaard en gebruikt hetzelfde formaat als afbeeldingen in FLAC tags. "COVERART" is een vroegere onofficiële manier om afbeeldingen in Vorbis commentaar in te voegen. Het kan gebruikt worden voor compatibiliteit met oudere afspelers.
Als het keuzevakje Markeren indien groter dan (bytes) is geactiveerd, zullen bestanden die ingebedde albumhoesillustraties die over de gegeven grootte in bytes gaan gemarkeerd worden in rood. Dit kan gebruikt worden om bestanden te vinden met te grootte afbeeldingen die niet geaccepteerd worden door sommige toepassingen en spelers. De standaard waarde is 131072 bytes (128 kB).
Aangepaste genres kan gebruikt worden om genres te definiëren, die niet beschikbaar zijn in de standaard genrelijst, bijv. "Gothic Metal". Zulke aangepaste genres zullen in het afrolvak Genre van Tag 2 verschijnen. Voor ID3v1.1 tags, kunnen slechts de voorgedefinieerde genres gebruikt worden.
De lijst met aangepaste genres kan ook gebruikt worden om het aantal genres beschikbaar in het afrolvak Genre tot die typisch worden gebruikt. Als uw verzaling het meest bestaat uit muziek in de genres Metal, Gothic Metal, Ancient en Hard Rock, dan kunt u die genres invoeren en Alleen aangepaste genres tonen markeren. Het afrolvak Tag 2 Genre zal dan alleen deze vier genres bevatten en u zult er niet naar hoeven zoeken in de complete lijst met genres ervoor. In dit voorbeeld zullen alleen Metal en Hard Rock getoond worden in lijst met de tag 1 genres, omdat deze twee aangepaste items in genre standaard zijn in genres. Als Alleen aangepaste genres tonen niet actief is, zijn de aangepaste genres te vinden aan het eind van de lijst met genres.
Frames met snelle toegang definieert welke frametypen altijd getoond worden in de sectie Tag 2. Zulke frames kunnen dan toegevoegd worden zonder eerst de knop Toevoegen te gebruiken. De volgorde van deze frames met snelle toegang kan gewijzigd worden door slepen en loslaten van items.
De keuzelijst Veldnaam van tracknummer is alleen relevant voor RIFF INFO en stelt de naam van het veld gebruikt voor tracknummers in. Tracknummers zijn niet in de originele RIFF-standaard gespecificeerd, er zijn toepassingen die "ITRK" gebruiken, anderen gebruiken "IPRT".
Tagformaat bevat opties voor het formaat van de tags. Wanneer Formaat automatisch toepassen is geactiveerd wordt de formaatconfiguratie automatisch gebruikt bij bewerken van tekst in de regelbewerking. Validatie schakelt het valideren in in de besturing met waarden voor track/totaal en datum/tijd. De Conversie van hoofd/kleine letters kan ingesteld worden op Geen wijzigingen, Alles kleine letters, Alles hoofdletters, Eerste letter hoofdletter of Alle eerste letters hoofdletters. Om conversie tussen kleine en hoofdletters rekening houdend met de taalcode, kan een taalcode geselecteerd worden in de onderstaande keuzelijst. De vervangingslijst voor tekenreeksen kan ingesteld worden op willekeurige tekenreeksovereenkomsten. Om een nieuwe overeenkomst toe te voegen, selecteer de cel Van van een rij en voeg de te vervangen tekst in, ga daarna naar de kolom Naar en voer de vervangende tekst in. Wanneer de vervangende tekst begint of eindigt met een slash ("/"), wordt een reguliere expressie gebruikt. Voor reguliere expressies met vangstgroepen, worden \1, \2, ... in Naar vervangen door de tekenreeks gevangen door de overeenkomstige vangstgroep. Om een overeenkomstset te verwijderen geef de cel Van een lege waarde (e.g. door eerst een spatie te typen en daarna een backspace). Invoegen en verwijderen van rijen is ook mogelijk met een contextmenu die verschijnt wanneer de rechter muisknop wordt ingedrukt. Vervangen is alleen actief, als het keuzevak Tekenreeksvervanging is geactiveerd.
De tabel in Waardering bevat de overeenkomst van sterwaardering naar de effectieve waarden opgeslagen in de tag. De frames met informatie over waardering staan in de lijst in de rij Waardering van de framelijst. Voor deze frames kan de waardering ingesteld worden door een aantal sterren uit vijf sterren te geven. Verschillende tagformaten en verschillende toepassingen gebruiken verschillende waarden om overeenkomst tussen de sterwaardering en de waarde opgeslagen in de tag te definiëren. Om het juiste aantal sterren te tonen zal Kid3 de overeenkomst in deze tabel opzoeken. De sleutel om de overeenkomst op te zoeken is de framenaam, bijvoorbeeld "RATING" wordt gebruikt voor Vorbis commentaar of "IRTD" voor RIFF INFO. Voor ID3v2 tags wordt een gecombineerde sleutel gebruikt bestaande uit de frame-ID "POPM" van het Popularimeterframe en zijn "Email"-veld, gescheiden door een punt. Daarom bestaan er verschillende sleutels voor ID3v2, e.g. "POPM.Windows Media Player 9 Series" voor de overeenkomst gebruikt door Windows Media Player en Explorer en eenvoudig "POPM" voor POPM-frames met een leeg "Email"-veld. Omdat er meerdere items voor "POPM" kunnen bestaan, is hun volgorde belangrijk. Wanneer Kid3 een nieuw Popularimeterframe oevoegt, zal het het eerste "POPM"-item gebruiken om de waarde te bepalen om te schrijven in het "Email"-veld. Deze vwaarde zal dan de te gebruiken overeenkomst specificeren voor sterwaarderingen. Het eerste item wordt ook gebruikt als er geen sleutel is gevonden, het is daarom het standaard item.
Naast de kolom Naam met de sleutels, heeft de tabel kolommen 1 tot 5 om het overeenkomstige aantal sterren op te slaan dat is gegeven. Op de andere manier bepaalt het aantal sterren die getoond worden voor de waarde opgeslagen in het frame. De onderstaande rij in de tabel, bijvoorbeeld, bevat de waarden 1, 64, 128, 196, 255. De drempel voor het aantal te tonen sterren ligt tussen deze waarden en is compatibel met wat Windows® Explorer gebruikt.
Tabel 1. Item in waarderingstabel
Naam | 1 | 2 | 3 | 4 |
5
|
POPM | 1 | 64 | 128 | 196 |
255
|
Bereik | 1-31 | 32-95 | 96-159 | 160-223 |
224-255
|
Op de pagina Bestanden kan het keuzevak Laatst geopende bestanden geactiveerd worden zodat Kid3 het laatst geselecteerde bestand zal openen en selecteren wanneer het de volgende keer wordt gestart. Tijdstippen van bestanden behouden kan geactiveerd worden om de wijzigingsdatum van het bestand te behouden. Bestandsnaam voor hoes stelt de naam in die wordt gesuggereerd wanneer een ingebedde afbeelding geëxporteerd wordt naar een bestand. Met Tekstcodering (Exporteren, Afspeellijst) kan de codering ingesteld worden die wordt gebruikt bij schrijven van bestanden. Het standaard Systeem kan gewijzigd worden voor bijvoorbeeld afspeellijsten die van een ander apparaat moeten komen.
Als Wijzigingen markeren actief is, worden gewijzigde velden gemarkeerd met een lichtgrijze achtergrond van het label.
De sectie Bestandenlijst bepaalt welke bestanden getoond worden in de bestandenlijst. Een Filter kan gebruikt worden om de items in deze lijst te beperken tot bestanden met ondersteunde extensies. Om explicitier te specificeren welke mappen te tonen in de bestandenlijst of bepaalde mappen uit te sluiten, kunnen de opties Mappen insluiten en Mappen uitsluiten worden gebruikt. Ze kunnen jokertekens bevatten, bijvoorbeeld */Muziek/* om alleen de map Muziek in te sluiten of */iTunes/* om de map iTunes van de bestandenlijst uit te sluiten. Als meerdere van zulke uitdrukkingen gebruikt moeten worden, dan kunnen ze gescheiden worden door spaties of puntkomma's.
De knoppen Bestandsnaam uit tag en Tag uit bestandsnaam in de sectie Formaat openen dialogen om de formaten te bewerken die beschikbaar zijn in de keuzelijsten Formaat (met pijlen omhoog en omlaag), die zijn te vinden in de sectie bestand van het hoofdvenster.
Bestandsnaamformaat bevat opties voor het formaat van de bestandsnamen. Dezelfde opties als in Tagformaat zijn beschikbaar.
De pagina Gebruikeracties bevat een tabel met de commando's die beschikbaar zijn in het contextmenu van de bestandenlijst. Voor kritische bewerkingen zoals bestanden verwijderen is het aan te bevelen om Bevestigen te markeren om een bevestigingsdialoog te laten verschijnen alvorens het commando uit te voeren. Uitvoer kan gemarkeerd worden om de uitvoer geschreven door consolecommando's (standaarduitvoer en standaardfouten) te tonen. Naam is de naam getoond in het contextmenu. Commando is de uit te voeren opdrachtregel. Argumenten kunnen doorgegeven worden met de volgende codes:
De speciale code @separator kan ingesteld worden als een commando om een scheidingsteken in te voegen in het contextmenu van gebruikersacties. Menu-items kunnen in een submenu gestopt worden door ze te omgeven met commando's @beginmenu en @endmenu. De naam van het submenu wordt bepaald door de kolom Naam van het commando @beginmenu.
Om QML-scripts uit te voeren wordt @qml gebruikt als een commandonaam. Het pad naar het QML-script wordt doorgegeven als een parameter. De geleverde scripts zijn te vinden in de map %{qmlpath}/script/ (op Linux® typisch /usr/share/kid3/qml/script/, op Windows qml/script/ binnen de installatiemap en op macOS® in de app-map kid3.app/Contents/Resources/qml/script/). Eigen scripts kunnen in elke map worden opgeslagen. Als de QML code GUI-componenten gebruiken, moet @qmlview worden gebruikt in plaats van @qml. Extra parameters worden doorgegeven aan het QML-script waar ze beschikbaar zullen zijn via de functie getArguments(). Een overzicht van enige functies en eigenschappen die beschikbaar zijn in QML zijn te vinden in de appendix QML-interface.
Het commando dat ingevoegd zal worden met %{browser} kan gedefinieerd worden in het bovenstaande tekstbewerkingsvak Webbrowser. Commando's beginnend met %{browser} kunnen gebruikt worden om informatie op te halen over de geluidsbestanden uit het web, bijvoorbeeld
%{browser} http://lyricwiki.org/%u{artist}:%u{title}
zal de liedtesksten voor de huidige song opvragen in m[blue]LyricWikim[][12]. De "u" in %u{artist} en %u{title} worden gebruikt om de artiest %{artist} en song %{title}-informatie te URL-coderen. Het is gemakkelijk om uw eigen opvragingen op dezelfde manier te definiëren, bijv. zoeken naar een afbeelding met m[blue]Googlem[][13]:
Om een albumhoesillustratie aan tag 2 toe te voegen kunt u met Google of Amazon zoeken naar afbeeldingen met de boven beschreven commando's. De afbeelding kan toegevoegd worden aan de tag met slepen en loslaten. U kunt ook een afbeelding met Toevoegen toevoegen, selecteer dan het afbeeldingframe en importeer een afbeeldingsbestand of plak deze uit het klembord. Afbeeldingframes worden ondersteund voor ID3v2, MP4, FLAC, Ogg en ASF-tags.
Om items in de tabel toe te voegen en te verwijderen kan een contextmenu worden gebruikt.
De pagina Netwerk bevat alleen een veld om het proxy-adres in te voegen en optioneel de poort, gescheiden door een dubbelepunt. De proxy zal gebruikt worden bij importeren vanaf een Internetserver wanneer het keuzevakje is geactiveerd.
In de pagina Plug-ins page, kunnen beschikbare plug-ins ingeschakeld of uitgeschakeld worden. De plug-ins zijn gescheiden in twee secties. De lijst Metagegevens-plug-ins & Prioriteit bevatten plug-ins die geluidsbestandformaten ondersteunen. De volgorde van de plug-ins is belangrijk omdat ze van boven naar beneden worden geprobeerd. Sommige formaten worden ondersteund door meerdere plug-ins, bestanden zullen dus geopend worden met de eerste plug-in die ze ondersteunt. De TaglibMetadata ondersteunt de meeste formaten, als het bovenaan de lijst staat, zal het de meeste bestanden openen. Als u een andere plug-in voor een bestandsformaat wilt gebruiken, ga dan na dat het in de lijst staat vóór de plug-in TaglibMetadata. Details over de metagegevensplug-in en waarom u deze zou willen gebruiken in plaats van TagLib staan hieronder.
De sectie Beschikbare plug-ins bevat een lijst met de overblijvende plug-ins. Hun volgorde is niet belangrijk, maar ze kunnen in- of uitgeschakeld worden met de keuzevakjes.
Plug-ins die uitgeschakeld zijn zullen niet geladen worden. Dit kan gebruikt worden om gebruik van hulpbronnen en opstarttijd te optimaliseren. De instellingen op deze pagina zijn alleen effectief na opnieuw starten van Kid3.
Help → Handboek van Kid3
Help → Info over Kid3
kid3-cli biedt een opdrachtregelinterface voor Kid3. Als een mappad wordt gebruikt, wordt de map geopend. Als een of meer bestandspaden wordt gegeven, wordt de gemeenschappelijke map geopened en de bestanden wprden geselecteerd. Opvolgende commando's zullen dan op deze bestanden werken. Commando's worden gespecificeerd met opties -c. Als meerdere commando's worden doorgegeven, dan worden ze in de gegeven volgorde uitgeschakeld. Als bestanden gewijzigd worden door de commando's, worden ze aan het einde opgeslagen. Als er geen commando-opties zijn doorgegeven, zal kid3-cli in een interactieve modus starten. Commando's kunnen ingevoerd worden en zullen werken op de huidige selectie. De volgende secties bieden een lijst met alle beschikbare commando's.
Help
kid3-cli> ls 1-- 01 Intro.mp3 > 12- 02 We hebben alleen deze.mp3 *1-- 03 Outro.mp3
In dit voorbeeld hebben alle bestanden een tag 1, het tweede bestand heeft ook een tag 2 en is geselecteerd. Het derde bestand is gewijzigd.
De gewijzigde bestanden opslaan
kid3-cli> select first kid3-cli> ls > 1-- 01 Intro.mp3 12- 02 We hebben alleen deze.mp3 *1-- 03 Outro.mp3 kid3-cli> select next kid3-cli> ls 1-- 01 Intro.mp3 > 12- 02 We hebben alleen deze.mp3 *1-- 03 Outro.mp3 kid3-cli> select *.mp3 kid3-cli> ls > 1-- 01 Intro.mp3 > 12- 02 We hebben alleen deze.mp3 >*1-- 03 Outro.mp3
Tag selecteren
kid3-cli> get Bestand: MPEG 1 Layer 3 192 kbps 44100 Hz Joint Stereo Naam: 01 Intro.mp3 Tag 1: ID3v1.1 Titel Intro Artiest One Hit Wonder Album Let's Tag Datum 2013 Tracknummer 1 Genre Pop kid3-cli> get title Intro
Om de inhoud van een afbeeldingsframe in een bestand op te slaan, gebruik
get picture:'/pad/naar/map.jpg'
Om gesynchroniseerde liedteksten in een LRC-bestand op te slaan, gebruik
get SYLT:'/pad/naar/liedtekst.lrc'
Het is mogelijk om alleen een specifiek veld uit een frame te halen, bijvoorbeeld get POPM.Email voor het e-mailveld van een popularimeterframe. Als een bestand meerdere frames van dezelfde soort heeft, kunnen de verschillende frames geïndexeerd worden met rechte haken, bijvoorbeeld de eerste uitvoerder uit een Vorbis-commentaar kan opgehaald worden met get performer[0], de tweede met get performer[1].
De pseudoveldnaam "selected" kan gebruikt worden om te controleren of een frame is geselecteerd, bijvoorbeeld get artist.selected zal 1 teruggeven als het artiestframe is geselecteerd, anders 0.
Tagframe instellen
kid3-cli> set remixer 'O.H. Wonder'
Om de inhoud van een afbeeldingsframe uit een bestand in te stellen, gebruik
set picture:'/path/to/folder.jpg' 'Beschrijving afbeelding'
Om gesynchroniseerde liedteksten uit een LRC-bestand in te stellen, gebruik
set SYLT:'/pad/naar/liedtekst.lrc' 'Beschrijving liedtekst'
Om een specifiek veld van een frame in te stellen kan de veldnaam gegeven worden na een punt, bijv. om het veld Counter in te stellen van een populariteistmeterframe, gebruik
set POPM.Counter 5
Een toepassing voor veldspecificaties is he geval waar u een aangepast TXXX-frame wilt met beschrijving van "rating" in plaats van een standaard Popularimeter-frame (die door sommige plug-ins lijkt te worden gebruikt). U kunt zo'n TXXX-ratingframe aanmaken met kid3-cli, u moet echter eerst een TXXX-frame aanmaken met beschrijving "rating" en daarna de waarde van dit frame instellen op de waarde van rating.
kid3-cli> set rating "" kid3-cli> set TXXX.Description rating kid3-cli> set rating 5
Het eerste commando zal een bestaand POPM-frame verwijderen, omdat als zo'n frame bestaat, set rating 5 het POPM-frame zou instellen en niet het TXXX-frame. Een andere mogelijkheid zou zijn set TXXX.Text 5 te gebruiken, maar dit zou alleen werken als er geen ander TXXX-frame aanwezig is.
Om meerdere frames van dezelfde soort in te stellen kan een index gegeven worden in rechte haken, bijv. om meerdere uitvoerders in een Vorbis commentaar in te stellen, gebruik
kid3-cli> set performer[0] 'Liza don Getti (sopraan)' kid3-cli> set performer[1] 'Joe Barr (piano)'
Om bepaalde frames te selecteren voor een actie kopiëren, plakken of verwijderen kan de pseudoveldnaam "selected" worden gebruikt. Normaal worden alle frames geselecteerd, om alle selecties ongedaan te maken, gebruik set '*.selected' 0, daarna bijvoorbeeld set artist.selected 1 om het artiestframe te selecteren.
Als
tags
is gegeven voor
BESTAND, worden tags geïmporteerd uit andere tags. In plaats van
FORMAATNAAM
parameters zijn
BRON
en
EXTRACTIE
vereist, zie
Uit tags importeren. Om het importeren uit tags toe te passen op de geselecteerde bestanden, gebruik
tagsel
in plaats van
tags. Deze functie ondersteunt ook uitvoer van de uitgepakte waarde door een waarde
EXTRACTIE
te gebruiken met de waarde
%{__return}(.+).
Ongedaan maken
kid3-cli> albumart http://www.amazon.com/Versus-World-Amon-Amarth/dp/B000078DOC
Naar bestand exporteren
kid3-cli> filter '%{title} contains "tro"' Begonnen /home/urs/One Hit Wonder - Let's Tag + 01 Intro.mp3 - 02 We Only Got This One.mp3 + 03 Outro.mp3 Beëindigd kid3-cli> ls 1-- 01 Intro.mp3 1-- 03 Outro.mp3 kid3-cli> filter All Begonnen /home/urs/One Hit Wonder - Let's Tag + 01 Intro.mp3 + 02 We Only Got This One.mp3 + 03 Outro.mp3 Beëindigd kid3-cli> ls 1-- 01 Intro.mp3 12- 02 We Only Got This One.mp3 1-- 03 Outro.mp3
Om alleen een subset van de frames te kopiëren, gebruik het pseudoveld "selected" met het commando
set. Om bijvoorbeeld alleen het schijfnummer en de copyright-frames te kopiëren, gebruik
ID3v2.3 naar ID3v2.4 converteren
set '*.selected' 0 set discnumber.selected 1 set copyright.selected 1 copy
Het is mogelijk om slechts een subset van de frames te verwijderen door ze te selecteren zoals beschreven in het
copy commando.
Plakken
Titel instellen met een apostrophe. Commando's doorgegeven aan kid3-cli met -c moeten in tussen accenten staan als ze niet alleen bestaan uit een enkel woord. Als zo'n commando zelf een argument heeft met spaties, moet dat argument ook tussen accenten staan. In UNIX®-shells kunnen accenten of aanhalingstekens gebruikt worden, maar op de Windows Command Prompt, is het belangrijk dat de buitenste bestaan uit aanhalingstekens en voor de binnenste, accenten worden gebruikt. Als de tekst tussen de accenten een enkele accent bevat, moet deze een escape krijgen met een backslash teken, zoals getoond in het volgende voorbeeld:
kid3-cli -c "set title 'I\'ll be there for you'" /pad/naar/map
Albumhoes in alle bestanden van een map instellen met de functie bulkimport:
kid3-cli -c "autoimport 'Cover Art'" /pad/naar/map
Commentaarframes verwijderen en het tagformaat toepassen in beide tags van alle MP3-bestanden van een map:
kid3-cli -c "set comment '' 1" -c "set comment '' 2" \ -c "tagformat 1" -c "tagformat 2" /pad/naar/map/*.mp3
Tag 2 automatisch importeren, synchroniseren naar tag 1, bestandsnamen uit tag 2 en tenslotte een afspeellijst aanmaken:
kid3-cli -c autoimport -c "syncto 1" -c fromtag -c playlist \ /pad/naar/map/*.mp3
Voor alle bestanden met een ID3v2.4.0 tag, converteer naar ID3v2.3.0 en verwijder het arrangeur-frame:
kid3-cli -c "filter 'ID3v2.4.0 Tag'" -c "select all" -c to23 \ -c "set arranger ''" /pad/naar/map
Dit Python script gebruikt kid3-cli om iTunes geluidscontrole iTunNORM-frames te genereren uit informatie over afspeelversterking.
#!/usr/bin/env python3 # iTunes geluidscontrole genereren uit ReplayGain. import os, sys, subprocess def rg2sc(dirpath): for root, dirs, files in os.walk(dirpath): for name in files: if name.endswith(('.mp3', '.m4a', '.aiff', '.aif')): fn = os.path.join(root, name) rg = subprocess.check_output([ 'kid3-cli', '-c', 'get "replaygain_track_gain"', fn]).strip() if rg.endswith(b' dB'): rg = rg[:-3] try: rg = float(rg) except ValueError: print('Value %s of %s in not a float' % (rg, fn)) continue sc = (' ' + ('%08X' % int((10 ** (-rg / 10)) * 1000) )) * 10 subprocess.call([ 'kid3-cli', '-c', 'set iTunNORM "%s"' % sc, fn]) if __name__ == '__main__': rg2sc(sys.argv[1])
Om het gemakkelijk te maken om resultaten van kid3-cli te ontleden, is het mogelijk de uitvoer in JSON formaat te krijgen. Wanneer het verzoek in JSON formaat is, zal het antwoord ook in JSON zijn. Een compact formaat van het verzoek zal ook een compacte representatie van het antwoord zijn. Als het verzoek een "id"-veld bevat, wordt aangenomen dat het een JSON-RPC verzoek is en het antwoord zal een "jsonrpc" veld zijn en het "id" van het verzoek. Het verzoekformaat gebruikt dezelfde commando's als het standaard CLI, het "method" veld bevat het commando en de parameters (indien aanwezig) zijn gegeven in de "params" lijst. Het antwoord bevat een "result" object, dat ook nul kan zijn als het overeenkomstige kid3-cli commando geen resultaat terugstuurt. In geval van een fout wordt een "error" object teruggestuurd met "code" and "message" velden zoals gebruikt in JSON-RPC.
kid3-cli> {"method":"set","params":["artist","Een artiest"]} {"result":null} kid3-cli> {"method":"get","params":["artiest",2]} {"result":"Een artiest"} kid3-cli> {"method": "get", "params": ["artist"]} { "result": "Een artiest" } kid3-cli> {"jsonrpc":"2.0","id":"123","method":"get","params":["artist"]} {"id":"123","jsonrpc":"2.0","result":"Een artiest"}
Kid3
Programma geschreven door Urs Fleisch <ufleisch at users.sourceforge.net>
meld fouten vertaling Freek de Kruijf .PP m[blue]FDLm[][22]
Kid3 is te vinden op m[blue]https://kid3.kde.orgm[].
Kid3 heeft m[blue]Qt(TM)m[][24] nodig. m[blue]KDEm[][25] is aanbevolen maar niet noodzakelijk, omdat Kid3 ook gecompileerd kan worden als een Qt(TM) toepassing. Kid3 kan gecompileerd worden voor systemen waar deze bibliotheken beschikbaar zijn, bijv. voor GNU/Linux®, Windows® en macOS®. Om Ogg/Vorbis bestanden een tag te geven, zijn m[blue]liboggm[][15], m[blue]libvorbis en libvorbisfilem[][16] vereist, voor FLAC bestanden m[blue]libFLAC++ en libFLACm[][17]. m[blue]id3libm[][14] worden gebruikt voor MP3 bestanden. Deze vier formaten worden ook onderrteund door m[blue]TagLibm[][18], die ook Opus, MPC, APE, MP2, Speex, TrueAudio, WavPack, WMA, WAV, AIFF bestanden en tracker-modules behandelen. Om te importeren uit "acoustic fingerprints", worden m[blue]Chromaprintm[][20] en m[blue]libavm[][21] gebruikt.
Kid3 is beschikbaar voor de meeste Linux® distributies, Windows® en macOS®. Verwijzingen zijn te vinden op m[blue]https://kid3.kde.orgm[].
U kunt Kid3 compileren met of zonder KDE. Zonder KDE is Kid3 een eenvoudige Qt(TM) toepassing en ontbreken enkele configuratie en sessiefuncties.
Voor een KDE versie, ga naar de hoogste map en typ
% cmake . % make % make install
Om te compileren voor andere versies van Qt(TM) of KDE, stel de overeenkomstige cmake-opties in.
Als niet alle bibliotheken aanwezig zijn wordt Kid3 gebouwd met verminderde functionaliteit. U zult er dus op moeten letten dat alle gewenste ontwikkelpakketten ge|ïnstalleerd zijn. Aan de andere kant bestuurt cmake-options welke bibliotheken mee gecompileerd worden. De standaard is -DWITH_TAGLIB:BOOL=ON -DWITH_MP4V2:BOOL=OFF -DWITH_ID3LIB:BOOL=ON -DWITH_CHROMAPRINT:BOOL=ON -DWITH_VORBIS:BOOL=ON -DWITH_FLAC:BOOL=ON . Deze opties kunnen uitgeschakeld worden met OFF.
Om Kid3 te bouwen als een Qt(TM) toepassing zonder KDE, gebruik de cmake optie -DWITH_APPS=Qt. Om zowel een KDE als een Qt(TM) toepassing te bouwen, zet -DWITH_APPS="Qt;KDE".
Om een specifieke Qt(TM) installatie te gebruiken, zet -DQT_QMAKE_EXECUTABLE=/pad/naar/qmake.
Generatie van RPM-pakketten wordt ondersteund door het bestand kid3.spec, voor Debian® pakketten, is het script build-deb.sh beschikbaar.
De Qt(TM) toepassing kan ook gecompileerd worden voor Windows® en macOS®. Het script buildlibs.sh kan gebruikt worden om alle vereiste bibliotheken te downloaden en te bouwen en een Kid3 pakket te maken.
Met KDE worden de instellingen opgeslagen in .config/kid3rc. Als een Qt(TM) toepassing is dit bestand in .config/Kid3/Kid3.conf. Op Windows® is het configuratiebestand opgeslagen in de registry. op macOS® in een plist-bestand.
De omgevingsvariabele KID3_CONFIG_FILE kan gebruikt worden om het pad van het configuratiebestand in te stellen.
Op Linux® kan een D-Bus-interface gebruikt worden om Kid3 te besturen door scripts. Scripts kunnen geschreven worden in elke taal met D-Bus-bindingen (bijv. in Python) en kunnen toegevoegd worden aan de Gebruikeracties om de functionaliteit van Kid3 uit te breiden.
De artiest in tag 2 van het huidige bestand kan ingesteld worden op de waarde "One Hit Wonder" met de volgende code:
Shell
dbus-send --dest=org.kde.kid3 --print-reply=literal \ /Kid3 org.kde.Kid3.setFrame int32:2 string:'Artist' \ string:'One Hit Wonder'
of gemakkelijker met qdbus (qdbusviewer van Qt(TM) om het interface in een GUI te onderzoeken):
qdbus org.kde.kid3 /Kid3 setFrame 2 Artist \ 'One Hit Wonder'
Python
import dbus kid3 = dbus.SessionBus().get_object( 'org.kde.kid3', '/Kid3') kid3.setFrame(2, 'Artist', 'One Hit Wonder')
Perl
use Net::DBus; $kid3 = Net::DBus->session->get_service( "org.kde.kid3")->get_object( "/Kid3", "org.kde.Kid3"); $kid3->setFrame(2, "Artist", "One Hit Wonder");
De D-Bus API is gespecificeerd in org.kde.Kid3.xml. Het Kid3 interface heeft de volgende methoden:
pad
Geeft true terug indien OK.
tagMask
profileName
tagMask
pad
fmtIdx
Geeft true terug indien OK.
tagMask
bron
extractie
tagMask
bron
extractie
returnValues
url
allFilesInDir
tagMask
pad
fmtIdx
Geeft true terug indien OK.
pad
Geeft lijst terug met absolute paden naar items in afspeellijst.
pad
items
Geeft true terug indien OK, false indien niet alle items zijn gevonden en toegevoegd of opslaan is mislukt.
Geeft true terug als het huidige bestands item een map is.
tagMask
opmaak
aanmaken
Geeft true terug indien OK, anders is de foutmelding beschikbaar met getErrorMessage().
tagMask
firstTrackNr
expressie
naam
Het bestand zal hernoemd worden wanneer de map wordt opgeslagen.
opmaak
tagMask
tagMask
naam
Om de binaire gegevens zoals een afbeelding, kan de naam van een te schrijven bestand toegevoegd worden na de
naam,
bijv.
"Afbeelding:/pad/naar/bestand". Op dezelfde manier kunnen gesynchroniseerde liedteksten geëxporteerd worden,
bijv.
"SYLT:/pad/naar/bestand".
Geeft waarde van frame terug.
tagMask
naam
waarde
Voor tag 2 (tagMask
2), als er geen frame met
naam
bestaat, wordt een nieuw frame toegevoegd, als
waarde
leeg is, wordt het frame verwijderd. Om binaire gegevens, zoals een afbeelding, kan een bestand worden toegevoegd na
naam,
bijv.
"Afbeelding:/pad/naar/bestand". "SYLT:/path/to/file" kan gebruikt worden om gesynchroniseerde liedteksten te importeren.
Geeft true terug indien OK.
tagMask
Geeft lijst terug met afwisselend namen van frames en waarden.
Geeft lijst terug met afwisselend eigenschapnamen en waarden.
tagMask
tagMask
tagMask
tagMask
tagMask
Bestand of map openen
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
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
Opvolgende tracknummers instellen in de geselecteerde bestanden
De bestanden filteren
ID3v2.3 tags naar ID3v2.4 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
import Kid3 1.0 Kid3Script { onRun: { console.log("Hello world, map is", app.dirName) Qt.quit() } }
Als dit script opgeslagen wordt als /pad/naar/Voorbeeld.qml, kan het gebruikerscommando gedefinieerd worden als @qml /pad/naar/Voorbeeld.qml met de naam QML Test en Uitvoer geactiveerd. Het kan gestart worden met het item QML Test in het contextmenu van de bestandenlijst en de uitvoer zal zichtbaar zijn in het venster.
Als alternatief zou het script ook gestart kunnen worden, onafhankelijk van Kid3 met de QML-hulpmiddelen.
qml -apptype widget -I /usr/lib/kid3/plugins/imports /pad/naar/Voorbeeld.qml
of
qmlscene -I /usr/lib/kid3/plugins/imports /pad/naar/Voorbeeld.qml
Op Windows® en macOS® moet het pad voor importeren aangepast worden aan de map imports in de installatiemap. Scripts gestart buiten Kid3 zullen de huidige map gebruiken, deze zou eerder gewijzigd kunnen zijn.
Om een lijst te maken van de titels in tag 2 van alle bestanden in de huidige map, kan het volgende script worden gebruikt:
import Kid3 1.0 Kid3Script { onRun: { app.firstFile() do { if (app.selectionInfo.tag(Frame.Tag_2).tagFormat) { console.log(app.getFrame(tagv2, "title")) } } while (app.nextFile()) } }
Als de map veel bestanden bevat zou zo'n script het gebruikersinterface enige tijd kunnen blokkeren. Voor langere bewerkingen zou het daarom af en toe een pauze moeten hebben. De alternatieve onderstaande implementatie heeft het werk voor een enkel bestand verplaats naar een functie. Deze functie roept zichzelf aan met een timeout van 1 ms aan het eind, gegeven dat er meer bestanden zijn om te verwerken. Dit zal verzekeren dat de GUI actief zal blijven terwijl het script actief is.
import Kid3 1.0 Kid3Script { onRun: { function doWork() { if (app.selectionInfo.tag(Frame.Tag_2).tagFormat) { console.log(app.getFrame(tagv2, "title")) } if (!app.nextFile()) { Qt.quit() } else { setTimeout(doWork, 1) } } app.firstFile() doWork() } }
Bij gebruik van app.firstFile() met app.nextFile(), zullen alle bestanden in de huidige map verwerkt worden. Als alleen de geselecteerde bestanden meegenomen moeten worden, gebruik in plaats daarvan firstFile() en nextFile(), dit zijn gemaksfuncties van de component Kid3Script. Het volgende voorbeeld is een script dat alleen het discnummer en de copyrightframes van de geselecteerde bestanden kopieert.
import Kid3 1.1 Kid3Script { onRun: { function doWork() { if (app.selectionInfo.tag(Frame.Tag_2).tagFormat) { app.setFrame(tagv2, "*.selected", false) app.setFrame(tagv2, "discnumber.selected", true) app.setFrame(tagv2, "copyright.selected", true) app.copyTags(tagv2) } if (!nextFile()) { Qt.quit() } else { setTimeout(doWork, 1) } } firstFile() doWork() } }
Met Kid3 komen meer voorbeeldscripts en deze zijn al geregistreerd als gebruikercommando's.
De API kan gemakkelijk verkend worden met de QML-console, die beschikbaar is als een voorbeeldscript met een gebruikersinterface.
Kid3Script
is een reguliere QML-component gelokaliseerd in de plug-in-map. U zou evengoed een andere QML-component kunnen gebruiken. Met
Kid3Script
wordt het makkelijk gemaakt om met de scriptfunctie te beginnen met het signaalafhandelaar
onRun. Bovendien biedt het enige functies:
Kid3Script
onRun: Signaalbehandelaar die wordt aangeroepen wanneer het script wordt gestart tagv1, tagv2, tagv2v1: Constanten voor tagparameters script: Toegang tot scriptfuncties configs: Toegang tot configuratieobjecten getArguments(): Lijst met scriptargumenten isStandalone(): true als het script niet is gestart vanuit Kid3 setTimeout(callback, delay): Start callback na vertraging ms firstFile(): Naar eerst geselecteerd bestand nextFile(): Naar volgend geselecteerd bestand
Omdat
JavaScript
en daarom ook QML slechts een beperkte set functies heeft voor scripts, heeft het object
script
enige extra methoden, bijvoorbeeld:
Functies voor scripts
script.properties(obj): Tekenreeks met Qt eigenschappen script.writeFile(filePath, data): Gegevens naar bestand scrijven, true indien OK script.readFile(filePath): Gegevens lezen uit bestand script.removeFile(filePath): Bestand verwijderen, true indien OK script.fileExists(filePath): true indien bestand bestaat script.fileIsWritable(filePath): true indien bestand is te beschrijven script.getFilePermissions(filePath): Modusbits van rechten van bestand ophalen script.setFilePermissions(filePath, modeBits): Modusbits van rechten van bestand instellen script.classifyFile(filePath): Klasse van bestand ophalen (map "/", symbolische koppeling "@", exe "*", bestand " ") script.renameFile(oldName, newName): Bestand hernoemen, true indien OK script.copyFile(source, dest): Bestand kopiëren, true indien OK script.makeDir(path): Map aanmaken, true indien OK script.removeDir(path): Map verwijderen, true indien OK script.tempPath(): Pad naar tijdelijke map script.musicPath(): Pad naar muziekmap script.listDir(path, [nameFilters], [classify]): Lijst maken van mapitems script.system(program, [args], [msecs]): Een systeemcommando synchroon starten, [exitcode, standaarduitvoer, standaardrdfouten] indien geen timeout script.systemAsync(program, [args], [callback]): Een systeemcommando asynchroon starten, terugaanroep zal aangeroepen worden met [exitcode, standaarduitvoer, standaardfouten] script.getEnv(varName): Haal waarde op van omgevingsvariabele script.setEnv(varName, value): Stel waarde in van omgevingsvariabele script.getQtVersion(): Qt versietekenreeks, bijv. "5.4.1" script.getDataMd5(data): Tekenreeks in hex van de MD5 hash van gegevens script.getDataSize(data): Grootte van byte-array ophalen script.dataToImage(data, [format]): Een afbeelding uit gegevensbytes ophalen script.dataFromImage(img, [format]): Gegevensbytes ophalen uit afbeelding script.loadImage(filePath): Een afbeelding laden uit een bestand script.saveImage(img, filePath, [format]): Een afbeelding opslaan naar een bestand, true indien OK script.imageProperties(img): Eigenschappen ophalen van een afbeelding, map bevattende "width", "height", "depth" en "colorCount", leeg indien ongeldige afbeelding script.scaleImage(img, width, [height]): Schaa een afbeelding, geeft geschaalde afbeelding terug
Met gebruik van QML zijn een groot gedeelte van de
Kid3-functies toegankelijk. De API is vergelijkbaar met diegene gebruikt voor
D-Bus. Voor details wordt u verwezen naar de respectievelijke notities.
Context van toepassing
app.openDirectory(path): Open map app.unloadAllTags(): Alle tags ontladen app.saveDirectory(): Map opslaan app.revertFileModifications(): Ongedaan maken app.importTags(tag, path, fmtIdx): Bestand importeren app.importFromTags(tag, source, extraction): Uit tags importeren app.importFromTagsToSelection(tag, source, extraction): Uit tags van geselecteerde bestanden importeren app.downloadImage(url, allFilesInDir): Afbeelding downloaden app.exportTags(tag, path, fmtIdx): Bestand exporteren app.writePlaylist(): Afspeellijst schrijven app.getPlaylistItems(path): Items ophalen uit een afspeellijst app.setPlaylistItems(path, items): Items instellen van een afspeellijst app.selectAllFiles(): Alles selecteren app.deselectAllFiles(): Selectie ongedaan maken app.firstFile([select], [onlyTaggedFiles]): Naar eerste bestand app.nextFile([select], [onlyTaggedFiles]): Naar volgende bestand app.previousFile([select], [onlyTaggedFiles]): Naar vorige bestand app.selectCurrentFile([select]): Huidige bestand selecteren app.selectFile(path, [select]): Een specifiek bestand selecteren app.getSelectedFilePaths([onlyTaggedFiles]): Paden van geselecteerde bestanden ophalen app.requestExpandFileList(): Alles uitvouwen app.applyFilenameFormat(): Bestandsnaamformaat toepassen app.applyTagFormat(): Tagformaat toepassen app.applyTextEncoding(): Tekstcodering toepassen app.numberTracks(nr, total, tag, [options]): Aantal tracks app.applyFilter(expr): Filter app.convertToId3v23(): ID3v2.4.0 naar ID3v2.3.0 converteren app.convertToId3v24(): ID3v2.3.0 naar ID3v2.4.0 converteren app.getFilenameFromTags(tag): Bestandsnaam uit tags app.getTagsFromFilename(tag): Bestandsnaam naar tags app.getAllFrames(tag): Object ophalen met alle frames app.getFrame(tag, name): Frame ophalen app.setFrame(tag, name, value): Frame instellen app.getPictureData(): Gegeven uit afbeeldingsframe ophalen app.setPictureData(data): Gegeven in afbeeldingsframe instellen app.copyToOtherTag(tag): Tags naar andere tags app.copyTags(tag): Kopiëren app.pasteTags(tag): Plakken app.removeTags(tag): Verwijderen app.playAudio(): Afspelen app.readConfig(): Configuratie lezen app.applyChangedConfiguration(): Configuratie toepassen app.dirName: Mapnaam app.selectionInfo.fileName: Bestandsnaam app.selectionInfo.filePath: Absoluut bestandspad app.selectionInfo.detailInfo: Formaatdetails app.selectionInfo.tag(Frame.Tag_1).tagFormat: Tag 1 formaat app.selectionInfo.tag(Frame.Tag_2).tagFormat: Tag 2 formaat app.selectionInfo.formatString(tag, format): Codes invullen in formaattekenreeks app.selectFileName(caption, dir, filter, saveFile): Bestandsdialoog openen om een bestand te selecteren app.selectDirName(caption, dir): Bestandsdialoog openen om een map te selecteren
Voor asynchrone bewerkingen kunnen callbacks verbonden worden met signalen.
function automaticImport(profile) { function onAutomaticImportFinished() { app.batchImporter.finished.disconnect(onAutomaticImportFinished) } app.batchImporter.finished.connect(onAutomaticImportFinished) app.batchImport(profile, tagv2) } function renameDirectory(format) { function onRenameActionsScheduled() { app.renameActionsScheduled.disconnect(onRenameActionsScheduled) app.performRenameActions() } app.renameActionsScheduled.connect(onRenameActionsScheduled) app.renameDirectory(tagv2v1, format, false) }
De verschillende configuratiesecties zijn toegankelijk via methoden van
configs. Hun eigenschappen kunnen getoond worden in het QML-console.
Configuratieobjecten
script.properties(configs.networkConfig())
Eigenschappen kunnen ingesteld worden:
configs.networkConfig().useProxy = false
configs.batchImportConfig() configs.exportConfig() configs.fileConfig() configs.filenameFormatConfig() configs.filterConfig() configs.findReplaceConfig() configs.guiConfig() configs.importConfig() configs.mainWindowConfig() configs.networkConfig() configs.numberTracksConfig() configs.playlistConfig() configs.renDirConfig() configs.tagConfig() configs.tagFormatConfig() configs.userActionsConfig()
Urs Fleisch <ufleisch at users.sourceforge.net>
m[blue]FDLm[]