topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Thursday March 28, 2024, 5:46 am
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Author Topic: recommend a flexible *command line capable* MP3 tag and rename program?  (Read 12413 times)

Flippertie

  • Participant
  • Joined in 2010
  • *
  • Posts: 18
    • View Profile
    • Donate to Member

I listen to a bunch of Podcasts. Unfortunately there is no convention for how they are named/tagged which makes organising them a hassle.

I'm looking for a (windows) tool that I can run in a batch file to process a bunch of files based on some combination of the existing file name and/or tags. 

For example this sort of thing:

>>  if filename = EP* then rename to: <artist> - <track num> - <track name>
>>  if <artist> = "lightspeed magazine" then rename: to "LS" - [chars 4-7] - <album name>
etc

I know MediaMonkey can do some of this automatically on import, and some of the common MP3 taggers can do it through the GUI, but I have not been able to find something with a command line interface that I can put in a batch file.

I know a little regular expressions and am happy to learn more if needed.  I can hack together a batch file or possibly tweak an existing script - but I'm not a coder.

Any suggestions ?



Curt

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 7,566
    • View Profile
    • Donate to Member
Re: recommend a flexible *command line capable* MP3 tag and rename program?
« Reply #1 on: September 02, 2011, 05:24 AM »
http://www.kristanix...are.com/filerenamer/

-can create batch files with your filters

wr975

  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 369
    • View Profile
    • Donate to Member
Re: recommend a flexible *command line capable* MP3 tag and rename program?
« Reply #2 on: September 02, 2011, 09:05 AM »
My search for a command line MP3 tagger (to import cover art) led me to eyed3 (http://eyed3.nicfit.net/).
 
It's a standalone Python script ("eyed3.py" guess that's what you need) or a Python library.

I'm not sure if you need to install the libary to use the script, but anway. It works under WIndows, but the default installer is Windows unfriendly. So attached to this post is a customized setup. You'll still need an installation of Python.

If it's too much hassle, you can also try Metamp3 (just Google it). Excellent command line tagger for Windows, but not supporting unicode... like it removes German umlauts from ID3 tags... so I can't use it.


