Posted to
Blog on Sunday, October 8th, 2006 @ 4:06 PM
Short story: iTunes 7-- only the Mac version-- is setting my BPM to huge numbers (as high as 65324!) in a seemingly random fashion. If you care about your BPM values, don't use iTunes 7!!!
Fellow iTunes geeks, read on for the long story.
Ed's Note The rest of you can go back to your regular duties. Nothing to see here.
I have probably spent over a hundred hours fine-tuning my iTunes music library so that I can enjoy my tunes exactly how I want to. This includes playing by genre, rating, and especially by tempo or "beats per minute" (BPM) as it is called in iTunes.
In order to establish the tempo of all of my songs, I downloaded a program called "MixMeister" to analyze and update all of my MP3s. It kinda worked: the BPMs were reasonably close, but in updating the files, MixMeister also removed any album art that was stored in the ID3 tags for the song. Not cool, but I lived with it.
I downloaded CoverTunes (a program so good, Apple bought it) to get my album art back. I loved this program, and soon my entire library was up to date.
When I upgraded to iTunes 7, I was ticked to find that the integrated CoverFlow functionality ignored my previously set CoverFlow album art. So I turned on the iTunes feature to automatically download album art. It was horribly inaccurate, but better than nothing.
After a couple of days of playing, I noticed something very strange: thousands of my songs has ridiculously incorrect BPM values. They seemed evenly distributed from 300 up to over 65000; that is, there were no ranges of values where large numbers of songs appeared. I was furious. I wondered if maybe iTunes was doing the reverse of MixMeister: setting the album art but destroying the BPMs!
I hunted around the internet and found beaTunes to automate the process of fixing the BPM values. It worked very well, and for the few that didn't analyze properly, I used iTunes-BPM from Blacktree to manually tap out the tempo (you can do this in beaTunes apparently, too). Finally all 4500+ songs in my library had the correct BPM value, and I could use my smart playlists to listen to songs with similar tempos, depending on my mood.
Wrong. Within minutes, I noticed that when iTunes would switch to some songs, the BPM value would get changed to an enormous arbitrary number. I would literally be looking at the line in iTunes, and as the song became highlighted, the BPM of 85 would change to 32451!
In my home network, I have two PCs and a MacBook. All my music is stored on a shared drive on one of the PCs. My MacBook iTunes library references this location, as do both my PCs. iTunes is never running on more than one machine at a time, so there's no threat of some kind of write corruption going on (that I can imagine). I wondered if the same thing would happen with the PCs?
I tried skipping through a playlist on the PC with the shared drive. Over the first 25 songs, nothing strange happened. I tried the same thing with the same playlist on the other PC, again no problems. I switched to the MacBook, and at song number 13, boom: the BPM jumped from 121 to 39874. When I went back to the other computers, they now read the BPM as 39874, which makes me think that this error is being written to the ID3 tag, not just the iTunes XML file.
Once I manually change the BPM value, I can play the song on the MacBook without the value jumping. However, seeing as how this strange behaviour seems to be random, and that I had previously used MixMeister, beaTunes, and manual entry to update every single file, I don't think any of my files are "fixed" or safe.
Could this be caused by the fact that the MacBook is accessing the MP3 files over the network using SMB? This behaviour is a show-stopper!
Just for more info: all my computers are updated to iTunes 7. Does anybody else see weird BPM values? Leave me a comment and let me know!