Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: puddletag...a native Linux tag-editor similar to mp3tag (Read 12913 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

puddletag...a native Linux tag-editor similar to mp3tag

After months of development, testing, recoding, enhancement and more testing I'm pleased to announce the arrival of puddletag. If you've kept a windows partition around just so you can use mp3tag or have resorted to using mp3tag under Wine, you now have at your disposal an open-source native Linux alternative. It uses a table layout so that all the tags you want to edit by hand are visible and easily editable. However, puddletag excels at automating repetitive tasks like extracting tag information from filenames, tagging files from text file or clipboard, renaming files and folders based on tags by using patterns and manipulating tags using actions and regular expressions.

Supported formats include: id3v1, id3v2 (mp3), AAC (m4a, etc.), VorbisComments (.ogg, .flac) and APEv2 (.ape).

Much of mp3tag's functionality has been duplicated with added enhancements and tweaks. Features include:
- Renaming files via tags.
- Retrieving tags from filenames, text files and clipboard.
- Track numbering including across folders.
- Fully customisable screen layout. Drag and drop windows to where you'd like them or turn them off altogether
- Fully customiseable tag panel.
- Extended tags view/editing including visual confirmation of what's going to be added/ edited and/ or deleted.
- Adding/Removing/changing cover art for FLAC and ID3.
- User defined actions to manipulate tags including support for regular expressions.
- Musicbrainz integration for tag lookups (*** more to come***)
- Copy and paste any combination of tags to multiple files

In addition to the above there are many additional features planned and/ or under development with the aim being to make puddletag the tool of choice for tag editing in Linux.

For more info and download instructions visit http://puddletag.sourceforge.net/

puddletag...a native Linux tag-editor similar to mp3tag

Reply #1
FYI, a user has successfully used puddletag running on OS X. They used fink (a debian package management system for OS X) to install the dependencies but had to install the python musicbrainz2 manually.

puddletag...a native Linux tag-editor similar to mp3tag

Reply #2
- Now supports the following tag sources: MusicBrainz, freeDB, Amazon.
- Added ability to remap tag source data to user specified tag names e.g. to have the Artist info retrieved from MusicBrainz written as the Performer tag, add the following to Preferences/Mappings:
Tag=MusicBrainz, Source=artist,Target=performer
- Incoming file options are restricted to match the user filespec e.g. *.flac
- The tag retrieval code now uses musicbrainz artist ID (if present) to source albums list

puddletag...a native Linux tag-editor similar to mp3tag

Reply #3
Looks very very interesting, thanks!
Creature of habit.

puddletag...a native Linux tag-editor similar to mp3tag

Reply #4
Added support for musepack, wavpack and basic wma (just the common fields minus artwork).


puddletag...a native Linux tag-editor similar to mp3tag

Reply #6
Whilst puddletag is loosely based on mp3tag (and incorporates most of the functionality available in mp3tag) it also incorporates many enhancements we wanted to see and allows efficient tag handling in ways not possible with most editors we'd tried.
Examples include:

* a spreadsheet-like layout that enables selection of individual tags/cells across multiple files and performing operations on the selected tags only
* copying selected tag(s) from one track to many tracks in a single operation
* quick search and replace of text across selected tags/ cells or entire tracks using Ctrl-H (no need to write an action for a quick search/ replace operation)
* extended tags view that uses colour feedback to show you what will be added, altered and edited on hitting OK
* ability to see stored tags as written to file (i.e. without tagname translation) to help resolve pesky issues like id3 and vorbis tag types in a single file
* ability to tag single tracks using tag sources (handy when the album you're looking for doesn't exist in tag sources, but the songs do exist in other albums found in tag sources (why tag by hand when you can just take track metadata from other albums)
* ability to include/ exclude specific tags from tag sources
* easily select all tracks in a folder using a hotkey (Ctrl-Shift-S) (no more dragging the mouse cursor around and shift-clicking)
* resize/relocate/close windows (configure your workspace to suit you)
* realtime results feedback when defining actions (so you can see the results an action will generate as you define it)
* importing tags from clipboard (in much the same way one would from text file (why copy track data from a website, save it to a file and only then write it... pop it into the clipboard and write it from memory)
* dynamically change main window font size to suit your needs
* launch puddletag with a predefined font size
* (optionally) dynamically size columns to match tag metadata
* drag and drop tag columns in main view to reorder them
* predefined and readily editable tag patterns always available to you through a pulldown menu
* customisable hotkeys
* ability to import and edit tags directly in the QuodLibet library

Last, but not least, puddletag's been developed using Python and is free as in free by being licencsed under GPLv2.

puddletag...a native Linux tag-editor similar to mp3tag

Reply #7
Upcoming enhancements: Masstagging and sourcing metadata from more than one tag source

Masstagging and tag source combining is now in unit testing. Once this is released you will be able to batch tag a directory tree simply by loading it into puddletag and telling it to get going with masstagging.

puddletag will then do its best to figure out the artist/album in each folder (yes, it does assume each album resides in a folder of its own) and retrieve and combine tags from the tag source(s) you specify. For puddletag to figure out artist/album for masstagging, puddletag will consult existing tags first, then, if necessary, foldername, and finally FreeDB (if you use FreeDB) - in effect this means that if you have meaningful foldernames or make use of freedb, there's a good chance puddltag will find the correct album metadata without a single tag being present in any of the tracks.

When combining tags you'll be able to merge and/or replace tag data retrieved from multiple tag sources and you're also able to specify what tag data you want retrieved from which tag source. This way you'll be able to source specific tags from specific tag sources. Attached screenshot shows configuration options for a tag source, with tags being sourced from multiple tag sources in the order specified in the top window.


puddletag...a native Linux tag-editor similar to mp3tag

Reply #8
Automated batch tagging has arrived!

I'd mentioned a while ago that we were working on automated masstagging that would allow you to load a directory tree in puddletag, select which albums you want tagged, which tag sources to use, which fields you want tagged and which tag sources take precedence...and then sit back and watch puddletag do its work.  The good news is that development is now complete and after lengthy internal testing we're making it available for your use -- don't worry, puddletag will NEVER write any changes to your tags without your express permission.

Underlying principles:
Tag sources work as follows (whether using single album tagging or Masstagging):
- Whilst tagging is album based, it can also be used to tag individual tracks.
- puddletag's parsing code will retrieve all tags available from a tag source
- by default, all tags provided by a tag source will be written unless you specify otherwise
- there are two ways to modify this behaviour:
1) specify which fields you're interested in (in which case they're the ONLY tags that will be written)
2) specify which tags to exclude by preceding the field/tag name with a tilde "~" e.g. "~album, genre" (in which case all tags provided by a Tag Source will be written, excepting album & genre)
- puddletag generally assumes that each album you want to tag is contained in its own folder (if this is not the case and filenames or existing tags are rich enough in content to distinguish albums you can use puddletag actions to move files to distinct folders before using Masstagging).  If, however, files in the same directory have different values for the 'album' field, tracks with the same 'album' field will be treated as distinct albums and and lookups will be done for each album.
- Puddletag currently supports freeDB and Musicbrainz as Tag Sources (there's a plugin framework for interested parties to add others).
- With Masstagging you can configure puddletag to retrieve tags you want from specific tag sources and you can also combine metadata from various tag sources to "build" tagging metadata for writing to an album and/or track.
- Using tagging profiles you're able to mix and match tagging behaviour using various tag sources to match your specific needs (this will be increasingly useful as more tag sources are added (hopefully someone out there is interested enough to add discogs, rateyourmusic etc. through the plugin framework).

Masstagging profiles:
Create a Masstagging profile in which you specify which tag sources to use, the order in which to use them and which tags to utilise from the various tag sources.  Masstagging profiles can be reused without having to do anything other than tell puddletag which Masstagging profile you'd like to deploy.  A Masstagging profile specifies:
- which tag source(s) to use
- the order in which to poll the tag sources (important if you consider one source more definitive/authoritative than another ... puddletag will ultimately retain the last meta-data retrieved for a field/tag, so the most authoritative source should be the last polled)
- which fields to retrieve from each of the tag sources
- whether or not to utilise ambiguous matches for a particular tag source
- various matching characteristics (filename pattern, fields to match against existing tags)
- whether or not to brute force unmatched files (i.e. sort files in ascending order using filename and apply retrieved track meta-data top down from first to last track)


Using Masstagging:
- Load the directory tree you'd like to masstag
- Select the albums you'd like masstagged (Ctrl-A will select all files from all folders you've loaded). 
- Select a Masstagging profile
- Select Start, sit back and wait for Masstagging to finish.

