Beispiele

Setzt Titel mit Apostroph. Befehle, welche kid3-cli mit -c übergeben werden, müssen in Anführungszeichen stehen, falls sie nicht bloß aus einem einzelnen Wort bestehen. Wenn solch ein Befehl selbst ein Argument mit Leerzeichen hat, muss dieses Argument ebenfalls in Anführungszeichen gesetzt werden. In UNIX® Shells können einfache oder doppelte Anführungszeichen verwendet werden, aber in der Windows Eingabeaufforderung ist es wichtig, dass außen doppelte und innen einfache Anführungszeichen verwendet werden. Wenn im Text innerhalb der einfachen Anführungszeichen ein einfaches Anführungszeichen verwendet wird, so muss diesem ein umgekehrter Schrägstrich vorangestellt werden, wie im folgenden Beispiel gezeigt wird:

kid3-cli -c "set title 'I\'ll be there for you'" /path/to/dir

Setzt das Albumcover in allen Dateien eines Ordners unter Verwendung der automatischen Import-Funktion:

kid3-cli -c "autoimport 'Cover Art'" /pfad/zum/ordner

Kommentar entfernen und Tag-Format für beide Tags in allen MP3-Dateien eines Ordners anwenden:

kid3-cli -c "set comment '' 1" -c "set comment '' 2" \
-c "tagformat 1" -c "tagformat 2" /pfad/zum/ordner/*.mp3

Automatischer Import in Tag 2, auch ins Tag 1 kopieren, die Dateinamen aus Tag 2 setzen und schließlich eine Stückliste erstellen:

kid3-cli -c autoimport -c "syncto 1" -c fromtag -c playlist \
  /pfad/zum/ordner/*.mp3

Für alle Dateien mit einem ID3v2.4.0 Tag, dieses nach ID3v2.3.0 konvertieren und das Arrangierung Element entfernen:

kid3-cli -c "filter 'ID3v2.4.0 Tag'" -c "select all" -c to23 \
  -c "set arranger ''" /pfad/zum/ordner

Dieses Python-Skript erzeugt mit kid3-cli iTunes Sound Check iTunNORM Frames aus Replay Gain Information.

#!/usr/bin/env python3
# Generate iTunes Sound Check from 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])