Command line reference of eyed3.py
How to Use eyeD3
The 'eyeD3' utility program can perform most ID3 tasks, and it is also the best example of how to use the API. It supports the following features:

 
  Usage
  =====
    eyeD3 [OPTS] file [file...]
 
  Options
  =======
    --version             show program's version number and exit
    -h, --help            show this help message and exit
 
  Tag Versions
  ------------
      -1, --v1            Only read/write ID3 v1.x tags. By default, v1.x tags
                          are only read if there is not a v2.x tag.
      -2, --v2            Only read/write ID3 v2.x tags.
      --to-v1.1           Convert the file's tag to ID3 v1.1. (Or 1.0 if there is
                          no track number.)
      --to-v2.3           Convert the file's tag to ID3 v2.3
      --to-v2.4           Convert the file's tag to ID3 v2.4
 
  Tag Data
  --------
      -a STRING, --artist=STRING
                          Set artist
      -A STRING, --album=STRING
                          Set album
      -t STRING, --title=STRING
                          Set title
      -n NUM, --track=NUM
                          Set track number
      -N NUM, --track-total=NUM
                          Set total number of tracks
      -G GENRE, --genre=GENRE
                          Set genre. The argument is a valid genre string or
                          number.  See --list-genres
      -Y STRING, --year=STRING
                          Set a four digit year.
      -c [LANGUAGE]:[DESCRIPTION]:COMMENT, --comment=[LANGUAGE]:[DESCRIPTION]:COMMENT
                          Set comment
      -L [LANGUAGE]:[DESCRIPTION]:LYRICS, --lyrics=[LANGUAGE]:[DESCRIPTION]:LYRICS
                          Set lyrics
      -p STRING, --publisher=STRING
                          Set the publisher/label text
      --remove-comments   Remove all comment frames.
      --remove-lyrics     Remove all lyrics frames.
      --add-image=IMG_PATH:TYPE[:DESCRIPTION]
                          Add an image to the tag.  The description and type
                          optional, but when used, both ':' delimiters must be
                          present.  The type MUST be an string that corresponds
                          to one given with --list-image-types. If the IMG_PATH
                          value is empty the APIC frame with TYPE is removed.
      --remove-images     Remove all image (APIC) frames.
      --add-object=OBJ_PATH[:DESCRIPTION[:MIME-TYPE[:FILENAME]]
                          Add an encapsulated object to the tag.  The description
                          and filename are optional, but when used, the ':'
                          delimiters must be present.  If the OBJ_PATH value is
                          empty the GEOB frame with DESCRIPTION is removed.
      -i DIR, --write-images=DIR
                          Causes all attached images (APIC frames) to be written
                          to the specified directory.
      -o DIR, --write-objects=DIR
                          Causes all attached objects (GEOB frames) to be written
                          to the specified directory.
      --set-text-frame=FID:TEXT
                          Set the value of a text frame.  To remove the frame,
                          specify an empty value.  e.g., --set-text-frame="TDRC:"
      --set-user-text-frame=DESC:TEXT
                          Set the value of a user text frame (i.e., TXXX). To
                          remove the frame, specify an empty value.  e.g., --set-
                          user-text-frame="SomeDesc:"
      --set-url-frame=FID:URL
                          Set the value of a URL frame.  To remove the frame,
                          specify an empty value.  e.g., --set-url-frame="WCOM:"
      --set-user-url-frame=DESC:URL
                          Set the value of a user URL frame (i.e., WXXX). To
                          remove the frame, specify an empty value.  e.g., --set-
                          user-url-frame="SomeDesc:"
      --play-count=[+]N   If this argument value begins with '+' the tag's play
                          count (PCNT) is incremented by N, otherwise the value
                          is set to exactly N.
      --bpm=N             Set the beats per minute value.
      --unique-file-id=OWNER_ID:ID
                          Add a UFID frame.  If the ID arg is empty the UFID
                          frame with OWNER_ID is removed.  An OWNER_ID MUST be
                          specified.
      --set-encoding=latin1|utf8|utf16-BE|utf16-LE
                          Set the encoding that is used for _all_ text frames.
                          This only takes affect when the tag is updated as the
                          result of a frame value being set with another option
                          (e.g., --artist=) or --force-update is present.
      --remove-v1         Remove ID3 v1.x tag.
      --remove-v2         Remove ID3 v2.x tag.
      --remove-all        Remove both ID3 v1.x and v2.x tags.
 
  Misc. Options
  -------------
      --rename=NAME       Rename file (the extension is not affected) based on
                          data in the tag using substitution variables: %A
                          (artist), %a (album), %t (title), %n (track number),
                          and %N (total number of tracks)
      --fs-encoding=ENCODING
                          Use the specified character encoding for the filename
                          when renaming files
      -l, --list-genres   Display the table of ID3 genres and exit
      --list-image-types  List all possible image types
      --strict            Fail for tags that violate the ID3 specification.
      --jep-118           Output the tag per the format described in JEP-0118.
                          See http://www.xmpp.org/extensions/xep-0118.html
      --nfo               Output NFO information.
      --lametag           Prints the LAME Tag.
      --force-update      Update the tag regardless of whether any frames are set
                          with new values.
      --no-color          Disable color output
      --no-zero-padding   Don't pad track or disc numbers with 0's
      --no-tagging-time-frame
                          When saving tags do not add a TDTG (tagging time) frame
      -F DELIM            Specify a new delimiter for option values that contain
                          multiple fields (default delimiter is ':')
      -v, --verbose       Show all available information
      --debug             Trace program execution.
      --run-profiler      Run using python profiler.



skwire

  • Global Moderator
  • Joined in 2005
  • *****
  • Posts: 5,286
    • View Profile
    • Donate to Member
Re: recommend a flexible *command line capable* MP3 tag and rename program?
« Reply #3 on: September 02, 2011, 07:20 PM »
Back in the day, there was tag.exe by Ca5e.  However, it seems that his original site is no more.   :(  You can grab the latest version I had in my archives from my site:  http://www.skwire.net/~apps/misc/tag.zip

Tag - Automatic Tag from filename
Copyright (c) 2002-2003 Case.  Minor additions by Neil Popham, 2004-2007
Version 2.0.52, Compiled 2007-05-04

Usage: Tag [options] <filenames / directories / @file_with_parameters>
Wildcards are supported in filenames and directories

Options:
 --title   <value> : set title to <value>
 --artist  <value> : set artist to <value>
 --album   <value> : set album to <value>
 --year    <value> : set year to <value>
 --comment <value> : set comment to <value>
 --track   <value> : set track number to <value>
 --genre   <value> : set genre to <value>

Tag fields can also be set with:
 -t <item=x>       : set tag item <item> to value <x>
 -f <item=x>       : set tag item <item> from content of file <x>

 --help            : show full help

Supported tags: ID3v1, ID3v2 (reading), APE v1.0, APE v2.0, Vorbis, FLAC, Lyrics3 v2.0.

Winkie

  • Supporting Member
  • Joined in 2008
  • **
  • Posts: 93
    • View Profile
    • Donate to Member
Re: recommend a flexible *command line capable* MP3 tag and rename program?
« Reply #4 on: September 03, 2011, 02:22 PM »
Back in the day, there was tag.exe by Ca5e.  However, it seems that his original site is no more.   :(  You can grab the latest version I had in my archives from my site:  http://www.skwire.net/~apps/misc/tag.zip

The latest version is 2.0.52 (Still, dated: 2007-05-03). Since your latest version development is done by synthetic soul.

Or you can download it from Softpedia.

widgewunner

  • Member
  • Joined in 2009
  • **
  • Posts: 93
    • View Profile
    • Donate to Member
Re: recommend a flexible *command line capable* MP3 tag and rename program?
« Reply #5 on: September 04, 2011, 09:21 AM »
Although a GUI, MP3Tag does everything you need. Takes a while to come up to speed, but the effort spent is worth it. It has very powerful renaming and tag data manipulation features (including regex) that can be applied to individual files, directories and entire branches.

Highly recommended.
« Last Edit: September 04, 2011, 09:31 AM by widgewunner »

Flippertie

  • Participant
  • Joined in 2010
  • *
  • Posts: 18
    • View Profile
    • Donate to Member
Re: recommend a flexible *command line capable* MP3 tag and rename program?
« Reply #6 on: September 06, 2011, 03:13 AM »
Guys,
thanks for the replies and suggestions.

File Renamer Turbo looks like it could do what I want - but I'll check out the free suggestions first. I hope metamp3 or tag.exe will fit the bill (and my limited skill set).

Widgewunner - I have MP3tag, and a couple of file rename tools already - but as per title i'm looking for command line capable

I'm not familiar with python - will leave that as a last resort :) 

Thanks again