View Full Version : Let's Tag - A utility to assist with tagging VGM
PhantomSnake
Feb 17, 2009, 02:26 PM
Hi guys,
You might be interested in a handy utility I just released. It's called Let's Tag and it helps you tag VGM albums by using album data from VGMdb.net. I decided to make this utility because I have a whole mess of untagged or mistagged mp3s, and I'm too lazy to do all the tagging by hand. ;)
The utility is a Windows application (though it runs under Mono, too) that downloads album data from VGMdb and exports it to a text file in a format that can be easily imported into Mp3tag. It's kind of a roundabout way of doing things, I know, but it's still better than doing it by hand.
I created a little Google Presentation to demonstrate how it works. You can find the presentation and the application itself here:
http://brinkoftime.net/?p=11
The current version is 0.2.1. I welcome any suggestions and feedback for future versions.
Hope you guys like it!
http://brinkoftime.net/wordpress/wp-content/uploads/2009/05/letstag_02.png
Also check out Zorbfish's cddb/freedb emulation (http://vgmdb.net/forums/showthread.php?t=2618) which might be an even better way of getting your tag data into Mp3tag (and other tagging apps).
Myrkul
Feb 17, 2009, 03:56 PM
This is an amazing idea and this is the feature i have been waiting for.
I could not try it fully atm since i don't have .net 3.5 (seems like i get an error when i want to export with .net 3.0) but i'll probably get it just for that tool :)
* I was wondering about a tool like this to create .txt files or .nfo files with all the album data (title, catalog... ), just as your tool is doing now!
But if you could add the "notes field", that would be awesome.
And an option to export these infos as .txt or .nfo would be sweet.
(note that i do not want to get rid of .nfo files that contains credits but everyone got tons of albums without this kind of files)
* What about albums that got multiple tracklists?
Seems like you can't choose which one you want (it pick the default one for the moment -probably the best one to pick up- but hey that's just a suggestion!)
I probably could name some more feature but that could be "too much" for such a tinny tool, and if fits only the tagging job, i will be happy.
Of course it can't tag the tags correctly with composers breakdown, but which tool can do that..
Great Job.
PhantomSnake
Feb 17, 2009, 04:18 PM
Hi Myrkul. Glad you like it. Hope you get it working with .NET 3.5!
There are lots of new features I'd like to add over time. That's why this is version 0.1. It's just the basic functionality for now. Nothing fancy, but still useful, I hope! The features you mentioned would be great!
Some features I'm considering:
Ability to select language -- both for album details and for the tracklist
Export nicely formatted album summary to .nfo or .txt
Export playlist to .m3u (though you can do that with Mp3tag already)
Basic editing functionality to add/edit/delete album details
Get the release year from the VGMdb "Release Date" field
Automatically download album art
Maybe even built-in tagging support so you don't need to use Mp3tag
Let me know if you have any other ideas.
Secret Squirrel
Feb 18, 2009, 05:25 AM
This is pretty neat. I've never used Mp3Tag, but I've been looking for another tagger so I'm going to have to try it out.
Someday we'll have track-by-track credits built into the site, so support for that might be something that could be added to your tagger in the future.
PhantomSnake
Feb 18, 2009, 09:13 AM
Cool. Looking forward to that track-by-track credits feature!
Is there, by any chance, any public API to get album details in a convenient data format? (JSON or XML, maybe?) My current method of getting the album details is very fragile... I use a bunch of regular expressions.
I do the same thing for search results (parse the results page with regexes), but I did find your nice AJAX data provider for that (ajax-autocomplete.php), so I'll switch over to that at some point.
Edit: Nevermind, it seems Gigablah is planning just such an API. :)
LiquidAcid
Feb 20, 2009, 12:48 PM
:(
I'd need something like that for linux. Or at least some script to get the tracklist into foobar2000 (using this through wine for tagging work) or eyeD3. Already have some simple script that converts the copy&paste results of the tracklist into a format that is usuable by fb2k through the masstagging engine (input data line by line).
Of course that's also a lot of work:
Manually copy&paste the tracklist from VGMdb, then run the script on the data, after that copy the data over to fb2k (also manually).
Perhaps it's easier to let something like curl fetch the album page, then parse the HTML code itself and use eyeD3 to do the tagging (I have no idea if you can script fb2k to that extend that you can supply tagging info through the commandline). However eyeD3 has the nasty behaviour to write some timestamp data to the ID3v2, something I do not want.
PhantomSnake
Feb 20, 2009, 04:25 PM
Have you tried my app in Wine?
I could also try compiling it with Mono...
Edit: Just tried it in Linux. The Windows binary works as-is with Mono! Of course, you still need something like Mp3tag to apply the tags.
LiquidAcid
Feb 21, 2009, 01:46 AM
Have you tried my app in Wine?
I could also try compiling it with Mono...
Edit: Just tried it in Linux. The Windows binary works as-is with Mono! Of course, you still need something like Mp3tag to apply the tags.
Yeah, the thing is that I'm not really into installing a huge toolkit because of one single application.
I also think .NET is a bit of an overkill :)
On second thought I don't think I want another GUI-based application to do the work. I figure that your tool isn't commandline-only based, right?
The reason for that is: the system where the tagging would be done is a headless one, only with ssh access. There are no X libs or whatever installed.
Currently I use sshfs to mount the music directory into my regular laptop filesystem (so I can use fb2k). Looking for some cleaner solution. And using more applications through wine isn't exactly a clean solution *g*
Well, I keep on searching.
PhantomSnake
Feb 21, 2009, 09:20 AM
I was thinking of adding command line functionality anyway, but you're right about .NET... It's a beast.
I'll see what I can do about a proper port.
MrMAGFest
Feb 22, 2009, 09:43 AM
Another option here for the *n*x users is that there's an excellent tagging tool called ex-falso. If you can give a little help with how you poll vgmdb, ex-falso could be extended with a plugin to do the same thing.
PhantomSnake
Feb 23, 2009, 05:52 PM
I figure I might as well release the full source code for Let's Tag, right? :)
Here you go:
Let's Tag 0.1 Source (http://brinkoftime.net/software/Let%27s%20Tag/0.1/Let%27s%20Tag%200.1%20Source.zip)
Edit: The latest source can be found here (http://brinkoftime.net/?p=11).
I tried to clean up the regexes a bit. I also slapped on a GPL license just for the heck of it.
For those who just want the regexes, here they are, straight from the code:
readonly static Regex albumNameRegex = new Regex(
@"<span\s+class\s*=\s*" + "[\\\'\\\"]albumtitle[\\\'\\\"]" + @"\s+lang\s*=\s*" + "[\\\'\\\"]en[\\\'\\\"]" + @".*?>(.*?)</span>",
RegexOptions.Singleline | RegexOptions.IgnoreCase);
readonly static Regex detailRegex = new Regex(
@"<tr>.*?<td.*?>.*?<span\s+class\s*=\s*" + "[\\\'\\\"]label[\\\'\\\"]" + @".*?>\s*<b>(.*?)</b>\s*</span>.*?</td>" +
@".*?<td.*?>(.*?)</td>.*?</tr>",
RegexOptions.Singleline | RegexOptions.IgnoreCase);
readonly static Regex detailCatalogNumberRegex = new Regex(
@"<span\s+id\s*\=\s*" + "[\\\'\\\"]childbrowse[\\\'\\\"]" + @".*?" +
@"<a\s+.*?>(.*?)</a>",
RegexOptions.Singleline | RegexOptions.IgnoreCase);
readonly static Regex detailMultilingualValueRegex = new Regex(
@"<span\s+.*?lang\s*\=\s*" + "[\\\'\\\"](.*?)[\\\'\\\"]" + @".*?>(.*?)</span>",
RegexOptions.Singleline | RegexOptions.IgnoreCase);
readonly static Regex detailValueCleanupRegex = new Regex(
@"<.*?>",
RegexOptions.Singleline | RegexOptions.IgnoreCase);
readonly static Regex discRegex = new Regex(
@"<b>\s*Disc\s+(\d+)\s*</b>.*?<table.*?>(.*?)</table>",
RegexOptions.Singleline | RegexOptions.IgnoreCase);
readonly static Regex trackRegex = new Regex(
@"<span\s+class\s*=\s*" + "[\\\'\\\"]label[\\\'\\\"]" + @"\s*>(.*?)</span>" + // Track number
@".*?<td.*?>(.*?)</td>", // Track name
RegexOptions.Singleline | RegexOptions.IgnoreCase);
It's best to look at the code to figure out how these regexes are used. Also, I'm no regex wizard, so I apologize if any of it is confusing.
I'm focusing on a different project right now. I'll probably get back to this in a little while. I hope you guys can make some use of the source in the meantime!
KeyLogic
Mar 6, 2009, 01:43 PM
Thanks PhantomSnake! I will be using this application as I have a fair amount of VGM that needs some tagging and I'm just too lazy to do it all myself. :)
Myrkul
Mar 6, 2009, 02:31 PM
I am definitely using this program (in association) with MP3tag for over 2 weeks now. If you configure well MP3tag, it works like a charm. (ie: configure it well to change automatically these non-acceptable characters (:, /, ? ...) that you often find in vgmdb tracklists and everything is fine.
It tags well multiple cds (of the same album of course) from anywhere on your hard drive in a second.
I found a way to tag & rename all my files in a few clicks.
At start i was not having so much confidence in the tool (i did some back-ups..etc..) but i really tested it in all kind of situation, and til you have your tracks in the "right" order, there's no problem.
Only thing to do after that is a quick check (once again you must trust at 200% the tracklists on vgmdb and these are not 100% accurate (some spelling errors here and there).
And finaly you must re-tag it correctly if you want to add composition/artists breakdown (but that goes fast with MP3tag).
my advices if you are going to use this tool:
- you must be very vigilant to have your tracks in the right order, the most commun problem is coming from "data tracks", depending on how you renamed your files, to count it or not.
- check the result after you tagged them, you still can undo changes on MP3tag.
- you can configure "let's tag" to choose the only informations you want.
(ie: it dosn't took me too long to tag & rename all those beatmania albums, i already had the artists tagged correctly, but wanted the other information)
Really, a great tool.
The only downside is that you need .net 3.5 ;)
Myrkul
Apr 19, 2009, 04:32 PM
I am bumping this thread to say that "Let's Tag" is not working anymore..
Surely caused by some changes from the website.
If you still hang around PhantomSnake, maybe you could check what's going on?
And if you got the time, to release a fix to make it work again.
Thanks.
EDIT: the "search" is not working anymore but you still can use the fonction "album" (you need to copy/paste the exact url of the album).
Of course the search method is better, but at least it's still working.. (i wouldn't mind for a fix though)
PhantomSnake
Apr 19, 2009, 05:10 PM
Yep... Something on the search results page must have changed. I'll take a look.
PhantomSnake
Apr 19, 2009, 05:54 PM
All right, it's fixed! The new version is 0.1.1 (http://brinkoftime.net/?p=11).
The change was very minor. The CSS class on the <span> element containing the catalog number was changed from "time" to "catalog". Seems like a good change.
By the way, Myrkul, thanks for the promotional speech above! :)
I've been working on version 0.2 and I think it will be ready soon. The new version will add a command line interface, more flexible exporting options, and the ability to save custom export presets.
Myrkul
Apr 19, 2009, 07:15 PM
Thanks for the very fast fix, really. :D
And no problem for the comments, i still use your tool, i tagged countless of albums with it (in combination with MP3tag), it's very fast and effective.
There's still a bit of work to replace that "artist" ID but it's not a big matter as you can often find breakdowns on the notes of the album.
Carl
May 9, 2009, 02:21 PM
Would there be any way to add "front cover art" functionality into this tool at all?
A user of Let's Tag mentioned on another vgm board that they like this tool for tagging their collection, but they have to manually grab the front cover pics from vgmdb for their iPod display screen.
Just thought I'd toss this out there just in case it'd be possible to implement such a feature into Let's Tag.
PhantomSnake
May 10, 2009, 07:49 PM
I'm adding cover art in version 0.2. You'll be able to copy the cover art to the clipboard (for pasting into Mp3tag) or save it to a file.
I'll be releasing the new version very soon.
Gigablah
May 10, 2009, 08:52 PM
PhantomSnake: Just a heads-up, you can now perform searches using the following URL format:
http://vgmdb.net/search?q=search+term
I'll be working on returning XML data soon.
Alcahest
May 11, 2009, 02:35 PM
Superb initiative, but requires .NET crap, why o why ;_;
the_miker
May 11, 2009, 03:02 PM
I'm adding cover art in version 0.2. You'll be able to copy the cover art to the clipboard (for pasting into Mp3tag) or save it to a file.
I'll be releasing the new version very soon.
Very nice. Since I'm the "user on another vgm board" I'm definitely looking forward to trying this out. Keep up the good work PhantomSnake!
-Mike
PhantomSnake
May 11, 2009, 05:38 PM
PhantomSnake: Just a heads-up, you can now perform searches using the following URL format:
http://vgmdb.net/search?q=search+term
I'll be working on returning XML data soon.
Awesome! No more POSTing! :) I think I still owe you a PM response about the XML data format, though if you've already come up with something I'm sure it will be fine.
Superb initiative, but requires .NET crap, why o why ;_;
You know, there was a period of time when I coded only in GNU C++, for portability... It's only very recently that I started playing with C# and .NET. I, too, used to be a .NET hater, and I still am to some degree, but I have to say... it's an excellent development platform. (Not so excellent for the end users though, I know.)
PhantomSnake
May 11, 2009, 07:15 PM
Let's Tag 0.2 is up! (http://brinkoftime.net/?p=11)
What's new?
Cover art is downloaded and displayed. It can be copied to the clipboard (for pasting into Mp3tag) or saved to a file.
Added a command line app, letstagc.exe, for those who want to use Let's Tag in scripts or batch files. (Functionality is fairly limited at the moment.)
Export presets can be saved. They are saved as XML files in Let's Tag's Presets folder.
Editing the export preset XML files by hand allows you to make more advanced presets. For example, it is possible to put multiple album fields into a single MP3 tag field.
Code was refactored quite a bit, though it still needs some work.
Instructions for the command line app:
Usage: letstagc [OPTION] [FILE]
Download album data from vgmdb.net and output formatted data to FILE.
Options:
-a, --album=NUMBER album NUMBER of album to download
-p, --preset=NAME use preset NAME to format output
When FILE is not specified, write to standard output.
The album option is required. The preset option is optional (if preset is not specified, the "Default" preset will be used). I probably should've put this info in the actual app!
quintin3265
May 12, 2009, 03:59 PM
Could I just say that this site is becoming a developer's dream? Maybe I'm just biased, but the API features could end up becoming more popular than the site itself.
You might actually end up making too much of a good thing. Look at Twitter - most of the messages there are sent using cell phones, other websites and desktop applications. Their API is so capable that some software uses Twitter to communicate without the user even knowing that it's there :)
the_miker
May 17, 2009, 05:18 PM
I'm digging 0.2 so far, just got to try it out tonight for the first time. May I suggest a couple features though? The ability to save the album art as JPG rather than (or in addition to) the PNG format. And better yet, rather than having to right click the artwork and save as, how about the ability to drag and drop it into a folder and have Let's Tag automatically name it front.jpg or folder.jpg? That would be incredible and would save me loads of time trying to add album art to all my albums.
Other than that, I tagged a few new rips earlier and it was waaay easier using Let's Tag than having to copy/paste/edit the tracklist manually from the actual site. Keep it up!
-Mike
PhantomSnake
May 18, 2009, 10:41 AM
I'm digging 0.2 so far, just got to try it out tonight for the first time. May I suggest a couple features though? The ability to save the album art as JPG rather than (or in addition to) the PNG format. And better yet, rather than having to right click the artwork and save as, how about the ability to drag and drop it into a folder and have Let's Tag automatically name it front.jpg or folder.jpg? That would be incredible and would save me loads of time trying to add album art to all my albums.
Other than that, I tagged a few new rips earlier and it was waaay easier using Let's Tag than having to copy/paste/edit the tracklist manually from the actual site. Keep it up!
-Mike
I wanted to implement drag and drop but couldn't find any documentation on the feature. There is lots of documentation and sample code showing how to drag and drop from Explorer to a .NET app, but virtually none showing how to drag and drop from a .NET app to Explorer... I did just find something that looks promising though... I'll check it out soon.
I can add saving as JPG images as well. That's easy enough.
Myrkul
May 18, 2009, 04:50 PM
I am asking my request again..
Could it be possible to implement a feature that export a little (*.txt or *.nfo) file with all informations you could find on the album page:
title, cat #, date, price.. etc .. (the upper field) & the note field ?
Asking for the product & platform.. as well the tracklist might be too much ..?
But a file export like this would make life easier to anyone that want to add this kind of files to their albums.
Thanks for the version 0.2, and i hope you'll release new versions in the future ;)
PhantomSnake
May 23, 2009, 05:20 PM
I've added drag and drop and additional image save formats in version 0.2.1 (http://brinkoftime.net/?p=11). Dragging and dropping the album cover to an Explorer window will save the album cover as folder.jpg.
Myrkul, I haven't forgotten your request. It's a bit more work than drag and drop but I will definitely add your request as well. :)
I'm going to be busy for a little while so I don't think there will be any new versions for the next few weeks.
the_miker
May 25, 2009, 04:41 AM
I've added drag and drop and additional image save formats in version 0.2.1 (http://brinkoftime.net/?p=11). Dragging and dropping the album cover to an Explorer window will save the album cover as folder.jpg.
You are the man. It works exactly as advertised. This is going to save me so much time. Thank you!
-Mike
Myrkul
May 27, 2009, 05:21 AM
Upping the thread cause a new feature on vgmdb broke the tagging utility for some albums: The new Barcode/Event (right at the catalog number).
Any album with the barcode (ex: this album (http://vgmdb.net/album/13536)) changed the export format and MP3tag does not recognise it.
(when you use the function "convert -> text file - tag", it doesn't apply any change)
Could you fix that ?
I also think this new barcode information does not fit well with the catalog number information.. it's not so useful for tags...
I personally like the catalog # but the barcode is "too much". It should be skipped or something.
Thanks.
PhantomSnake
May 27, 2009, 03:50 PM
Hmm, I was about to take a look at this but it looks like someone removed the barcode number. Or, rather, it's still there in the album data, but it's not being displayed anymore.
Secret Squirrel
May 27, 2009, 03:51 PM
I pulled the barcodes off the page. We'll probably find another way to display those, along with other information.
PhantomSnake
May 27, 2009, 03:57 PM
If you change your mind, let me know. :) Getting it to work in Let's Tag would probably just require a couple of regex tweaks.
PhantomSnake
Sep 7, 2009, 09:15 AM
Zorbfish's cddb/freedb emulation (http://vgmdb.net/forums/showthread.php?t=2618) is a great alternative to Let's Tag. In fact, I think it's so good that I'm unsure about doing any additional work on Let's Tag. What do you guys think? Would you still like to see any new features in Let's Tag?
Myrkul, are you still interested in seeing that nfo/txt export feature? I know you can already do something like this in Mp3tag.
Myrkul
Sep 7, 2009, 10:12 AM
Ah well.. i find myself a bit lonely on this thread, seems like i am the only user of this tool? ;)
Matter is (and i am sure i am not the only one..), i don't know how to use the CDDB/freedb tool.. it's something i never used of my life and i have no idea how it works and what is needed for it.
I mainly use Foobar2000 & Winamp 5.x, nothing else.
But i hardly use any plug-ins.. playing the music is all i ask.
(if someone is willing to make a tutorual to use the CDDB/freedb tool, that would be cool)
I also got a question about it.. it's mainly used to tag freshly ripped albums.. or can it be used to tags already ripped/tagged ones?
I like the combo Let's Tag / MP3tag cause i don't have to search/listen/start my music, it's amazingly fast & effective.
So if you ask about that nfo/txt export tool.. i am (yeah alone again?) still interested about it.
I don't think mp3tag is able to export the note field..
(but hey no problem if you don't want/don't have time to do it!)
While i am at it, recent changes to the database have altered Let's Tag, and the "Search" utility does not work 100% anymore.
I am not sure, but i think you can't search anymore for "partial" text or title.
(ex: if you search for "sonic", it does not find anything)
But it can work if you specify the catalog number (it does not work with "N/A" catalogs..)
Anyway, i understand that you don't want to continue to work on your tool.
There's no problem about it.
It have been helpfull so far, and if it does not work anymore, i'll find something else, no worry.
:)
MAGradio
Sep 7, 2009, 12:03 PM
Zorbfish's cddb/freedb emulation (http://vgmdb.net/forums/showthread.php?t=2618) is a great alternative to Let's Tag. In fact, I think it's so good that I'm unsure about doing any additional work on Let's Tag. What do you guys think? Would you still like to see any new features in Let's Tag?
Myrkul, are you still interested in seeing that nfo/txt export feature? I know you can already do something like this in Mp3tag.
The main problem for me is I don't have .NET (nor do I want it; I'm a Linux user) and anything I'd tag would be vorbis or FLAC instead of MP3 (which by the name MP3tag I am unsure of how much support I'd get for that).
Having said that, I watched the presentation and the app does look nice and easy to use. I don't see any problem with continuing support for people that like it. But, is MP3tag pluggable? I just wanted to give you some ideas, mainly this one:
http://img215.imageshack.us/img215/9581/exfalsovgmdb.png (http://www.imagehosting.com/)
That is, maybe you could implement Let's Tag directly into a tagging app of some kind? You'd probably change the name or implement it as a differently-named extension/plugin thing, but....hey, just throwing this out there because it would likely remove a lot of unnecessary steps for your users. You could take advantage of both your own and Zorbfish's work. Maybe get the best of both worlds.
vBulletin® v3.8.5, Copyright ©2000-2013, Jelsoft Enterprises Ltd.