Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Does this freeware exist?
Does this freeware exist?
#1
I've got enough music ripped from CDs that I've lost track of it all. Oh, it's all in the "music" directory on my terabyte NAS device, but the file names only tell me the names of the songs. I'm looking for software that will go into the MP3 files, extract the metadata from the ID3 tags, and write at least the file name, song title, artist, genre, and playing time to a database file (or a spreadsheet which can be imported into a database). Also writing the album name, year, and composer to the database would be appreciated, but is not a required function. Being a supporter of the FLOSS meme, I would appreciate the program being freeware. I'm running Windows (2000 and XP) in my home LAN.

Does anyone know of software that will fill my needs?
--
Rob Kelk
"Governments have no right to question the loyalty of those who oppose
them. Adversaries remain citizens of the same state, common subjects of
the same sovereign, servants of the same law."

- Michael Ignatieff, addressing Stanford University in 2012
Reply
 
#2
I know of someone who rolled their own it shouldn't be hard with something like http://search.cpan.org/~i...-Tag-1.12/lib/MP3/Tag.pm

i don't know of any software that actually does this though, but's it a relativly trivial thing. If you can be a bit more specific about what you want I can probably hack something together in 15 minutes or so.
E: "Did they... did they just endorse the combination of the JSDF and US Army by showing them as two lesbian lolicons moving in together and holding hands and talking about how 'intimate' they were?"
B: "Have you forgotten so soon? They're phasing out Don't Ask, Don't Tell."
Reply
 
#3
Checking the apt repository for ubuntu i find dozens of tools that will do what you want, that doesn't help you as a windows user but I'm sure some of them have windows versions.
E: "Did they... did they just endorse the combination of the JSDF and US Army by showing them as two lesbian lolicons moving in together and holding hands and talking about how 'intimate' they were?"
B: "Have you forgotten so soon? They're phasing out Don't Ask, Don't Tell."
Reply
 
#4
What I'm hoping to do with the database is be able to query it on genres, playing times, artists, and/or words in song titles so that I can put together custom playlists for various events and parties.

What I want this software for is automating the building of the database. I don't want to have to manually enter the data for thousands of tracks. (Yes, I do have a good-sized CD collection.)

(As for *nix, I've got some virtual-machine software somewhere in my repository. I'd just need to find it, then pull back an OS...)
--
Rob Kelk
"Governments have no right to question the loyalty of those who oppose
them. Adversaries remain citizens of the same state, common subjects of
the same sovereign, servants of the same law."

- Michael Ignatieff, addressing Stanford University in 2012
Reply
 
#5
For Windows, WinAmp will do at least part of what you want -- you can select a swath of files after you've added them to the Library, and right click them to "Send To " that will cause WinAmp to take each MP3 file, run it against the GraceNote database, and bring back the appropriate ID3 tag data to write to the MP3 file.  And WinAmp looks like it should make custom playlists without too much work.  For Linux, the combination of Amarok with MusicBrainz/Picard will do about the same thing.
One caveat:  the ID3-tagging apps apparently look for some sort of "watermarking" data embedded in the audio that doesn't get lost when the CD is ripped to MP3 -- that's how the GraceNote entries are located.  But some older or indie music simply won't have the watermarking, so you could get some Very Wrong tags coming back.  Still, overall I found the success rate to be pretty high.
Reply
 
#6
That isn't what I'm looking for. What I need is to get that data out of the MP3s, not put it in.
--
Rob Kelk
"Governments have no right to question the loyalty of those who oppose
them. Adversaries remain citizens of the same state, common subjects of
the same sovereign, servants of the same law."

- Michael Ignatieff, addressing Stanford University in 2012
Reply
 
#7
Lets see how badly yuku will screw up code. This code hasn't been tested and assumes a mysql database. change the config as needed, especialy the SQL query. I assume you know how to run and modify perl scripts?

#!/usr/bin/perl
use strict;
use MP3::Tag;
use DBI;

#Start Configuration
my $database = "robdb";
my $hostname = "server";
my $port = "7";
my $user = "rob";
my $password = "kelk";
my $dir = $ARGV[0];

#setup database connection, not really config, but nessesary to prepare the sql statement.
my $dsn = "DBI:mysql:database=$database;host=$hostname;port=$port";
my $dbh = DBI->connect($dsn, $user, $password) or die "Cannot connect to database. Commiting harakiri.";

my $sqlStatement = $dbh->prepare("INSERT INTO foo (filename, title, track, artist, album, comment, year, genre) VALUES (?, ?, ?, ?, ?, ?, ?, ?)");
#End Configuration

#read all files in the specified directory.
opendir DIR, $dir or die "cannot open dir $dir: $!";
my @files = readdir DIR;
closedir DIR;

# loop over all files specified in the 2files array.
foreach my $filename (@files) {
print "Processing: "$filename"
";

#Possibly add a check to see if it's an mp3 file...

my $mp3 = MP3::Tag->new($filename);
my ($title, $track, $artist, $album, $comment, $year, $genre) = $mp3->autoinfo();

$sqlStatement->execute($filename, $title, $track, $artist, $album, $comment, $year, $genre);
}

$sqlStatement->finish();

# Disconnect from the database.
$dbh->disconnect();
E: "Did they... did they just endorse the combination of the JSDF and US Army by showing them as two lesbian lolicons moving in together and holding hands and talking about how 'intimate' they were?"
B: "Have you forgotten so soon? They're phasing out Don't Ask, Don't Tell."
Reply
 
#8
Quote:I assume you know how to run and modify perl scripts?
It's been a while... so I'll get back to you mid-week whether this works.
--
Rob Kelk
"Governments have no right to question the loyalty of those who oppose
them. Adversaries remain citizens of the same state, common subjects of
the same sovereign, servants of the same law."

- Michael Ignatieff, addressing Stanford University in 2012
Reply
 
#9
robkelk Wrote:
Quote:I assume you know how to run and modify perl scripts?
It's been a while... so I'll get back to you mid-week whether this works.

fair enough. I also sent a properly indented version to what I assume to be your email. If you need any help feel free to ask, the easiest is proably some variety of IM.

I would run some test but I don't think I have any mp3's on this machine and my local database is down. And while I don't know your db shema, but I rather doubt you have a table called foo, so some local modification will be needed regardless.
E: "Did they... did they just endorse the combination of the JSDF and US Army by showing them as two lesbian lolicons moving in together and holding hands and talking about how 'intimate' they were?"
B: "Have you forgotten so soon? They're phasing out Don't Ask, Don't Tell."
Reply
 
#10
That's my address, yes. Thanks again!
--
Rob Kelk
"Governments have no right to question the loyalty of those who oppose
them. Adversaries remain citizens of the same state, common subjects of
the same sovereign, servants of the same law."

- Michael Ignatieff, addressing Stanford University in 2012
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)