Background mp3 Fingerprinting & Tagging
I've got a linux server at home, running Ubuntu (Debian) Server 9.04 that is basically my "all-rolled-in-to-one" box. It does DHCP, DNS, VPN, Internet Gateway, Firewalling, SMB, DAAP amongst a few other things.
Here I will say that I am fully aware of the pitfalls of having your shared storage on your internet gateway, but there is nothing confidential or critical stored on this box, so i knowingly run that risk.
I have some 11,000 odd mp3s, spread over some 3-400 or so directories under one "Music" parent directory. As the box these mp3s reside on is a server, there is no GUI. I'm looking for a command line solution that I can install on this box, that will give me the ability to fingerprint these music files, reference them against an online database, and tag them.
I'm after a command line solution as i've tried the following, & my mileage has varied considerably.
-Picard from my laptop- Very slow when running over an NFS connection to the server, and when I left it running overnight last night it crashed my laptop, not exactly sure when but when I went to bed last night it had loaded about 6,000/11,000 of the mp3s but had only fingerprinted a few hundred, when i woke up this morning. My laptop had completely frozen, unable to switch to another terminal or regain the console.
-PinkyTagger - First impressions was it looked good, and faster than Picard using NFS, but had trouble figuring out how to use it as there isnt a lot of documentation around on the product and *I* didnt find it that intuitive (Note this could just be me being tired after a long day, but it didnt seem self explanitory at the time)
-Anything like this, dealing with this much data over the network is going to be slow. By running it on the server I can utilize the 64 bit architecture & memory available on the server (significantly faster than my laptop). I do not want to instal X on this server, as i Beleive it takes away from what this server is, a server & I want the processor/memory to be taking up with stuff that needs to be running, not X.
I am quite comfortable with shell scripting so my intention was just to run a batch job in the background, that finds all the mp3s within a subdirectory on the box, and then one by one (or 20 by 20 if I so choose) fingerprints them, then checks & updates the tags. If no fingerprint match is available, or if there is an exception, my intention would be to have my script detect this, and move the file in to a dir for manual processing.
Has anyone done anything like this before? Is there a product out there that does this, that my mighty google skills hasnt been able to find?
Note I should add i'm a linux sysadmin not a home user or "power user" so i'm very familiar with bash scripting, starting to lean perl, comfortable in php and have primarily learnt from trial and error in the past.
I should also add that I have the space on my server to make a copy of the entire collection for testing, so that when in development I dont nuke my mp3 collection by mistake.