NOTE: Whilst it's probably useful to you to sort the loaded tracks by filename and folder, there is NO NEED to sort the loaded directory tree before kicking off Masstagging.


Reviewing Masstagging results
Once the Masstagging run has completed, puddletag will present you with the results (in fact, you'll see progress as Masstagging does its thing -- all tracks that have been matched are formatted bold) for your review and approval.  To ease review you're able to sort the results by any column you please and can browse through the tracklist in the main view window.

- If you're unhappy with the results for a particular track and/or album, they can be "deselected" (meaning that no changes will be written to them) simply by highlighting them and selecting Preview Mode/Clear Selected Files (Ctrl-Shift-F)
- While reviewing proposed changes you can make any further changes you'd like using the main view, Tag Panel or Extended Tags view (Ctrl-E).
- Once you've completed your review you can write tags using Ctrl-W or clicking on the Write button.  puddletag will then proceed to commit changes to all tracks formatted bold.
- To abandon a Masstagging session simply click on the Clear Preview button and there'll be no changes to write.

That's all there is to it.  My only regret is having tagged 1000's of albums before my desire for a Masstagging engine was realised.

For a comprehensive list of puddletag's current feature set goto: http://puddletag.sourceforge.net/news.html



puddletag...a native Linux tag-editor similar to mp3tag

Reply #9
Thanks for keeping us updated, I'm watching this closely. Is there any chance it will appear in Mint's repository in the near future? So far I'm sticking with just using the Software Manager, mainly because I don't really know what I'm doing. So far I've tried Kid3, Ex Falso, & Easy Tag, & not really got on with any of them.

puddletag...a native Linux tag-editor similar to mp3tag

Reply #10
Thanks for keeping us updated, I'm watching this closely. Is there any chance it will appear in Mint's repository in the near future? So far I'm sticking with just using the Software Manager, mainly because I don't really know what I'm doing. So far I've tried Kid3, Ex Falso, & Easy Tag, & not really got on with any of them.
  Hi.  At present we're not making an distribution specific packages as puddletag is essentially Python based and can be run without "installing" it per se.  All that is required is that its dependencies are installed and that the puddletag tarball be unpacked into a folder from which it can be run.  If users are willing to build distribution specific packages we can host them on sourceforge.

As Mint is Debian based the following should suffice to get you up and running:

Install dependencies:
Open a terminal window and paste in the following:
Code: [Select]
sudo apt-get install python-qt4 python-pyparsing python-mutagen python-configobj python-musicbrainz2 python-imaging


Download the tarball from https://sourceforge.net/projects/puddletag/files/latest and unpack it.  Open a terminal window, change directory to the folder in which you've unpacked puddletag and type:
Code: [Select]
python puddletag
  That's all there is to it.

You can also add it to your launch panel - define it as type: "Application in Terminal" and the launch command as: "python /path-to-puddletag/puddletag"

puddletag...a native Linux tag-editor similar to mp3tag

Reply #11
Thanks! That all works.

Looks promising. A bit rough round the edges yet, but can already do things I haven't achieved with any other tagger on Linux.

puddletag...a native Linux tag-editor similar to mp3tag

Reply #12
Thanks! That all works.  Looks promising. A bit rough round the edges yet, but can already do things I haven't achieved with any other tagger on Linux.
  Pleasure, could you return the favour and elaborate on what you mean by a bit rough around the edges?

Also, you'd do well to consult the documentation at http://puddletag.sourceforge.net/docs.html

puddletag...a native Linux tag-editor similar to mp3tag

Reply #13
Thanks! That all works.  Looks promising. A bit rough round the edges yet, but can already do things I haven't achieved with any other tagger on Linux.
  Pleasure, could you return the favour and elaborate on what you mean by a bit rough around the edges?

Also, you'd do well to consult the documentation at http://puddletag.sourceforge.net/docs.html

Already done, on both counts, the former on your sourceforge forum.

puddletag...a native Linux tag-editor similar to mp3tag

Reply #14
Enhancing under the hood functionality

With Masstagging now complete and fully operational (including the option to add only metadata not already present) we've shifted out focus to enhancing under the hood functionality. Work is currently underway to include the following capabilities within puddletag:

Removing incorrect tag types
puddletag will enable you to consolidate metadata from various tag types, remove incorrect tag types and rewrite the consolidated metadata using the correct tag type e.g. a FLAC file containing ID3v2 and Vorbis tags will yield consolidated tag metadata and the ID3v2 tags will be removed, without duplicating metadata.

Splitting, merging and de-duping tags
You will be able to merge, split and/or de-duplicate tag metadata e.g. if you have a genre tag as follows: genre=Rock\\Hard Rock\\Rock :
Split tags: genre=Rock, genre=Hard Rock
Merge tags: genre=Rock\\Hard Rock

De-duplication will occur automatically when merging or splitting tags.

Other functions you'll be able to use in Actions include: adding/ saving artwork to disc; removing specified fields/tags and removing all tags/fields EXCEPT those you stipulate.

puddletag...a native Linux tag-editor similar to mp3tag

Reply #15
puddletag 0.96 has been released and includes a host of additional features and enhancements.

Highlights include:
    Ability to accept/ reject changes to existing tag metadata
at a track and/or field level when using Tag Sources (including Masstagging).  Fields that will be changed are formatted bold and can be viewed/edited in main view, Tag Panel or Extended Tags view.  Unchanged fields are shown in italics.
Ability to remove ID3 and APEv2 tags from files that shouldn't contain these tag types.
Ability to toggle confirmations for Renaming Directories, Exiting Preview Mode and Deleting files.
Ability to rename folders via an action specifying a value for the __dirname field.
Support for UFID frames for ID3v2 Tags.
Monkey's Audio File's are now fully supported.
The Actions and Functions dialogs can now be tool windows too (See Windows Menu).
Actions and Functions now operate and write multiple-valued fields.
Two new scripting functions copied straight from Mp3tag: $meta_sep and $meta. See the Scripting page for details.[/li][/list]

Numerous new functions that can be used on a standalone basis or used in actions.  These include ability to:
    import text file to field
    embed artwork
    merge fields
    remove specified fields
    remove ALL BUT specified fields
    remove duplicate values in a field
    sort multivalue fields (ascending, descending and with or without case sensitivity)
    rename file using tag values[/li]


See the Functions page for a detailed listing and description of each.

All documentation has been updated.  If you're in need of any assistance or have suggestions, please post them on the puddletag forum.

Last, but not least, puddletag can now be downloaded as a .deb file[/b][/u][/url] meaning installation on Debian based Linux systems is as simple as double-clicking on the file to get it and all dependencies installed.  In Ubuntu it will appear in the Applications/Sound & Video menu.

puddletag...a native Linux tag-editor similar to mp3tag

Reply #16
puddletag 0.9.9

It's been a while since I posted any updates regarding puddletag and there have been a host of under the hood tweaks as well as functional enhancements & additions, culminating in this release.  A lot of our focus has been on adding the little things that make your life easier when tagging, whether you're tagging an individual track, and album or processing changes to your entire library.  If you haven't already tried puddletag I'd encourage you to do so as I'm sure you'll be very pleasantly surprised by what it offers and its ease of use.  It's the little things that make all the difference e.g. being able to:
  • copy selected tag metadata from files in a 1:1 or 1:many fashion
  • lookup tags using multiple tag sources (masstagging) and combine the results whilst dictating which fields to populate from which sources.  Tags a mess? ...no problem, load the files, choose one or more tag sources and masstagger will do its best to create some semblance of order from the chaos.  When it's done you can review/ edit and make any changes you like including wholesale rejection of proposed changes for any track(s)
  • add metadata to existing tags without overwriting/ compromising existing tags
  • process Actions & Functions against only selected fields or all fields in selected files except those fields you specifically exclude
  • easily assign metadata from a tag source at an album or track level
  • retrieve metadata from various tag sources and for every tag source, have the data saved to fields of your choosing
What's new:
At a high level key changes & additions can be summarised as follows:
  • many new functions added to further ease and enhance your ability to process changes to fields
  • extensive support for musicbrainz metadata and Discogs.com's XML service
  • (tentative) support for Mp3tag's tag sources
  • Preview mode: review/add/ amend metadata retrieved from tag sources prior to committing any changes.  In practical terms this means you can load an album in puddletag and enrich the metadata using a combination of tag sources and your own edits/ additions in a single operation.  Edits/ additions can be made using the File-View, Tag Panel or Extended Tags view.
  • ability to move directories using the Tag->Dir function
  • addition of __counter (the sequence number of the file that's being processed, based on the order they're listed in the file-view) and __total_files (total number of files currently being processed, based on the number of files selected) variables, which which you can use in Functions and Actions
  • function to correct incorrectly encoded filenames
  • ability to sort selected files using predefined sort criteria that differs from the sort order of the population of loaded files
  • ability to move selected files up/ down in file listing, regardless of sort orrder
  • ability to assign shortcuts to Actions
  • puddletag now supports translations
To get an appreciation of all that puddletag offers, please refer to the online documentation.

puddletag...a native Linux tag-editor similar to mp3tag

Reply #17
(foam from sourceforge here)
Is there the ability yet to bulk convert ID3v2.3 to ID3v2.4?
Creature of habit.

puddletag...a native Linux tag-editor similar to mp3tag

Reply #18
(foam from sourceforge here)
Is there the ability yet to bulk convert ID3v2.3 to ID3v2.4?
Load and select all affected files, right-click, select Cut, then select paste.  Tags will be rewritten as ID3v2.4.

puddletag...a native Linux tag-editor similar to mp3tag

Reply #19
I tried to run it on Windows with Python 2.6.6, with this steps:

Code: [Select]
svn co https://puddletag.svn.sourceforge.net/svnroot/puddletag puddletag


1. Windows user needs to define this envs: HOME, EMAIL:

SET HOME=%appdata%
SET EMAIL=user@mail.com

or tweak the source

2. modules:

- \puddlestuff\puddleobjects.py, line 1219
- \puddlestuff\puddletag.py", line 220

raise TypeError: keyword arguments are not supported

Keyword super and uses of classes in Python is still abstract to me, but I commented __init__ functions in classes targeted by error and managed to launch puddletag:

[a href="http://i55.tinypic.com/71ii2x.png" target="_blank"]

puddletag...a native Linux tag-editor similar to mp3tag

Reply #20
I don't know what's the impact of this changes

I'll have the developer respond directly in terms of changes required to support Widows (I'm a mix of functional requirements, testing & documentation).  If they're trivial I doubt there'll be any objection, albeit puddletag was aimed at filling a need in Linux. 

