The Kid3 Handbook

Urs Fleisch

Software development 

3.4.4

Abstract

Kid3 is an application to edit the ID3v1 and ID3v2 tags in MP3 files in an efficient way. Also tags in Ogg/Vorbis, Opus, DSF, FLAC, MPC, APE, MP4/AAC, MP2, Speex, TrueAudio, WavPack, WMA, WAV, AIFF files and tracker modules (MOD, S3M, IT, XM) are supported. It is easy to set tags of multiple files to the same values (e.g. album, artist, year and genre in all files of the same album) and generate the tags from the file name or vice versa.


Table of Contents

Synopsis
Options
kid3
kid3-qt
kid3-cli
1. Introduction
2. Using Kid3
Kid3 features
Example Usage
3. Command Reference
The GUI Elements
File List
Directory List
File
Tag 1
Tag 2
Tag 3
Frame List
Synchronized Lyrics and Event Timing Codes
The File Menu
The Edit Menu
The Tools Menu
The Settings Menu
The Help Menu
4. kid3-cli
Commands
Help
Timeout
Quit application
Change directory
Print the current working directory
Directory list
Save the changed files
Select file
Select tag
Get tag frame
Set tag frame
Revert
Import from file or clipboard
Automatic import
Download album cover artwork
Export to file or clipboard
Create playlist
Apply filename format
Apply tag format
Apply text encoding
Rename directory
Number tracks
Filter
Convert ID3v2.3 to ID3v2.4
Convert ID3v2.4 to ID3v2.3
Filename from tag
Tag from filename
Tag to other tag
Copy
Paste
Remove
Play
Examples
5. Credits and License
A. Installation
How to obtain Kid3
Requirements
Compilation and Installation
Configuration
B. D-Bus Interface
D-Bus Examples
D-Bus API
Open file or directory
Save all modified files
Get a detailed error message provided by some methods
Revert changes in the selected files
Start an automatic batch import
Import tags from a file
Import tags from other tags
Download album cover art
Export tags to a file
Create a playlist
Quit the application
Select all files
Deselect all files
Set the first file as the current file
Set the previous file as the current file
Set the next file as the current file
Select the first file
Select the previous file
Select the next file
Select the current file
Expand or collapse the current file item if it is a directory
Apply the file name format
Apply the tag format
Apply text encoding
Set the directory name from the tags
Set subsequent track numbers in the selected files
Filter the files
Convert ID3v2.3 tags to ID3v2.4
Convert ID3v2.4 tags to ID3v2.3
Get path of directory
Get name of current file
Set name of selected file
Set format to use when setting the filename from the tags
Set the file names of the selected files from the tags
Get value of frame
Set value of frame
Get all frames of a tag
Get technical information about file
Set tag from file name
Set tag from other tag
Copy tag
Paste tag
Remove tag
Reparse the configuration
Plays the selected files
C. QML Interface
QML Examples
QML API
Kid3Script
Scripting Functions
Application Context
Configuration Objects

List of Tables

3.1. Mapping of Unified Frame Types to Various Formats

Synopsis

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

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

kid3-cli [--portable] [ -h | --help ] [-c COMMAND1] [-c COMMAND2...] [FILE...]

Options

Table of Contents

kid3
kid3-qt
kid3-cli
--portable

Store configuration in file kid3.ini inside application directory.

FILE

If FILE is the path to a directory, it will be opened. If one or more file paths are given, their common directory is opened and the files are selected.

kid3

--help

Show help about options.

--author

Show author information.

--version

Show version information.

--license

Show license information.

--desktopfile FILE

The base file name of the desktop entry for this application.

kid3-qt

Qt-options

See qt5options(7).

kid3-cli

-c

Execute a command. Multiple -c options are possible, they are executed in sequence. See the section about kid3-cli for a description of the available commands.

-h|--help

Show help about options and commands.

Chapter 1. Introduction

Kid3 is an application to edit the ID3v1 and ID3v2 tags in MP3 files in an efficient way. These tags can be edited by most MP3 players, but not in a very comfortable and efficient way. Moreover the tags in Ogg/Vorbis, Opus, DSF, FLAC, MPC, APE, MP4/AAC, MP2, Speex, TrueAudio, WavPack, WMA, WAV, AIFF files and tracker modules (MOD, S3M, IT, XM) are supported too.

Kid3 does not grab nor encode MP3 files, but it is targeted to edit the ID3 tags of all files of an album in an efficient way, i.e. with as few mouse clicks and key strokes as possible. Where most other programs can edit either ID3v1 or ID3v2 tags, Kid3 has full control over both versions, can convert tags between the two formats and has access to all ID3v2 tags. Tags of multiple files can be set to the same value, e.g. the artist, album, year and genre of all files of an album typically have the same values and can be set together. If the information for the tags is contained in the file name, the tags can be automatically set from the file name. It is also possible to set the file name according to the tags found in the file in arbitrary formats.

The editing task is further supported by automatic replacement of characters or substrings, for instance to remove illegal characters from filenames. Automatic control of upper and lower case characters makes it easy to use a consistent naming scheme in all tags.

The tag information for full albums can be taken from gnudb.org, TrackType.org, MusicBrainz, Discogs, Amazon or other sources of track lists. The import format is freely configurable by regular expressions.

Please report any problems or feature requests to the author.

Chapter 2. Using Kid3

