Примеры

Установить заголовок, содержащий апостроф. Команды с параметром -c, которые передаются kid3-cli, должны быть заключены в кавычки, если они состоят из нескольких слов. Если такая команда сама по себе содержит аргумент с пробелами, его тоже следует заключить в кавычки. В командных оболочках UNIX® возможно использовать одинарные или двойные кавычки, но в командной строке Windows важно использовать в качестве наружных двойные кавычки, а внутренних — одинарные. Если в тексте внутри одинарных кавычек содержатся ещё одни одинарные кавычки, их следует экранировать с помощью символа обратной косой черты, как это показано в следующем примере:

kid3-cli -c "set title 'I\'ll be there for you'" /путь/к/каталогу

Установить обложку альбома во всех файлах каталога с помощью функции пакетного импорта:

kid3-cli -c "autoimport 'Cover Art'" /путь/к/каталогу

Удалить фреймы комментариев и применить формат тега в обоих тегах всех MP3-файлов каталога:

kid3-cli -c "set comment '' 1" -c "set comment '' 2" \
-c "tagformat 1" -c "tagformat 2" /путь/к/каталогу/*.mp3

Автоматически импортировать тег 2, синхронизировать с тегом 1, установить имена файлов из тега 2 и создать список воспроизведения:

kid3-cli -c autoimport -c "syncto 1" -c fromtag -c playlist \
  /путь/к/каталогу/*.mp3

Выполнить для всех файлов с тегом ID3v2.4.0 преобразование в тег ID3v2.3.0 и удалить фрейм аранжировщика:

kid3-cli -c "filter 'ID3v2.4.0 Tag'" -c "select all" -c to23 \
  -c "set arranger ''" /путь/к/каталогу

В этом сценарии Python kid3-cli используется для создания фреймов iTunNORM проверки звука iTunes на основе данных о выравнивании громкости.

#!/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])