I’ve happily been using cdparanoia to rip my CDs for years. In the last few days, however, I’ve been finding out things about CDDA extraction in general and cdparanoia in particular that made my bit-exact confidence in my ripped CDs drop to zero. I was trying to exactly recreate a CD by reading the TOC and audio data with cdrdao and then burning it to a CD-R. Ripping the CD-R and comparing it with the original rip showed that the waves did not line up exactly, they were slightly shifted. A little googling revealed that most CD drives read audio data offset by a fixed number of samples that is constant for each drive. I found the offsets for my CD drives from the AccurateRip website, verifying them by ripping the same track with both drives using the offsets (cdparanoia has a –sample-offset option). However, burning a new CD-R with the new audio still didn’t produce an exact duplicate… it turns out that there’s an offset when burning too. Never mind.
When researching the offset issue I found several mentions that cdparanoia was not safe with caching drives, which is worrying as my NEC burner has a 2 MB cache. I tried ripping a scratched CD twice and comparing the resulting waves. They were not the identical. Evidently, cdparanoia with a caching drive is no better than any other cd ripper, perhaps worse since it gives false confidense in the rips. It seems that no development on cdparanoia has been done for the last five years but when asking on paranoia-dev, I learned that libcdio has incorporated cdparanoia with some improvements, although the cache-problem is said to still be unsolved.
Finally, there’s one more thing to get paranoid about which I haven’t seen discussed anywhere. When using cdparanoias –sample-offset option on my LG drive with an offset of +594, ripping the last track of an album fails because of a read error. This is not very surprising because a sector on a CD is 588 samples which means that at least some samples must be read by asking the CD drive to read from a sector which doesn’t exist. Ripping with my NEC burner (offset +48) does not fail in the same way, but a little testing showed that the last 48 samples of the last track were set to zero. Most albums I’ve checked have thousands of zero-samples at the end of the last track, but I found a few which did not where 48 samples (1 millisecond of audio) were lost. This doesn’t matter at all on my drive, but some drives have much bigger offsets. Also, verifying cdparanoia rips with something like AccurateRip (if it should be released as Free Software) is impossible if these samples have been lost.
In summary, there’s work to be done before we can have perfect CD rips using only Free Software.
Some thoughts which may be helpful to other metadata purists. The music player of my choice, Rhythmbox, uses the ARTIST, ALBUM, TITLE and TRACKNUMBER tags in Ogg Vorbis and FLAC files to order music by artist and album with the correct track and order. A lot of albums have multiple discs, which until recently I have handled by appending “(CD1)” or something similar to the ALBUM tag. In Rhythmbox, it looks like this:
After some investigation I found that some players (including Rhythmbox) and tag editors have support for a DISCNUMBER tag. I edited my tags using easytag which isn’t great but still the best Free tag editor I know of. I’ve had some issues with the DISCNUMBER tag mysteriously disappearing, but have been unable to reproduce the bug in the latest version of easytag. In any case, I changed the ALBUM tag to “Rock In Rio” and added DISCNUMBER tag with a value of 1 or 2. Rhythmbox now shows only one album entry and puts the tracks in the correct order:
However, there is still one problem which is unresolved. Some albums have names for each disc. One example is Mellon Collie and the Infinite Sadness by The Smashing Pumpkins where the first disc is called Dawn to Dusk and the second Twilight to Starlight. Googling didn’t turn up anything so I decided that a DISCTITLE tag would be a good idea and proceeded to add those tags where needed (using metaflac). The disc title is not shown in Rhythmbox and I am not sure what might be a good way of presenting it. A DISCTOTAL tag might also be useful for storing the number of discs in the set, although I haven’t used it myself.
A recent google search turned up a slimdevices.com forum thread where the DISCNAME tag was suggested. To my knowledge it is not supported by any software. I think that DISCTITLE is better because it is consistent with the TITLE tag, but if either were agreed upon that would be great. Adding support for the tag to easytag would be easy, but without any idea of how the tag might be used a patch would probably be rejected.
I’ve discovered MusicBrainz. I love MusicBrainz. You love MusicBrainz. MusicBrainz mandates the use of “(disc x)”, or “(disc x: disc title)” for multi-disc albums. This brings back my unpretty Rhythmbox album listing, but the benefits of MusicBrainz far outweigh this nuisance. Use MusicBrainz.
One of the first Korean movies I saw was My Sassy Girl. I absolutely loved it and I even dare say that it is the best romantic comedy I have ever seen. I’ve since seen a pile of Korean romantic comedies and of course many more of Hollywood origin, but few come close. The nameless girl in My Sassy Girl is quirky, violent and rather abusive of her boyfriend Gyeon-woo. One of the key phrases of the movie is “Wanna die?”, which the girl will say to Gyeon-woo whenever she wants to have things her way. In one scene, they’re in a restaurant:
Waiter: What would you like?
Gyeon-woo: Coke, please.
The Girl: Wanna die? Drink coffee.
As a tribute to My Sassy Girl, I’ve made a t-shirt with the phrase in Korean:
In my grand plan, the prime purpose of this blog is not to write about things quite so superficial as my hairstyle, but that is what’s on my mind today. Almost four years ago, I stopped cutting my hair. Time and gravity eventually made it so long that a good friend of mine was practically begging me to cut it. Today I did, at hairstyle here in Linköping. The hairdresser began by putting my ponytail in a neat bundle and cutting it off. It’s close to 40 cm in length and I’ve been informed that it’s possible to sell for real money. I thought the following exchange between me and the hairdresser was kind of funny:
—How often have you trimmed your hair?
—Twice a year?
The mandatory before and after pictures:
I’m quite happy with the end result, but it will take a few days of getting used to. Soon I’m heading off to jujutsu practice to see how well suited it is for some rolling-on-the-floor action.