ID3 renamer - Welcome

What are the abilities of ID3 renamer?:

  • Useful if you need to rename a large number of files in a directory accordingly to their ID3 description and a given "formula" (e.g. (%Track) %Artist - %Title). Such a function is pretty "smart", as it lets you assembly the filename as you wish and use the variables from the ID3 tag in the filename. It is required you mark them with a "%" at the beginning, followed by an ID3 section label (literally - i.e. the first letter is capital, exactly as it is referred to in the roll-down menu).
  • Do you have loads of MP3 files in a directory and need to write a single common piece of information into them (e.g. the interpret or the album name)? You can type it in there manually, but this won't make you very cheerful if the amount of files is large. Using ID3 renamer, everything is a matter of a few mouse clicks.
  • Do you need to clean some portion of the ID3 tag? Use ID3 renamer and don't erase like every single line.
  • Do you need to remove the diacritics? Choose the advanced options and it's already done.
  • ID3 renamer can also create a new tag if there is none in the file yet; it lets you easily write into new files too.
  • You can also fill the tag with information from the filename (alike the renaming process). Just type in the pattern, definition of information layout in the filename and ID3 tag version - and ID3 renamer will store everything. The pattern is given in the form of a regular expression.
  • You can also fill tag according to search in FreeDB database of CDs. There is a complete description of CD and then it's easy to fill the tag with this informations.
  • ID3 renamer fully supports ID3v1, ID3v1.1, ID3v1.1+Winamp extension and ID3v2.x.
  • For complete list of functions click here.

  • The program is compact and doesn't demand a great computer performance.
  • It runs under any Windows version (tested on Win98, XP, 2003).
  • As all my programs do, so ID3 renamer incorporates the update ability (or getting the latest version) over the Internet.
  • At its first run it creates a configuration file, which it uses to store its settings (settings is stored for each user in user-profile directory).


ID3 renamer - Renaming (main screen)

This is the main screen of Renaming tab:

Edit field for renaming formula

To the first edit field you have to write your formula. This formula is a desription, how to rename each file.
Available variables are under the arrow (on the right side), and after selection the program automatically add it to the place, where the cursor is.
Here is the desription of each variable:

  • %Artist: Replaced by the performer name, eq. Jiri Cincura ;-).
  • %Album: Replaced by the album's name, eq. My Best Songs.
  • %Title: Replaced by the title of MP3, eq. My Happy Song.
  • %Track: Replaced by the number of track in ID3 tag, eq. 6. Track numbers are only in ID3v1.1, ID3v2 tags.
  • %Year: Replaced by the number of year, eq. 2000.
  • %Genre: Replaced by the genre name, eq. R&B.
  • %Comment: Replaced by the comment, which is in ID3 tag, eq. Dedicated to ...
  • %Composer: Replaced by the composer name (only ID3v2).
  • %Copyright: Replaced by the copyright field (only ID3v2).
  • %Link: Replaced by the link field (only ID3v2).
  • %Language: Replaced by the language field (only ID3v2).
  • %Encoder: Replaced by the encoder field (only ID3v2).
  • %BitRate: Replaced by the bitrate, eq. 192.
  • %Length: Replaced by the length of the song, eq. 3'22''.
  • %SampleRate: Replaced by the sample rate, eq. 44100.
  • %ChannelMode: Replaced by the channel mode, eq. Stereo.
  • %Layer: Replaced by the layer, eq. Layer III.
  • %OriginalName: Replaced by the name of file (without ext.) or folder.

Rename folder

If this checkbox is checked, you can rename the working folder too. The formula has the same variables as in the main field. Program will try to find the title in last file, if no, the error box is shown.

Ignore files with blank fields

If this checkbox is checked, the program will not rename the files, that doesn't contain required information (eq. if Title field is blank (spaces trimmed) and it's in rename formula, no renaming action will be performed).

Trim left padding zeros in Track...

Allows program to convert track numbers (track field must contain number) from i.e. 001 to the 1, ...

...and pad to setted fixed length of chars

If "Trim left padding zeros in Track..." is used, prepends to the track number variable count of zeros to create track number with fixed length (usefull for computer sorting). Setting 0 will disable this function.
Example:
selected 3: 1 -> 001 and 10 -> 010 and 100 -> 100 and 1000 -> 1000
selected 5: 1 -> 00001 and 100 -> 00100, ...

Overwrite files with the same name

