Friday, March 26, 2010

Audiobooks - limiting by playing time

I'm working on cataloging a big stack of audiobooks, and looking over my "Audiobook Cheat Sheet" reminded me of something. A while back, I wrote a post about limiting searches to books of certain lengths. I mentioned that the method I was writing about for books could be used for audiobooks, but that it had certain severe limitations, because of the way audiobook lengths can be recorded in the 300 field.

Well, it turns out that there is a perfectly easy method of limiting audiobooks searches by length (although even this method has its limitations - see below). The problem is that the records have to have the proper field, and I know not all of ours do (we have more than 500 audiobooks, and I think only slightly more than one fifth of them have records than include the necessary field).

Basically, field 306 is for recording "playing time" in a standard manner. For all the details, see the MARC 21 Standards page for this field. Playing time is always recorded as hhmmss, where h is hours, m is minutes, and s is seconds. So, a sound recording that is 2 hours and 30 minutes long would be recorded as 023000.

Although the search one needs to perform to limit by information recorded in this field is what I would consider "advanced," it's a relatively easy advanced search. Simply use ? in place of any number you're not particularly concerned with. For instance, if I know I'd like an audiobook that's no more than 3 hours long, I could limit my search (an Advanced Search with Type: Audiobook selected) by adding, as a General Keyword search, 03????{306}

Now for the limitations. As far as I know, there's no way to use wildcards so that you can search for all audiobooks that are, say, less than three hours, including audiobooks that are 2 hours and 15 minutes, or only 30 minutes long. If you wanted something like that, I think you'd be limited to constructing the General Keyword part of the search so that it looks something like this: (03???? OR 02???? OR 01???? OR 00????){306} Finding things that are, say, more than 3 hours long could be pretty complicated. I had thought NOT would be a useful Boolean operator, but I'm not sure how I'd start the whole thing - (NOT 02???? NOT 01???? NOT 00????){306} isn't a permissible search.

Annoying, yes? If anyone can think of an easier way to construct searches for ranges of playing times, I'd love to hear it. Still, I suppose it could be worse. The lack of 306 fields in our records is probably the biggest limitation right now, but, since this information would already be recorded in the 300 fields, it wouldn't be too difficult to add 306 to the records that don't have it. At the very least, I'm going to make sure to add 306 to any new records I add to our system. It's too bad the information isn't easier to use, but maybe it will be one day in the future.

No comments:

Post a Comment