- columns sorting by clicking on column title doesn't work in main window
works under Linux, tried dbl click?

- drag and drop doesn't work neither in main view or artwork view
Drag and drop of artwork, files and/or folders has not been implemented [yet].

- "path to play files with" in preferences, does not accept spaces in path, but with 8.3 format works fine except it passes file without extension
possibly Windows specific will look into it.

- even if file system is refreshed changes (folder structure) are not noticed until next startup
Use refresh button/ F5.  puddletag doesn't moitor filesystem after loading

- musicbrainz seems to work fine, but discogs has problem (see log window in screenshot)
Have you entered an API key in preferences?

I know it's not made for Windows but it looks very solid to me 
Thx, appreciate all feedback 

puddletag...a native Linux tag-editor similar to mp3tag

Reply #21
(foam from sourceforge here)
Is there the ability yet to bulk convert ID3v2.3 to ID3v2.4?
Load and select all affected files, right-click, select Cut, then select paste.  Tags will be rewritten as ID3v2.4.
So there is no option to choose the ID3v2 version? Would that not be quite an omission, considering the slow uptake of ID3v2.4 by software and hardware developers?

puddletag...a native Linux tag-editor similar to mp3tag

Reply #22
So there is no option to choose the ID3v2 version? Would that not be quite an omission, considering the slow uptake of ID3v2.4 by software and hardware developers?
Correct, puddletag makes use of the Mutagen library to read/ write tags.  Mutagen does not support writing ID3v2.3 (or v2.2).  Refer to the Mutagen FAQ for further information.

puddletag...a native Linux tag-editor similar to mp3tag

Reply #23
- musicbrainz seems to work fine, but discogs has problem (see log window in screenshot)
You need to set a user agent in preferences.