If this checkbox is checked, the program will rename the file even if the file with the same name exists.
Be sure, that you may delete (loose) files with this option (file B is renamed to A, so A is now B and the old A is gone).

Only if audio length of files equals

Overwrite will be done, only if audio part of the files is same. (Count of Frames is compared.)

Button with arrow

By clicking the arrow, you can select some usefull options for renaming.
Allow creating directories in formula


ID3 renamer - Renaming - Allow creating directories in formula

This menu-option allows you to use backslash character ('\') in the formula and to create with it the directories. You can input i.e. %Artist\%Track - %Title in a huge unsorted directory and program will generate the tree and rename the files.

This function is recommended only for experienced users!


ID3 renamer - Renaming features

Remove diakritics

Remove from filename the czech diakritics. Useful when eq. you MP3 player doesn't corectly support this chars.

Character substitution...

Here you can substitute some characters. Useful for burning or MP3 player or renaming file after download. Eq. "_" to " " (space).

Capitalize first letter of each word

Files are renamed and first letter of each word is in UPPER case.


ID3 renamer - Writing (main screen)

This is the main screen of Writing tab:

Fields

To the edit field you have to write the information you want to be written. The text for ID3v1 tag will be truncated to the length of the selected filed by the ID3v1 specification. For ID3v2 will be written without changes.

Button with arrow

By clicking the arrow, you can select some usefull options for writing.
Title(s) from text file
Track from file-order


ID3 renamer - Writing - Track from file-order

This menu-option writes the Track field according to file order in the directory(ies). It's useful if you have files named ie. Track01.mp3, Track02.mp3, and so on.


ID3 renamer - Writing - Title(s) from text file

If you fill tag by hand, you can also fill Title field in ID3 tag. But the Title is for every file different. There is a function, which allows you fill Title fields. You have to create file, where the title string on each line is. Be sure to have exact same lines's count as count of files in your directory (be careful with one empty line on the end of file), if no, nothing will happend.

Example of the file (for 3 files in directory):
My Song 1
My Song 2
My Song 3
EOF


ID3 renamer - Writing features

Remove diakritics

From tag will be the czech diakritics removed. Useful for MP3 players.

Search FreeDB

See this...

Tag from filename

See this...

Tag synchronizing

Allow you to synchronize fields in tag. You can easy copy all info from ID3v1 tag to ID3v2 tag and vice versa.

Character substitution...

Here you can substitute some characters in selected fields of tag. Useful MP3 player, etc. Eq. "_" to " " (space).

Remove tag

Removes tag from file. All data will be lost!
Before start you will be asked and you have last chance to cancel this action.


ID3 renamer - Writing - Search FreeDB

Search FreeDB window

The FreeDB.org searching is based on algorithm for CDs. ID3 renamer compute this number from MP3 files. So you must mave the whole album, sorted in directory as tracks on album and the track must be in right length, else the FreeDB database will not be able to find the requested album.

The "View album info" button will show you the extended information about the selected album, eq. track names.

The "DiscID manually" button is used to load album, if you don't match any (eq. your album is incomplete or files length mismatch). You will be asked for FreeDB IDs (and the FreeDB Search page will be opened, where you find this IDs) and the album will be load.
If you have more files in the directory, the fields will be filled only on matching files, next files will be filled only with Artist, Album, Year, Genre properties.

use local FreeDB file (popup menu on feature button)

With this option you can select the local FreeDB file (some CD rippers are saving these files) and use it for writing the information from it to the tag, like the FreeDB search.


ID3 renamer - Writing - Tag from filename

Tag from filename window

Above you can see the Tag from filename... feature main window.
This feature is based on matching text by using Regular Expression (RE) [see this appendix].
To the "Regular Expression formula:" field, you have to write a regular expression.

After you "Check" the expression, you can select, what matches are what field. If you have all selected, you can click continue and program will do its own work. Every filename is scanned and the matches are inserted into the tag field.

Exclude extension

If this checkbox checked is, program will ignore the ".mp3" extension of file. There is no meaningful reason to uncheck this checkbox. But this is option is here.

Use full path

If this checkbox checked is, program will use for RE matching the whole path (usefull if you have folder named like i.e. the album).

Matches and tag fields

In this box you will see filepart matches (after testing RE) and also you will be able to select which part of file is what ID3 tag field.


ID3 renamer - Preferences - Tag handling

Preferences - Tag handling window:

Preferences - Tag handling

Here you can what tags will be used in renaming and/or writing.
Writing is performed to all checked tags.
Renaming is performed like this: First program tries to find tag ID3v2 (if selected), if nothing is found, tries ID3v1 (if selected). Else the error is occured.


ID3 renamer - Preferences - Settings

ID3 renamer - Preferences - General settings

Preferences - General settings window:

Preferences - General settings

Include subdirectories

Every operation will be made on all files in the selected directory and files in all subdirectories.

Confirm every operation

Before every operation ie. file rename, tag writing you will be asked and you will be able to allow/deny the action.

No error warnings

If any error occur, nothing will be shown - no error boxes.


ID3 renamer - Preferences - Program language

Preferences - Program language window:

Preferences - Program language

Translation file

Here you can select file with translation. Languages you can find at www.id3renamer.com .
Bottom you can see some information from translator - language, author, revision, ...

Note: Language files must be stored in the subdirectory 'langs' in directory with application (i.e. C:\Program Files\ID3 renamer\langs\).


ID3 renamer - Preferences - Behavior

Preferences - Behavior window:

Preferences - Behavior

Save 'Writing tab' configuration

Saves the state of Writing tab on exit.

Save 'Writing features' configuration

Saves the state of Writing features on exit.

Save 'Renaming tab' configuration

Saves the state of Renaming tab on exit.

Save 'Renaming features' configuration

Saves the state of Renaming features on exit.

Save 'Special tab' configuration

Saves the state of Special tab on exit.

Save main window state configuration

Saves the state of main window on exit. Now only the size, position is ignored.

Remember last active tab

On next start ID3 renamer will activate the last used tab - either Writing tab or Renaming tab.

Remember last used directory

On next start ID3 renamer will preset the last selected folder (if exist).

Check for new version on startup

On every startup ID3 renamer will check server for new version info. If any exists the message is shown and you can download new version after.
I strongly recommed to keep checkbox checked and keep ID3 renamer up-to-date.


ID3 renamer - Preferences - Special chars fixing

Preferences - Special chars fixing:

Preferences - Special chars fixing

... to *.mp3 file

You you check this, you will be able to run ID3 with preseted folder where are you currently working by right-clicking on the file and selecting menu item ID3 renamer.


ID3 renamer - Preferences - Shell integration

Preferences - Shell integration window:

Preferences - Shell integration

... to *.mp3 file

You you check this, you will be able to run ID3 with preseted folder where are you currently working by right-clicking on the file and selecting menu item ID3 renamer.

... to folder

Similar to "to *.mp3 file", but for folder.


ID3 renamer - Preferences - FreeDB

Preferences - FreeDB:

Preferences - FreeDB

FreeDB server

Here you can select the FreeDB server. You can use just random server or - better - select the closest server to you.


ID3 renamer - Special (main screen)

This is the main screen of Special tab:

Unfilled files

See this...

Generate M3U playlist

See this...


ID3 renamer - Special - Unfilled files

Unfilled files window

Above you can see the Unfilled files... feature main window.

Box with tag options

In this box you can select options for files. Files without this properties will be show in the list on the left side.

Join type

Here you can select, how the multiple selections will be joined. If you select AND option, all checked options needs to be fulfilled. On the other hand the OR option will select files with at least one (one or more) option fulfilled.


ID3 renamer - Special - Generate M3U playlist

in alphabetical order

Files are sorted according to its filename.

in track order

Files are sorted according to Track field from tag. If some files have the same track they are sorted according to filename.

in title order

Similar to "in track order", but sorted is according to Title from tag.

in album and title order

Files are sorted according to Album and then Title from tag.

in disc and track order

Similar to "in album and title order", but sorted is according to Disc number and Track from tag. Disc # is used only in ID3v2.

with full path

Paths in playlist will be stored with full path. Else program saves relative paths (given to the selected directory)

simple M3U

Only the simple M3U playlist will be generated (no extended info in the playlist file).


ID3 renamer - Backup settings

Backup settings:

With this function you can backup your settings of the program. The currently used settings will be stored in the selected file.
If you want to restore the settings, find %UserAppData%\ID3 renamer\ folder and copy the backup into and rename it to the 'renamer.ini'. That's all.


ID3 renamer - Usefull notes

Some useful notes:

If you Drag&Drop the folder/file on the program's main window, the folder where the file is, will be set as working.

If you start ID3 renamer with the 1st parametr as folder/file, the path will be set as working.
And you can also run program by dropping folder/file on the exe-file or shortcut.


ID3 renamer - Complete list of functions

Complete list of functions:

    I'm working on it. Sorry.


ID3 renamer - Appendix A - Regular Expression

Adapted from Servant Salamander's Help. © 2001 ALTAP, Ltd. All rights reserved.

Basic Regular Expression Syntax
  • '^' - at the start of the expression matches the start of a line (for example, '^test' matches all strings 'test' placed at the start of a line)
  • '$' - at the end of the expression matches the end of a line
  • '.' - matches any single character (for example, 'do.' matches 'dog', 'dot', 'doe', etc.; 'd..r' matches 'door', 'deer', etc.)
  • '*' - after an expression matches 0 or more matches for the expression (for example, 'ad*' matches 'a', 'ad', and as well as 'add' - in other words, 'a' followed by any number of 'd')
  • '+' - after an expression matches 1 or more matches for the expression (for example, 'do+' matches 'do' and as well as 'doo' - in other words, 'd' followed by at least one 'o')
  • '?' - after an expression matches 0 or 1 match for the expression (for example, 'add?' matches 'ad' and 'add' - in other words, 'ad' followed by optional 'd')
  • '|' - between expressions matches match for first, match for second, etc. (for example, 'red|blue|black' matches 'red', 'blue', and 'black' - in other words, any of mentioned words)
  • '[ ]' - characters in brackets match any one character that appears in the brackets, but no others (for example, 'a[dts]' matches 'ad', 'at', and 'as' - in other words, 'a' followed by 'd', 't', or 's')
  • '[^ ]' - characters in brackets match any one character that doesn't appear in the brackets, but no others (for example, '[^abc]' matches any character except 'a', 'b', and 'c')
  • '[-]' - signifies a range of characters (for example, '1[0-9]' matches all numbers in range '10' to '19')
  • '( )' - glues expressions in parentheses to one expression (for example, '(very )*well' matches 'well', 'very well', and as well as 'very very well' - in other words, any number of 'very ' followed by 'well')
  • '\' - before any character matches this character (for example 'too\.' matches only 'too.', note that 'too.' matches 'tool', 'took', and as well as 'toon' - in other words, 'too' followed by any character)
Regular Expression Syntax

A regular expression is zero or more branches, separated by '|'. It matches anything that matches one of the branches.

A branch is zero or more pieces, concatenated. It matches a match for the first, followed by a match for the second, etc.

A piece is an atom possibly followed by '*', '+', or '?'. An atom followed by '*' matches a sequence of 0 or more matches of the atom. An atom followed by '+' matches a sequence of 1 or more matches of the atom. An atom followed by '?' matches a match of the atom, or the null string.

An atom is a regular expression in parentheses (matching a match for the regular expression), a range (see below), '.' (matching any single character), '^' (matching the null string at the beginning of line), '$' (matching the null string at the end of line), a '\' followed by a single character (matching that character), or a single character with no other significance (matching that character).

A range is a sequence of characters enclosed in '[]'. It normally matches any single character from the sequence. If the sequence begins with '^', it matches any single character not from the rest of the sequence. If two characters in the sequence are separated by '-', this is shorthand for the full list of ASCII characters between them (e.g. '[0-9]' matches any decimal digit). To include a literal ']' in the sequence, make it the first character (following a possible '^'). To include a literal '-', make it the first or last character.

Ambiguity
If a regular expression could match two different parts of the text, it will match the one, which begins earliest. If both begin in the same place but match different lengths, or match the same length in different ways, life gets messier, as follows.

In general, the possibilities in a list of branches are considered in left-to-right order, the possibilities for '*', '+', and '?' are considered longest-first, nested constructs are considered from the outermost in, and concatenated constructs are considered leftmost-first. The match that will be chosen is the one that uses the earliest possibility.

For example, '(ab|a)b*c' could match 'abc' in one of two ways. The first choice is between 'ab' and 'a'; since 'ab' is earlier, and does lead to a successful overall match, it is chosen. Since the 'b' is already spoken for, the 'b*' must match its last possibility-the empty string-since it must respect the earlier choice.

In the particular case where no '|'s are present and there is only one '*', '+', or '?', the net effect is that the longest possible match will be chosen. So 'ab*', presented with 'xabbbby', will match 'abbbb'. Note that if 'ab*' is tried against 'xabyabbbz', it will match 'ab' just after 'x', due to the begins-earliest rule.