Tag: musicbrainz

  • Scanning CDs with CCD/LED scanners

    So, back on my recommended scanners post, I made a note that CCD sensor scanners that use LED lighting – which at this point is basically all of them – have an issue with scanning CDs. It looks like this:

    A CD scanned with a CCD/LED scanner has an annoying complex rainbow pattern on the shiny metal surfaces.

    This is, frankly, quite awful. It’s hard to read anything with the light pattern that appears, and it doesn’t look anything like the classic highlight that you see when holding a CD under a single light source, or on a CCFL-lit scanner. But I’ve finally found a solution!

    One of the releases I picked up recently had its CDs in little translucent plastic sleeves. If I scanned the CD through the sleeve, rather than directly on the scanner bed, the rainbow pattern completely disappeared! It turned out that the frosted sleeve diffused the light enough to give a clean scan. Unfortunately, the sleeves that came with that release were too wrinkled to get good results, so I had to go look for alternate materials.

    (more…)
  • Recommended Scanners for Album Art Scanning

    Here’s a quick list of currently available scanner models that I recommend for people doing album art scanning.

    The Criteria

    I’m not covering scanning 12″ vinyl in this guide. For that, you need a large format scanner, which is a completely different price category of professional equipment – or use a camera and a glare-free lighting rig instead.

    There are two basic kinds of scanners currently available, distinguished by the type of image sensor: CCD and CIS (Contact Image Sensor). The difference is that CCD sensors have a much larger depth of field. This is important in particular if you’re scanning digipak cases – with a CCD sensor, you can scan right through the tray without disassembling the case. It also improves the quality when scanning exterior of boxes or thick booklets that don’t lay completely flat. CIS sensors can only get a sharp image if the thing being scanned is perfectly flat against the glass surface.

    The scanner must be able to do 600dpi scanning (non-interpolated). This is pretty much a given at this point, of course, since even the cheapest current model scanner can usually pull off 1200dpi or higher. But keep this in mind when looking for used or older model scanners.

    The scanner must be a direct-connection USB device. Many network scanners and all-in-one devices apply compression and pre-filtering that often can’t be disabled; this reduces the effectiveness of later descreening steps. Scanners marketed as “Photo” scanners are usually good at preserving fine detail without compression artifacts.

    (more…)
  • The pull of MusicBrainz contributing

    MusicBrainz contributors tend to be quite… thorough sorts of folks. Lets take a look at what I’ve been up to over the course of the past few days.

    Day 1

    I’ve worked on a few Picard patches recently, including one that allows tagger script to access metadata from loaded files, and another that saves MusicBrainz track IDs to files. In the interest of giving these a thorough workout, I loaded my entire music library into Picard and went through album-by-album, reviewing the changes that Picard was going to apply and saving if the changes looked good.

    Now, it’s been a few months since I’ve last done this, and the metadata in my collection is fairly out of date. There’s a fair number of changes being made to my files, so I’m making a few tweaks as I go – selecting the correct edition of a few albums which have gotten newly added data, and keeping an eye out for any “bad” edits that I may have missed.

    Along the way, I notice that one of the CardCaptor Sakura soundtrack albums doesn’t have a catalog number or barcode. “An easy fix!” I think, as I go to look up the release in the MINC database, which is run by the Japanese music industry and has pretty comprehensive details on major label releases from the past 25 years or so.

    Naturally, the soundtracks are also missing ISRCs, which I add, and are missing works, which I also add. I manage to finish adding these details to the first 3 CardCaptor Sakura albums before heading off to bed.

    Day 2

    Along the way while editing the soundtrack albums, I had noticed that the data for 丹下桜 (Tange Sakura) was a bit of a mess. I had left a tab open on her page to remind me to take a look later – and since it is now later, I take a look. A good place to start when cleaning up an artist is always recording merges. There’s usually a few fairly obvious ones: recordings off pseudo-releases that should be merged with the corresponding ones from the real releases, recordings off compilations that should be merged with the ones from the original releases.

    Next I take a quick look at her works page, and… it’s practically empty. (And also has a duplicate, which I go ahead and merge.) So I open up an album in the release editor, and start looking up work info. (For Japanese releases in this genre, cross-referencing Wikipedia, VGMdb, and the MINC database will give very comprehensive information.)

    Out of curiosity, I start following links in the MINC database to see what other releases the songs I’m looking at have been released on – and I find out that 丹下桜’s is far, far from complete.

    By some time very early in the next morning, I have managed to put something like 1 compilation, 2 albums, and 3 or 4 singles into their rightful place on MusicBrainz, all complete with crosslinked recording and work information.

    Day 3

    There hasn’t really been any new revelations on this day. I simply continue to fill in 丹下桜’s discography by following links to see where else particular songs have appeared. By the end of the day, I’ve added another 2 albums, 1 mini-album, 5 singles, and 2 compilations. The number of tabs I have open containing things to look at has been going down steadily – and with each release, I find more and more recordings that I can reuse, or works that are already present in the database. Things are going well!

    Perhaps one more day and I can finish adding works to the 4th CardCaptor Sakura soundtrack (and maybe the movie soundtrack and some of the compilations too).

    I wonder if I’ll manage to ever finish retagging my music collection in Picard like I had originally intended.

  • A MusicBrainz report on Pseudo-Releases

    As an implementation of support for translating or transliterating the tracklists on foreign releases, MusicBrainz has something called “Pseudo-Releases.” They are meant to be used alongside the database entry for the original, real release to contain alternate tracklists.

    Unfortunately, many MusicBrainz users weren’t quite sure on when the “Pseudo-Release” status should be used, and incorrectly set it instead of the correct status like “Official”, “Bootleg”, or “Other” on some releases. And a few translated tracklists have the status set correctly—but aren’t linked back to the original version of the release.

    In order to help find and fix these issues in the database, I’ve created a new report: “pseudo-releases without transl*tion relationships”, in code review now. It looks pretty sweet:

    But 2261 releases to fix up means there’s a ways to go.

  • MusicBrainz contributions – Search result and stats improvements.

    I’m pleased to see that two of my MusicBrainz contributions have been merged in time for the 2012-01-26 server update, and are now live on the site!

    The first change isn’t exactly visible to the naked eye, but it should hopefully provide improvements in the Google Search result listings for MusicBrainz artist pages by providing a nicely formatted <meta description> tag to help Google (and other search engines, of course) list a more relevant “snippit” of the page in the search results.

    The second change is in a little-known area of the site, the timeline statistics graph. I talk about this a bit more on my Google+ post, but it’s nice to see the feature live.

  • Vala Bindings for libmusicbrainz4

    When developing Riker, I had a bit of a choice – I could either write (from scratch) a new library to interface with the MusicBrainz XML webservice, or I could create bindings to access the existing libmusicbrainz library from within Vala. Up to today, I’ve gone a little ways down both paths, and both have problems.

    If I write new bindings from scratch, they’ll have some nice features like integrating into the Glib main loop, and automatically determining proxy settings from the environment. But it will be a lot of coding; and even more debugging.

    The existing libmusicbrainz code is better tested, and writing bindings is less overall code to write. Unfortunately, I’m writing Vala bindings for the C bindings to a C++ library. The extra steps cause some weirdness, which means that the bindings are more complicated than I would like.

    And then there are a few things with the C bindings to libmusicbrainz that it simply gets wrong. For example, it has no working typechecking! As a result, even some of the internal test code gets types mixed up, causing hard to debug issues. I’m working on a patch to correct this, which will change the C bindings API slightly. (But curiously enough, not the ABI).

    But in the end, simply to get started faster, I decided that the bindings are the way to go. The hypothetical GObject-based MusicBrainz webservice library will have to wait for another day.

    Take a look at my progress so far on the vala bindings at libmusicbrainz4.vapi.