Kid3 features

  • Edit ID3v1.1 tags

  • Edit all ID3v2.3 and ID3v2.4 frames

  • Edit tags of multiple files

  • Convert between ID3v1 and ID3v2 tags

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

  • Generate tags from filename

  • Generate tags from the contents of tag fields

  • Generate filename from tags

  • Generate and change directory names from tags

  • Generate playlist file

  • Automatic case conversion and string translation

  • Import from gnudb.org, TrackType.org, MusicBrainz, Discogs, Amazon and other data sources

  • Export as CSV, HTML, playlist, Kover XML and other formats. Exported CSV files can be imported again.

Example Usage

This section describes a typical session with Kid3. Let's assume we have a directory containing MP3 files with the tracks from the album "Let's Tag" from the band "One Hit Wonder". The directory is named in the "artist - album" format, in our case One Hit Wonder - Let's Tag. The directory contains the tracks in the "track title.mp3" format, which I think is useful because the filenames are short (important when using mobile MP3 players with small displays) and in the correct order when sorted alphabetically (important when using hardware MP3 players which play the tracks in alphabetical order or in the order in which they are burnt on CD and that order is alphabetical when using mkisofs). Besides this, the artist and album information is already in the directory name and does not have to be repeated in the filename. But back to our example, the directory listing looks like this:

01 Intro.mp3

02 We Only Got This One.mp3

03 Outro.mp3

These files have no tags yet and we want to generate them using Kid3. We use Open (File menu or toolbar) and select one of the files in this directory. All files will be displayed in the file listbox. Lazy as we are, we want to use the information in the directory and file names to generate tags. Therefore we select all files, then click the To: Tag 1 button in the File section. This will set the title, artist, album and track values in all files. To set the year and genre values of all files, we keep all files selected and type in "2002" for the Year and select "Pop" from the Genre combobox. To set only these two values, their checkboxes are automatically checked and all other checkboxes are left unchecked. Now we change the selection by only selecting the first file and we see that all tags contain the correct values. The tags of the other files can be verified too by selecting them one by one. When we are satisfied with the tags, we use Save (File menu or toolbar). Selecting Create Playlist from the File menu will generate a file One Hit Wonder - Let's Tag.m3u in the directory.

Chapter 3. Command Reference

The GUI Elements

The Kid3 GUI is separated in five sections: At the left are the file and directory listboxes, the right side contains the File, Tag 1, Tag 2 and Tag 3 sections.

File List

The file list contains the names of all the files in the opened directory which match the selected file name filter (typically *.mp3 *.ogg *.opus *.dsf *.flac *.mpc *.aac *.m4a *.m4b *.m4p *.mp4 *.mp2 *.spx *.tta *.wv *.wma *.wav *.aiff *.ape). A single or multiple files can be selected. To select no file, click into the empty area after the listbox entries. The selection determines the files which are affected by the operations which are available by using the buttons described below.

Besides Name, also other columns Size, Type, Date Modified with file details can be displayed. Columns can be hidden by unchecking their name in the context menu of the list header. The order of the columns can be changed by drag'n'drop. The sort order can be toggled by clicking on the column header.

At the left of the names an icon can be displayed: a disc to show that the file has been modified or information about which tags are present (V1, V2, V1V2 or NO TAG, no icon is displayed if the file has not been read in yet).

Directories are displayed with a folder icon. If a directory is opened, its files are displayed in a hierarchical tree. By selecting files from subdirectories, operations can be executed on files in different directories, which is useful if the music collection is organized with a folder for each artist containing folders for albums of this artist.

Clicking the right mouse button inside the file list opens a context menu with the following commands:

  • Expand all: Expands all folder trees (only the current tree if the shift key is pressed)

  • Collapse all: Collapses all folder trees

  • Rename: Changes the name of a file

  • Move to Trash: Moves a file to the trash

  • Play: Plays a file, see Play

  • The subsequent entries are user commands, which can be defined in the User Actions tab of Configure Kid3. The playback on double click can also be activated there.

Directory List

The directory list contains the names of the directories in the opened directory, as well as the current (.) and the parent (..) directory. It allows one to quickly change the directory without using the Open... command or drag and drop.

Column visibility, order and sorting can be configured as described in the section about the file list.

File

Shows information about the encoding (MP3, Ogg, Opus, DSF, FLAC, MPC, APE, MP2, MP4, AAC, Speex, TrueAudio, WavPack, WMA, WAV, AIFF), bit rate, sample rate, channels and the length of the file.

The Name line edit contains the name of the file (if only a single file is selected). If this name is changed, the file will be renamed when the Save command is used.

The Format combo box and line edit contains the format to be used when the filename is generated from the first or the second tag. The filename can contain arbitrary characters, even a directory part separated by a slash from the file name, but that directory must already exist for the renaming to succeed. The following special codes are used to insert tag values into the filename:

  • %s %{title} Title (Song)

  • %a %{artist} Artist

  • %l %{album} Album

  • %c %{comment} Comment

  • %y %{year} Year

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

  • %t %{track.n} Track with field width n (e.g. 001 for %{track.3})

  • %T %{tracknumber} Track (without leading zeros, e.g. 1)

  • %g %{genre} Genre

  • %{ignore} Ignored when generating tags from the file name

The format codes are not restricted to the examples given above. Any frame name can be used, for instance unified frame names like