| «« Starting Durham/AudioMan2 | Newspaper Interview with National Post's Kevin Restivo »» |
|
About
I'm Ryan Lowe, a Software Engineering graduate living in Ottawa, Canada. I like agile software development and Ruby on Rails.
I write this blog in Canadian English and don't use a spell checker. Typos happen.
Projects
» Full-time Ruby on Rails freelancer
» Full-time with Rails since May 2005 » Former committer for RadRails (now Aptana) » I also have a few Rails side-projects in development: 1. wheretogoinTO.com Toronto nightlife 2. Hey Heads Up! TODO list and sharing 3. Layered Genealogy family history research 4. foos for foosball scoring 5. fanconcert for music fans (on hold) Hiring Rails developers? I can telecommute by the hour from Ottawa, Canada »» Email: rails AT ryanlowe DOT ca
BulletBlog
Now hosted on Hey! Heads Up -- check it out!
Syndication
Pings
Recent
Derek Lowe's (Ryan's older brother) words at Ryan's funeral
blog@ryanlowe.ca no more Forging Email Headers: Good, Bad or Ugly? Sarcastic Dictionary (Part 1 of Many) Tags Hierarchies Twisting Rails is Risky Business Risky Business? My Take on Early Alphas Whoa, it's August 2007 Closing Comments A Postscript to "Growth at the grassroots" »» All Blog Posts
Linkage
del.icio.us/ryanlowe
technorati/ryanlowe.ca/blog Aurora Roy Jim Andrew Trasker Travis Kibbee Karen Dr. Unk Ayana Van Bloggers Joel Spolsky Robert Scoble Tim Bray Dave Winer Raymond Chen James Robertson Ruby/Rails Bloggers rubyonrails.org weblog David Heinemeier Hansson Dave Thomas James Duncan Davidson Mike Clark Jamis Buck Signal vs. Noise Tobias Luetke Amy Hoy: (24)slash7 Jeremy Voorhis Eclipse Bloggers Planet Eclipse EclipseZone Luis de la Rosa Eclipse Foundation Kim Horne Billy Biggs Ian Skerrett Mike Milinkovich Bjorn Freeman-Benson Denis Roy
Archives
|
MP3 File Metadata and Durham
MP3 files present an interesting case study for metadata and a great starting point for Durham. Not that MP3s were the first files to use metadata but they have a lot of interesting conditions that need to be taken into consideration. MP3 files are MPEG audio data. There's some metadata about the MPEG frames that can be derived from the file but cannot be modified. From Durham's perspective these properties can be read-only metadata. Then we have id3v2 and id3v2 -- two metadata formats for MP3s that can exist on the same file. It's important to keep the information in both formats in synch as much as possible but the id3v1 format has severe limitations (the biggest properties are 30 characters maximum, for example) that can prevent this. The idea is to write the id3v1 tag to files for older/simpler applications that can't read the id3v2 tag. Here's where Durham comes in: three different metadata formats being read but only two being written. Plus, the two being written should be written to the file at the same time for efficiency reasons instead of opening the file twice. Read-only properties (of course) are skipped and not written at all. Durham can manage all of this with a generalized metadata property API. The plugins for the metadata formats MPEG, id3v1 and id3v2 will use the Durham API/interfaces to let Durham read and write for those formats. Durham will handle all of the file I/O -- the metadata format plugins just need to tell it where to read and write. Third parties can add support for other file metadata formats by writing their own plugins. Posted at January 04, 2005 at 05:25 PM ESTLast updated January 04, 2005 at 05:25 PM EST Comments
This is what I hate about mp3 tags. Unless you rip them yourself, the metadata is often incomplete. Often the ID3V1 or V2 tags are missing or incomplete, and it varies from song to song. Depending on the application, displaying information may default to one or the other, making files look wrong in some applications but not in others. Anyway, in the future there will just be a number in a file, which will link to some online database with all the information you could ever want about a song. » Posted by: Kibbee at January 4, 2005 08:52 PM... and if you're not online you can't access the information? A local cache in the file is nice to have. » Posted by: Ryan at January 4, 2005 09:45 PMOh, I forgot, In the future you will always be online, everywhere. » Posted by: Kibbee at January 5, 2005 10:04 AMHehe, well OK. In the future that's fine. But this application is being made now. :) » Posted by: Ryan at January 5, 2005 10:08 AM |