Pat Farrell wrote:
On Fri, 2005-11-11 at 16:47 -0800, Jack Coates wrote:
Pat Farrell wrote:...
I proposed that we only consider the music part of the file,
and skip all the metadata tags. I think that changing
one of the tags within a song, say Genre from Pop to House
does not change the essence of the music. So I proposed
that we read the whole file, ignore the tags, headers, and
assorted BS, and put the music bytes thru the hash function.
And store the resulting hash.
I kinda agree with this in theory, but the practice is not something I
imagine going well.
Can you elaborate? Seems pretty straight forward to me.
It will be kinda slow, but it is an ideal thing to do
in a background thread. The code I wrote to grab
cover art had to be able to read the tags and dictionary
data in MP3 and Flac/Ogg files.
My problem is not about the speed, it's about building a whole new CDDB
type system without leveraging anything else that's already out there. I
have a general problem with starting over from fresh. I also dislike the
idea of putting non-tag-originated information into the database unless
it's being exported and imported somewhere else automatically, as the
database is not a stable source yet. Maybe it will be after porting to
MySQL, but I have my doubts about how smoothly and quickly that will
go... regardless of engine, I wouldn't consider the database stable
until that wipe-and-rebuild button in the server settings can go away :)
WMA and AAC are great examples of why using tags is not sufficient.
The internal format of these files are proprietary. You may
be able to reverse engineer the format for any specific version,
but you will have to repeat it for each modification that Microsoft
or Apple make.
wouldn't the DRM versions of these songs have different checksums on
every device they're copied too?
I think this is impossible to answer this. You'd have to know
a lot more about the DRM from the assorted vendors than
I know.
I would expect, if they did it "properly" that you
could not access the raw PCM data, so you couldn't
calculate the crypto-hash. Mostly because if I can
get access to the raw PCM data to calculate the hash,
I probably could figure out how to write them
to a file without the DRM.
In other words, this method is incompatible with the stated roadmap:
http://wiki.slimdevices.com/index.cgi?SoftwareRoadmap, bullet 3.
I see it more as when all you have is a hammer, all the world's
problems look like nails. Clearly if you focus on moving
tunes to low-brain components, you have to have minimal
common subset approaches, such as tags. But those same
components are not likely to understand or properly
handle any extension or "non-standard" tags.
I understand not liking it, but Lowest Common Denominator rules the day.
In my opinion, the ID3 tag needs to remain the primary information store
because the Slimserver is not the only place that these files go; they
will be transferred to and from other music playing systems which will
rely on the tags.
--
Jack At Monkeynoodle Dot Org: It's A Scientific Venture!
"I spent all me tin with the ladies drinking gin
so across the Western ocean I must wander" -- trad.
_______________________________________________
Discuss mailing list
[email protected]
http://lists.slimdevices.com/lists/listinfo/discuss