Using Ruby to organize ones music collection

Hey!

The file- and folder names and ID3 tags in my MP3 collection are messy
and
incomplete, and I figured it was time to do something about it.

Has anyone here written any scripts to sanitize and better organize such
collections? I.e. something like File
Renamerhttp://www.sherrodcomputers.com/products_FileRenamer.cfmand
Mp3tag http://www.mp3tag.de/en/ (perhaps utilizing Robin Stoker’s
taglib-ruby https://github.com/robinst/taglib-ruby)?

–Dwayne

Dwayne H. [email protected] wrote:

The file- and folder names and ID3 tags in my MP3 collection are messy and
incomplete, and I figured it was time to do something about it.

Mp3tag http://www.mp3tag.de/en/ (perhaps utilizing Robin Stoker’s
taglib-ruby https://github.com/robinst/taglib-ruby)?

I’ve been thinking about doing something with taglib-ruby. It’d be all
command-line driven (I’m allergic to GUIs) and the editing interface
would be close to vorbistagedit (via $EDITOR).

Of course, I’ve been trying to find time to organize my music collection
for more than a decade now. Maybe I’ll hire someone…

Yeah, to hell with GUIs! Didn’t know about vorbistagedit - nice find!

A while back I drew this sketch for this ID3 organizer, meant to use
id3v2http://id3v2.sourceforge.net/to batch edit on a
folder-to-folder / album-to-album basis. Originally
meant as a shell script, but I reckon Ruby and taglib-ruby would be
better
suited?

https://gist.github.com/1566053

I also wrote this rename script, which I pretty much run over everything
I’ve got. I reckon it’s best suited as a shell script?

https://gist.github.com/1566331

–Dwayne

  • Robin S.'s taglib-ruby

Dwayne H. wrote:

Hey!

The file- and folder names and ID3 tags in my MP3 collection are messy
and incomplete, and I figured it was time to do something about it.

Has anyone here written any scripts to sanitize and better organize
such collections? I.e. something like File Renamer and Mp3tag (perhaps
utilizing Robin Stoker’s taglib-ruby )?

Yes, see here:

GitHub - robinst/brainztag: Command line tool to tag and rename music albums using MusicBrainz data

It’s in Python, but it works nicely for my use case, uses MusicBrainz
for correct data and the mutagen library for tagging.

If I were to start a new project like this, I’d probably look at
using fingerprinting to identify the files. This looks interesting:

http://acoustid.org/

It has a simple C API, for which Ruby bindings would be trivial to
make using ffi:

GitHub - ffi/ffi: Ruby FFI

And for tagging I would of course use taglib-ruby now ;).

Regards,
Robin S.

Updated https://gist.github.com/1566053 a little. What y’all think?

–Dwayne

On Thu, Jan 5, 2012 at 6:49 PM, Dwayne H.
<[email protected]

Robin:

Thanks a bunch for getting back at me man. It’s an honor to be blessed
with
your insight on this matter.

I had no idea about the stuff you mentioned. I will definitely take it
into
consideration.

Everyone:

Do feel free to fork my Gist and help me out :slight_smile:

–Dwayne